Files
SEQUA-Engine/studio/host/supervisor
Ange-Marie MAURIN - A2M Systèmes 464ff6ce88 refactor(platform): lanceur de processus commun, enfant lié au parent
Le lancement de processus de Studio host (CoreProcess) devient sequa::platform::ChildProcess dans platform/process, pour être partagé par Studio host et le Core (qui lancera le rendu, ADR 0009). Nouvelle option kill_with_parent : l'enfant meurt avec le parent, même brutalement (job object KILL_ON_JOB_CLOSE sous Windows, fork + PR_SET_PDEATHSIG sous Linux, ignorée sous macOS). Les tests de copie fantôme restent dans studio/host/supervisor (test_shadow.cpp) avec l'enfant de test de platform/process.
2026-11-07 14:41:56 +01:00
..

Studio host : supervisor

Brique du Studio host (sequa-studio) qui fait vivre le Core comme un processus séparé : SEQUA Studio dirige un monde au-dessus d'un Core déterministe (README de Studio), et cette brique lance ce Core, le suit et le relance (ADR 0006, spécification §7).

API (sequa::studio::host)

En-tête Rôle
paths.hpp Dossier d'exécution par plateforme, bin/, core-<port>.json, core-<port>.log
random.hpp random_hex cryptographique (jetons)
time.hpp Horodatages UTC (ISO 8601, compact)
run_file.hpp Fichier d'exécution : lecture tolérante, écriture atomique, droits restreints (POSIX)
shadow.hpp Copie fantôme de l'exécutable du Core, nettoyage des copies inutilisées
process.hpp CoreProcess : lancement (arguments cités correctement, journal en ajout, seul le handle du journal est hérité sous Windows), running, wait_for, terminate ; le destructeur ne tue pas le processus
files.hpp read_last_lines (lecture bornée par la fin), FileWatcher (changement signalé après stabilité)

Le code POSIX (posix_spawn, waitpid, 0600) est écrit mais n'a pas encore été compilé ni testé (vérification locale Windows uniquement, ADR 0004).

Licences

  • MPL 2.0.
  • Dépendance : nlohmann/json 3.12.0 (MIT), privée.