From 8415bb5f37282b6d4cf9e47086f80530664f04f7 Mon Sep 17 00:00:00 2001 From: gramps Date: Fri, 30 Oct 2026 08:28:21 -0700 Subject: [PATCH] design: preview pane to tokens (surface 4), and one palette list instead of two MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 110 hardcoded colours gone from the preview โ€” the biggest surface in the app. Nicknames: - the webcam selection ring is the interactive accent (was the retired brand red) - the mute chips are `attention` (a muted mic is a caution, not a live state) with a white play glyph; the live badge is `primary` - YPP progress bars/track, TRAX level zones, the error line, the dim strips and the poster veil all resolve from tokens (`positive`, `secondary-container`, `error-container`, `scrim-dark`, `scrim-dark-strong`) Plus the duplication this sweep exposed: the webcam's right-click "Border Color" submenu carried **seven hand-written colours**, a second source of truth beside the properties drop-down that TASK 63 had already unified onto `Models/BorderColorPalette.cs` โ€” and the two lists disagreed (7 vs 14). The submenu is now built from the palette when it opens, so every offered colour is the same colour everywhere, with the palette's name beside it. The click handler is unchanged; generated rows inherit the menu's SceneElement DataContext. Guard list extended: Controls/PreviewPane.xaml. --- Controls/PreviewPane.xaml | 210 ++++++++++++++---------------- Controls/PreviewPane.xaml.cs | 28 ++++ ytLive.Tests/DesignTokensTests.cs | 3 +- 3 files changed, 126 insertions(+), 115 deletions(-) diff --git a/Controls/PreviewPane.xaml b/Controls/PreviewPane.xaml index 90d0558..51f7934 100644 --- a/Controls/PreviewPane.xaml +++ b/Controls/PreviewPane.xaml @@ -3,7 +3,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:Helpers="clr-namespace:ytLive.Helpers" xmlns:local="clr-namespace:ytLive"> - @@ -235,7 +235,7 @@ - + @@ -243,35 +243,17 @@ - + - - - - - - - - - + + - - + - @@ -430,8 +412,8 @@ Canvas.Left="{Binding ZoomState.X}" Canvas.Top="{Binding ZoomState.Y}" Width="{Binding ZoomState.Width}" Height="{Binding ZoomState.Height}" Visibility="{Binding IsZoomActive, Converter={StaticResource BoolToVis}}"> - - + + @@ -439,7 +421,7 @@ @@ -455,10 +437,10 @@ - @@ -474,7 +456,7 @@ - +