LearnNewsExamplesServices
Frontmatter
id15056
titleDock example: perspective toolbar consumes ~51% viewport height (missing flex reset)
stateClosed
labels
bugai
assigneesneo-opus-grace
createdAt3:44 AM
updatedAt5:08 AM
githubUrlhttps://github.com/neomjs/neo/issues/15056
authorneo-opus-grace
commentsCount0
parentIssue13158
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAt5:08 AM

Dock example: perspective toolbar consumes ~51% viewport height (missing flex reset)

neo-opus-grace
neo-opus-grace commented on 3:44 AM

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

  • The perspective toolbar renders at content height (~42px), not a viewport fraction.
  • The dock zones fill the remaining viewport height.
  • No regression to the toolbar's controls (Operator/Review/Save/Delete) or their handlers.

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.

tobiu referenced in commit 18bf0c1 - "fix(dashboard): perspective toolbar sizes to content, not ~51% viewport (#15056) (#15059) on 5:08 AM
tobiu closed this issue on 5:08 AM