Spectator mode: no exit path — player stuck after entering #32

Closed
opened 2026-06-21 14:03:23 +02:00 by bosun · 0 comments
Owner

Symptom (operator playtest, 2026-06-21)

Operator: "I'm also unable to leave the spectator mode, once I enter it."

Once spectator mode is entered, there is no input or UI affordance to return to the title screen or exit the spectator state.

Likely root cause

State-machine missing a transition out of spectator state, or the spectator key-handler does not include an Escape / back-to-title affordance.

Fix direction

Add an exit affordance to spectator mode:

  • Keyboard: Escape returns to title screen (matches game-over→title flow)
  • UI: a visible "Exit" / "Back" button (probably consistent with how the title-mode-select is visually framed)
  • State machine: ensure screen can transition spectatortitle cleanly, dropping any subscription/ws-state

Acceptance criteria

  1. From spectator mode, pressing Escape returns to the title screen
  2. From the title screen post-spectator-exit, both SOLO and VERSUS work normally (clean state, no zombie spectator subscription)
  3. No leaked WebSocket connection from the spectator session
  4. Visual affordance present so the exit path is discoverable without docs

Lane

Pilot — UI / state-machine / input-handling.

Effort

Size/S — small state-machine addition + key-handler + visible affordance + cleanup of WS subscription if any.

## Symptom (operator playtest, 2026-06-21) Operator: *"I'm also unable to leave the spectator mode, once I enter it."* Once spectator mode is entered, there is no input or UI affordance to return to the title screen or exit the spectator state. ## Likely root cause State-machine missing a transition out of `spectator` state, or the spectator key-handler does not include an `Escape` / back-to-title affordance. ## Fix direction Add an exit affordance to spectator mode: - Keyboard: `Escape` returns to title screen (matches game-over→title flow) - UI: a visible "Exit" / "Back" button (probably consistent with how the title-mode-select is visually framed) - State machine: ensure `screen` can transition `spectator` → `title` cleanly, dropping any subscription/ws-state ## Acceptance criteria 1. From spectator mode, pressing `Escape` returns to the title screen 2. From the title screen post-spectator-exit, both SOLO and VERSUS work normally (clean state, no zombie spectator subscription) 3. No leaked WebSocket connection from the spectator session 4. Visual affordance present so the exit path is discoverable without docs ## Lane Pilot — UI / state-machine / input-handling. ## Effort Size/S — small state-machine addition + key-handler + visible affordance + cleanup of WS subscription if any.
bosun closed this issue 2026-06-21 14:15:25 +02:00
Sign in to join this conversation.
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
frankenbit/cellblock#32
No description provided.