feat(ui): the capture context menu is always available (Ctrl+right-click); wordmark "ty" is YouTube red

1. The preview's right-click handler swallowed every right-click for the zoom box, so the
   element/backdrop context menu could not open at all. Sources and capture windows must be
   changeable AT ANY TIME — a creator swaps a window mid-stream without entering edit mode.
   Ctrl + right-click now bypasses the zoom path and lets WPF open the menu under the cursor;
   plain right-click keeps the zoom box. No menu markup changed.

2. The wordmark's "ty" is YouTube red (#ff0000), permanently. The token sweep had recoloured it
   to the interactive blue because it was a bare literal; DESIGN.md now records "never re-colour
   the wordmark" beside the token, and UiShellTests pins it.

Guard: UiShellTests gains the wordmark rule and the Ctrl+right-click chord.
This commit is contained in:
2026-10-30 11:07:51 -07:00
parent cb4f8ec758
commit 318871033f
4 changed files with 23 additions and 2 deletions
+13
View File
@@ -59,6 +59,19 @@ public class UiShellTests
Assert.DoesNotContain("MaxHeight", listLine);
}
[Fact]
public void The_wordmark_ty_stays_youtube_red_and_ctrl_opens_the_context_menu()
{
var topBar = SourceAssert.Text("Controls", "TopBar.xaml");
Assert.Contains("<Run Text=\"ty\" Foreground=\"{StaticResource Brush.Youtube}\"/>", topBar);
// Plain right-click is the zoom box; the context menu moved to Ctrl+right-click so a
// creator can change capture sources mid-stream.
var preview = SourceAssert.Text("Controls", "PreviewPane.xaml.cs");
Assert.Contains("ModifierKeys.Control", preview);
Assert.Contains("return;", preview);
}
private static int Count(string haystack, string needle)
{
var hits = 0;