Skip to content

docs(mapgen-studio): add pass-2 design-fix frame, five OpenSpec slices (layout geometry, form hierarchy, run console, explore toolbar, first-run visibility)#1618

Merged
mateicanavra merged 1 commit into
mainfrom
design/pass2-frame
Jun 12, 2026
Merged

docs(mapgen-studio): add pass-2 design-fix frame, five OpenSpec slices (layout geometry, form hierarchy, run console, explore toolbar, first-run visibility)#1618
mateicanavra merged 1 commit into
mainfrom
design/pass2-frame

Conversation

@mateicanavra

Copy link
Copy Markdown
Owner

Pass 2 — Design Fixes (visually-grounded, spec-driven)

Following a direct visual inspection of the running studio (dark, 1600×950), the Pass 1 redesign was found to still read as squished and not functionally complete. The root cause: Pass 1 interpreted "preserve as-built dimensions" as covering chrome geometry, which meant the old pre-redesign skeleton shipped under new paint. This pass relaxes that constraint — control density stays inviolate, chrome geometry is redesigned.

What's wrong and why

Nine defects were identified from live inspection and DOM measurement, resolving to five fix slices:

  • C1 — Layout geometry: The left dock is still 280px (helper prose wraps 3–4 lines per field); an ~88px dead band sits between the header and docks because AppHeader forces minHeight: 104 even though a ResizeObserver already measures the real header height; the recipe panel caps itself with a magic calc(100vh-180px) that cuts content mid-sentence with no scroll affordance.
  • C2 — Form hierarchy: Field labels and descriptions render at the same size and color (text-muted-foreground), making the form a wall of indistinguishable gray. Separately, the field template mounts ~40 empty role="alert" live regions because it gates on the always-truthy errors element rather than rawErrors?.length.
  • C3 — Run console: Two simultaneous "Run" primary CTAs exist (recipe panel bottom + footer). The footer's last-run summary renders "Bal" — a deliberate abbreviation that reads as accidental truncation.
  • C4 — Explore toolbar: The Render and Space option clusters render as loose icon rows with no container boundary, reading as decoration rather than mutually-exclusive controls.
  • C5 — First-run visibility: After a successful first run, the canvas stays visually black. The default Foundation/Mesh selection renders nothing the eye can find; matter only appears after manually selecting a later stage.

Changes introduced

Design system amendment (system.md, pass-2-design-fixes.md, 00-GOAL.md): documents the constraint relaxation, the nine observed issues mapped to five slices, and a falsifier — if the chrome still reads squished after C1+C2, the floating-panel paradigm itself is the problem and a structural relayout becomes the next frame.

C1 — mapgen-studio-layout-geometry: PANEL_WIDTH 280 → 340; EXPLORE_PANEL_WIDTH corrected to 260; HEADER_HEIGHT re-stated as the ResizeObserver seed (≈48), not a reserve. AppHeader drops the static minHeight. Docks gain a bottom constraint so panels span the full header→footer column. RecipePanel replaces the magic height cap with max-h-full; ExplorePanel gains internal scrolling. A sticky token-driven bottom fade replaces hard scroll cuts.

C2 — mapgen-studio-form-hierarchy: Field labels move to text-foreground medium weight in both rjsfTemplates.tsx and the hand-rolled field set; descriptions stay muted. The error live region gates on rawErrors?.length — zero empty role="alert" nodes on a pristine form, with the id="${id}__error" association contract preserved for fields that do have errors.

C3 — mapgen-studio-run-console: The recipe panel's Run button is removed; its footer row becomes Save & Deploy only. The dirty-config ring emphasis moves to the footer Run. formatResourceMode returns full words ("Balanced", etc.).

C4 — mapgen-studio-explore-toolbar: Render and Space option clusters become bounded segmented controls (bg-input-background container, active option lifted one surface tier). Independent toggles (fit, edges, debug) are left unwrapped.

C5 — mapgen-studio-first-run-visibility: Diagnosis is required before code — root cause (camera never fitted to first manifest bounds vs. inherently invisible default layer) recorded in design.md. Fix triggers the existing fit-to-view path when a run completes and the camera has never been positioned over generated matter; a user-positioned camera is never auto-refit on subsequent runs.

Each slice closes only with visual proof from the running app (screenshot or measured DOM delta, dark and light where theming is implicated).

mateicanavra commented Jun 12, 2026

Copy link
Copy Markdown
Owner Author

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

@github-actions

Copy link
Copy Markdown

Railway preview (MapGen Studio): not provisioned for this PR.

Policy (Graphite stacks): previews are created only for the top-of-stack PR by default.

  • To force a preview for this PR: add label railway-preview
  • To suppress a preview: add label no-railway-preview

Debug: {"isClosed":false,"isFork":false,"suppress":false,"force":false,"isTopOfStack":false,"hasToken":true,"draft":false}

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:19 PM UTC: Graphite rebased this pull request as part of a merge.
  • Jun 12, 9:19 PM UTC: @mateicanavra merged this pull request with Graphite.

@mateicanavra
mateicanavra changed the base branch from design/a11y-fixes to graphite-base/1618 June 12, 2026 21:16
@mateicanavra
mateicanavra changed the base branch from graphite-base/1618 to main June 12, 2026 21:17
… OpenSpec slices

User verdict on Pass 1: still squished. Reframe (constraint relaxation): chrome
geometry is redesigned; control density + behavior parity stay. Frame doc with
issue→change map + falsifier; .interface-design/system.md Pass-2 amendment;
five strict-valid OpenSpec changes (layout-geometry, form-hierarchy, run-console,
explore-toolbar, first-run-visibility).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@mateicanavra
mateicanavra merged commit 656b079 into main Jun 12, 2026
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