docs(phase-04): evolve PROJECT.md after phase completion
This commit is contained in:
@@ -21,13 +21,20 @@ Being able to load a song, build a synchronized light show, and play it back liv
|
|||||||
- [x] 7 built-in animation types (solid, chase, pulse, rainbow, strobe, color-wipe, fire) as pure renderers — `lightsync/animations/`
|
- [x] 7 built-in animation types (solid, chase, pulse, rainbow, strobe, color-wipe, fire) as pure renderers — `lightsync/animations/`
|
||||||
- [x] Animation factory and registry — `create_animation()` by name, extensible for Phase 4+
|
- [x] Animation factory and registry — `create_animation()` by name, extensible for Phase 4+
|
||||||
|
|
||||||
|
**Timeline Editor (Phase 04)**
|
||||||
|
- [x] Timeline editor: per-device tracks, drag-and-place animation blocks — `TimelineCanvas` + `handleDrop()` (validated Phase 04)
|
||||||
|
- [x] Block interactions: move, resize, delete with 50-step undo/redo — `CommandHistory` + command pattern (validated Phase 04)
|
||||||
|
- [x] Beat detection overlay: marks on timeline, snap-to-beat on all block ops — `BeatGrid` class (validated Phase 04)
|
||||||
|
- [x] Block inspector: color picker + parameter controls, all undoable — `BlockInspector` + `UpdateParamsCommand` (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)
|
||||||
|
|
||||||
### Active
|
### Active
|
||||||
|
|
||||||
**UI**
|
**UI**
|
||||||
- [ ] Web app with terminal/hacker aesthetic — dark theme, monospace fonts, no generic SaaS look
|
- [ ] Web app with terminal/hacker aesthetic — dark theme, monospace fonts, no generic SaaS look
|
||||||
- [ ] Song loading via local file or YouTube URL (via yt-dlp + MPV subprocess)
|
- [ ] Song loading via local file or YouTube URL (via yt-dlp + MPV subprocess)
|
||||||
- [ ] Audio playback controls: play, pause, seek, position display
|
- [ ] Audio playback controls: play, pause, seek, position display
|
||||||
- [ ] Timeline editor: per-device tracks, drag-and-place animation blocks
|
|
||||||
- [ ] Animation library panel with configurable parameters (speed, colors, length, etc.)
|
- [ ] Animation library panel with configurable parameters (speed, colors, length, etc.)
|
||||||
- [ ] Manual mode: pause playback, assign animation to timestamp, resume
|
- [ ] Manual mode: pause playback, assign animation to timestamp, resume
|
||||||
|
|
||||||
@@ -101,4 +108,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-06 — Phase 03 complete: communication protocol layer, animation library, E2E UDP validation*
|
*Last updated: 2026-04-07 — Phase 04 complete: interactive timeline editor, command pattern undo/redo, BeatGrid module, block inspector*
|
||||||
|
|||||||
Reference in New Issue
Block a user