A single segmented control swaps the whole surface. Record manages the capture (timer, waveform, upload, stop). Cast owns everything TV — the preview, expand-to-fullscreen, the per-TV rail, and the "Invite to join" QR. Room is the participant view (the /join webview: react, raise a hand, chat) — renamed from the confusing "Controls." The Cast tab carries a small live dot when casting, and a slim "recording is safe" strip rides along on Cast/Room so capture is never out of sight.
Changed since v5: the 2-way "Record | Controls" + embedded preview → a 3-way Record · Cast · Room swap. · "Controls" renamed Room (the participant view) — clearer; reviewer can pick Room / Participant / Join. · the QR now has an obvious home: a "Invite to join" button in the Cast view → QR popup. · pillbox text trimmed to three short words; Cast shows a live dot instead of a label.
/join participant experience (react, raise hand, chat), rendered in a webview of the sageox-mono /join surface. Named Room (the live meeting room). Open question for the reviewer: Room vs Participant vs Join — pick the noun.N/M chunks uploaded kept for BDD) · Copper only on Resume (paused) and View Recording (completed).transition: all; self-contained.