Merge pull request 'Address review feedback: Plan: MVP Vertical Slice: Client-Server Wiring' (#28) from agent/76aa20cd2e45 into main

This commit was merged in pull request #28.
This commit is contained in:
2026-08-19 15:11:39 +00:00
+8 -4
View File
@@ -23,10 +23,9 @@ explicitly out of scope.
| # | Type | Task | Depends on | | # | Type | Task | Depends on |
|---|------|------|-----------| |---|------|------|-----------|
| 1 | architecture | `ApiClient` autoload: HTTP + JWT storage + error contract | — | | 1 | architecture | `ApiClient` autoload: HTTP + JWT storage + error contract | — |
| 2 | implementation | Main-menu **login** wiring (form-encoded) | 1 | | 2 | implementation | Main-menu **login + register** UI built & wired (form-encoded + JSON/age gate) | 1 |
| 3 | implementation | Main-menu **register** wiring (JSON + age gate) | 2 | | 3 | implementation | **World list** screen consuming `GET /api/worlds` | 1 |
| 4 | implementation | **World list** screen consuming `GET /api/worlds` | 2 | | 4 | testing | End-to-end headless smoke test + manual verify | 1,2,3 |
| 5 | testing | End-to-end headless smoke test + manual verify | 1,3,4 |
## Design decisions captured (resolved in task 1) ## Design decisions captured (resolved in task 1)
- Token storage: in-memory singleton property for the MVP; a `save_to_disk` seam is left - Token storage: in-memory singleton property for the MVP; a `save_to_disk` seam is left
@@ -35,3 +34,8 @@ explicitly out of scope.
never crash on network failure; non-2xx surfaces `{status, detail}` from the backend. never crash on network failure; non-2xx surfaces `{status, detail}` from the backend.
- Base URL: read from a ProjectSetting, defaulting to `http://127.0.0.1:8000`. - Base URL: read from a ProjectSetting, defaulting to `http://127.0.0.1:8000`.
- Login is form-encoded; register is JSON — the client helper must support both content types. - Login is form-encoded; register is JSON — the client helper must support both content types.
## Notes
- The main-menu auth UI does **not** exist yet (main_menu.gd currently has only Play/Quit
stubs). Task 2 must **build** the login/register UI, not merely wire an existing one.
- The world-list screen also needs to be **built** (a new scene), not just wired.