Skip to content
Shapemetry

@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?

optional runtime?: 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

Last updated: 📖 1 min readEdit on GitHub