Commit Graph
24 Commits
Author SHA1 Message Date
Ange-Marie MAURIN - A2M Systèmes 832bd52fc9 feat(studio/host): brique supervisor, cycle de vie du Core
En-têtes repris d'un subagent interrompu, implémentation et tests écrits ensuite : CoreProcess (CreateProcessW avec héritage limité au journal, citation compatible CommandLineToArgvW, journal en ajout ; posix_spawn sous POSIX, non testé), is_process_alive, fichier d'exécution atomique, copies fantômes et nettoyage, read_last_lines, FileWatcher. 15 cas (Debug, ASan) avec un processus enfant de test.
2026-11-06 23:06:34 +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 ea9f5709fa feat(studio/host): brique client, protocole 0.2 côté host
CoreClient (IXWebSocket) : connexion + hello sequa-studio-host, requêtes corrélées par id avec délais, requêtes concurrentes, erreur immédiate à la déconnexion, rappel on_disconnect. wire : hex64, base64 RFC 4648 strict, décodage des empreintes, first_divergence. 15 cas (Debug, ASan) contre un faux serveur conforme à la spec. Écrit par un subagent (DeepSeek V4.1 Flash), relu.
2026-11-06 22:43:30 +01:00
Ange-Marie MAURIN - A2M Systèmes 99b0a0f008 feat(studio/host): brique web, service de l'interface et ouverture du navigateur
UiServer (ix::HttpServer) : GET/HEAD, / -> index.html, MIME, en-têtes no-store/nosniff, vérification exclusive du port sous Windows. Chemins : décodage unique, refus de .., ., fichiers cachés, antislash, octet nul, : (lecteur ou flux NTFS), puis confinement vérifié par weakly_canonical. build_ui_url, build_core_ws_url, open_browser (http/https uniquement). 14 cas de test dont 12 tentatives d'évasion. Écrit par un subagent (DeepSeek V4.1 Flash), relu ; refus de : étendu aux flux NTFS.
2026-11-06 22:41:21 +01:00
Ange-Marie MAURIN - A2M Systèmes e703c217f7 build: options -Target et -TestRegex de build.ps1 2026-11-06 22:29:49 +01:00
Ange-Marie MAURIN - A2M Systèmes 1720da44a4 build: option -BuildDir de build.ps1 pour des builds en parallèle 2026-11-06 22:28:22 +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 e231e643cd refactor(studio): l'interface passe dans studio/ui, studio/ devient l'ensemble host + ui
Studio regroupe l'exécutable hôte (C++, à venir dans studio/host) et l'interface web (TypeScript, studio/ui). Chemins mis à jour dans les scripts, .gitignore et la documentation ; paquet renommé @sequa/studio-ui.
2026-11-06 22:24:27 +01:00
Ange-Marie MAURIN - A2M Systèmes 15c0b0abd0 feat(studio): faux Core de développement (SIMULÉ) et lancement -MockCore
studio/tools/mock-core.mjs : serveur WebSocket RFC 6455 sans dépendance, 6 scénarios (ok, incompatible, error, silent, garbage, close) reproduisant les codes du vrai Core, port 9101 pour coexister avec sequa-core (9100). 7 tests d'intégration contre la vraie WebSocketCoreConnection, dont trames découpées et fusionnées (51 tests au total). scripts/studio.ps1 -MockCore -Scenario <nom> et MOCK_CORE=<nom> pour studio.sh. Écrit par un subagent (GLM 5.3), relu ; port et message du scénario error ajustés.
2026-11-06 22:09:01 +01:00
Ange-Marie MAURIN - A2M Systèmes 522ea04eb4 build: script d'installation de cuDNN, fonctions de téléchargement communes
install-cudnn.ps1 : version la plus récente lue dans l'index NVIDIA, archive cuda13 téléchargée avec reprise et vérifiée par SHA256, licence NVIDIA affichée et acceptée par l'utilisateur, installation sans droits admin dans %LOCALAPPDATA%\SEQUA\sdk\cudnn, variable utilisateur CUDNN_PATH. Refuse de remplacer un dossier de destination non vide qui n'est pas une installation cuDNN. Fonctions de téléchargement et d'empreinte factorisées dans scripts/lib/SequaDownload.ps1 (install-cuda.ps1 inchangé fonctionnellement). Écrit par un subagent (DeepSeek V4.1 Flash), relu et corrigé.
2026-11-06 21:47:25 +01:00
Ange-Marie MAURIN - A2M Systèmes 545b8fd369 fix(scripts): install-cuda ne se fie plus au code de retour de l'installateur NVIDIA
Code 8 observé alors que l'installation manuelle fonctionne : le script vérifie désormais la présence de CUDA après coup et, en cas d'échec, indique le chemin de l'installateur vérifié pour un lancement manuel.
2026-11-06 21:35:50 +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 6cf0c54e3b feat(prototypes): étape 2 gpu_interop exécutée et mesurée
CUDA 13.5 : import 0,07 ms, mappage 0,05-0,08 ms, copie GPU->GPU 0,06 ms (100-140 Go/s) contre ~32 ms par le CPU, vérification octet à octet OK. Corrige aussi un nom de test contenant ';' que ctest découpait en deux.
2026-11-06 21:07:10 +01:00
Ange-Marie MAURIN - A2M Systèmes 32d052cb45 feat(prototypes): étape 2 gpu_interop, import Vulkan vers CUDA (non exécutée)
Code Vulkan commun factorisé dans vk_common (étape 1 inchangée et verte). Nouvel exécutable gpu_interop_vk_cuda : sélection du device CUDA par deviceUUID, cudaImportExternalMemory OPAQUE_WIN32 dédié, mappage en mipmapped array, copie GPU->GPU mesurée, vérification octet à octet. Construit seulement si le CUDA Toolkit est présent ; pas encore compilé contre les vrais en-têtes ni exécuté.
2026-11-06 20:00:41 +01:00
Ange-Marie MAURIN - A2M Systèmes 65f9b2fab0 docs: lancement de Studio et aide des scripts dans le README 2026-11-06 19:58:03 +01:00
Ange-Marie MAURIN - A2M Systèmes 5b0b1dbe81 build: script de lancement de Studio, aide -Help, CUDA sans winget
scripts/studio.ps1 et studio.sh lancent Vite (npm ci automatique, Core simule ou -Core ws://...). install-cuda.ps1 lit le nom de l'installateur et son MD5 dans la liste officielle NVIDIA (md5sum.txt) au lieu du manifeste winget. Aide integree (-Help, Get-Help) pour tous les scripts PowerShell.
2026-11-06 19:57:49 +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èmes ab219ad611 feat(core): simulation déterministe, enregistrement et rejeu
Virgule fixe Q16.16, générateur PCG32 à graine explicite, horloge à pas fixe exacte, simulation d'un micro-mode de démonstration (marqué SIMULÉ), empreinte FNV-1a de l'état, enregistrement binaire versionné des entrées, rejeu avec d'autres réglages de ressenti et détection du premier tick divergent. Empreinte de référence multiplateforme figée. 22 tests (Debug, Release, ASan).
2026-11-06 19:50:56 +01:00
Ange-Marie MAURIN - A2M Systèmes a03accb388 feat(studio): connexion WebSocket native au Core
Client WebSocket sans bibliothèque derrière CoreConnection, messages JSON provisoires hello/welcome/error validés (en attendant l'ADR du schéma), délai de poignée de main, compatibilité semver stricte en 0.x, choix du Core par ?core=ws://..., Core simulé par défaut et affiché comme tel. 44 tests.
2026-11-06 19:38:58 +01:00
Ange-Marie MAURIN - A2M Systèmes 1ec6443f14 build: téléchargement CUDA avec reprise et vérification SHA256
L'installateur (~2,7 Go) est téléchargé par curl -C - dans un cache local et reprend après interruption ou relance du script ; URL et SHA256 lus dans le manifeste winget ; options -DryRun et -DownloadOnly ; SHA256 calculé via .NET.
2026-11-06 19:36:18 +01:00
Ange-Marie MAURIN - A2M Systèmes 9678c27888 build: script d'installation du CUDA Toolkit via winget
Vérifie la version CUDA acceptée par le pilote et les installations existantes, mode -DryRun, licence NVIDIA acceptée par l'utilisateur (--interactive).
2026-11-06 19:33:46 +01:00
Ange-Marie MAURIN - A2M Systèmes 923ddd387a feat: squelettes Studio et prototype d'échange GPU Vulkan
Studio : Vite + TypeScript strict sans framework, état sérialisable et réduction pure, connexion au Core simulée et marquée comme telle, tests vitest. Prototype jetable gpu_interop étape 1 : export/import mémoire Vulkan OPAQUE_WIN32 entre deux VkDevice, vérification octet à octet et mesures.
2026-11-06 19:32:11 +01:00
Ange-Marie MAURIN - A2M Systèmes d080da0ee3 build: base CMake, presets et vérification locale
CMake 3.25+, C++20, avertissements stricts, règles de déterminisme (pas de fast-math ni de contraction FMA), sanitizers et clang-tidy optionnels, doctest. Presets Windows/Linux/macOS, scripts build.ps1, build.sh et check.ps1 (pas de CI serveur). README de core, 3d et schema.
2026-11-06 19:32:10 +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