not-tonight/src/ui
type-two 1a66c602fd LANE-JUICE2: ear-pass mix desk, ambience beds, night arc in the engine
The Phase-1 debt was 'verified by ear: NOTHING'. I still can't hear, so this
lane builds the instrument that lets someone who can tell me what's wrong, and
makes their answer a diff instead of a conversation.

- TechnoEngine drives every voice from the live TrackMix and the arc, instead of
  module consts. Behaviour-identical at DEFAULT_MIX (verified constant by
  constant). Voices whose effective gain rounds to silence are skipped, not
  clamped — at 9PM the bass builds zero nodes rather than ~8/sec of silence.
  setMixValue quantises integer paths, so what formatMix dumps is what played.
- MixDeskScene: solo/mute per voice with a per-voice listening prompt, every
  mix param on log-mapped sliders, an arc scrubber (audition 1AM at 9PM), and
  DUMP MIX -> a pasteable TrackMix literal. Restores the arc pin and solo state
  it found on close, rather than forcing a default — the demo deliberately pins
  PEAK and the desk was silently un-tuning it.
- Ambience: rain outside, crowd murmur inside, kebab-shop fluoro hum. On the SFX
  bus, not the music lowpass — that filter models the PA being behind a wall,
  and rain is not behind anything. Headcount comes off door:verdict admits and
  floor:ejection, NOT door:clicker: the clicker is the player's claimed count and
  its divergence from reality is the mechanic, so the room would sound like the
  lie. Verified live: 120 + 2 admits - 1 ejection = 121, clicker ignored.
- JuiceDemoScene pins the arc at PEAK on entry. GameClock runs 360 game-min in
  13 real min, so an unpinned demo opens on kick+hat and anyone judging the bass
  would conclude it's broken.
- Phone thread scrolls with visible-window culling and a binary-searched range,
  a history cap, and a 'new below' cue when a text lands off-screen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-19 21:47:53 +10:00
..
Clicker.ts LANE-JUICE: audio engine, SFX set, five UI widgets, JuiceDemoScene 2026-07-19 18:52:43 +10:00
DialogueBox.ts LANE-JUICE: audio engine, SFX set, five UI widgets, JuiceDemoScene 2026-07-19 18:52:43 +10:00
JuiceDemoScene.ts LANE-JUICE2: ear-pass mix desk, ambience beds, night arc in the engine 2026-07-19 21:47:53 +10:00
MeterHud.ts Phase 2: night-flow integration — door/floor interleave, Kayden, TechnoEngine in the night, run progression; Phase 3 lane instructions 2026-07-19 20:20:18 +10:00
MixDeskScene.ts LANE-JUICE2: ear-pass mix desk, ambience beds, night arc in the engine 2026-07-19 21:47:53 +10:00
Phone.ts LANE-JUICE2: ear-pass mix desk, ambience beds, night arc in the engine 2026-07-19 21:47:53 +10:00
Stamp.ts LANE-JUICE: audio engine, SFX set, five UI widgets, JuiceDemoScene 2026-07-19 18:52:43 +10:00
style.ts LANE-JUICE: audio engine, SFX set, five UI widgets, JuiceDemoScene 2026-07-19 18:52:43 +10:00
typo.ts LANE-JUICE: audio engine, SFX set, five UI widgets, JuiceDemoScene 2026-07-19 18:52:43 +10:00