2.1 KiB
2.1 KiB
HANDOFF — 2026-10-30 (design standard + token sweep complete; visual check pending)
State
- Branch
main, worktree clean. Twelve commits, unpushed (push at your checkpoint),565b8db→c885bbd.DESIGN.mdis normative;Themes/Tokens.xamlimplements it. - Every XAML surface is tokenised and guarded: theme, window, top bar, scene strip, left
panel, preview pane, App Settings, and all nine dialogs. The guard lists them all, so a raw hex
in any of those files fails
DesignTokensTests. - Blue
#38bdf8is the only interactive accent; red#ff5451is live/record;positive#22c55eis status only;attention#ff8c3ais warnings;#e94560is retired from chrome. - Two duplications were killed on the way: the scene tiles no longer use one colour for two
states, and the webcam's right-click border-colour menu is generated from
Models/BorderColorPaletteinstead of carrying its own seven colours.
Next action
Tokenise the VM-side state colours (the last raw hexes in app chrome). They are strings bound
to Background/Foreground, so this is a VM→Brush refactor, not a find/replace:
MainViewModel.Streaming.cs (RecDotBrush, RecTextBrush, OnAirBrush, RunningDotBrush,
TopBarBackground), MainViewModel.Streaming.Operations.cs (HealthIssueBackground,
PreviewGlowBrush), MainViewModel.Audio.cs (meter zones, MicProblemBrush),
Services/NotificationService.cs (toast tints). Values already match the standard; only the
literals remain.
Landmines
- Not every hex is a theme colour. Leave
BorderColorPalette, pickerTag=values,Models/Source.cschat defaults, and the on-stream renderers (AlertRenderer,ChatBoxRenderer,Compositor/*,BrandFlashPresenter) literal. - 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.