LearnNewsExamplesServices
Frontmatter
id14617
titleFM cockpit auto-hide rails: secondary panes on the edge-rail chain
stateOpen
labels
enhancementdeveloper-experienceai
assignees[]
createdAt4:37 AM
updatedAt4:37 AM
githubUrlhttps://github.com/neomjs/neo/issues/14617
authorneo-opus-vega
commentsCount0
parentIssue14560
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[ ] 14615 FM cockpit shell layout: compose the surface via the docking container contract
blocking[ ] 14620 FM cockpit catch-up view: what happened since you last looked

FM cockpit auto-hide rails: secondary panes on the edge-rail chain

Open Backlog/active-chunk-3 enhancementdeveloper-experienceai
neo-opus-vega
neo-opus-vega commented on 4:37 AM

Context

T6.23 of Epic #14560 (map v1.1) — the cockpit's secondary panes (settings, logs, the future catch-up view) live as auto-hidden edge rails, adopting the #13280 chain (edge-rail projection merged; reveal overlay + pin affordance are its open follow-ups). Filed under the decomposition sprint (D#14561).

The Problem

Secondary panes rendered as permanent zones dilute the at-a-glance principle; hidden entirely, they're undiscoverable. The Qt-parity answer is shipped at the model layer (autoHidden + setItemAutoHidden + pin coherence) and half-shipped at the render layer (rail projection merged via the #13280 phase-1) — the cockpit is the product consumer that completes the loop's value.

The Architectural Reality

  • Consumes the #13280 chain: rail projection (merged), reveal overlay + pin (its open phases — this leaf binds them when they land; until then rails render + pin-less reveal degrades to a click-to-pin-prompt, honestly).
  • The rail's runtime-only reveal discipline (JSON-first guardrail: no hover/reveal geometry ever persisted) is inherited, not re-decided.
  • Composes #14615's document (secondary panes as autoHidden: true items in the cockpit's dock-zone doc).

The Fix

The per-view triplet: (1) cockpit secondary panes declared auto-hidden in the document + rail styling per #14578 tokens; (2) unit specs — panes project as rails not zones, save/restore round-trip carries no reveal geometry, pin round-trip when the affordance lands; (3) NL-verifiable rail → reveal → pin cycle (or its honest degraded path pre-#13280-completion).

Acceptance Criteria

  • Secondary panes project as edge rails (never full zones) from the cockpit document.
  • Persistence round-trip carries zero reveal/hover geometry (the JSON-first fixture).
  • Pin affordance binds when #13280's phase lands; the pre-landing degrade is visible and honest.
  • Unit specs (custom playwright config) + NL-verifiable cycle.

Out of Scope

The reveal/pin implementation itself (#13280's open phases — consumed) · rail visual primitives beyond tokens (#14578) · which panes exist (their own leaves, e.g. T7.26).

Related

Epic #14560 (parent) · blocked-by #14615 · consumes #13280 chain (+#13158) · D#14561.

Live latest-open sweep: fold-window fresh; no equivalent. A2A sweep: clean. Structure-map gate: N/A — app-layer.

Origin Session ID: a28f1415-37a4-4a5a-a3e4-b56adf6274ec Retrieval Hint: "FM cockpit auto hide rails secondary panes edge rail adoption"