16 Commits
Author SHA1 Message Date
Ange-Marie MAURIN - A2M Systèmes 693285703f docs(adr): ADR 0011 acceptee 2026-11-07 21:31:16 +01:00
Ange-Marie MAURIN - A2M Systèmes 0c0c4bbf4d docs(tutoriels): tutoriel 02, construire une brique graphique (panneau Simulation)
Six parties a faire soi-meme, du contrat session/step au composant Studio. Tutoriel 01 : version 0.2.0 du protocole de rendu.
2026-11-07 20:50:17 +01:00
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
Ange-Marie MAURIN - A2M Systèmes f9e41298a3 fix(engines/godot): fenetre Godot marquee Ne repond pas (regression Godot 4.7.2)
Contournement de godotengine/godot#124276 : apres chaque image, lecture non filtree de la file de messages (PM_NOREMOVE). Verifie par IsHungAppWindow avec mouvements de souris reels : 0 detection au lieu d'une detection permanente. A retirer quand Godot sera corrige (docs/avant-premiere-version.md).
2026-11-07 17:00:37 +01:00
Ange-Marie MAURIN - A2M Systèmes 815192918d fix(studio/host): arret net si l'interface ne peut pas etre servie
Port 9180 pris par un autre logiciel (Logitech G HUB) : message et --ui-port au lieu d'une adresse qui mene ailleurs. Points a regler avant la premiere version : docs/avant-premiere-version.md.
2026-11-07 16:28:29 +01:00
Ange-Marie MAURIN - A2M Systèmes da0d31385b build: arborescence bin/<plateforme>/<type> et build unifié (ADR 0010)
- platform/layout : racine sequa-root.json, chemins des composants, arguments et chemins en UTF-8.
- Règles install() : bin/windows-x64/{debug,release,asan}/ (core, render, studio + ui, engines).
- Le Core trouve sequa-render et les adaptateurs depuis la racine (--sequa-root, passé par
  Studio host à sa copie fantôme) : plus de render-unavailable depuis le panneau Rendu.
- L'adaptateur Godot cherche Godot et son projet à côté de lui (surcharge par --adapter-options) ;
  template_release pour le type release. Godot hébergé dans les presets debug et release.
- scripts/build-all.ps1 : Godot, C++, interface, arrêt des processus du dossier visé, install ;
  check.ps1 l'appelle (modification de l'ADR 0004).
