Context
T6.21 of Epic #14560 (map v1.1) — the cockpit's top-level composition: fleet grid + activity stream (the SSOT's 1.55fr/1fr split), chrome bar, and secondary panes, composed through the #13158 docking container contract rather than a bespoke layout. Filed under the decomposition sprint (D#14561).
The Problem
A hand-rolled cockpit layout would fork the docking system at its most visible consumer — and forfeit for free what the contract already ships: model-driven zones, splitter resize, persistence. The lane seam is explicit (lane 3's owner accepted the cockpit-consumer seam through her epic contracts; seam-v0 rows 3–4 are the cockpit-card binding surface): consume the contract, never re-implement it.
The Architectural Reality
- The dock-zone substrate is shipped (
DockZoneModel + DockLayoutAdapter + splitters; the standalone example #13247 is the reference consumer); the cockpit is its first PRODUCT consumer.
- Composition: a
dockZone.v1 document expressing the SSOT's default layout (fleet zone · stream zone · chrome) rendered via DockLayoutAdapter.project with the commit-loop pattern the example proved (reducer + deferred re-projection).
- Auto-hide rails (#13280 chain) host the secondary panes (T6.23's scope); perspective presets are T6.22.
- Shell-agnostic: dev-server now, Electron host (#13033) later — same document, two hosts.
The Fix
The per-view triplet: (1) the cockpit's dock-zone document + projection wiring (SSOT default layout; splitter resize live via the proven commit loop); (2) unit specs — document shape, projection output structure, resize commit round-trip; (3) NL-verifiable full-surface mount (grid + stream live inside the projected zones).
Acceptance Criteria
Out of Scope
Perspective presets + saved layouts (T6.22) · auto-hide rail adoption (T6.23) · docking engine changes (#13158 — consumed only) · Electron host (#13033).
Related
Epic #14560 (parent) · blocked-by #14599/#14606 · consumes #13158 contracts (+#13247 as reference consumer) · seam: #14423 rows 3–4 · D#14561.
Live latest-open sweep: fold-window fresh; no equivalent. A2A sweep: clean (seam accepted both directions on record). Structure-map gate: N/A — app-layer composition.
Origin Session ID: a28f1415-37a4-4a5a-a3e4-b56adf6274ec
Retrieval Hint: "FM cockpit shell dock zone document projection composition"
Context
T6.21 of Epic #14560 (map v1.1) — the cockpit's top-level composition: fleet grid + activity stream (the SSOT's 1.55fr/1fr split), chrome bar, and secondary panes, composed through the #13158 docking container contract rather than a bespoke layout. Filed under the decomposition sprint (D#14561).
The Problem
A hand-rolled cockpit layout would fork the docking system at its most visible consumer — and forfeit for free what the contract already ships: model-driven zones, splitter resize, persistence. The lane seam is explicit (lane 3's owner accepted the cockpit-consumer seam through her epic contracts; seam-v0 rows 3–4 are the cockpit-card binding surface): consume the contract, never re-implement it.
The Architectural Reality
DockZoneModel+DockLayoutAdapter+ splitters; the standalone example #13247 is the reference consumer); the cockpit is its first PRODUCT consumer.dockZone.v1document expressing the SSOT's default layout (fleet zone · stream zone · chrome) rendered viaDockLayoutAdapter.projectwith the commit-loop pattern the example proved (reducer + deferred re-projection).The Fix
The per-view triplet: (1) the cockpit's dock-zone document + projection wiring (SSOT default layout; splitter resize live via the proven commit loop); (2) unit specs — document shape, projection output structure, resize commit round-trip; (3) NL-verifiable full-surface mount (grid + stream live inside the projected zones).
Acceptance Criteria
dockZone.v1document rendered via the public adapter API — zero bespoke layout code for the zone structure.Out of Scope
Perspective presets + saved layouts (T6.22) · auto-hide rail adoption (T6.23) · docking engine changes (#13158 — consumed only) · Electron host (#13033).
Related
Epic #14560 (parent) · blocked-by #14599/#14606 · consumes #13158 contracts (+#13247 as reference consumer) · seam: #14423 rows 3–4 · D#14561.
Live latest-open sweep: fold-window fresh; no equivalent. A2A sweep: clean (seam accepted both directions on record). Structure-map gate: N/A — app-layer composition.
Origin Session ID: a28f1415-37a4-4a5a-a3e4-b56adf6274ec Retrieval Hint: "FM cockpit shell dock zone document projection composition"