Skip to content
ParaShape

Parameters

ModelJson.parameters — a flat list of named value bindings.

// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { Argument } from "./Argument.js";
import type { ParameterMethod } from "./ParameterMethod.js";

/**
 * One `parameters[]` entry — a named value binding. `key` is required: the
 * name every expression resolves it by.
 */
export type ParameterNode = { 
/**
 * identity — unique in the document's one key namespace, every lane.
 */
key: string, 
/**
 * intent — editor-chrome display text, printed verbatim; absent falls
 * back to `key`.
 */
label?: string, 
/**
 * intent — which of the 13 value methods this parameter binds.
 */
method: ParameterMethod, 
/**
 * intent — the method's arguments.
 */
args?: Array<Argument>, };
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.

/**
 * The 13 value methods a `parameters[]` entry may bind — a closed list
 * (AGENTS.md "H8"), unlike `StepNode.method`: the catalog closes that one,
 * data not a type, because a chain step's method set is open-ended
 * (`catalog::NODES`); a parameter's is exactly these 13.
 */
export type ParameterMethod = "length" | "lengths" | "number" | "integer" | "angle" | "boolean" | "color" | "text" | "url" | "object" | "curve" | "surface" | "function";
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.

/**
 * One value + its domain — the shape of every arg (a parameter's value, a
 * step arg, a properties arg). `min`/`max` are numeric-only; `options`, when
 * present, is the arg's whole domain.
 */
export type Argument = { 
/**
 * identity — the arg's name, unique among its owning node's `args`.
 */
key: string, 
/**
 * geometry — an expression string; may be empty (an unselected file
 * parameter authors nothing, so this arg's min/max/options do not apply).
 */
input: string, 
/**
 * intent — expression → number, inclusive lower bound.
 */
min?: string, 
/**
 * intent — expression → number, inclusive upper bound.
 */
max?: string, 
/**
 * intent — expression → non-empty array, the arg's whole domain.
 */
options?: string, };

Catalog methods

Every engine_catalog node whose context names "parameters" — the 13 value methods ParameterMethod closes over.

13 catalog method(s) whose context names "parameters".

angle

Angle · binding · returns angle · context: parameters

Default key: angle.

keytypedefaultminmaxoptionstooltip
valueangle0

boolean

Boolean · binding · returns binary · context: parameters

Default key: boolean.

keytypedefaultminmaxoptionstooltip
valuebinary0

color

Color · binding · returns color · context: parameters

Default key: color.

keytypedefaultminmaxoptionstooltip
valuecolor'#ffffff'

curve

Curve · binding · returns curve · context: parameters

Default key: curve.

A curve value; point rows or a reference to a built curve.

keytypedefaultminmaxoptionstooltip
controlPointspoint[][[0, 0, 0], [1000, 0, 0]]
degreenumber1NURBS degree, auto-clamped; 1 = a polyline through the points.

function

Function · binding · returns function · context: parameters

Default key: function.

keytypedefaultminmaxoptionstooltip
valuefunction(data, index) => index

integer

Integer · binding · returns integer · context: parameters

Default key: integer.

keytypedefaultminmaxoptionstooltip
valueinteger0

length

Length · binding · returns length · context: parameters

Default key: length.

keytypedefaultminmaxoptionstooltip
valuelength0

lengths

Length List · binding · returns length[] · context: parameters

Default key: lengths.

keytypedefaultminmaxoptionstooltip
valuelength[][]

number

Number · binding · returns number · context: parameters

Default key: number.

keytypedefaultminmaxoptionstooltip
valuenumber0

object

Object · binding · returns object · context: parameters

Default key: object.

keytypedefaultminmaxoptionstooltip
valueobject{}

surface

Surface · binding · returns surface · context: parameters

Default key: surface.

A NURBS surface value (control net). Bake with nurbsSurface.

keytypedefaultminmaxoptionstooltip
controlPointspoint[][] | surface[[[0,0,0],[1000,0,0]],[[0,1000,0],[1000,1000,0]]]
degreeUinteger11
degreeVinteger11
knotsUnumber[][]Empty = clamped-uniform.
knotsVnumber[][]Empty = clamped-uniform.

text

Text · binding · returns string · context: parameters

Default key: text.

keytypedefaultminmaxoptionstooltip
valuestring''

url

URL · binding · returns url · context: parameters

Default key: url.

keytypedefaultminmaxoptionstooltip
valueurl''
📖 3 min read