Context
The standalone dock example (examples/dashboard/dock) is the docking cornerstone's live regression surface and the base the demo work builds on. It currently renders with a broken vertical layout — surfaced by the operator during a live review of the #14771 tab-overflow verification.
The Problem
The Perspectives toolbar renders at 368.5px tall on a 720px viewport (~51%) with a large empty gap above and below its buttons, pushing the dock zones down into the bottom half of the screen. Verified live (getBoundingClientRect().height === 368.5).
Root Cause
createPerspectiveToolbar() (MainContainer.mjs:261) returns the toolbar config with no flex, while buildWorkspaceItems() sets dockConfig.flex = 1. In the root vbox, the unset toolbar inherits a growing default and splits the height ~50/50 with the dock. The toolbar's own hbox align:'center' then vertically centers the buttons inside that over-tall element — the empty band above and below.
The Fix
Set flex: 'none' on the perspective toolbar config → it sizes to content, the dock's flex: 1 takes the remaining viewport. Verified live: injecting the flex reset drops the toolbar 368.5px → 42px and the dock fills the rest.
Acceptance Criteria
Out of Scope
The broader "default → stunning" visual polish (unstyled panels, spacing, theming) is already captured — #14780 (motion/choreography "stunning" standards), #14681 (light/dark theme tokens for demos), #14589 (the polished dock choreography showcase). This ticket is the concrete layout defect only.
Related
Parent #13158 (QT-parity docking) · the example is the #13247 slice surface (Vega). Found during #14771 live verification.
Context
The standalone dock example (
examples/dashboard/dock) is the docking cornerstone's live regression surface and the base the demo work builds on. It currently renders with a broken vertical layout — surfaced by the operator during a live review of the #14771 tab-overflow verification.The Problem
The Perspectives toolbar renders at 368.5px tall on a 720px viewport (~51%) with a large empty gap above and below its buttons, pushing the dock zones down into the bottom half of the screen. Verified live (
getBoundingClientRect().height === 368.5).Root Cause
createPerspectiveToolbar()(MainContainer.mjs:261) returns the toolbar config with noflex, whilebuildWorkspaceItems()setsdockConfig.flex = 1. In the rootvbox, the unset toolbar inherits a growing default and splits the height ~50/50 with the dock. The toolbar's ownhbox align:'center'then vertically centers the buttons inside that over-tall element — the empty band above and below.The Fix
Set
flex: 'none'on the perspective toolbar config → it sizes to content, the dock'sflex: 1takes the remaining viewport. Verified live: injecting the flex reset drops the toolbar368.5px → 42pxand the dock fills the rest.Acceptance Criteria
Out of Scope
The broader "default → stunning" visual polish (unstyled panels, spacing, theming) is already captured — #14780 (motion/choreography "stunning" standards), #14681 (light/dark theme tokens for demos), #14589 (the polished dock choreography showcase). This ticket is the concrete layout defect only.
Related
Parent
#13158(QT-parity docking) · the example is the#13247slice surface (Vega). Found during #14771 live verification.