Space game: native-WebGL options/pause menu (Escape) surfacing keybindings + settings #923

Closed
opened 2026-08-06 01:03:29 +00:00 by spikerj · 2 comments
Owner

The space game has no discoverable options screen. A full in-WebGL keybinding config already exists (F6 / tiny keyboard toolbar icon) but there is no Escape/pause/options menu at all.

Add a native-WebGL options menu (built on @spikersoft/gl-hud, no DOM overlay):

  • Escape opens it; while pointer-locked the browser reserves Esc, so locked->unlocked transitions (Esc, alt-tab, focus loss) open the menu; always-visible gear icon in the GL HUD toolbar
  • Rows (each showing its shortcut): Resume (Esc), Keybindings… (F6, opens existing KeybindingConfigHUD, Esc backs out level by level), Reset HUD Layout, Fullscreen toggle, Bloom/FXAA toggles (persisted to localStorage), Quit to Site
  • Overlay only — real-time multiplayer, no sim pause; menu states the game continues; opening resets key states/throttle and exits pointer lock; menu is added to isBlockingModalOpen (bug #224 class)

Also fixes found during recon:

  • renderStaticHUDs gates keybinding-config render on the player HUD being expanded — F4 (minimize player HUD) hides an open keybindings modal
  • keybindingConfigHUD / shipSelectionHUD / shipCreationHUD never disposed in cleanup (troika glyph-atlas GPU leak)

Depends on the gl-hud extraction ticket.

The space game has no discoverable options screen. A full in-WebGL keybinding config already exists (F6 / tiny keyboard toolbar icon) but there is no Escape/pause/options menu at all. Add a native-WebGL options menu (built on @spikersoft/gl-hud, no DOM overlay): - Escape opens it; while pointer-locked the browser reserves Esc, so locked->unlocked transitions (Esc, alt-tab, focus loss) open the menu; always-visible gear icon in the GL HUD toolbar - Rows (each showing its shortcut): Resume (Esc), Keybindings… (F6, opens existing KeybindingConfigHUD, Esc backs out level by level), Reset HUD Layout, Fullscreen toggle, Bloom/FXAA toggles (persisted to localStorage), Quit to Site - Overlay only — real-time multiplayer, no sim pause; menu states the game continues; opening resets key states/throttle and exits pointer lock; menu is added to isBlockingModalOpen (bug #224 class) Also fixes found during recon: - renderStaticHUDs gates keybinding-config render on the player HUD being expanded — F4 (minimize player HUD) hides an open keybindings modal - keybindingConfigHUD / shipSelectionHUD / shipCreationHUD never disposed in cleanup (troika glyph-atlas GPU leak) Depends on the gl-hud extraction ticket.
Author
Owner

Implemented in spikersoft-angular PR #617 (feat/space-game-options-menu, stacked on PR #616 — merge #616 first). 21 new tests; also fixes the F4-hides-keybindings render bug and the undisposed modal HUD leak.

Implemented in spikersoft-angular PR #617 (feat/space-game-options-menu, stacked on PR #616 — merge #616 first). 21 new tests; also fixes the F4-hides-keybindings render bug and the undisposed modal HUD leak.
Author
Owner

Resolved in spikersoft-angular PR #617 (merged to master). The space game now has a native-WebGL options/pause menu on @spikersoft/gl-hud: Esc opens it (pointer-lock unlock transitions handled, 300ms debounce), permanent gear icon in the GL toolbar, rows for Resume / Keybindings (existing config HUD, Esc backs out level by level) / Reset HUD Layout / Fullscreen / Bloom + FXAA (persisted) / Quit to Site. Also fixed: F4-minimizing the player HUD hid an open keybindings modal, and three modal HUDs were never disposed (troika glyph-atlas GPU leak). Master CI green. Closing.

Resolved in spikersoft-angular PR #617 (merged to master). The space game now has a native-WebGL options/pause menu on @spikersoft/gl-hud: Esc opens it (pointer-lock unlock transitions handled, 300ms debounce), permanent gear icon in the GL toolbar, rows for Resume / Keybindings (existing config HUD, Esc backs out level by level) / Reset HUD Layout / Fullscreen / Bloom + FXAA (persisted) / Quit to Site. Also fixed: F4-minimizing the player HUD hid an open keybindings modal, and three modal HUDs were never disposed (troika glyph-atlas GPU leak). Master CI green. Closing.
Sign in to join this conversation.