Skip to content

docs(mapgen-studio): add Pass 5 design-fixes spec (toolbar architecture v2, tile orientation, canvas affordances)#1635

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

docs(mapgen-studio): add Pass 5 design-fixes spec (toolbar architecture v2, tile orientation, canvas affordances)#1635
mateicanavra merged 1 commit into
mainfrom
design/pass5-frame

Conversation

@mateicanavra

Copy link
Copy Markdown
Owner

This document establishes the fifth design pass on the mapgen studio redesign, covering five discrete changes.

X1 — Toolbar Architecture v2 restructures the top/bottom bar split into a clear Game vs World/Map zoning. The top bar becomes the Game toolbar, consolidating the saved-config selector, live Civ7 status, autoplay, Explore, save-deploy, retry/diagnostics, Run in Game, and an icon-only setup disclosure at the far right. The bottom bar becomes the World/Map console, holding studio status, History, Size, Players, Resources, Seed, reroll, auto-run, and Run. Last-run stats collapse into a History icon button with a hover tooltip. Resources moves to the bottom bar as a map setting, and the setup dropdown is scoped to pure Civ7 game setup (Leader, Civ, Difficulty, Speed). The History button doubles as copy-seed to preserve that affordance.

X2 — Grid Icon fixes a missing glyph in ViewControls.tsx where an empty <div> sits in place of the grid toggle icon, replacing it with the Grid3x3 lucide glyph. A categorical sweep confirmed no other empty icon placeholders exist in the codebase.

X3 — Tile Orientation corrects a 30° rotation bug where render.ts applies pointy-top polygon math to odd-Q (flat-top) hex layouts. The fix switches to flat-top vertex calculation for odd-Q tiles and verifies the associated center-spacing and bounds math. This pass also standardizes the tile-mesh contract across all visualizations: borders must be legible on any background, unfilled tiles render nothing, and the optional background grid follows a single consistent treatment.

X4 — White Flash on Refresh investigates a flash that survives the existing index.html dark-mode guard. The approach uses an earliest-inline-script sampler logging computed background colors and canvas presence into sessionStorage over the first ~1s of load, targeting three suspects: WebGL canvas white clear before first deck draw, an unstyled html element, or Vite injecting CSS via JS after first paint. The fix follows once the culprit is identified.

X5 — Pre-run Cursor suppresses the deck controller and grab cursor before a manifest exists, since panning pre-run moves nothing visible and reads as broken. Post-run behavior is unchanged.

This was referenced Jun 12, 2026
@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}

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

@mateicanavra
mateicanavra changed the base branch from design/config-collapse to graphite-base/1635 June 12, 2026 21:50
@mateicanavra
mateicanavra changed the base branch from graphite-base/1635 to main June 12, 2026 21:51
@mateicanavra
mateicanavra merged commit e431f8d 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