diff --git a/src/GameCult.Geometry/README.md b/src/GameCult.Geometry/README.md index 3c1f75bd..42c681cb 100644 --- a/src/GameCult.Geometry/README.md +++ b/src/GameCult.Geometry/README.md @@ -44,11 +44,7 @@ using GameCult.Geometry; using GameCult.Mesh; using GameCult.Networking; -var geometryDocuments = new CultNetDocumentRegistry(CultDocumentRegistry.Shared) - .Register(CultNetDocumentBinding.ForDocument()) - .Register(CultNetDocumentBinding.ForDocument()) - .Register(CultNetDocumentBinding.ForDocument()) - .Register(CultNetDocumentBinding.ForDocument()); +var geometryDocuments = new CultNetDocumentRegistry(CultDocumentRegistry.Shared); using var node = await CultMesh.CreateNodeAsync("ragnarok-geometry.ccmp", new CultMeshNodeOptions { @@ -64,6 +60,10 @@ using var chunks = node.Database .Subscribe(change => ApplyChunk(change.Document)); ``` +The generated CultDocument metadata owns geometry registration. Consumers pass +the shared registry into CultNet; they do not maintain a second manual binding +list that can drift when the schema cohort changes. + The record key is part of the contract. Rust and C# must compute the same key for the same geometry record, so stable fingerprints use the Rust canonical field order and exact IEEE-754 component bits. If this drifts, the same chunk becomes two