Two verified production bugs from the voice-cloning review: 1. Tuner dead-dial: the dock resolved its RadioControl once, inside ui.init(), before any gesture built the audio graph - latching the silent echo stand-in for the whole session. main.ts now publishes a lazy-binding Radio->RadioControl adapter BEFORE ui.init (real subscribe() at probe time), attaching to the engine on first gesture and translating shape + units (UI MHz <-> engine kHz, volume()/mute() <-> setVolume()/setMuted(), locked id -> station name). Verified live: dock setFrequency(0.64 MHz) -> engine 640 kHz, station readout 'THE STANDARD', '0.6 THE STANDARD AM - SIGNAL LOCKED' on the dock. 2. Chyron clipping: one un-wrapped fillText showed ~51 chars; 29 of THE STANDARD's 30 lines (mean 69, max 92) clipped mid-sentence. Now word-wraps to two lines with 20->16->13px step-down. Verified live: 71-char propaganda line renders complete across two lines. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| data | ||
| lanes | ||
| src | ||
| CONTRACTS.md | ||
| index.html | ||
| MASTERPLAN.md | ||
| package-lock.json | ||
| package.json | ||
| tsconfig.json | ||