Files
SEQUA-Engine/3d
Ange-Marie MAURIN - A2M Systèmes 3f36b98c71 feat(3d): contrat SEQUA 3D, I3DEngineAdapter et négociation des capacités
Bibliothèque sequa::3d (espace de noms sequa::three_d), sans dépendance à un moteur : interface I3DEngineAdapter, tampons et négociation des capacités, synchronisation de la scène par deltas versionnés tout ou rien (SceneState, snapshot), demandes d'image et mesures communes. NullEngineAdapter (SIMULÉ) pour les tests. Types provisoires en attendant le format du schéma.
2026-11-07 04:37:15 +01:00
..

SEQUA 3D

SEQUA Engine en bref

SEQUA : Simulate Environments, Quantify Uncertainty, Adapt. SEQUA Engine est un environnement de création et d'exécution de mondes virtuels, d'abord pour le jeu vidéo, où l'auteur dirige un monde par l'intention, le ressenti et les règles plutôt que par des paramètres. Il est composé de quatre couches : Studio (outil de création web), Core (source de vérité), SEQUA 3D (seule porte vers un moteur 3D) et des moteurs 3D interchangeables (Godot, puis Unreal, puis un moteur maison).

Référence : docs/SEQUA_Engine_resume_complet_v2.md

Rôle de SEQUA 3D dans l'engine

SEQUA 3D est la couche d'interface 3D, propriété de SEQUA. C'est par elle, et par elle seule, que SEQUA parle à un moteur 3D (§7). Elle contient :

  • le contrat de données (NeuralFrameContext, état du monde, commandes, mesures, §5.6) ;
  • la synchronisation à sens unique du projet SEQUA vers le moteur ;
  • la négociation des capacités : chaque moteur déclare ce qu'il sait produire (profondeur, normales, identifiants d'objets…) ;
  • l'interface I3DEngineAdapter que chaque moteur implémente ;
  • la traduction des mesures (temps, VRAM, confiance) vers un format commun.

Elle n'expose aucun concept propre à un moteur (nœuds Godot, acteurs Unreal). Les adaptateurs vivent dans engines/ (ADR 0007).

État

Phase 0. Bibliothèque sequa::3d (include/sequa/3d/, espace de noms sequa::three_d) :

Élément Fichier Rôle
I3DEngineAdapter, EngineConfig, validate_request adapter.hpp Interface que chaque moteur implémente : capacités, démarrage, deltas de scène, images
FrameBuffer, BufferSet, EngineCapabilities, negotiate capabilities.hpp Négociation des capacités : tampons accordés et manquants
SceneDelta, SceneCommand, SceneState scene.hpp Synchronisation à sens unique, versions croissantes, tout ou rien, snapshot pour (re)démarrer un moteur
FrameRequest, FrameResult, FrameMeasurements frame.hpp Demande d'image et mesures dans un format commun
NullEngineAdapter null_adapter.hpp SIMULÉ : adaptateur sans moteur, pour les tests et comme référence de comportement

PROVISOIRE : types C++ écrits à la main, en attendant le format du contrat (Protobuf ou FlatBuffers, voir schema/). Les tampons GPU eux-mêmes n'y sont pas encore : ils arriveront après le prototype d'échange GPU entre rendu et inférence (§5.6). Les visuels se limitent pour l'instant à des primitives.

Construire

Construite avec le reste du dépôt : voir core/README.md.

Licences

  • SEQUA 3D : MPL 2.0.
  • Aucune dépendance externe pour l'instant.
  • Les adaptateurs vers des moteurs propriétaires (Unreal) n'entrent que comme plugins facultatifs, l'adaptateur seul étant ouvert (§10.2).