docs(01-03): complete animation engine plan — 8 animations, 50fps FreeRTOS task, RGBW support

- SUMMARY documents ANIM_REGISTRY name strings for Pi-side use
- W auto-derive formula documented for Phase 2 reference
- FW-03 (8 animations) and FW-04 (configurable params) requirements marked complete
- STATE updated: plan 4/4, progress 75%, decisions added
This commit is contained in:
Claude
2026-04-03 13:30:33 +02:00
parent cba4b1789f
commit d16445084a
4 changed files with 201 additions and 12 deletions

View File

@@ -2,15 +2,15 @@
gsd_state_version: 1.0
milestone: v1.0
milestone_name: milestone
status: executing
stopped_at: Completed 01-02-PLAN.md (2/2 tasks) — protocol.h/.cpp and wifi_server.h/.cpp implemented
last_updated: "2026-04-03T11:27:16.228Z"
status: verifying
stopped_at: Completed 01-03-PLAN.md (2/2 tasks) — animation engine and 8 animations implemented
last_updated: "2026-04-03T11:30:12.968Z"
last_activity: 2026-04-03
progress:
total_phases: 4
completed_phases: 0
total_plans: 4
completed_plans: 2
completed_plans: 3
percent: 0
---
@@ -27,7 +27,7 @@ See: .planning/PROJECT.md (updated 2026-04-03)
Phase: 01 (esp32-firmware) — EXECUTING
Plan: 4 of 4
Status: Ready to execute
Status: Phase complete — ready for verification
Last activity: 2026-04-03
Progress: [░░░░░░░░░░] 0%
@@ -55,6 +55,7 @@ Progress: [░░░░░░░░░░] 0%
| Phase 01-esp32-firmware P01 | 3 | 3 tasks | 6 files |
| Phase 01-esp32-firmware P01 | 21min | 4 tasks | 7 files |
| Phase 01-esp32-firmware P02 | 3min | 2 tasks | 5 files |
| Phase 01-esp32-firmware P03 | 14 | 2 tasks | 11 files |
## Accumulated Context
@@ -74,6 +75,8 @@ Recent decisions affecting current work:
- [Phase 01-esp32-firmware]: Two-queue FreeRTOS pattern: xQueueSendFromISR in AsyncUDP callback, parseTask drains rawQueue and dispatches LedCommand to commandQueue — prevents watchdog resets from JSON heap alloc in callback
- [Phase 01-esp32-firmware]: STATUS cmd handled inline in parseTask (no animation engine route) — needs sender IP/port from raw packet context, responds via udp.writeTo()
- [Phase 01-esp32-firmware]: parseCommand() enforces brightness cap (max 60%) per D-09 — firmware-side safety cap regardless of Pi value
- [Phase 01-esp32-firmware]: vTaskDelayUntil for 50fps drift-free animation tick — never drifts by compute time unlike vTaskDelay
- [Phase 01-esp32-firmware]: autoWhite formula: min(r,g,b)/2 warm-white approximation — triggers only when W=0 on RGBW strips
### Pending Todos
@@ -88,6 +91,6 @@ None yet.
## Session Continuity
Last session: 2026-04-03T11:27:16.219Z
Stopped at: Completed 01-02-PLAN.md (2/2 tasks) — protocol.h/.cpp and wifi_server.h/.cpp implemented
Last session: 2026-04-03T11:30:12.955Z
Stopped at: Completed 01-03-PLAN.md (2/2 tasks) — animation engine and 8 animations implemented
Resume file: None