38 lines
2.2 KiB
Markdown
38 lines
2.2 KiB
Markdown
# HANDOFF — 2026-10-30 (design conversion complete; spacing is a layout pass, not a sweep)
|
|
|
|
## State
|
|
|
|
- Branch `main`, worktree clean. **~20 commits, unpushed** (push at your checkpoint).
|
|
- **The design conversion is done**: `DESIGN.md` is the contract, `Themes/Tokens.xaml` implements
|
|
it, and every surface consumes it — UI chrome, all dialogs (typeface included), the VM's state
|
|
colours via `Helpers/ThemeBrush`, and the on-stream graphics via `Services/Compositor/OutputPalette`
|
|
(which mirrors the tokens and is checked against them, because the pump thread cannot read app
|
|
resources). Blue `#38bdf8` is the only interactive accent; red `#ff5451` is live/record;
|
|
`#e94560` is gone from the product.
|
|
- Four guards hold it: `DesignTokensTests` (doc ↔ brushes; converted files may not regress to a
|
|
literal), `ThemeResourceTests` (no dangling `StaticResource` — the class of crash that killed the
|
|
app on a slider), `OutputPaletteTests` (on-stream ↔ theme), `SocialsPreviewTests` (a real
|
|
MainWindow, real preview elements) and `DialogTypographyTests` (dialogs inherit Inter).
|
|
|
|
## Next action
|
|
|
|
Nothing queued for the design. The **one** item deliberately not swept: the spacing scale. Margins
|
|
and paddings are per-side `Thickness`, not the single values `DESIGN.md` defines, so converting
|
|
them mechanically would change layout without a rationale — that is a layout pass (a designer's
|
|
job), not a colour-style sweep. Radii are tokenised where a token was honest; component geometry
|
|
(pill halves, 2.5px hairlines) stays literal on purpose.
|
|
|
|
## 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.
|