The 3D twin of a vector rig.
A scene document carries groups, parameters and bindings the same way a drawing does, and the vocabulary the two share lives in one place. What differs is the set of paths a binding may name.
A path belongs either to an object, which the binding then names, or to the document.
Object paths
| Path | Takes | Note |
|---|---|---|
transform.position.x |
number | Also .y and .z. Metres. |
transform.rotation.x |
number | Also .y and .z. Degrees, in XYZ order. |
transform.scale.x |
number | Also .y and .z. A factor, not a size. |
transform.scale |
number | All three axes at once. |
visible |
boolean | Whether the viewport draws it. |
modifiers[<id>].<param> |
its own | Any parameter the modifier’s schema declares, by its own name. |
mesh.vertices[<index>].x |
number | Also .y and .z. One vertex, by index. |
shapeKeys[<name>].value |
number | How much of a shape key is mixed in, and only for a key that exists. |
light.color |
color | |
light.power |
number | Watts. |
light.radius light.spotAngle light.spotBlend light.spotBlur |
number | |
camera.focalLength |
number | Millimetres on the sensor the camera declares. |
camera.orthoScale |
number | Only used by an orthographic camera. |
curve.extrude curve.bevelDepth curve.bevelResolution curve.resolution |
number | Metres, except the resolutions, which are counts. |
text.text |
text | A control can drive the words themselves. |
text.size text.extrude text.bevelDepth |
number |
Document paths
| Path | Takes |
|---|---|
materials[<id>].baseColor .emission |
color |
materials[<id>].metallic .roughness .emissionStrength .alpha .transmission |
number |
materials[<id>].nodes[<nodeId>].<setting> |
number |
world.color |
color |
world.strength |
number |
cursor.position.x |
number |
A modifier hands over its own bounds
When a modifier parameter is exposed, the control does not have to be told what range it accepts: the modifier’s own schema declares it, so the slider cannot leave the range the modifier will take. That is the difference between a control on a scene and a slider wired to a number.
One viewport across both modes
A single WebGL context survives the switch between Edit and Tune. React unmounts the old tree before mounting the new one, so the viewport is kept by document id with a short grace period instead of being rebuilt, so toggling modes does not cost a scene reload.
Selection is remembered in memory, not in storage, so it survives the same switch without outliving the tab.