← Retour à l'index
◈ Architecture ActionSpeed
1

Tu crées une animation ou une orchestration .gapit

Le format animation utilise code | x | y | sec | free1 | free2 | free3. Le format orchestration utilise temps | type | module | commande | payload | attente | délai | erreur. Les deux restent des fichiers pipe lisibles par un humain.

2

L'éditeur adapté te guide

Les animations historiques conservent leurs cinq popups visuelles. Les orchestrations utilisent l'éditeur texte, avec validation des huit colonnes et lecture du scénario sélectionné.

3

Le runtime approprié joue la séquence

actionspeed_runtime.js anime les personnages et objets. Pour les modules autonomes, actionspeed_orchestrator_runtime.js transmet les commandes au moment prévu.

4

Les adaptateurs conservent l'autonomie des modules

Browser, Aquarium, Voice, Jamanphoto, Vidéosurveillance et Borne gardent leur propre moteur. ActionSpeed utilise seulement leur interface publique. Le bridge IndexGenius reste disponible via window.indexRunActionSpeed('nom').

PAGE HÔTE gapit (index.php / actionspeed.php)
│
├─ actionspeed.php          ← shell principal, popups toggle
│    ├─ actionspeedmain.php   ← scène WYSIWYG (stage + sprite + bubble)
│    ├─ actionspeedlib.php    ← fonctions utilitaires + état commun
│    └─ actionspeed_runtime.js
│
├─ Popups (iframes internes)
│    ├─ actionspeedpopup_animlist.php
│    ├─ actionspeedpopup_timeline.php
│    ├─ actionspeedpopup_eventeditor.php
│    ├─ actionspeedpopup_objecteditor.php
│    └─ actionspeedpopup_synopsis.php
│
├─ actionspeed_*.gapit      ← fichiers d'animation (1 par anim)
│    formats : animation ou orchestration
│
├─ Orchestration de modules
│    ├─ actionspeed_orchestrator_runtime.js
│    ├─ actionspeed_modules.gapit
│    ├─ actionspeed_orchestration_player.php
│    └─ adaptateurs Browser, Aquarium, Voice, Galerie, Borne, Caméra
│
└─ Bridge IndexGenius
     ├─ actionspeed_indexgenius_bridge.php
     └─ window.indexRunActionSpeed('nom') → runtime
          └─ ou postMessage { type:'as_runtime_play', gapit:'...' }