Skip to content

feat(mapgen-studio): pin docks between header and footer with bottom constraint, pointer-events pass-through, and LAYOUT geometry update#1619

Merged
mateicanavra merged 1 commit into
mainfrom
design/layout-geometry
Jun 12, 2026
Merged

feat(mapgen-studio): pin docks between header and footer with bottom constraint, pointer-events pass-through, and LAYOUT geometry update#1619
mateicanavra merged 1 commit into
mainfrom
design/layout-geometry

Conversation

@mateicanavra

Copy link
Copy Markdown
Owner

The left and right docks are now pinned between the measured header and the footer bar using a bottom constraint (FOOTER_HEIGHT + 2×SPACING), so panels can no longer underlap the footer on short viewports. Both docks carry pointer-events-none and span the full header→footer column; panels restore pointer-events-auto on themselves so map interactions pass through any empty dock space.

Panel widths are now driven exclusively by LAYOUT constants (PANEL_WIDTH 340px, EXPLORE_PANEL_WIDTH 260px) via inline styles, replacing the previous hardcoded arbitrary-value Tailwind width classes. Height is capped with max-h-full against the dock column rather than the old max-h-[calc(100vh-180px)] magic value.

The RecipePanel scroll body gains a sticky bottom gradient fade (from-popover, h-6, pointer-events-none, negative top margin) so the "more content below" affordance is always visible mid-scroll without any scroll-position JavaScript. The form wrapper carries matching pb-6 so the fade overlays only padding at full scroll, never the last field row.

HEADER_HEIGHT in layout.ts is updated to 48 and re-documented as an initial paint estimate only — the ResizeObserver in AppHeader remains the measurement authority. The minHeight reserve previously applied to the header element is removed, as is the re-exported HEADER_HEIGHT constant from AppHeader.tsx.

This was referenced Jun 12, 2026

mateicanavra commented Jun 12, 2026

Copy link
Copy Markdown
Owner Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

This was referenced Jun 12, 2026

mateicanavra commented Jun 12, 2026

Copy link
Copy Markdown
Owner Author

Merge activity

  • Jun 12, 8:50 PM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Jun 12, 9:21 PM UTC: Graphite rebased this pull request as part of a merge.
  • Jun 12, 9:21 PM UTC: @mateicanavra merged this pull request with Graphite.

@mateicanavra
mateicanavra changed the base branch from design/pass2-frame to graphite-base/1619 June 12, 2026 21:18
@mateicanavra
mateicanavra changed the base branch from graphite-base/1619 to main June 12, 2026 21:19
…der, full-height column

OpenSpec mapgen-studio-layout-geometry. LAYOUT constants become the geometry
authority (PANEL_WIDTH 340, EXPLORE 260 corrected, HEADER_HEIGHT now an initial
estimate); AppHeader drops the stale minHeight:104 reserve (ResizeObserver stays
authoritative — dead band gone, docks rise to y≈72); docks pin header→footer
(pointer-events pass-through below short panels); RecipePanel max-h-full + sticky
scroll-edge fade; ExplorePanel max-h-full + internal scroll. Verified: tsc, 141
tests, DOM measurements + dark screenshot on :5173.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@mateicanavra
mateicanavra force-pushed the design/layout-geometry branch from b8d88d2 to d6dd4d5 Compare June 12, 2026 21:20
@mateicanavra
mateicanavra merged commit 99337dd into main Jun 12, 2026
1 check passed
This was referenced Jun 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant