docs(handoff): design standard landed, token sweep in flight

This commit is contained in:
2026-10-30 07:47:14 -07:00
parent 4ef84f2a97
commit 1defb71568
+23 -30
View File
@@ -1,40 +1,33 @@
# HANDOFF — 2026-10-29 (memory map restructured; text layer is next)
# HANDOFF — 2026-10-30 (design standard landed; token sweep in flight)
## State
- Branch `main`, worktree clean after this commit. **Docs-only session — not pushed** (push at a
checkpoint the creator names).
- Commits: `a311c8f` partition `ai.md` into five subsystem docs · `c9ac348` router + invariants +
doc-budget gate · this commit = decisions log, queue trim, handoff rewrite.
## What changed
- `ai.md` 1,308 → 64 lines (router). Subsystem truth: `docs/ai/{capture,frame-pipeline,output,
overlays,youtube-api,ui-surface,product,environment,decisions}.md`.
- `AGENTS.md` is the single always-read file: rules + the 20 invariants.
- `TASKS.md` 467 → ~90 lines (active queue); the old catalogue is `TASKS/archive.md`.
- `scripts/verify.sh` now runs doc budgets first (AGENTS 210, ai 100, HANDOFF 40, TASKS 120).
- Creator's 2026-10-29 report: App Settings/gear, transitions and Brand logo **all working** — closed.
- Branch `main`, worktree clean. **Four design commits, unpushed** (push at your checkpoint):
`565b8db` DESIGN.md becomes the standard · `f2bf577` `Themes/Tokens.xaml` + guard ·
`84c335a` Inter/JetBrains Mono bundled · `4ef84f2` `Themes/Controls.xaml` converted.
- `DESIGN.md` is normative; `Themes/Tokens.xaml` is its implementation. Blue `#38bdf8` is the
only interactive accent; red `#ff5451` is live/record only; `#e94560` is retired from chrome.
## Next action
**TASK 3·17 — the Text layer**: content, font family/size/weight/style, colour, alignment,
drag/resize, persisted; renderer mirrors `Services/ChatBoxRenderer.cs`. The type today is a
placeholder with no code behind it. One Good Dog test, code + memory in one commit.
Sweep the remaining surfaces to tokens, one per commit, adding each file to
`DesignTokensTests.Converted_surfaces_carry_no_raw_colour`: `TopBar.xaml` + `MainWindow.xaml` +
`SceneThumbnailStrip.xaml` (~30 hexes) → `LeftPanel.xaml` (101) → `PreviewPane.xaml` (110) →
`OverlayHost.xaml` + dialogs (~85) → the VM/service brush literals (`MainViewModel.Streaming.cs`,
`MainViewModel.Audio.cs`, `NotificationService.cs`).
## Landmines (live, not historical)
## Landmines
- `%APPDATA%\ytLlive` (capital L) — never rename it; it holds the layout DB, `Assets` and the auth
token. Paths: `docs/ai/environment.md`.
- The **full test suite hangs** (WASAPI teardown, pre-existing); per-class runs work and are the way
to validate. `RealMouseDrag_OnTheLayerList_…` is an environment flake, not a regression.
- `verify.sh`'s known-failure whitelist still matches on the two old test names; every other FAIL is
a real regression.
- `stash@{0}` ("WIP on main: 0464593 Compositor fast-path") predates this work — do not drop blindly.
- Off-repo ops notes (HA lights, Pi-hole clock, GOG/Galaxy, sudo rotation) live in the previous
handoff: `git show ee3c592:HANDOFF.md`.
- **Never tokenize the on-stream renderers or user data:** `Services/AlertRenderer.cs`,
`ChatBoxRenderer`, `Compositor/*`, `BrandFlashPresenter`, `Models/BorderColorPalette.cs`,
`Models/Source.cs` chat-colour defaults. Those paint the broadcast picture, not app chrome.
- `Themes/Tokens.xaml` is the only file allowed a raw hex; the guard lists converted files, so a
surface that regresses fails the test.
- A red settings control is a bug now — red means live/record. Sliders and toggles are blue.
- Pre-existing: the **full test suite hangs** (WASAPI teardown). Per-class runs are the way.
## Pending creator checks
## Pending
Vertical-tier camera geometry (Live tile in the band, Chat rect-only); and a Release webcam-cadence
take in the failing geometry, which is what blocks cadence Units 1–2.
- **Launch once** to confirm Inter/JetBrains Mono render and the blue accent reads right — the
fonts resolve by pack URI, which no test can prove.
- Vertical-tier camera check; webcam-cadence take in the failing geometry.