From 875be14a8d5cce6940cea0afd0b1d20d8d1bd9b1 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 7 Apr 2026 11:53:39 +0000 Subject: [PATCH] docs(phase-06): evolve PROJECT.md after phase completion --- .planning/PROJECT.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.planning/PROJECT.md b/.planning/PROJECT.md index 6142382..5c1771f 100644 --- a/.planning/PROJECT.md +++ b/.planning/PROJECT.md @@ -35,6 +35,15 @@ Being able to load a song, build a synchronized light show, and play it back liv - [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) +**AI Sync (Phase 06)** +- [x] YouTube URL loading via yt-dlp — transport bar URL input + SSE terminal progress bar — `POST /api/audio/fetch` (validated Phase 06) +- [x] Audio feature extraction: onsets, chroma, RMS at 1s resolution — `lightsync/audio/features.py` (validated Phase 06) +- [x] Structural segmentation: 4-12 sections via agglomerative clustering — `lightsync/audio/segments.py` (validated Phase 06) +- [x] Segment band overlay: translucent colored bands on waveform canvas, click-to-select — `SegmentOverlay` class (validated Phase 06) +- [x] Heuristic show generator: energy → animation type, chroma → color, beat-snapped blocks — `heuristic_generate()` (validated Phase 06) +- [x] Optional LLM path via claude-3-haiku when ANTHROPIC_API_KEY set — `llm_generate()` (validated Phase 06) +- [x] AI Sync panel: GENERATE button, USE LLM toggle, per-section fill, overwrite confirmation (validated Phase 06) + ### Active **UI**