docs(01-foundation): create phase plan — 3 plans in 2 waves
This commit is contained in:
@@ -32,7 +32,7 @@ Decimal phases appear between their surrounding integers in numeric order.
|
||||
3. The web app loads in a browser with terminal/hacker aesthetic — dark background, monospace fonts, no generic SaaS look
|
||||
4. FastAPI serves the frontend and exposes REST stubs for shows and devices
|
||||
5. Adding a new strip type requires only a new device class — no changes to core engine code
|
||||
**Plans**: TBD
|
||||
**Plans**: 3 plans
|
||||
|
||||
Plans:
|
||||
- [ ] 01-01: Backend scaffold — FastAPI app, Pydantic show/device models, show store (JSON load/save), device registry
|
||||
@@ -50,7 +50,7 @@ Plans:
|
||||
3. The waveform is rendered in the timeline UI from the loaded audio file
|
||||
4. Windows 11 timer resolution is set to 1ms at startup (timeBeginPeriod(1)) — confirmed via timing harness showing <2ms tick variance
|
||||
5. MPV IPC runs in a dedicated thread — pausing or seeking does not block WebSocket message processing
|
||||
**Plans**: TBD
|
||||
**Plans**: 3 plans
|
||||
|
||||
Plans:
|
||||
- [ ] 02-01: MPV IPC bridge — python-mpv subprocess, named pipe reader thread, shared position variable, Windows timer fix
|
||||
@@ -68,7 +68,7 @@ Plans:
|
||||
3. The animation library contains all 7 built-in types (chase, pulse, rainbow, strobe, color wipe, fire, solid color) with configurable params
|
||||
4. SK6812 (RGBW, 4-byte) and WS2801 (RGB, 3-byte) frames are encoded distinctly — a simulator can distinguish them by packet header
|
||||
5. The software simulator logs all received packets — no hardware required to validate protocol behavior
|
||||
**Plans**: TBD
|
||||
**Plans**: 3 plans
|
||||
|
||||
Plans:
|
||||
- [ ] 03-01: Device abstraction + UDP sender — BaseDevice ABC, SK6812 and WS2801 implementations, async UDP socket pool
|
||||
@@ -86,7 +86,7 @@ Plans:
|
||||
4. Each block has a color picker and editable parameters (speed, colors, direction, length); changes persist in the show file
|
||||
5. The playback cursor moves in real time across the timeline as audio plays, reflecting audio position accurately
|
||||
6. A beat calibration offset control shifts all beat marks backward by a configurable amount to compensate for librosa's systematic latency bias
|
||||
**Plans**: TBD
|
||||
**Plans**: 3 plans
|
||||
|
||||
Plans:
|
||||
- [ ] 04-01: Timeline canvas — per-device tracks, time axis, block rendering, playback cursor
|
||||
@@ -105,7 +105,7 @@ Plans:
|
||||
3. The live preview panel shows a simulated LED strip visualization in the browser canvas, updated in sync with playback
|
||||
4. All primary operations (play, pause, seek, undo, save) are accessible via keyboard shortcuts without touching the mouse
|
||||
5. A show saved during one session loads completely — all blocks, devices, and analysis data — in a subsequent session
|
||||
**Plans**: TBD
|
||||
**Plans**: 3 plans
|
||||
|
||||
Plans:
|
||||
- [ ] 05-01: Cue scheduler — position-driven scheduling loop, pre-fire offset, seek-safe cue pointer reset
|
||||
@@ -121,7 +121,7 @@ Plans:
|
||||
1. A YouTube URL can be loaded into the app — audio plays via MPV with no manual download step required
|
||||
2. Triggering AI sync fills the timeline with animation blocks matched to beats, drops, and song sections — producing a playable starting point for editing
|
||||
3. Structural segmentation (verse/chorus/bridge via librosa) appears as colored region overlays on the waveform
|
||||
**Plans**: TBD
|
||||
**Plans**: 3 plans
|
||||
|
||||
Plans:
|
||||
- [ ] 06-01: YouTube loading — yt-dlp passthrough via MPV --ytdl flag, URL input field, loading state feedback
|
||||
@@ -137,7 +137,7 @@ Plans:
|
||||
2. A microcontroller receives DRGB/DRGBW raw frame packets and outputs correct RGB/RGBW pixel values to the strip
|
||||
3. SK6812 (RGBW) and WS2801 (RGB) are both verified on physical hardware against the protocol spec from Phase 3
|
||||
4. Firmware runs on at least one of: ESP32, Pico, or Raspberry Pi 4B
|
||||
**Plans**: TBD
|
||||
**Plans**: 3 plans
|
||||
|
||||
Plans:
|
||||
- [ ] 07-01: Firmware scaffold — MicroPython UDP socket listener, packet type discriminator, device config (LED count, strip type)
|
||||
|
||||
Reference in New Issue
Block a user