feat(client): add Protocol codec with cross-language tests (#77)

Protocol.gd decodes ObserverSnapshot and PlayerInput from Rust's
rmp_serde wire format, and encodes PlayerInput for sending to server.
Handles rmp_serde enum encoding: unit variants as bare strings,
data variants as single-element maps.

8 fixture-based tests verify decode of Rust-generated fixtures,
GDScript encode/decode roundtrips, and cross-language compatibility.
All 15 tests pass (3 suites).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-11 19:16:56 +01:00
co-authored by Claude Opus 4.6
parent 84e34f61bd
commit b5dd44313e
4 changed files with 253 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
uid://cj0et712osytn