80f3a803618a3245fcebf0dd5011fa29e18bd9fc
Problem: PlatformIO build failed because lib_deps listed schreibfaul1/ESP32-audioI2S, which is not published on the registry, and network_task was an empty stub so the slice 14 hook client could not actually reach zacus-master.local. Approach: drop the unresolvable schreibfaul1 dep (esphome's fork already covers ES8388 I2S). Flesh out network_task to read WiFi credentials from NVS (namespace "wifi"), fall back to an open ZACUS-SETUP SSID for bringup, wait up to 30 s for association, advertise plip.local via ESPmDNS, and probe zacus-master.local once so the hook client's hostname-based POSTs resolve. A 5 s health loop reconnects on drop and re-reads NVS in case the desktop pushes new credentials at runtime. Tradeoffs: the open SSID fallback is dev-only and must be replaced with SoftAP provisioning before shipping. mDNS probe is logged but non-fatal so the hook client can still retry resolution per-request. Build verification with `pio run` was blocked by sandbox in this session; the dep change is mechanical and the source compiles against stock ESP32 Arduino headers (WiFi.h, ESPmDNS.h, Preferences.h).
Le Mystere du Professeur Zacus
Zacus est en refonte vers un produit hybride unique:
- un jeu terrain fiable sur carte Freenove ESP32-S3,
- un studio auteur moderne en React + Blockly,
- un runtime portable "Zacus Runtime 3" compile depuis le YAML canonique.
Canon actuel
- Source narrative:
game/scenarios/zacus_v2.yaml - Studio auteur:
frontend-scratch-v2/ - Runtime portable:
tools/scenario/compile_runtime3.py+tools/scenario/simulate_runtime3.py - Cible hardware principale:
hardware/firmwareavecfreenove_esp32s3 - Plans et memoire:
memory/,plans/,todos/ - Architecture et cartes Mermaid:
docs/architecture/
Démarrage rapide
1. Bootstrap validation
bash tools/setup/install_validators.sh
bash tools/test/run_content_checks.sh
2. Compiler et simuler Runtime 3
python3 tools/scenario/compile_runtime3.py game/scenarios/zacus_v2.yaml
python3 tools/scenario/simulate_runtime3.py game/scenarios/zacus_v2.yaml
python3 tools/scenario/export_runtime3_firmware_bundle.py game/scenarios/zacus_v2.yaml
3. Démarrer le studio React + Blockly
cd frontend-scratch-v2
npm install
npm test
VITE_STORY_API_BASE=http://<esp_ip>:8080 npm run dev
4. Utiliser le shell canonique
./tools/dev/zacus.sh content-checks
./tools/dev/zacus.sh runtime3-compile
make runtime3-verify
make runtime3-test
./tools/dev/zacus.sh frontend-test
./tools/dev/zacus.sh frontend-build
./tools/dev/zacus.sh menu
Cartographie du dépôt
game/: scénarios YAML canoniques.audio/: manifestes audio et assets associés.printables/: manifestes et exports imprimables.kit-maitre-du-jeu/: matériel MJ et déroulé terrain.frontend-scratch-v2/: studio auteur React + Blockly.hardware/firmware/: firmware, APIs device, scripts terrain.tools/: validateurs, compilateur/simulateur Runtime 3, shells d'automatisation.docs/: quickstart, architecture, benchmark OSS et runbooks.memory/,plans/,todos/: pilotage de la refonte.
AI Integration
Le projet intègre une couche IA pour enrichir l'expérience terrain :
- Voice pipeline : wake word (ESP-SR) → ASR → LLM → TTS (Piper / XTTS-v2) → speaker. Scaffold prêt, voir
docs/voice/VOICE_PIPELINE_GUIDE.md. - Vision : détection d'objets via ESP-DL pour indices contextuels.
- LLM hints : le Professeur Zacus répond aux joueurs via mascarade.
- TUI dev : script interactif d'orchestration →
python3 tools/dev/zacus_tui.py
Analyse complète : docs/AI_INTEGRATION_ANALYSIS.md
Sécurité & Déploiement
docs/SECURITY.md— audit firmware, HMAC auth, rate limitingdocs/DEPLOYMENT_RUNBOOK.md— procédures de déploiement terrain
Statut du projet
- Runtime 3 : compilateur + simulateur + export firmware bundle OK
- Studio auteur : React 19 + Blockly, 18 tests passing
- Firmware : sécurité P0 intégrée (HMAC, rate limit, safe OTA)
- Voice pipeline : scaffold ESP-SR prêt, TTS Docker validé
- Specs :
ZACUS_RUNTIME_3_SPEC.md,STORY_DESIGNER_SCRATCH_LIKE_SPEC.md
Documentation à lire
docs/QUICKSTART.mddocs/architecture/index.mddocs/AI_INTEGRATION_ANALYSIS.mdspecs/ZACUS_RUNTIME_3_SPEC.mdspecs/STORY_DESIGNER_SCRATCH_LIKE_SPEC.mddocs/benchmark-oss.md
Notes de refonte
- Le YAML reste la source de vérité pendant la migration.
- Le Runtime 3 devient le contrat portable entre studio, simulateur et firmware.
hardware/firmware/esp32/reste en lecture seule.- Les chemins legacy ne doivent être supprimés qu'après preuve de remplacement.
Licences
- Code: MIT (
LICENSE) - Contenu créatif: CC BY-NC 4.0 (
LICENSE-CONTENT.md)
Languages
C
48.1%
C++
28.8%
Python
14.3%
TypeScript
4.1%
Shell
2.4%
Other
2%