Commit graph CultLib/tests/GameCult.Networking.InteropPeer
Author SHA1 Message Date
Meta Vens
96ee5fdce3 Delete the CultCache MessagePack source generator
The reflective CultDocumentRegistry is now the only descriptor authority,
and payloads always go through MessagePackSerializer with
OptionsFor(document assembly). No consumer builds AOT, IL2CPP or trimmed,
Unity always ran the reflective path, and no benchmark showed a gain,
while the generator duplicated the registry's shape rules.

Removed: GameCult.Caching.MessagePack.Generator and .Analyzers (solution,
project and analyzer references, NuGet pack list), CultGeneratedDocumentMetadata
(provider attribute, interface, definitions, loader), the generated descriptor
and codec branches in CultCache and CultDocumentMessagePackSerialization,
DocumentShapeSweepTests and the generator half of the unkeyed test, the
Microsoft.CodeAnalysis.CSharp test reference and InternalsVisibleTo.

The registry rejects, with a message naming the fix, what MessagePackSerializer
cannot serialize and what the generator used to paper over: a document without
[MessagePackObject], a non-public document without AllowPrivate = true, and a
non-public member of an AllowPrivate document that is not [IgnoreMember].
DocumentShapeTests pins every rejection message and the accepted shapes'
round trips against MessagePackSerializer bytes (keeps the 93A16E0305 pin).
Rejected shapes are emitted into a dynamic assembly, which registry
discovery skips.

Nested member type names use reflection's Outer+Inner form, not the
generator's dot form, so ReferenceHolderEntry's fixture id is re-pinned
(bd8506... -> 4ec0c5...). A scan of the schema catalogs in all 2786 .cc
stores under F:\Projects (AetheriaEve and CultLib-* worktrees, bin and obj
excluded) found no member type name naming a nested type in either form.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 23:38:08 +02:00
Meta Vens
a5d1be650d Mark every Cult document [MessagePackObject]
PlayerData, CultMeshSimulationFact, the Networking interop peer's
CultNetInteropNote, the cultnet-py benchmark item and the Caching test
documents lacked [MessagePackObject]. Only the generated codec could
serialize them; MessagePackSerializer refuses such types. Non-public test
documents take [MessagePackObject(AllowPrivate = true)], as consumer
internal documents already do, and ConditionalCommitTests.Slow marks its
private backing fields [IgnoreMember].

Same [Key]s, so payloads are unchanged: a pre/post probe over the
Networking assembly and both interop peers showed identical schema id,
content hash and payload bytes for all 9 documents, PlayerData equal once
its Guid.NewGuid() default id is masked.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 23:38:08 +02:00
Meta Vens
cd3f3c28f6 Add C# interop RUDP serve dial path 2026-06-17 11:22:17 +01:00
Meta Vens
53f469cec2 Update MessagePack dependency 2026-06-17 03:35:30 +01:00
Meta Vens
6373f8126b Add C# RUDP schema message ergonomics 2026-06-15 23:38:42 +01:00
Meta Vens
59146888c0 Propagate RUDP disconnect reasons across runtimes 2026-06-15 03:11:46 +01:00
Meta Vens
436654de75 Prove RUDP reordering across runtimes 2026-06-15 02:52:01 +01:00
Meta Vens
d6f5ee28b0 Add RUDP fragmentation across runtimes 2026-06-15 02:26:34 +01:00
Meta Vens
4209bbb9b6 Prove RUDP response resend across runtimes 2026-06-15 01:40:43 +01:00
Meta Vens
d070869c75 Prove CSharp RUDP interop with TypeScript 2026-06-15 01:06:43 +01:00
Meta Vens
8ce89688e2 Add C# CultNet transport port 2026-06-14 21:59:09 +01:00
Meta Vens
a2bc9aeab4 Advertise CultNet transport profiles 2026-06-14 21:20:52 +01:00
Meta Vens
e443631f42 Exercise CultNet interaction parity 2026-05-16 10:20:08 +01:00
Meta Vens
bb1437dc58 Use CultNet binding schema ids for raw records 2026-05-16 09:16:43 +01:00
Meta Vens
c26870b803 Generate explicit CultCache payload codecs 2026-05-08 02:19:27 +01:00
Meta Vens
8606b74d65 Generate CultCache document metadata providers 2026-05-08 01:50:15 +01:00
Meta Vens
da94389ee2 Rewrite CultCache as attribute-first storage 2026-05-08 01:13:15 +01:00
Meta Vens
123f0147e7 Add CultNet C# interop peer harness 2026-05-06 13:22:01 +01:00