Clear all registrations (for full reset)
Transform a global ID back to model + local expressId O(log N) - binary search on sorted ranges
Get all global IDs for a model (as a range) Useful for bulk operations like "hide all entities in model X"
Get the number of registered models
Get the model ID that owns a global ID (without computing expressId) O(log N)
Get all registered model IDs
Get the offset for a model (useful for batch transformations)
Check if a model is registered
Check if a global ID belongs to a specific model O(1) when we know the model
Resolve an owned overlay range while it is still detached from its mutation transaction. This validates the exact range that will be publishable, but deliberately does not make it pickable or owned yet. Callers must publish it only after the backing records commit.
Publish derived/overlay IDs from the separately reserved headroom.
Publish the next contiguous owned local range inside a reservation.
Register a new model and get its ID offset Call this BEFORE adding meshes to the scene
Unique identifier for this model
Highest expressId in this model (scan meshes first)
The offset to add to all expressIds for this model
Reserve a fixed local-ID envelope before progressive publication.
Transform a local expressId to a globally unique ID O(1) - direct map lookup + addition
Unregister a model (when removed from viewer) Note: The offset space is NOT reclaimed to avoid invalidating any existing references (selections, undo stack, etc.)
Central registry for multi-model federation Manages ID offsets and provides O(1) to-global / O(log N) from-global transformations