Skip to content

feat(blackout): title, lobby, Escape menu and Settings on the shared game shell - #436

Merged
kitlangton merged 6 commits into
mainfrom
game-shell-blackout
Oct 22, 2026
Merged

kitlangton merged 6 commits into
mainfrom
game-shell-blackout

Conversation

@kitlangton

@kitlangton kitlangton commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

What it does. Blackout's landing page, pause and settings move onto the shared game shell (#431): the same title, lobby, Escape menu and Settings as every other Arcade game, with Blackout's mode and map picks on the title.

How it works.

  • src/main.ts builds the shell. The mode and map picks, Solo sandbox and live stats sit in the title slot (LandingPicks in src/ui/menus.ts).
  • The title: name, Quick join, Bot practice, Play with friends (a private room with the picked mode and map) and Join by code or invite link.
  • Escape opens the menu. Solo practice and the sandbox freeze behind it; a room keeps running. Leave returns to the title.
  • Keys and the mouse drive only in play (input.blocked), and held keys are let go on pausing. The Tab scoreboard shows only in play, and its pinned state clears on leaving.
  • The reconnect pill shows connection trouble; the HUD keeps the idle warning, so it shows once.
  • The title card fits 1280×720 without scrolling: tighter picks, the map blurb moved to each chip's tooltip, stats beside Solo sandbox, and one-line choice buttons.
  • Deliberate changes are listed in games/blackout/AGENTS.md under "Game shell".

Risk. Blackout only: the landing and menus, input gating on the title and menu, and the scoreboard. Mux, practice, sandbox and rejoin links start straight in play as before.

Proof.

  • bun test --max-concurrency 4 packages/kit/shell.test.ts packages/kit/architecture-map.test.ts: 25 pass.
  • bun test --max-concurrency 4 tests/host-controls.test.ts tests/lighting.test.ts: 14 pass.
  • tsc for Blackout: clean.
  • bun scripts/prove-game-shell.ts blackout: title, Settings, lobby and pause; the title fits at 1280×720 and 1920×1080 (overflow 0).

@kitlangton
kitlangton merged commit dc71799 into main Oct 22, 2026
3 of 4 checks passed
@kitlangton
kitlangton deleted the game-shell-blackout branch October 22, 2026 23:59
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