feat(topbar): one decision — [ Build Scenes ][ Record / Go Live ]
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.
This commit is contained in:
+18
-20
@@ -53,26 +53,6 @@
|
||||
</TextBlock>
|
||||
</Button>
|
||||
|
||||
<!-- EDIT: explicit toggle. Neutral = off (chat), blue = on (layers/properties). The
|
||||
trigger used to set the SAME colour as the resting state, so the button never
|
||||
looked pressed. Right edge aligns with the layers panel below. -->
|
||||
<ToggleButton Grid.Column="1" IsChecked="{Binding EditingActive, Mode=TwoWay}" Content="EDIT"
|
||||
Cursor="Hand" Height="32" Padding="14,0" Margin="18,0,0,2"
|
||||
HorizontalAlignment="Right" VerticalAlignment="Center"
|
||||
FontWeight="Bold" FontSize="12" Foreground="{StaticResource Brush.OnAccent}" BorderThickness="0">
|
||||
<ToggleButton.Template>
|
||||
<ControlTemplate TargetType="ToggleButton">
|
||||
<Border x:Name="EditBody" Background="{StaticResource Brush.SurfaceContainerHigh}" CornerRadius="4" Padding="{TemplateBinding Padding}">
|
||||
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||||
</Border>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="IsChecked" Value="True">
|
||||
<Setter TargetName="EditBody" Property="Background" Value="{StaticResource Brush.Tertiary}"/>
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</ToggleButton.Template>
|
||||
</ToggleButton>
|
||||
</Grid>
|
||||
|
||||
<!-- Session surface (top bar redesign): the bar is ONE surface rendered by
|
||||
@@ -81,6 +61,24 @@
|
||||
reality line + End so nothing mid-session can be re-armed. -->
|
||||
<StackPanel Grid.Column="1" Orientation="Horizontal"
|
||||
HorizontalAlignment="Center" VerticalAlignment="Center">
|
||||
<!-- THE decision (creator ruling 2026-11-12): [ Build Scenes ][ Record / Go Live ].
|
||||
Build Scenes is the new edit mode — there is no separate EDIT button, so the
|
||||
question "which world am I in?" and "can I edit?" cannot disagree. Clicking the
|
||||
highlighted half re-enters it, which is how a creator gets back to the layers
|
||||
during a session. -->
|
||||
<Border Background="{StaticResource Brush.SurfaceContainerLowest}" CornerRadius="4"
|
||||
Padding="2" Height="32" VerticalAlignment="Center" Margin="0,0,12,0">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Button Style="{StaticResource WorldSegmentButton}" Tag="{Binding IsBuildWorld}"
|
||||
Command="{Binding EnterBuildWorldCommand}" Padding="12,0"
|
||||
Content="Build Scenes" FontSize="12" FontWeight="Bold"
|
||||
ToolTip="Edit layers, scenes and webcam placement"/>
|
||||
<Button Style="{StaticResource WorldSegmentButton}" Tag="{Binding IsOutputWorld}"
|
||||
Command="{Binding EnterOutputWorldCommand}" Padding="12,0"
|
||||
Content="Record / Go Live" FontSize="12" FontWeight="Bold"
|
||||
ToolTip="Choose the output and start the session"/>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<!-- IDLE: the mode switch + the action(s) of the armed world. The three
|
||||
controls share one height (build 77 feedback) so they read as one
|
||||
family — segments host, Start/Go Live, and Test all sit at 32. -->
|
||||
|
||||
Reference in New Issue
Block a user