Files
Ange-Marie MAURIN - A2M Systèmes 98c778aa28 feat(input): entrees du joueur captees par l'adaptateur (ADR 0011)
L'adaptateur traduit clavier et manette en actions SEQUA (PlayerInput) ;
le Core ne recoit et n'enregistre que ces actions, le rejeu reste exact.

- SEQUA 3D : PlayerInput, poll_input(), capacite player_input
  (interface des adaptateurs en version 2)
- protocole Core - rendu 0.2 : render/input, envoye quand les actions
  changent ; entree remise au neutre si le rendu disparait
- Godot : InputMap du projet (ZQSD, fleches, espace, manette) ou script
  SequaInput.sequa_player_input() pour une correspondance avancee ;
  entree neutre sans focus ; exemple examples/sequa_input.gd
- adaptateur debug : entrees scriptees par numero d'image
- Studio : ligne "Entrees du joueur" du panneau Rendu
2026-11-07 20:48:26 +01:00

2.1 KiB

sequa-render

Processus de rendu de SEQUA (ADR 0008, ADR 0009). Le Core le lance et le supervise ; il se connecte au Core par WebSocket, charge une bibliothèque d'adaptateur (sequa_godot_adapter, sequa_debug_adapter), applique les deltas de scène poussés par le Core et rend les images. Il ne contient aucune logique de produit et ne dépend d'aucun moteur.

Spécification : docs/specs/protocole-core-rendu-0.1.md.

Fichier Rôle
src/main.cpp Options, boucle : deltas reçus → apply() → render_frame() → poll_input() (render/input si les entrées changent), mesures toutes les secondes
src/core_link.* Client WebSocket : poignée de main, deltas poussés par le Core empilés pour la boucle
src/adapter_library.* Chargement de la bibliothèque d'adaptateur, point d'entrée C versionné

Lancer (par le Core)

# Godot, fenêtre de jeu (type debug ou release avec Godot hébergé)
.\bin\windows-x64\debug\core\sequa-core.exe --render godot
# Sans fenêtre : vue de côté en vidéo à 10 images/s (ffmpeg facultatif, sinon images PPM)
.\bin\windows-x64\debug\core\sequa-core.exe --render debug --render-headless --render-fps 10 `
    --render-options '{\"output\": \"build/render-debug.mp4\"}'
# Entrées scriptées (sans clavier) : le joueur court à droite à partir de l'image 20, saute à l'image 60
.\bin\windows-x64\debug\core\sequa-core.exe --render debug --render-headless --render-fps 30 `
    --render-options '{\"input\": [{\"frame\": 20, \"moveX\": 32767}, {\"frame\": 60, \"buttons\": 1}]}'

Avec Godot, on joue dans la fenêtre (clavier ou manette, voir engines/godot/adapter).

État

PROVISOIRE : JSON, pas d'interpolation entre deux ticks, pas de reconnexion (une connexion perdue arrête le rendu après le délai de grâce, le Core le relance), pas encore de tampons de rendu (étape 5).

Licence

MPL 2.0.