ADR 0009 (Proposée) et spécification du protocole Core - rendu 0.1. Le Core projette le monde simulé (micro-mode 2D, SIMULÉ) en deltas SEQUA 3D (sequa::core_render) et les pousse après chaque tick qui change la scène (RenderHub, observateur de LiveSession) ; il lance et supervise sequa-render (RenderSupervisor : lié au Core, relance après plantage). sequa-render charge une bibliothèque d'adaptateur par un point d'entrée C versionné (3d/adapter_library.hpp), applique les deltas et rend les images ; codec JSON provisoire partagé dans 3d/wire. Adaptateur Godot en DLL et nouvel adaptateur de débogage (engines/debug/adapter : vue de côté en images PPM ou vidéo via ffmpeg externe). Protocole Studio - Core 0.3 : render/start, render/stop, render/status (Core et Studio host). Mesuré avec Godot : transport tick -> delta reçu p95 ≈ 0,3 ms (critère 4 ms).
SEQUA Engine
SEQUA : Simulate Environments, Quantify Uncertainty, Adapt.
Environnement de création et d'exécution de mondes virtuels, piloté par l'intention de l'auteur, au-dessus d'un noyau déterministe et rejouable. Les moteurs 3D et les modèles IA sont des composants interchangeables.
Documentation de référence : docs/SEQUA_Engine_resume_complet_v2.md
Organisation du dépôt (monorepo)
| Dossier | Rôle | Langage |
|---|---|---|
| studio/ | SEQUA Studio : host/ (exécutable qui gère le Core et sert l'interface) + ui/ (interface web) |
C++20, TypeScript |
| core/ | SEQUA Core : projet, simulation déterministe, rejeu, intentions, orchestrateur, confiance | C++20 |
| 3d/ | SEQUA 3D : interface vers les moteurs 3D (adaptateurs, capacités, synchronisation) | C++20 |
| engines/ | Moteurs 3D : godot/adapter (adaptateur SEQUA) + godot/vendor/godot-src (Godot 4.7.2-stable) et godot/vendor/godot-cpp (10.0.0-stable), sous-modules |
C++20 |
| schema/ | Contrat de données et protocole Studio↔Core | Protobuf / FlatBuffers |
| docs/ | Documentation et décisions d'architecture (docs/adr/) |
Markdown |
| artwork/ | Identité graphique et sources visuelles | PNG |
| prototypes/ | Prototypes jetables (ex. échange GPU rendu vers inférence), hors produit | C++ |
| cmake/, scripts/ | Options de compilation, build et vérification locaux | CMake, PowerShell, Bash |
Les moteurs eux-mêmes sont des sous-modules git, inutiles pour construire SEQUA : git submodule update --init engines/godot/vendor/godot-src engines/godot/vendor/godot-cpp pour travailler sur l'adaptateur Godot (ADR 0007).
État
Phase 0 : fondations. Base de build en place (CMake, presets, tests), pas encore de fonctionnalité.
Construire et vérifier
Il n'y a pas d'intégration continue sur serveur : les vérifications se lancent localement.
| Plateforme | Commande | Prérequis |
|---|---|---|
| Windows | .\scripts\build.ps1 [-Preset <nom>] [-Clean] [-NoTests] |
Visual Studio 2022 avec outils C++ (MSVC, CMake et Ninja fournis) |
| Windows, avant commit | .\scripts\check.ps1 |
idem + Node.js pour Studio |
| Linux / macOS | ./scripts/build.sh [<preset>] |
CMake ≥ 3.25, Ninja, GCC ou Clang |
| Lancer SEQUA Studio (Core + interface) | .\build\windows-msvc-debug\studio\host\app\sequa-studio.exe [--dev] [--watch] (voir studio/host) |
build + npm run build dans studio/ui |
| Interface seule (développement) | .\scripts\studio.ps1 [-Core ws://hôte:port] [-MockCore] ou ./scripts/studio.sh |
Node.js 24 |
| Windows, cuDNN pour l'inférence GPU | .\scripts\install-cudnn.ps1 [-Version <x.y.z>] [-CudaMajor 12|13] [-DryRun] |
CUDA Toolkit installé + GPU NVIDIA ; télécharge cuDNN (~1,3 Go), demande d'accepter la licence NVIDIA et définit CUDNN_PATH (utilisateur, sans droits admin) |
Chaque script PowerShell affiche son aide avec -Help.
Presets : windows-msvc-debug, windows-msvc-release, windows-msvc-asan, windows-msvc-prototypes, linux-gcc-debug, linux-clang-sanitize, macos-clang-debug (voir CMakePresets.json).
Sous Windows PowerShell, si les scripts sont bloqués : powershell -ExecutionPolicy Bypass -File scripts\build.ps1.
Licence
MPL 2.0. © Ange-Marie MAURIN - A2M Systèmes (https://a2msystemes.org)
