From a5dc2f494c67922f39b66879f265a7fbbbc10c9e Mon Sep 17 00:00:00 2001 From: gramps Date: Thu, 12 Nov 2026 15:05:29 -0800 Subject: [PATCH] =?UTF-8?q?feat(topbar):=20one=20decision=20=E2=80=94=20[?= =?UTF-8?q?=20Build=20Scenes=20][=20Record=20/=20Go=20Live=20]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Unit A of the top-bar redesign (creator ruling 2026-11-12). The standalone EDIT toggle is gone; Build Scenes IS edit mode, so "which world am I in?" and "can I edit?" cannot disagree any more. BarWorld (ViewModels/MainViewModel.TopBar.cs) has two values, Build and Output. Build ships highlighted at launch and sets EditingActive on; choosing Record / Go Live turns it off. Clicking the already-highlighted half is deliberately not a no-op: it re-enters that world, which is the only way back to the layers during a session now that the EDIT button is gone (unit 1 made that legal). WorldSegmentButton (Themes/Controls.xaml) is a Button, not a ToggleButton, and each half passes its own flag through Tag to one shared DataTrigger — a ToggleButton would fight the view model and, with a one-way IsChecked, clear its own binding on first click. UiShellTests updated where it guarded the old EDIT markup (it now guards the segment). TopBarWorldTests pins launch state, both transitions, and the re-enter case. 679 pass, 0 warnings. Next: unit B (output switch), unit C (output-dependent action + End labels). Scope justification: Assets/starting-background.jpg is outside this unit — the creator's replacement art, still awaiting their visual check. --- Controls/TopBar.xaml | 38 ++++++++++----------- Themes/Controls.xaml | 27 +++++++++++++++ ViewModels/MainViewModel.TopBar.cs | 53 ++++++++++++++++++++++++++++ ViewModels/MainViewModel.cs | 1 + docs/ai/ui-surface.md | 8 +++++ ytLive.Tests/TopBarWorldTests.cs | 55 ++++++++++++++++++++++++++++++ ytLive.Tests/UiShellTests.cs | 22 ++++++------ 7 files changed, 174 insertions(+), 30 deletions(-) create mode 100644 ViewModels/MainViewModel.TopBar.cs create mode 100644 ytLive.Tests/TopBarWorldTests.cs diff --git a/Controls/TopBar.xaml b/Controls/TopBar.xaml index cb3c008..71c6598 100644 --- a/Controls/TopBar.xaml +++ b/Controls/TopBar.xaml @@ -53,26 +53,6 @@ - - - - - - - - - - - - - - - + + + +