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
2.1 KiB
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.