Problem
The arena/rig identity currently lives in three loosely-coupled places in arena_studio.html:
- Run view / top bar — derived from the loaded protocol's
rig: path (read-only display + provenance).
- Console — its own
arena dropdown in the caption (drives stream-frame geometry, the batch-ISP progress map, paste-frame validation, FicTrac framing). Defaults to the protocol's rig but is trivially easy to change with one click — including accidentally, which silently changes what geometry gets streamed to the hardware.
- Edit view — Settings → Rig (Browse…/built-in dropdown), which edits the protocol document itself.
Redundant selection points invite drift: the Console can quietly disagree with the loaded protocol, and nothing surfaces the mismatch.
Proposal
- Single source of truth for the session's arena/rig, owned by the Studio shell (
Studio.currentRig or similar), consumed by all three views. Loading a protocol sets it (from rig:); the Edit view's Settings→Rig continues to edit the document, and doing so updates the session rig.
- Locked by default: the selector (wherever it renders — likely once, in the top bar next to the device line) shows a 🔒 and requires an explicit unlock click before it can be changed, mirroring the read-only-in-Run philosophy. Rationale: changing the arena geometry mid-bench is a deliberate, rare act — one-click changes caused near-misses at the bench.
- Mismatch surfacing: if the user overrides the session rig away from the loaded protocol's rig, show a visible chip/warning ("bench arena ≠ protocol rig") rather than silently diverging.
- Console keeps reading the shared value (stream geometry, ISP map, paste validation, FicTrac) but loses its own independent selector.
Notes
- Today's console selector was added for standalone bench use before the embed existed; with all three views in one page it's now redundant.
- Related policy:
docs/development/arena-studio-parity.md (Studio is the primary path).
Problem
The arena/rig identity currently lives in three loosely-coupled places in
arena_studio.html:rig:path (read-only display + provenance).arenadropdown in the caption (drives stream-frame geometry, the batch-ISP progress map, paste-frame validation, FicTrac framing). Defaults to the protocol's rig but is trivially easy to change with one click — including accidentally, which silently changes what geometry gets streamed to the hardware.Redundant selection points invite drift: the Console can quietly disagree with the loaded protocol, and nothing surfaces the mismatch.
Proposal
Studio.currentRigor similar), consumed by all three views. Loading a protocol sets it (fromrig:); the Edit view's Settings→Rig continues to edit the document, and doing so updates the session rig.Notes
docs/development/arena-studio-parity.md(Studio is the primary path).