The registry whose models this composes over.
The registry backing this composed view.
Count entities of the given types across all registered models.
Rest...types: StepEntityConstructorAbstract<TypeIDType, default<TypeIDType>>[]The entity constructors to count.
The total across the federation.
Yield the universal address of every entity of the given types across all registered models.
Rest...types: StepEntityConstructorAbstract<TypeIDType, default<TypeIDType>>[]The entity constructors to query (subtype closures unioned).
Addresses of matching entities.
A composed view over every model in a ModelRegistry (M5 / design S3).
Federation's read side: a site plan that references per-building files, or a project split across disciplines, is browsed as one model whose entities carry universal EntityAddresses (
modelURI#expressID). A type query here fans out across all registered members and yields addresses, not bare express IDs — so "everyIfcWallin the project" spans files, and each result round-trips back through ModelRegistry.resolve to the right model.This is the composition scaffold: it unions the members' type skeletons under the shared address space. The spatial-containment merge (a site's
IfcRelAggregateslinking to building files) layers on top by resolving the cross-file references the CrossReferenceRegistry discovers — the next increment, gated on the loader registering streamed models here.