Skip to content
Shapemetry

@huukhanhnguyen/model / functionRegistry/catalog/runtime

functionRegistry/catalog/runtime

RUNTIME_CONTEXTS

const RUNTIME_CONTEXTS: { Material: readonly ["root", "flat", "component"]; Scene: readonly ["root"]; Table: readonly ["root", "flat"]; }

WHERE each runtime namespace is actually injected. A runtime entry closes over model state, so — unlike the compute namespaces, which are bound once per registry and visible everywhere — it only appears when the enclosing scope wires the matching hook.

  • root root parameters/operations expressions (their arg nodes climb the parent chain to the same ModelScope).
  • flat a sheet's ad hoc operations / a flat component resolve (Model._flatLaneExtras).
  • component a components[] body (Model._componentScopeExtras wires imageUrlOf + resolveMaterial only — a component is a lite model and does not read host tables; see CLAUDE.md's COMPONENT LAW).
  • texture a texture chain's own parameters — isolated, no hooks at all (Table.get was cut 2026-07-26, see textureResolve.ts).

SSOT for the tooltips above and for tests/functionRegistryDrift.test.ts, which builds each of those contexts for real and asserts they agree.

Material

readonly Material: readonly ["root", "flat", "component"]

Scene

readonly Scene: readonly ["root"]

Table

readonly Table: readonly ["root", "flat"]


RUNTIME_ENTRIES

const RUNTIME_ENTRIES: FunctionRegistryEntry[]

Last updated: 📖 1 min readEdit on GitHub