Commit Graph

35 Commits

Author SHA1 Message Date
Ilia Denisov f57a290432 phase 8: lobby UI + cross-stack lobby command catalog + TS FlatBuffers
- Extend pkg/model/lobby and pkg/schema/fbs/lobby.fbs with public-games
  list, my-applications/invites lists, game-create, application-submit,
  invite-redeem/decline. Mirror the matching transcoder pairs and Go
  fixture round-trip tests.
- Wire the seven new lobby message types through
  gateway/internal/backendclient/{routes,lobby_commands}.go with
  per-command REST helpers, JSON-tolerant decoding of backend wire
  shapes, and httptest-based unit coverage for success / 4xx / 5xx /
  503 across each command.
- Introduce TS-side FlatBuffers via the `flatbuffers` runtime dep, a
  `make fbs-ts` target driving flatc, and the generated bindings under
  ui/frontend/src/proto/galaxy/fbs. Phase 7's `user.account.get` decode
  now uses these bindings as well, closing the JSON.parse vs
  FlatBuffers gap that would have failed against a real local stack.
- Replace the placeholder lobby with five sections (my games, pending
  invitations, my applications, public games, create new game) and the
  /lobby/create form. Submit-application uses an inline race-name
  form on the public-game card; create-game keeps name / description /
  turn_schedule / enrollment_ends_at always visible and the rest under
  an Advanced toggle with TS-side defaults.
- Update lobby/+page.svelte to throw LobbyError on non-ok result codes;
  GalaxyClient.executeCommand now returns { resultCode, payloadBytes }.
- Vitest binding round-trips, lobby.ts wrapper unit tests, lobby-page
  + lobby-create component tests, Playwright lobby-flow.spec covering
  create / submit / accept across all four projects. Phase 7 e2e was
  migrated to the FlatBuffers fixtures and to click+fill against the
  Safari-autofill readonly inputs.
- Mark Phase 8 done in ui/PLAN.md, mirror the wire-format note into
  Phase 7, append the new lobby commands to gateway/README.md and
  docs/ARCHITECTURE.md, add ui/docs/lobby.md.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 18:05:08 +02:00
Ilia Denisov 604fe40bcf docs: reorder & testing 2026-05-07 00:58:53 +03:00
Ilia Denisov f446c6a2ac feat: backend service 2026-05-06 10:14:55 +03:00
Ilia Denisov 3e2622757e feat: gamemaster 2026-05-03 07:59:03 +02:00
Ilia Denisov a7cee15115 feat: runtime manager 2026-04-28 20:39:18 +02:00
Ilia Denisov b4591cabd4 game stats shows planes and population 2026-04-26 21:12:51 +02:00
Ilia Denisov 48b0056b49 feat: game lobby service 2026-04-25 23:20:55 +02:00
Ilia Denisov 23ffcb7535 feat: user service 2026-04-10 19:05:02 +02:00
Ilia Denisov a7793f5416 ui calculator 2026-03-30 19:38:24 +02:00
Ilia Denisov 73a4b0d3ec circle radius 2026-03-22 19:43:09 +02:00
IliaDenisov e6c6970947 loader logic revised 2026-03-16 15:48:00 +02:00
Ilia Denisov 70a43237ca refactor: storage namings 2026-03-14 21:40:26 +02:00
Ilia Denisov 9adadc3bbf http connector first impl 2026-03-12 23:45:06 +02:00
Ilia Denisov 079b9facb0 client io architecture 2026-03-12 19:45:46 +03:00
IliaDenisov 2dafa69b93 connector interface 2026-03-10 17:01:47 +02:00
IliaDenisov dabe1f091a chore: re-package 2026-03-10 15:46:18 +02:00
Ilia Denisov 269de2184c chore: refactor structure 2025-11-21 21:40:15 +03:00
Ilia Denisov 126f381b04 cmd: join ship groups 2025-11-13 21:53:10 +03:00
Ilia Denisov 33efa86065 cmd: merge ship types 2025-10-02 23:22:44 +03:00
Ilia Denisov cafdd10bab refactor: race index by name 2025-10-02 22:41:04 +03:00
Ilia Denisov 0890bf3009 cmd: planet production 2025-10-02 02:05:00 +03:00
Ilia Denisov 8a7e2f57c7 cmd: rename planet 2025-10-01 22:42:23 +03:00
Ilia Denisov 2295840efe cmd: create/delete science 2025-10-01 14:30:36 +03:00
Ilia Denisov bcab29a47f cmd: delete ship type 2025-10-01 00:29:25 +03:00
Ilia Denisov 6f29288096 cmd: create ship type 2025-09-30 23:40:50 +03:00
Ilia Denisov 04fc96dc8f commands A, W 2025-09-30 20:44:10 +03:00
Ilia Denisov 128d6862a7 Ally/War commands 2025-09-28 22:43:27 +03:00
Ilia Denisov 6510676237 well, fuck... 2025-09-28 09:17:17 +03:00
Ilia Denisov 66eeefc65d create basic controller 2025-09-26 20:54:34 +03:00
Ilia Denisov 282150a253 saving new turn 2025-09-26 01:38:49 +03:00
Ilia Denisov 6d87ea6086 code cleanup 2025-09-25 21:53:16 +03:00
Ilia Denisov 46066d890b game generation process 2025-09-25 02:13:16 +03:00
Ilia Denisov ab822a1abf test dw distances 2025-09-23 23:33:47 +03:00
Ilia Denisov 7d93176031 use float64 2025-09-23 22:27:09 +03:00
Ilia Denisov 4d733ae741 new game, fs repo layer 2025-09-23 18:36:22 +03:00