The set of open models in one browser session (M5 / design S3).

Federation is a registry of loader instances keyed by model URI, all sharing one SharedByteBudget so total resident memory is bounded per browser rather than per model. An EntityAddress (modelURI#expressID) resolves through here to the live model handle; a URI with no registered model is the signal to open a sibling loader (its own sidecar/stream) and register it.

The registry is deliberately generic over the model handle H — it owns identity, resolution and the shared budget, not the loader. The streaming loader registers its model instance; higher layers (the composed skeleton, the UI link layer) query through the same addresses.

Type Parameters

  • H

Constructors

  • Type Parameters

    • H

    Parameters

    • budget: SharedByteBudget

      The shared per-browser byte budget every registered model draws from.

    Returns ModelRegistry<H>

Accessors

  • get size(): number
  • Returns number

    The number of registered models.

Methods

  • Parameters

    • uri: string

      The model URI.

    Returns undefined | H

    The registered model, or undefined.

  • Parameters

    • uri: string

      The model URI.

    Returns boolean

    True if a model is registered for the URI.

  • Returns IterableIterator<H, any, any>

    The registered model handles.

  • Register (or replace) the model for a URI.

    Parameters

    • uri: string

      The model URI (no # fragment).

    • model: H

      The model handle.

    Returns void

  • Resolve an entity address to its model + express ID. Returns undefined when the address's model isn't registered — the caller's cue to open and register it, then resolve again.

    Parameters

    Returns undefined | ResolvedEntity<H>

    The resolved model + express ID, or undefined if the model isn't registered.

  • Remove a model from the registry.

    Parameters

    • uri: string

      The model URI.

    Returns boolean

    True if a model was removed.

  • Returns IterableIterator<string, any, any>

    The URIs of all registered models.