CultLib/tests/GameCult.Caching.Tests/PreCut2FixtureDocuments.cs
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

25 lines
613 B
C#

using GameCult.Caching;
using MessagePack;
namespace GameCult.Caching.Tests
{
[CultDocument("fixtures.precut2.item", "fixtures.precut2.item.v1")]
[MessagePackObject(AllowPrivate = true)]
internal sealed class PreCut2FixtureItem
{
[Key(0)]
[CultName]
public string Name = string.Empty;
[Key(1)]
public int Count;
}
[CultDocument("fixtures.precut2.note", "fixtures.precut2.note.v1")]
[MessagePackObject(AllowPrivate = true)]
internal sealed class PreCut2FixtureNote
{
[Key(0)]
public string Text = string.Empty;
}
}