diff --git a/ui/docs/navigation.md b/ui/docs/navigation.md index 2c0d590..a8bd24e 100644 --- a/ui/docs/navigation.md +++ b/ui/docs/navigation.md @@ -95,7 +95,11 @@ label `game.shell.menu.return_to_lobby`); it calls `appScreen` / `activeView` persist a snapshot (screen, game id, view + sub-params) to `sessionStorage` (`galaxy-app-nav`) on every mutation and read it back once at construction, so a refresh restores the last -screen and view. On a full load the dispatcher records the restored +screen and view. Re-entering a game from the lobby is not a restore: the +lobby resets `activeView` to the map before `appScreen.go("game")`, so +only an in-place refresh replays the saved view — browser Back and the +in-game return-to-lobby control both exit to the lobby. On a full load +the dispatcher records the restored game id (`appScreen.restoredGameId`); the game shell's boot path then validates it against the player's game list. `GameStateStore.init` looks the game up through `listMyGames` / `findGame`, and if the game