Files
LlamaCasty/HANDOFF.md
T

2.3 KiB
Raw Blame History

HANDOFF — 2026-10-30 (scoreboard built to the polling policy; two wiring items left)

State

  • Branch main. The audio dock is shipped and pushed. The scoreboard is built in ten units, local commits only: tallies (Models/ScoreboardState, session-scoped), lifecycle (ScoreboardRecorder: start clears, End freezes), layout (Models/ScoreboardLayout: coupled edges resolved at render time, shrink-then-wrap, never scroll), renderer (Services/Compositor/ScoreboardRenderer: plate + text colour + opacity + 14–24px, cached), tile selection (Models/ScoreboardTiles, opt-in, money per currency), the cached presenter, the layer itself (SourceType.Scoreboard, strip geometry, resolver case), the properties panel (eight fact switches + colours + plate + size, theme widgets only), the Analytics scope (yt-analytics.readonly, incremental, HasAnalyticsScope), and the polling policy (Models/ScoreboardCadence).
  • Fixed on the way: the chat feed now reaches the tallies (the recorder had no caller).

Next action

  1. HTTP providers behind the cadence policy: watch hours (reports.query, metrics=estimatedMinutesWatched) and subscriber count (channels.list?mine=true&part=statistics), both behind an interface with a fake for tests, plus the timer that calls ScoreboardCadence.Due(...) and writes the values into ScoreboardTiles.
  2. Goal-target inputs in the properties panel (the tiles read SubscriberGoal/WatchHourGoal but nothing sets them yet).
  3. On-screen check of the strip: one line at 24px, plate/opacity, and the edge swap against the social bar.

Landmines

  • Not every hex is a theme colour. BorderColorPalette and the chat/socials config defaults are USER DATA — they keep their literals. On-stream graphics now come from OutputPalette, never from a literal or from app resources (the pump thread must not touch them).
  • A red settings control is a bug now — red means live/record.
  • Pre-existing: the full test suite hangs (WASAPI teardown). Per-class runs are the way.

Pending

  • Launch and eyeball: fonts render (pack-URI resolution cannot be proven in the test host), the blue accent, blue-staged / red-live tiles, and mono telemetry.
  • Vertical-tier camera check; webcam-cadence take in the failing geometry.