Files
LlamaCasty/HANDOFF.md
T

39 lines
2.1 KiB
Markdown

# HANDOFF — 2026-10-30 (design standard landed; token sweep in flight)
## State
- Branch `main`, worktree clean. **Eight design commits, unpushed** (push at your checkpoint):
`565b8db` DESIGN.md standard · `f2bf577` Tokens.xaml + guard · `84c335a` fonts ·
`ffdf3b6` sans wired · `4ef84f2` Controls.xaml · `0275e30` shell (top bar, window, scene
strip, mono telemetry) · `2dbc35b` left panel · `3edb0d1` positive + dark-scrim tokens.
- **Half-converted on purpose:** theme, shell, left panel and readouts are tokenised; the preview
pane and the dialogs still carry the old palette.
- `DESIGN.md` is normative; `Themes/Tokens.xaml` implements it. Blue `#38bdf8` is the only
interactive accent; red `#ff5451` is live/record only; `#e94560` is retired from chrome.
## Next action
**`Controls/PreviewPane.xaml`** (110 hexes), then `Controls/OverlayHost.xaml` + dialogs (~85),
then the VM/service brush literals (`MainViewModel.Streaming.cs`, `.Audio.cs`,
`NotificationService.cs`). Add each file to `DesignTokensTests.Converted_surfaces_carry_no_raw_colour`.
⚠️ **PreviewPane trap:** it holds a **hardcoded chat-border colour menu** — `MenuItem` rows with
`Tag="#22c55e"`-style values bound through `EnumToBool` (~line 265). Those hexes are **user data,
not theme**; tokenising them breaks the picker. Route them through `Models/BorderColorPalette.cs`
first (TASK 63 precedent), then sweep the rest.
## Landmines
- **Not every hex is a theme colour.** Tokenise app chrome only; leave `BorderColorPalette`,
picker `Tag=` values, `Models/Source.cs` chat defaults, and the on-stream renderers
(`AlertRenderer`, `ChatBoxRenderer`, `Compositor/*`, `BrandFlashPresenter`) literal.
- `Themes/Tokens.xaml` is the only file allowed a raw hex; the guard lists converted files.
- 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 once**: confirm Inter/JetBrains Mono render (pack-URI resolution is unprovable in the
test host) and that the blue reads right in the room.
- Vertical-tier camera check; webcam-cadence take in the failing geometry.