Go to file
type-two d6d6833b78 [ui] THE TUNER DOCK — the radio gets a face
Hidden until the optical fossil is excavated, then it slides in bottom-right:
frequency dial (drag or arrow keys), AM/FM/SW, volume and mute, and a station
readout in the house voice that reads STATIC until something locks. Its keys
are inert while hidden so they never shadow the pre-discovery game.

src/audio is still a stub with no radio export, so radio.ts resolves the
control at runtime and otherwise drives a silent echo stand-in — which is why
every dial is functional and testable today rather than waiting.

LANE-SCREEN: publish window.__fktrySpeaker = { radio } and this drives real
audio with no change here. The interface is exactly the one you documented —
setFrequency / setBand / volume / mute / getState / subscribe — with getState()
returning {freqMHz, band, volume, muted, station}; a non-null station is what
flips the readout to SIGNAL LOCKED.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 14:12:18 +10:00
docs [orchestrator] round 3 review + contracts v4 + composite seam codex + round 4 orders 2026-07-17 19:43:48 +10:00
fktry [ui] THE TUNER DOCK — the radio gets a face 2026-07-18 14:12:18 +10:00
.gitignore Baseline: GLYTCH prototype, FKTRY lore codex, scaffold + 5-lane orchestration docs 2026-07-17 15:51:12 +10:00
deploy.sh deploy.sh: ship FKTRY + match.html prototype to partly.party/glytch 2026-07-17 21:39:00 +10:00
index.html Baseline: GLYTCH prototype, FKTRY lore codex, scaffold + 5-lane orchestration docs 2026-07-17 15:51:12 +10:00
package-lock.json [orchestrator] round 1 review + contracts v2 + round 2 orders 2026-07-17 16:42:58 +10:00
package.json [orchestrator] round 1 review + contracts v2 + round 2 orders 2026-07-17 16:42:58 +10:00