Skip to content

feat(studio): dock game console beneath world bar, remove it from footer#1632

Merged
mateicanavra merged 1 commit into
mainfrom
design/game-console-dock
Jun 12, 2026
Merged

feat(studio): dock game console beneath world bar, remove it from footer#1632
mateicanavra merged 1 commit into
mainfrom
design/game-console-dock

Conversation

@mateicanavra

Copy link
Copy Markdown
Owner

The GameConsole component has been relocated from the bottom-right of the footer to a dedicated slot in the header, docked as a centered row beneath the world-config bar. This establishes a clear vertical zoning model: the header zone owns everything related to live Civ7 (world definition + game console), while the footer zone owns the studio iteration loop exclusively (status, seed, reroll, auto-run, Run).

AppHeader gains a gameConsole prop (ReactNode) that renders after the transient setup panel, keeping the setup disclosure attached to its button. The existing measured-header mechanism (onHeaderHeightChangepanelTop) automatically reflows the side panels to begin below the taller header. StudioShell now composes GameConsole directly into that slot with the props previously threaded through AppFooter.

AppFooter drops the game console, its right flex zone, and all associated props (onRunInGame, runInGameStatus, liveRuntime, onToggleAutoplay, etc.). The studio console is now simply centered. The shared operation-gating booleans (isRunInGameRunning, isSaveDeployRunning) remain on the footer to preserve the behavior that disables seed/reroll/run controls while a game-side operation is in flight.

Test coverage is reorganized to match ownership: all live-game scenarios (Run in Game phases, retry/restart recovery, autoplay, stale live seed, save/deploy status) move from AppFooter.test.tsx into a new GameConsole.test.tsx that mounts the component that actually renders that markup. AppFooter.test.tsx is trimmed to studio-console rendering and shared operation-gating assertions.

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

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

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

@mateicanavra
mateicanavra changed the base branch from design/pass4-frame to graphite-base/1632 June 12, 2026 21:44
@mateicanavra
mateicanavra changed the base branch from graphite-base/1632 to main June 12, 2026 21:45
… = game, bottom = studio)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@mateicanavra
mateicanavra force-pushed the design/game-console-dock branch from a0eefeb to 3808c30 Compare June 12, 2026 21:46
@mateicanavra
mateicanavra merged commit 929fed0 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