feat: overhaul menu UX with three-column layout and player management #1

Merged
snorre merged 2 commits from feat/menu-ux-improvements into main 2026-03-14 13:08:32 +00:00
Owner

Redesign the menu screen from a single-column vertical layout to a
three-column layout (Join Game, High Scores, Active Players) with
panel focus navigation via arrow keys and tab. Controls are shown
inline in the header so players see them before joining.

Key changes:

  • Three-column menu with focusable panels and gold border on active panel
  • Callsign input is gated to the Join panel (no typing while browsing)
  • Scrollable high scores and active players lists with ↑↓ more indicators
  • Player limit raised to 20 with distinct error messages (server full vs
    callsign in use) shown immediately on connect
  • Connected flag on Player prevents duplicate callsign hijacking
  • Menu refreshes once per second (not 20fps) for live player count
  • Minimum terminal size check (60x15) with resize prompt
  • Bot pool expanded from 12 to 30 names

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

Redesign the menu screen from a single-column vertical layout to a three-column layout (Join Game, High Scores, Active Players) with panel focus navigation via arrow keys and tab. Controls are shown inline in the header so players see them before joining. Key changes: - Three-column menu with focusable panels and gold border on active panel - Callsign input is gated to the Join panel (no typing while browsing) - Scrollable high scores and active players lists with ↑↓ more indicators - Player limit raised to 20 with distinct error messages (server full vs callsign in use) shown immediately on connect - Connected flag on Player prevents duplicate callsign hijacking - Menu refreshes once per second (not 20fps) for live player count - Minimum terminal size check (60x15) with resize prompt - Bot pool expanded from 12 to 30 names Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Redesign the menu screen from a single-column vertical layout to a
three-column layout (Join Game, High Scores, Active Players) with
panel focus navigation via arrow keys and tab. Controls are shown
inline in the header so players see them before joining.

Key changes:
- Three-column menu with focusable panels and gold border on active panel
- Callsign input is gated to the Join panel (no typing while browsing)
- Scrollable high scores and active players lists with ↑↓ more indicators
- Player limit raised to 20 with distinct error messages (server full vs
  callsign in use) shown immediately on connect
- Connected flag on Player prevents duplicate callsign hijacking
- Menu refreshes once per second (not 20fps) for live player count
- Minimum terminal size check (60x15) with resize prompt
- Bot pool expanded from 12 to 30 names

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Wrap the game area + sidebar in a rounded border and center it
within the terminal. This gives a cleaner look on large terminals
instead of rendering beyond the ground/ceiling.

- MaxViewWidth reduced from 200 to 120
- MaxViewHeight reduced from 60 to 50
- Game viewport accounts for border (2 chars each axis)
- Centered with dark border and game background fill

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
snorre force-pushed feat/menu-ux-improvements from f86b0c2416 to 3fbf112d2d 2026-03-14 13:03:29 +00:00 Compare
snorre merged commit 3fbf112d2d into main 2026-03-14 13:08:32 +00:00
snorre deleted branch feat/menu-ux-improvements 2026-03-14 13:08:32 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
snorre/aces!1
No description provided.