Model - Wiring
API reference for src/functionRegistry/wiring, src/nodesRegistry/wiring on @huukhanhnguyen/model, reachable from ./nodes.
See the Guide for the ModelJSON / evaluate pipeline.
API reference
Signatures are generated from the live package .d.ts - not hand-written.
nodeNamespaces
const
Computation namespaces — the PascalCase expression substrate (Point., Vector., NurbsCurve., Surface., Face., Plane., Axis.*). Registered via RegistryInput.namespaces (no module-load side effects).
Mirrors nodesRegistry/: catalog.ts is the SSOT (what exists), this file WIRES it (where each entry's implementation comes from).
const nodeNamespaces: FunctionNamespacesnodeRegistry
const
node registry wiring — transforms the raw catalog (catalog.ts, display metadata) into engine OperationDefinitions with compute functions wired to the standalone compute substrate (@huukhanhnguyen/model/compute).
v21 wiring shapes (stream state = Entity[]):
- producer (old generator) →
create: fn(...orderedArgs) → Entity[]; the ENGINE concats [...input, ...created] - transform/prop → mapCompute: maps ALL entities INCLUDING nested groups (a transform composes onto a group's placement; a prop stamps the wrapper = per-copy)
- geometry transform → applyGeometry(input, entityOp(fn, args, types)) — nested blocks pass through untouched
The engine's own CORE_NODES already provide the builtins (scalar values, clone, blockExplode/looseToBlock/makeBlock) — those catalog entries are display-only here and get filtered. The container form is grammar, not a method (v21) — no entry, no definition.
const nodeRegistry: RegistryInput