feat(ui): show YouTube-confirmed live state in top bar

Normal ON-AIR stays red until YouTube reports lifeCycleStatus=live, then turns green; TEST stays gold and stop restores the idle color.

Status-color reference: https://www.carbondesignsystem.com/building-blocks/core/patterns/status-indicators
This commit is contained in:
2026-11-04 11:19:40 -08:00
parent f921c0174b
commit 4b7e798757
5 changed files with 77 additions and 33 deletions
+10 -11
View File
@@ -1,21 +1,20 @@
# HANDOFF — 2026-11-04 (Day 2 reconciliation and YouTube status color)
# HANDOFF — 2026-11-04 (Day 2 and YouTube live-state color)
## State
- `main`; recent commits: Logs `a6aea5b`, close-out dialog ownership `76e8c22`, vertical scaling via
FFmpeg `6310f50`.
- Day 2 documentation reconciliation is verified and pending its own commit. It retires unused
`StreamConfig` defaults, records the vertical resolution-only check, and updates visibility/tier policy.
- Top-bar status color is implemented and its focused test passes: normal ON-AIR stays red until
YouTube reports `live`, then turns green; TEST remains gold; stopping restores the idle color.
- Full verification: clean app build, 522/523 tests (the one failure was the known
`AudioPipelineTests.Mix_HonorsProviderGains_AndGameMute_KillsTheLoopback`), scope check passed.
- `main`; relevant commits: dialog ownership `76e8c22`, vertical scaling through FFmpeg `6310f50`,
Day 2 documentation reconciliation `f921c01`.
- The top menu background follows YouTube's broadcast status: normal ON-AIR starts red and turns
green only at `lifeCycleStatus=live`; TEST stays gold; stopping restores the idle surface color.
The focused test passes; the change is included in this work unit.
- The focused top-bar test passes. The last full verification had a clean build and 522/523 tests;
the only failure was the known `AudioPipelineTests.Mix_HonorsProviderGains_AndGameMute_KillsTheLoopback`.
- Four untracked `Assets/llamacasty-*` files remain untouched.
## Next action
- Commit the pending Day 2 documentation unit and the top-bar color unit separately.
- Then continue TASK 53: enumerate output tiers and pin their geometry. Do not push absent a checkpoint request.
- TASK 53 remains the next queued output task: inventory emitted tiers and pin their geometry.
- Do not push absent a checkpoint request.
## Landmines