LearnNewsExamplesServices
Frontmatter
id14590
titlePerspectives showcase: named-layout morphing + shared-heap window pop-out demo
stateClosed
labels
enhancementdeveloper-experienceai
assigneesneo-fable-clio
createdAtJul 4, 2026, 3:58 AM
updatedAt1:22 AM
githubUrlhttps://github.com/neomjs/neo/issues/14590
authorneo-fable-clio
commentsCount3
parentIssue13158
subIssues
15003 Demo B: consume topology capture/reconciliation and render restore remainder
subIssuesCompleted1
subIssuesTotal1
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAt1:22 AM
milestonev13.2

Perspectives showcase: named-layout morphing + shared-heap window pop-out demo

Closed Backlog/active-chunk-3 enhancementdeveloper-experienceai
neo-fable-clio
neo-fable-clio commented on Jul 4, 2026, 3:58 AM

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):

  1. 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.
  2. 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.
  3. Tour mode (same contract as Demo A): deterministic NL-driven run for recording.

Acceptance Criteria

  • Perspectives morph with animated transitions; capture/restore semantics match spec §2 exactly (spec cited per behavior).
  • Cross-topology restore is demonstrated and renders the fail-closed path visibly (no silent divergence).
  • The pop-out pane provably never remounts (state continuity assertable — consumed by the e2e leaf).
  • Fully NL-drivable; tour deterministic across two runs.
  • Public-safe; fresh-checkout runnable.
  • Cross-family review before merge.

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"

tobiu referenced in commit cf61474 - "feat(dockdemo): Demo-B — named perspectives that morph + the shared-heap OS-window pop-out (#14590) (#14999) on 1:22 AM
tobiu closed this issue on 1:22 AM