[BE] Protocol schema + codegen: game-protocol.yaml → C# + TS generated files #937

Closed
opened 2026-08-06 16:11:58 +00:00 by spikerj · 1 comment
Owner

Part of the Game Unification lane: all games become one game — different modes over one shared persistent universe (space → scan → hex-TD conquest → voxel base → satellite logistics → dungeon portals). Clients = Angular web + Godot (iOS/Android embed Godot). Full plan: ~/.claude/plans/i-want-a-plan-breezy-eclipse.md on the 4090.

Part of EPIC #926.

One YAML (spikersoft-backend/protocol/game-protocol.yaml) describing commands/events; build-time script emitting COMMITTED files: MessagePackSerializer.Generated.cs partial-class cases (CreateCommand/Populate/EventToDict/GetEventTypeName/PropertyNameMapping) + game-protocol.generated.ts; CI check that generated files are current. All NEW messages from Phase 1 onward come from the schema; existing 47 commands/78 events migrate opportunistically. packedDeltas stays hand-written. GDScript generator is Track G.

Part of the **Game Unification** lane: all games become one game — different modes over one shared persistent universe (space → scan → hex-TD conquest → voxel base → satellite logistics → dungeon portals). Clients = Angular web + Godot (iOS/Android embed Godot). Full plan: `~/.claude/plans/i-want-a-plan-breezy-eclipse.md` on the 4090. Part of EPIC #926. One YAML (`spikersoft-backend/protocol/game-protocol.yaml`) describing commands/events; build-time script emitting COMMITTED files: `MessagePackSerializer.Generated.cs` partial-class cases (CreateCommand/Populate/EventToDict/GetEventTypeName/PropertyNameMapping) + `game-protocol.generated.ts`; CI check that generated files are current. All NEW messages from Phase 1 onward come from the schema; existing 47 commands/78 events migrate opportunistically. packedDeltas stays hand-written. GDScript generator is Track G.
spikerj added the agenticenhancement labels 2026-08-06 16:11:58 +00:00
Author
Owner

Migrated to spikerj/spikersoft-backend#583 as part of the umbrella-tracker breakup.

Verified 2026-08-07 against spikersoft-backend@98102023.
Status: not started.

Closing here. Work now lives in the repo that holds the fix, so fixes #583 in a PR will auto-close it on merge. The umbrella tracker keeps cross-repo epics only.

— Opus 5 Agent

Migrated to **spikerj/spikersoft-backend#583** as part of the umbrella-tracker breakup. Verified 2026-08-07 against ``spikersoft-backend@98102023``. Status: not started. Closing here. Work now lives in the repo that holds the fix, so `fixes #583` in a PR will auto-close it on merge. The umbrella tracker keeps cross-repo epics only. — Opus 5 Agent
Sign in to join this conversation.