docs(phase-05): evolve PROJECT.md after phase completion
This commit is contained in:
@@ -29,6 +29,12 @@ Being able to load a song, build a synchronized light show, and play it back liv
|
|||||||
- [x] Playback cursor moves in realtime — `requestAnimationFrame` reads `audio.currentTime` (validated Phase 04)
|
- [x] Playback cursor moves in realtime — `requestAnimationFrame` reads `audio.currentTime` (validated Phase 04)
|
||||||
- [x] Beat calibration offset: shifts marks without corrupting raw data (validated Phase 04)
|
- [x] Beat calibration offset: shifts marks without corrupting raw data (validated Phase 04)
|
||||||
|
|
||||||
|
**Live Show Execution (Phase 05)**
|
||||||
|
- [x] WebSocket cue scheduler: server fires UDP animation commands at correct timestamps during playback — `ws.py` tick handler (validated Phase 05)
|
||||||
|
- [x] Live preview panel: show selector + playback status feedback in browser UI (validated Phase 05)
|
||||||
|
- [x] Keyboard shortcuts: 7 bindings (Space, arrows, J/K, Ctrl+Z/Y, Ctrl+S) for mouse-free operation — `wireKeyboard()` (validated Phase 05)
|
||||||
|
- [x] Mouse play/pause sends WebSocket messages — `wireAudio()` event listeners call `client.send()`, server `is_playing` set correctly (validated Phase 05)
|
||||||
|
|
||||||
### Active
|
### Active
|
||||||
|
|
||||||
**UI**
|
**UI**
|
||||||
@@ -108,4 +114,4 @@ This document evolves at phase transitions and milestone boundaries.
|
|||||||
4. Update Context with current state
|
4. Update Context with current state
|
||||||
|
|
||||||
---
|
---
|
||||||
*Last updated: 2026-04-07 — Phase 04 complete: interactive timeline editor, command pattern undo/redo, BeatGrid module, block inspector*
|
*Last updated: 2026-04-07 — Phase 05 complete: live show execution with WebSocket cue scheduler, live preview panel, keyboard shortcuts, and mouse/keyboard play/pause parity*
|
||||||
|
|||||||
Reference in New Issue
Block a user