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
updatedAtJul 11, 2026, 1: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[]
closedAtJul 11, 2026, 1:22 AM
milestonev13.2

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

Closed v13.2.0/archive-v13-2-0-chunk-1 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, neomjs/neo#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 neomjs/neo#14423 design spec — unsettled until it lands. This ticket is blocked_by neomjs/neo#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 neomjs/neo#14423).
  • Grouped drag + overflow (its own future leaf per the spec).
  • e2e specs (sibling leaf extends to this demo post-merge).

Related

Parent: neomjs/neo#13158. Blocked by: neomjs/neo#14423 (native edge on file). Siblings: neomjs/neo#14587 (NL tools — consumed), neomjs/neo#14589 (Demo A), whitebox-e2e leaf. Consumers: neomjs/neo-agent-institution#10 pop-out cards, Lane 6 reach, neomjs/neo-agent-institution#8'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"