feat(topbar): the action follows the armed output; Test is an explicit ask again
Unit C (creator ruling 2026-11-12). - Local MP4: one button, "Start Recording". - YouTube: "Private Test Stream" beside "Review & Go Live", the latter with the primary face because it is the default ask. - Running: "End Live Stream" (or "End Test" for a test run, "Stop Recording" for a local one). The behavioural change underneath: SessionStartDecision.For no longer takes `editing`. Since 2026-10-30 EDIT silently chose test-vs-real, which meant the same button did two different things depending on a toggle three inches away. With Test as its own button that inference has no job, so For() now reads only the armed output and ON-AIR always means the real livestream. That supersedes the 2026-10-30 ruling; SessionStartDecisionTests is rewritten to pin the new matrix rather than the old one. A signed-out press still starts the sign-in flow instead of sitting dead (no-dead-ends), unchanged from before — now stated in one place, the two new commands, instead of inside a route table. 680 pass, 0 warnings. 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:
@@ -191,7 +191,7 @@ public partial class MainViewModel : ViewModelBase
|
||||
/// <summary>Creator ruling 2026-10-30: EDIT decides whether the ON-AIR start is the real
|
||||
/// livestream or the test one, which is why the separate TEST button is gone.</summary>
|
||||
public SessionStartKind PrimaryStartKind =>
|
||||
SessionStartDecision.For(RecordPillOn, OnAirPillOn, EditingActive);
|
||||
SessionStartDecision.For(RecordPillOn, OnAirPillOn);
|
||||
|
||||
public string PrimaryStartButtonLabel => SessionStartDecision.LabelFor(PrimaryStartKind);
|
||||
|
||||
@@ -229,7 +229,7 @@ public partial class MainViewModel : ViewModelBase
|
||||
public string EndButtonText =>
|
||||
IsRecording && !IsLive ? "Stop Recording"
|
||||
: IsTestStream ? "End Test"
|
||||
: "End Stream";
|
||||
: "End Live Stream";
|
||||
|
||||
/// <summary>TASK 41 — Test is a child of Stream (creator ruling: "Test should only
|
||||
/// proc when we've selected stream"): a dry-run of the livestream, so it exists
|
||||
|
||||
Reference in New Issue
Block a user