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
Adaptateur SEQUA 3D « de débogage »
Deuxième adaptateur de three_d::I3DEngineAdapter (docs §7.1) : un outil de débogage et de
mode sans interface, pas un rendu produit. Il rastérise la scène en vue orthographique de
côté (pur CPU, sans GPU ni moteur) et écrit le résultat en images ou en vidéo à faible
cadence.
Usage
sequa::debug::DebugEngineAdapter adapter(
std::make_unique<sequa::debug::PpmSequenceSink>("./frames"));
adapter.start(config); // headless uniquement
adapter.apply(delta); // même contrat que les autres adaptateurs
adapter.render_frame(request); // dessine et écrit une image ; adapter.last_image() la lit
sequa::debug::PpmSequenceSink: une image par fichierframe_NNNNNN.ppm(binaire P6).sequa::debug::FrameSink: interface pour d'autres destinations.
Entrées scriptées
Sans clavier ni fenêtre, l'adaptateur « joue » un script d'entrées par numéro d'image
(ADR 0011) : le chemin
complet des entrées (adaptateur → rendu → Core) se teste sans moteur. Réglage de
--adapter-options (ou --render-options du Core) :
{ "input": [{ "frame": 20, "moveX": 32767 }, { "frame": 60, "buttons": 1, "moveX": 32767 }, { "frame": 100 }] }
À partir de l'image frame, l'entrée reste active jusqu'à la suivante ; champs absents = 0
({ "frame": 100 } relâche tout). Sans script, l'adaptateur ne déclare pas de capture d'entrées.
ffmpeg facultatif
sequa::debug::FfmpegSink lance ffmpeg en sous-processus (_popen/popen) pour écrire
une vidéo H.264 (libx264, yuv420p). C'est un outil externe FACULTATIF, jamais lié : le
binaire ffmpeg (GPL) doit exister dans le PATH ou être passé explicitement au
constructeur ; sans lui, write() renvoie engine_failure. Aucune autre dépendance :
bibliothèque standard seulement.
Vues
- Orthographique de côté, regard vers −Z : X vers la droite, Y vers le haut, physiquement centrée sur la caméra.
- La rotation des objets est ignorée (formes alignées aux axes) ; les couleurs SEQUA linéaires sont converties en sRGB 8 bits.
- Sans anticrénelage, dessin déterministe (du plus loin au plus proche).
Tests
sequa_debug_adapter_tests (doctest), construits avec SEQUA_BUILD_TESTS=ON. ffmpeg n'est
pas testé (outil facultatif absent de la machine, la plupart du temps).
Licence
MPL 2.0 (voir en tête de chaque fichier).