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.
| key | type | default | min | max | options | tooltip |
|---|---|---|---|---|---|---|
normal | vector | Unit 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.
| key | type | default | min | max | options | tooltip |
|---|---|---|---|---|---|---|
shape | point[] | curveData | Closed profile in this object's local space: point rows (closed when the first row is repeated last, else closed implicitly) or a curve value. | ||||
direction | vector | Extrusion vector, mm — its length is the depth; overshoot the host so both faces open. |
📖 1 min read