@huukhanhnguyen/model / schema/functionRegistry
schema/functionRegistry
FunctionArgEntry
FunctionArgEntry = {
desc:string;type:string; }
Function Registry — raw catalog data for PascalCase namespace functions (Point, Vector, NurbsCurve, …) available inside expressions. Type-checked via satisfies FunctionRegistryEntry[]. Replaces schema/functions.json — same data, TypeScript-native.
desc
desc:
string
type
type:
string
FunctionRegistryEntry
FunctionRegistryEntry = {
args:Record<string,FunctionArgEntry>;label:string;method:string;namespace:string;returns:string;runtime?:true;tooltip:string; }
args
args:
Record<string,FunctionArgEntry>
label
label:
string
method
method:
string
namespace
namespace:
string
returns
returns:
string
runtime?
optionalruntime?:true
Injected per evaluation (closes over model state) instead of being bound from a compute module — see functionRegistry/wiring.ts, which skips these, and nodes/ExpressionNode.ts's _buildContext, which supplies them. Declared here so the catalog stays the WHOLE expression surface for docs / the AI grammar / autocomplete.
tooltip
tooltip:
string