v0.5.0 — OBS fullscreen visualizer integration
One-click visualizer → OBS. The companion now assembles a Browser Source URL that renders the fullscreen MilkDrop visualizer inside OBS, connecting back to your companion for audio. No second monitor, no window capture.
What's new since v0.4.1
- Visualizer tab → Add to OBS button. Opens a modal that copies a ready-to-paste Browser Source URL to your clipboard (and a Preview button that opens the URL in your default browser for a sanity-check first).
- music.blackpearl.gg/visualizer — new fullscreen viz page. ~1 MB lazy-loaded chunk, WebGL MilkDrop via Butterchurn. Connects to the companion via WS using the token in the URL, just like the overlay.
- Auto-cycles presets every 30 s by default (override with `?cycle=`). Beat-reactive gain boost on kicks, same as the companion's internal viz.
- URL params for tuning: `token`, `port`, `preset`, `cycle`, `accent`. All optional except token.
- Fade-in HUD shows connection status + current preset + live BPM for 6 s on load, then disappears. Hovering/clicking the source brings it back briefly — handy while aligning in OBS.
Three-step setup
- Companion Visualizer tab → Add to OBS → Copy.
- OBS: Sources → + → Browser. Paste URL. W/H 1920 × 1080. Tick Shutdown source when not visible to save CPU when off-scene.
- Click OK. Viz is live.
Plan docs updated
`docs/OBS_INTEGRATION.md` covers:
- What shipped in this release (paste-the-URL flow).
- Phase A — obs-websocket auto-install (next session): click "Install into current scene" and the companion handles the Browser Source creation via OBS's built-in WebSocket v5 protocol. 4-6 hour ship, well-scoped.
- Phases B-D: multi-scene install, scene-pinned presets, MilkDrop 3 fullscreen mode once the projectM sidecar lands.
Verify
```bash
git clone https://github.com/ALunfb/tracklist-link.git
cd tracklist-link
git checkout v0.5.0
cd frontend && npm install && npm run build && cd ..
cargo build --release
sha256sum target/release/tracklist-link.exe
```