docs(handoff): preview pane next, with the colour-picker trap recorded
This commit is contained in:
+23
-21
@@ -2,35 +2,37 @@
|
||||
|
||||
## State
|
||||
|
||||
- Branch `main`, worktree clean. **Seven design commits, unpushed** (push at your checkpoint):
|
||||
`565b8db` DESIGN.md standard · `f2bf577` Tokens.xaml + guard · `84c335a` fonts bundled ·
|
||||
`ffdf3b6` sans wired into the window · `4ef84f2` Controls.xaml · `0275e30` shell
|
||||
(top bar, window, scene strip; mono telemetry).
|
||||
- **The app is half-converted on purpose:** theme, shell and readouts are tokenised; the left
|
||||
panel, preview pane and dialogs still carry the old palette.
|
||||
- `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.
|
||||
- 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
|
||||
|
||||
Continue the sweep, one surface per commit, adding each file to
|
||||
`DesignTokensTests.Converted_surfaces_carry_no_raw_colour`: `Controls/LeftPanel.xaml` (101 hexes)
|
||||
→ `Controls/PreviewPane.xaml` (110) → `Controls/OverlayHost.xaml` + the dialogs (~85) → the
|
||||
VM/service brush literals (`MainViewModel.Streaming.cs`, `MainViewModel.Audio.cs`,
|
||||
`NotificationService.cs`).
|
||||
**`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
|
||||
|
||||
- **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.
|
||||
- **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** to confirm Inter/JetBrains Mono render and the blue accent reads right — the
|
||||
fonts resolve by pack URI, which no test can prove.
|
||||
- **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.
|
||||
|
||||
Reference in New Issue
Block a user