Skip to content
ParaShape

Open surface

Every field in the Schema closure typed string, any, unknown, Record<…>, an index signature, or an array of those — the schema alone does not close what these fields can hold. "What closes it" is copied verbatim from the field's own doc comment on the Rust struct; not stated means the schema carries no written constraint at that field, whatever a caller enforces elsewhere.

29 open-ended fields (type string, any, unknown, Record<…>, an index signature, or an array of those) in the persisted-document closure. 0 carry no class word on their own field doc comment.

fieldtypeclasswhat closes it
ModelJson.titlestringintentintent — content name printed on the artifact, verbatim text (a human types it; nothing evaluates it).
BehaviorNode.methodstringintentintent — the catalog behaviors-context method this act invokes.
ComponentNode.keystringidentityidentity — unique in the document's one key namespace, every lane; placeComponent.component names it.
ComponentNode.labelstringintentintent — editor-chrome display name, printed verbatim.
LayerNode.keystringidentityidentity — unique in the document's one key namespace, every lane.
LayerNode.labelstringintentintent — editor-chrome display name, printed verbatim.
MaterialNode.keystringidentityidentity — unique in the document's one key namespace, every lane.
MaterialNode.labelstringintentintent — editor-chrome display name, printed verbatim.
ObjectNode.keystringidentityidentity — unique in the document's one key namespace, every lane, nested children included.
ObjectNode.labelstringintentintent — editor-chrome display text, printed verbatim; absent falls back to key.
ParameterNode.keystringidentityidentity — unique in the document's one key namespace, every lane.
ParameterNode.labelstringintentintent — editor-chrome display text, printed verbatim; absent falls back to key.
PatternNode.keystringidentityidentity — unique in the document's one key namespace, every lane.
PatternNode.labelstringintentintent — editor-chrome display name, printed verbatim.
ViewNode.keystringidentityidentity — unique in the document's one key namespace, every lane.
ViewNode.labelstringintentintent — editor chrome, printed VERBATIM (not an expression).
Argument.keystringidentityidentity — the arg's name, unique among its owning node's args.
Argument.inputstringgeometrygeometry — an expression string; may be empty (an unselected file parameter authors nothing, so this arg's min/max/options do not apply).
Argument.minstringintentintent — expression → number, inclusive lower bound.
Argument.maxstringintentintent — expression → number, inclusive upper bound.
Argument.optionsstringintentintent — expression → non-empty array, the arg's whole domain.
PropertyNode.methodstringintentintent — the registry-checked property method.
Environment.skyColorstringintentintent — the sky-fill color; absent = the resolver's default.
Environment.groundColorstringintentintent — the ground-fill color; absent = the resolver's default.
StepNode.labelstringintentintent — editor-chrome display text for this step, printed verbatim; absent falls back to the registry's friendly name for method.
StepNode.methodstringintentintent — the catalog method this step invokes.
PatternStepNode.labelstringintentintent — editor chrome, verbatim; no UI reads it yet.
EnvironmentHdri.parameterstringidentityidentity — the KEY of a url-method parameter (checked at validate).
EnvironmentHdri.urlstringidentityidentity — a direct https:/data: address.
📖 3 min read