docs(ui): sync docs to the app-shell; fix stale nav comments
Tests · UI / test (push) Failing after 9m28s
Tests · UI / test (push) Failing after 9m28s
Rewrite ui/docs (navigation, order-composer, auth-flow, pwa-strategy, game-state + secondary topic docs) and ui/README for the single-URL app-shell (in-memory screens/views, Back→lobby via shallow routing, sessionStorage restore + validation, return-to-lobby). ui/PLAN.md gets a Phase-10 supersede note (implemented; standalone-compatible). Fix stale code comments (session-store auth gate, report-sections spec contract). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+9
-8
@@ -128,9 +128,10 @@ report" affordance (`import.meta.env.DEV`). The flow is:
|
||||
|
||||
2. Run the UI dev server (`pnpm -C ui/frontend dev`), open the lobby,
|
||||
and use the "Load JSON…" file picker in the **Synthetic test
|
||||
reports (DEV)** section. The page navigates to
|
||||
`/games/synthetic-<uuid>/map` with the report wired into the
|
||||
in-game shell.
|
||||
reports (DEV)** section. The lobby enters a `synthetic-<uuid>` game
|
||||
on the map view (`activeView.reset()` + `appScreen.go("game", {
|
||||
gameId })`) with the report wired into the in-game shell. The
|
||||
app-shell URL stays `/game/` — see [`navigation.md`](navigation.md).
|
||||
|
||||
In synthetic mode:
|
||||
|
||||
@@ -139,16 +140,16 @@ In synthetic mode:
|
||||
- Composing orders works locally (overlay applies through
|
||||
`applyOrderOverlay` as usual), but **nothing is sent to the
|
||||
gateway** — `OrderDraftStore.scheduleSync` short-circuits because
|
||||
the synthetic id is not a UUID and the layout deliberately does
|
||||
not bind a `GalaxyClient` for this game.
|
||||
the synthetic id is not a UUID and the in-game shell deliberately
|
||||
does not bind a `GalaxyClient` for this game.
|
||||
- The order draft is persisted into the platform `Cache` under the
|
||||
same `order-drafts` namespace as real games, keyed by the
|
||||
synthetic id, so navigating back into the same synthetic session
|
||||
restores the draft. The cache is cleared with
|
||||
`__galaxyDebug.clearOrderDraft(gameId)` (DEV debug surface).
|
||||
- A page reload loses the in-memory report registry; opening the
|
||||
same synthetic id afterwards redirects to /lobby. Re-load the JSON
|
||||
to reseed.
|
||||
- A page reload loses the in-memory report registry; a restored
|
||||
synthetic game whose report is gone falls back to the lobby
|
||||
(`appScreen.go("lobby")`). Re-load the JSON to reseed.
|
||||
|
||||
The synthetic-report parity rule requires every change that extends
|
||||
`decodeReport` to also extend the legacy parser in lockstep, or to
|
||||
|
||||
Reference in New Issue
Block a user