Context
Operator seed (2026-07-04, live): the second of the ≥2 stunning public demos for Lane 3 (D#14561). This is Demo B — the only-Neo one: named perspectives morphing with animation, and a pane detaching to its own OS window while its running state survives, because both windows live on ONE SharedWorker App-Worker heap. No competing docking library can show this; it is the object-permanence story made visible.
The Problem
Demo A (choreography, #14589) shows polish on shipped ops; it does not show the differentiator. The multi-window + perspectives capability is exactly what the industry's single-process docking libraries (Qt-ADS, Dockview, GoldenLayout) structurally cannot do — and it is currently invisible. This demo is also the FM-cockpit's pop-out story (#14560 consumes the same seam) told as a public asset.
The Architectural Reality
- Spec-gated by design: perspective semantics (capture scope, cross-topology restore, fail-closed behavior) and cross-window drag are §2/§3 of the #14423 design spec — unsettled until it lands. This ticket is
blocked_by #14423 and consumes its contracts; filing now records the operator-seeded shape so the demo starts the day the spec merges.
- Substrate: Chromium popups on one SharedWorker heap (ADR 0020 vessel); the persistence wrapper (
neo.harness.dockLayout.v1) models layoutId/title/revision; seam-v0 (#14423 comment) already promises reparent-never-recreate.
- Placement: structural-pre-flight at claim (likely composes WITH Demo A's surface rather than a third app — the sibling sweep decides).
The Fix
One PR (post-spec):
- Perspective morphing: 3–4 named layouts (e.g. "Focus", "Review", "Fleet", "Presentation") with animated transitions between them — capture/restore per spec §2, incl. one deliberate cross-topology restore (fewer windows than captured) rendering the spec's fail-closed behavior honestly.
- The pop-out moment: a live pane (ticking state — clock/stream/counter) detaches to an OS window and reattaches, state continuous, never remounted. The camera-friendly beat of the whole lane.
- Tour mode (same contract as Demo A): deterministic NL-driven run for recording.
Acceptance Criteria
Out of Scope
- Settling perspective/cross-window semantics (that IS #14423).
- Grouped drag + overflow (its own future leaf per the spec).
- e2e specs (sibling leaf extends to this demo post-merge).
Related
Parent: #13158. Blocked by: #14423 (native edge on file). Siblings: #14587 (NL tools — consumed), #14589 (Demo A), whitebox-e2e leaf. Consumers: #14560 pop-out cards, Lane 6 reach, #13444's work→app flow story. Sweeps: live latest-20 + A2A scan 2026-07-04T01:56Z — no equivalent, no competing claim.
Origin Session ID: fa2a6fd5-7488-4af6-a0d2-3855c86003e4
Retrieval Hint: "perspectives showcase pop-out shared heap demo spec-gated"
Context
Operator seed (2026-07-04, live): the second of the ≥2 stunning public demos for Lane 3 (D#14561). This is Demo B — the only-Neo one: named perspectives morphing with animation, and a pane detaching to its own OS window while its running state survives, because both windows live on ONE SharedWorker App-Worker heap. No competing docking library can show this; it is the object-permanence story made visible.
The Problem
Demo A (choreography, #14589) shows polish on shipped ops; it does not show the differentiator. The multi-window + perspectives capability is exactly what the industry's single-process docking libraries (Qt-ADS, Dockview, GoldenLayout) structurally cannot do — and it is currently invisible. This demo is also the FM-cockpit's pop-out story (#14560 consumes the same seam) told as a public asset.
The Architectural Reality
blocked_by#14423 and consumes its contracts; filing now records the operator-seeded shape so the demo starts the day the spec merges.neo.harness.dockLayout.v1) modelslayoutId/title/revision; seam-v0 (#14423 comment) already promises reparent-never-recreate.The Fix
One PR (post-spec):
Acceptance Criteria
Out of Scope
Related
Parent: #13158. Blocked by: #14423 (native edge on file). Siblings: #14587 (NL tools — consumed), #14589 (Demo A), whitebox-e2e leaf. Consumers: #14560 pop-out cards, Lane 6 reach, #13444's work→app flow story. Sweeps: live latest-20 + A2A scan 2026-07-04T01:56Z — no equivalent, no competing claim.
Origin Session ID: fa2a6fd5-7488-4af6-a0d2-3855c86003e4 Retrieval Hint: "perspectives showcase pop-out shared heap demo spec-gated"