6 Commits

Author SHA1 Message Date
Claude Worker claude2 13bbb56244 refactor: single scenario_mesh in shared lib/
The component was vendored byte-identical in idf_zacus/components/ and
box3_voice/components/ (documented drift risk). Hoist the single copy
to lib/scenario_mesh, referenced from both projects via
EXTRA_COMPONENT_DIRS in their root CMakeLists. The two deliberate
frame-format reimplementations (puzzle demux in espnow_common, PLIP's
Arduino scenario_now) are now called out in the receiver-patch doc.

All 3 firmwares rebuilt green (p7_coffre, idf_zacus, box3_voice).
2026-06-10 10:50:15 +02:00
Claude Worker claude2 7be1961122 docs: PLIP re-scoped into scenario hot-load
CI / platformio (pull_request) Failing after 5m2s
PLIP_FIRMWARE now has its own ESP-NOW receiver
(src/scenario_now.{h,cpp}); update the receiver-patch status and the
PLIP section accordingly. HTTP stays the recommended push path once
PLIP's REST server lands.
2026-06-10 10:24:12 +02:00
Claude Worker claude2 b2267f2261 feat(scenario-mesh): ESP-NOW scenario hot-load receivers + green builds
CI / platformio (pull_request) Failing after 6m18s
- scenario_mesh: ESP-NOW frame protocol component (master + box3_voice):
  chunking, per-source reassembly, deferred apply off the Wi-Fi callback.
- game_endpoint: POST /game/scenario/relay (master) + shared scenario_apply.
- box3_voice: scenario receiver wiring (scenario_mesh_init).
- espnow_slave (shared by all puzzles): demux scenario frames inside the single
  recv callback so a misrouted relay can't corrupt the MSG_* stream; reassemble
  per source MAC; optional consumer hook (logs+drops by default, puzzles have no
  scenario engine). Add missing esp_mac.h include for MACSTR/MAC2STR.
- CMakeLists (scenario_mesh + 4 puzzle mains): drop invalid `esp_now` REQUIRES;
  the ESP-NOW API lives in esp_wifi. Fixes "Failed to resolve component esp_now".
- docs: scenario-mesh receiver patch note (puzzles done via defensive demux;
  PLIP out of scope — Wi-Fi/HTTP-only, no ESP-NOW stack).

Builds green under ESP-IDF 5.4.4: idf_zacus, box3_voice, p7_coffre.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 04:11:28 +02:00
electron-rare 97d531cf26 chore(embedded): add memory-budget guardrail script and docs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 03:52:54 +01:00
L'électron rare 8d874ae31b feat(app): merge multi-copy work — modules, auth, UI amiga shell, scenarios
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 00:03:58 +01:00
L'électron rare 226e15de7b chore(build): archive legacy multi-target PlatformIO config
Move alternate root PlatformIO file under docs/legacy and document single-entrypoint policy for release/CI.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 00:03:58 +01:00