- docs/installation/ : compiler, lancer, installer et désinstaller par plateforme.
2026-11-07 15:50:37 +01:00
Ange-Marie MAURIN - A2M Systèmes 28b1b44294 docs(adr): ADR 0009 acceptee, ADR 0010 arborescence des binaires et build unifie
ADR 0004 modifiee (check.ps1 lance build-all). README : etat et dossiers a jour.
2026-11-07 15:25:41 +01:00
Ange-Marie MAURIN - A2M Systèmes 1d18b71c0b docs(tutoriels): panneau Studio de bout en bout
Carte des processus, échanges WebSocket du panneau Rendu, méthode « le contrat d'abord », fichiers C++ et TypeScript concernés, tests, essai avec le faux Core puis le vrai Core et Godot, liste de contrôle. L'exemple est déjà implémenté : à transformer plus tard en exercices guidés.
2026-11-07 14:42:22 +01:00
Ange-Marie MAURIN - A2M Systèmes eb4db9e01f feat(render): processus de rendu lancé par le Core, scène simulée affichée dans Godot
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).
2026-11-07 14:42:09 +01:00
Ange-Marie MAURIN - A2M Systèmes 4ffcd11734 feat(engines/godot): adaptateur Godot, fork 4.7.2 et godot-cpp en sous-modules
GodotEngineAdapter déclare ses capacités Forward+ (start() pas encore écrit). Sous-modules engines/godot/vendor/godot-src (fork Gitea, branche sequa/4.7.2 depuis 4.7.2-stable) et godot-cpp (10.0.0-stable). ADR 0007 : LibGodot, fork, Vulkan, vrai headless, seconde vue pour albedo et identifiants. ADR 0008 : processus de rendu séparé du Core, moteur et inférence en bibliothèques chargées.
2026-11-07 04:37:18 +01:00
Ange-Marie MAURIN - A2M Systèmes d9f1b0c24e feat(studio/host): sequa-studio, démarrage/rattachement du Core et rechargement par rejeu
StudioHost : rattachement via le fichier d'exécution validé par instanceId, sinon lancement depuis une copie fantôme (jeton aléatoire, origines autorisées, --linked) ; reload = export (enregistrement + empreintes), arrêt, nouvel exécutable, import par rejeu, comparaison tick par tick ; restart ; detach/attach réversibles ; arrêt propre. sequa-studio : options §7.1, interface servie ou --dev, navigateur, commandes console, --watch. Tests de bout en bout contre le vrai Core (rechargement identique, rattachement d'un Core détaché, pas d'orphelin). Interface passée au protocole 0.2, jeton masqué dans le libellé. 111 tests verts en Debug et ASan.
2026-11-06 23:15:23 +01:00
Ange-Marie MAURIN - A2M Systèmes a185b3414a feat(core): protocole Studio - Core 0.2, session en direct, bail et sécurité
CoreServices / CoreRuntime / LiveSession (conception reprise d'un subagent interrompu, implémentation complétée) : session à 60 Hz avec entrée maintenue, export de l'enregistrement et des empreintes par tick, import par rejeu (sim::rebuild_session) puis poursuite dans le même enregistrement ; bail réversible (--linked, core/attach, core/detach, délai de grâce, code de sortie 3) ; core/shutdown ; jeton en temps constant et contrôle de l'Origin (origines ws:// des clients natifs acceptées, spec mise à jour). Base64 strict corrigé (rejetait des entrées valides). 56 cas de test, ASan vert sur les tests serveur. build.ps1 : -Target accepte a,b.
2026-11-06 23:00:53 +01:00
Ange-Marie MAURIN - A2M Systèmes 7a1da8ef26 docs: ADR 0006 et spécification du protocole 0.2 ; squelette studio/host
Studio = host (C++) + ui. Core processus séparé lancé depuis une copie fantôme, lié par un bail réversible porté par le protocole, identifié par instanceId, rechargé par rejeu de la session avec comparaison des empreintes. Sécurité : jeton et vérification de l'Origin.
2026-11-06 22:27:00 +01:00
Ange-Marie MAURIN - A2M Systèmes 142e563fcc feat(core): serveur WebSocket du protocole Studio - Core
sequa::core_server : ProtocolSession (poignée de main hello -> welcome/error, JSON provisoire identique à Studio, même règle de compatibilité) séparée du transport CoreServer (IXWebSocket 12.1.0, écoute 127.0.0.1:9100). Exécutable sequa-core. Vérification exclusive du port sous Windows (IXWebSocket active SO_REUSEADDR). Sanitizers appliqués à tout le build (ASan MSVC exige des dépendances instrumentées). ADR 0005. 30 tests (Debug, Release, ASan), dont 4 sur vrais sockets.
2026-11-06 21:23:37 +01:00
Ange-Marie MAURIN - A2M Systèmes 872fb8c1d6 docs(adr): modèle, index et ADR 0001 à 0004
Consigne les décisions déjà prises : licence MPL 2.0 et politique de dépendances, deux langages de produit (C++ et TypeScript), Studio web à conteneur remplaçable, multiplateforme par conception avec vérification locale (pas de runners CI).
2026-11-06 19:51:20 +01:00
Ange-Marie MAURIN - A2M SystèmesandClaude Sonnet 5.5 c91bebccba chore: initial repository structure
Monorepo skeleton (core, 3d, studio, schema, docs, artwork), MPL 2.0 licence,
and the SEQUA Engine v2 reference document.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 16:51:38 +01:00