Skip to content
ParaShape

Behaviors

// 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";

/**
 * One `behaviors[]` entry — a verb the engine performs on this object's
 * siblings after the parent set evaluates; each method at most once,
 * presence means enabled.
 */
export type BehaviorNode = { 
/**
 * intent — the catalog `behaviors`-context method this act invokes.
 */
method: string, 
/**
 * 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.

/**
 * 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; meant unique among its owning node's
 * `args`, but nothing rejects a duplicate — `node_args::node_arg_input`/
 * `set_node_arg` read and write only the FIRST match, silently ignoring
 * any later one.
 */
key: string, 
/**
 * intent — an expression string, authored and underivable; 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, 
/**
 * intent — expression → `[{ time, value }]`, explicit key pairs on the
 * document's one timeline (USD `timeSamples`, Blender `keyframe_points`).
 * Legal ONLY on the `value` arg of a `length`/`number`/`angle`/`integer`
 * PARAMETER — the parameter is the clip; any other arg fails loud. The
 * host plays it (`engine_animation_set`); the engine never samples it.
 */
keyframes?: string, 
/**
 * intent — expression → boolean: whether the configurator shows this
 * parameter to the buyer (true = shown, absent = shown; a parameter
 * hidden this way still evaluates and still feeds every expression that
 * reads it). Legal ONLY on the `value` arg of a PARAMETER — any other
 * arg fails loud. It may read any parameter of the scope, so a
 * parameter can be conditional on another.
 */
visible?: string, };

Catalog methods

Every engine_catalog node whose context names "behaviors" — the closed set BehaviorNode.method may legally hold.

2 catalog method(s) whose context names "behaviors".

faceCamera

Face camera · step · returns `` · context: behaviors

Default key: faceCamera.

Keeps this face turned toward the viewer, upright about world Z, turning about the object's own pivot.

keytypedefaultminmaxoptionstooltip
normalvectorUnit normal of the face that turns toward the viewer; the turn is about the object's pivot, upright about world Z.

opening

Opening · step · returns meshData · context: behaviors

Default key: opening.

Cuts this object's extruded profile out of every sibling mesh object (blocks, curves and records are never cut), per placement.

keytypedefaultminmaxoptionstooltip
shapepoint[] | curveDataClosed profile in this object's local space: point rows (closed when the first row is repeated last, else closed implicitly) or a curve value.
directionvectorExtrusion vector, mm — its length is the depth; overshoot the host so both faces open.
📖 1 min read