docs: corriger incohérences README + boards.yaml (audit liaison webapp↔firmware)
Le README et boards.yaml pointaient un canon périmé. Réalité (audit 2026-06-12) : - canon = frontend-v3/apps/atelier (pnpm+turbo) + ESP32_ZACUS/idf_zacus (ESP-IDF) + gateway tools/zacus-gateway (:8400) + scénario zacus_v3_complete.yaml - frontend-scratch-v2 et hardware/firmware (Arduino freenove) = legacy - boards.yaml: /game/scenario EST implémenté (game_endpoint.c), commentaire 502 obsolète Corrections documentaires uniquement, aucun changement de code/comportement. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -6,10 +6,12 @@ Zacus est en refonte vers un produit hybride unique:
|
|||||||
- un runtime portable "Zacus Runtime 3" compile depuis le YAML canonique.
|
- un runtime portable "Zacus Runtime 3" compile depuis le YAML canonique.
|
||||||
|
|
||||||
## Canon actuel
|
## Canon actuel
|
||||||
- Source narrative: `game/scenarios/zacus_v2.yaml`
|
- Source narrative: `game/scenarios/zacus_v3_complete.yaml`
|
||||||
- Studio auteur: `frontend-scratch-v2/`
|
- Studio auteur: `frontend-v3/apps/atelier` (monorepo pnpm + turbo ; `frontend-scratch-v2/` est abandonné depuis le hard cutover du 2026-05)
|
||||||
|
- Hub game-master: `apps/zacus-hub` (app SwiftUI native)
|
||||||
|
- Gateway d'orchestration: `tools/zacus-gateway` (FastAPI, port 8400) — compile le YAML → Runtime 3 IR et pousse aux cartes
|
||||||
- Runtime portable: `tools/scenario/compile_runtime3.py` + `tools/scenario/simulate_runtime3.py`
|
- Runtime portable: `tools/scenario/compile_runtime3.py` + `tools/scenario/simulate_runtime3.py`
|
||||||
- Cible hardware principale: `hardware/firmware` avec `freenove_esp32s3`
|
- Cible hardware principale: `ESP32_ZACUS/idf_zacus` (ESP-IDF, Freenove ESP32-S3) — submodule sur Gitea ; `hardware/firmware` (ancien build Arduino) est legacy
|
||||||
- Plans et memoire: `memory/`, `plans/`, `todos/`
|
- Plans et memoire: `memory/`, `plans/`, `todos/`
|
||||||
- Architecture et cartes Mermaid: `docs/architecture/`
|
- Architecture et cartes Mermaid: `docs/architecture/`
|
||||||
|
|
||||||
@@ -23,17 +25,20 @@ bash tools/test/run_content_checks.sh
|
|||||||
|
|
||||||
### 2. Compiler et simuler Runtime 3
|
### 2. Compiler et simuler Runtime 3
|
||||||
```bash
|
```bash
|
||||||
python3 tools/scenario/compile_runtime3.py game/scenarios/zacus_v2.yaml
|
python3 tools/scenario/compile_runtime3.py game/scenarios/zacus_v3_complete.yaml
|
||||||
python3 tools/scenario/simulate_runtime3.py game/scenarios/zacus_v2.yaml
|
python3 tools/scenario/simulate_runtime3.py game/scenarios/zacus_v3_complete.yaml
|
||||||
python3 tools/scenario/export_runtime3_firmware_bundle.py game/scenarios/zacus_v2.yaml
|
python3 tools/scenario/export_runtime3_firmware_bundle.py game/scenarios/zacus_v3_complete.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
### 3. Démarrer le studio React + Blockly
|
### 3. Démarrer le studio React + Blockly
|
||||||
```bash
|
```bash
|
||||||
cd frontend-scratch-v2
|
cd frontend-v3
|
||||||
npm install
|
pnpm install
|
||||||
npm test
|
pnpm test
|
||||||
VITE_STORY_API_BASE=http://<esp_ip>:8080 npm run dev
|
# Bases de liaison : gateway (:8400), firmware (:80), hints (:8311), voice-bridge (:8200)
|
||||||
|
VITE_GATEWAY_BASE_URL=http://localhost:8400 \
|
||||||
|
VITE_ESP32_BASE_URL=http://zacus-master.local \
|
||||||
|
pnpm dev
|
||||||
```
|
```
|
||||||
|
|
||||||
### 4. Utiliser le shell canonique
|
### 4. Utiliser le shell canonique
|
||||||
@@ -52,8 +57,12 @@ make runtime3-test
|
|||||||
- `audio/`: manifestes audio et assets associés.
|
- `audio/`: manifestes audio et assets associés.
|
||||||
- `printables/`: manifestes et exports imprimables.
|
- `printables/`: manifestes et exports imprimables.
|
||||||
- `kit-maitre-du-jeu/`: matériel MJ et déroulé terrain.
|
- `kit-maitre-du-jeu/`: matériel MJ et déroulé terrain.
|
||||||
- `frontend-scratch-v2/`: studio auteur React + Blockly.
|
- `frontend-v3/`: studio auteur (apps/atelier + apps/dashboard), monorepo pnpm + turbo. **Webapp courante.**
|
||||||
- `hardware/firmware/`: firmware, APIs device, scripts terrain.
|
- `apps/zacus-hub/`: hub game-master (app SwiftUI native).
|
||||||
|
- `tools/zacus-gateway/`: gateway FastAPI (:8400) — orchestration studio/flash, compile YAML → Runtime 3 IR.
|
||||||
|
- `ESP32_ZACUS/`: firmware ESP-IDF (submodule Gitea), cible principale `idf_zacus`.
|
||||||
|
- `frontend-scratch-v2/`: studio auteur React + Blockly (legacy, abandonné).
|
||||||
|
- `hardware/firmware/`: ancien firmware Arduino freenove (legacy).
|
||||||
- `tools/`: validateurs, compilateur/simulateur Runtime 3, shells d'automatisation.
|
- `tools/`: validateurs, compilateur/simulateur Runtime 3, shells d'automatisation.
|
||||||
- `docs/`: quickstart, architecture, benchmark OSS et runbooks.
|
- `docs/`: quickstart, architecture, benchmark OSS et runbooks.
|
||||||
- `memory/`, `plans/`, `todos/`: pilotage de la refonte.
|
- `memory/`, `plans/`, `todos/`: pilotage de la refonte.
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ boards:
|
|||||||
type: idf_zacus
|
type: idf_zacus
|
||||||
ip: 10.2.5.42 # set to the actual board IP on the LAN
|
ip: 10.2.5.42 # set to the actual board IP on the LAN
|
||||||
mdns: zacus-master.local
|
mdns: zacus-master.local
|
||||||
hot_endpoint: "/game/scenario" # not yet implemented in firmware → 502 fallback
|
hot_endpoint: "/game/scenario" # implémenté: game_endpoint.c (POST → hot-load Runtime3 IR + reboot 800ms)
|
||||||
cold_data_dir: "ESP32_ZACUS/idf_zacus/data"
|
cold_data_dir: "ESP32_ZACUS/idf_zacus/data"
|
||||||
espnow_relay_peers: [box3, plip, p7_coffre] # master pushes to these via ESP-NOW
|
espnow_relay_peers: [box3, plip, p7_coffre] # master pushes to these via ESP-NOW
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user