ConstReadonlyANNOTATIONS: "annotations"Collaboration annotation pins (markup), keyed by annotation id. Synced by Yjs alongside the model but intentionally NOT part of the IFCX snapshot/seed (snapshotToIfcx only walks ENTITIES) — markup is room overlay data, not BIM.
ReadonlyENTITIES: "entities"ReadonlyGEOMETRY: "geometry"ReadonlyMETA: "meta"ReadonlyMODELS: "models"Model slots (#4444): slotId → ModelSlotRecord, one per model the owner
shared into the room. Entity paths are qualified by slot
(/<slotId>/<GlobalId>, see model-slot.ts), so two copies of one file
— same bytes, same GlobalIds — are two slots and never one merged entity
set. A room seeded before slots existed has an empty map; readers treat
that as a single implicit slot over the unqualified /<GlobalId> paths.
ReadonlyOVERLAY_TOMBSTONES: "overlay.tombstones.registry"Per-path overlay-tombstone registry (path → boolean), owned by
snapshot/overlay-tombstones.ts. Root-level, not nested under META,
so concurrent peers merge into one map instead of racing (#5219).
ReadonlyRELATIONSHIPS: "relationships"
Top-level shared-type names.