Commit Graph

25 Commits

Author SHA1 Message Date
Ilia Denisov 99962b295f tools/local-dev: legacy-report-to-json CLI for synthetic UI testing
A Go module under tools/local-dev/legacy-report that converts the
"dg" / "gplus" engine .REP files in tools/local-dev/reports/ into the
JSON shape of pkg/model/report.Report. The output drives a DEV-only
synthetic-mode loader on the UI lobby so the map, inspectors, and
order-overlay can be exercised against rich game states without
playing many turns end-to-end.

Scope is intentionally narrow: only the fields the UI client decodes
today (planets, players, own ship classes, header). Importing
pkg/model/report keeps the parser and the typed contract in lockstep
— any backwards-incompatible schema change breaks the tool's
compilation before it ships. The README spells out the parity rule
for extending the parser alongside future UI decoders.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 11:07:50 +02:00
Ilia Denisov fbc0260720 phase 5: wasm core, GalaxyClient skeleton, Connect-Web stubs
Compile `ui/core` to WebAssembly via TinyGo (903 KB) and expose four
canonical-bytes / signature-verification functions on
`globalThis.galaxyCore` from `ui/wasm/main.go`. The TypeScript-side
`Core` interface plus a `WasmCore` adapter (browser + JSDOM loader)
bridge those into a typed shape, and a `GalaxyClient` skeleton wires
`Core.signRequest` → injected `Signer` → typed Connect client →
`Core.verifyPayloadHash` / `verifyResponse`.

Wire `ui/buf.gen.yaml` against the local
`@bufbuild/protoc-gen-es` v2 binary (devDependency) so the codegen
step does not depend on the buf.build BSR. Vitest covers the bridge
end-to-end: per-method WasmCore tests under JSDOM, byte-for-byte
canon parity against the gateway fixtures committed in Phase 3, and
a `GalaxyClient` orchestration test using
`createRouterTransport`. The committed `core.wasm` snapshot tracks
TinyGo output so contributors run `make wasm` only when `ui/core/`
changes; CI consumes the snapshot directly.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 12:58:37 +02:00
Ilia Denisov dc1c9b109c phase 3 2026-05-07 09:40:37 +02: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 e0a99b346b add game engine openapi 2026-04-26 22:10:02 +02:00
Ilia Denisov fe829285a6 feat: use postgres 2026-04-26 20:34:39 +02:00
Ilia Denisov 48b0056b49 feat: game lobby service 2026-04-25 23:20:55 +02:00
Ilia Denisov 32dc29359a feat: notification service 2026-04-22 08:49:45 +02:00
Ilia Denisov 5b7593e6f6 feat: mail service 2026-04-17 18:39:16 +02:00
IliaDenisov 710bad712e chore: add galaxy/user module 2026-04-09 15:39:07 +02:00
IliaDenisov 1c8e0ca48e tests: integration suite 2026-04-09 15:27:14 +02:00
Ilia Denisov 84eeaf5184 feat: geoip 2026-04-09 15:16:36 +03:00
Ilia Denisov 86a68ed9d0 feat: authsession service 2026-04-08 16:23:07 +02:00
Ilia Denisov f616e3f5ca flatbuffers & transcoders 2026-03-31 19:16:34 +02:00
Ilia Denisov a7793f5416 ui calculator 2026-03-30 19:38:24 +02:00
Ilia Denisov 960fd3a218 build: work sync 2026-03-22 19:44:44 +02:00
Ilia Denisov d6a707d60e flatbuffers 2026-03-22 19:43:45 +02:00
Ilia Denisov 1ea03495f6 refactor: loader package 2026-03-15 19:04:43 +02:00
Ilia Denisov 9ade76e21d fs storage 2026-03-13 21:07:23 +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 dabe1f091a chore: re-package 2026-03-10 15:46:18 +02:00
Ilia Denisov 1de621c743 ui: basic map scroller 2026-03-07 00:29:06 +03:00
Ilia Denisov 8f982278d2 support multi-module (#4)
* add multimodule
* re-package modules
2026-02-22 08:57:19 +02:00