A drawing that carries its controllers.
A vector document without a rig is a drawing. With one it is a rig, and opens in the workbench like any other. The rig holds groups, parameters and bindings, and nothing else about the document changes.
A binding names an element, one of its properties, and the parameter that writes to it.
{
"id": "binding-1",
"elementId": "blade",
"property": "sides",
"parameterId": "blades"
}
What a control can write to
Plain keys of an element:
| Property | Takes |
|---|---|
x y width height rotation |
number |
opacity |
number |
visible |
boolean |
fill stroke |
color |
strokeWidth strokeDash |
number |
cornerRadius cornerSmoothing |
number |
text |
text |
fontSize fontWeight letterSpacing |
number |
sides innerRatio |
number |
arcStart arcSweep |
number |
blendMode |
option |
And four paths that reach inside an element:
fills[i].color,fills[i].opacityandfills[i].stops, and the same three forstrokes[i].effects[i].<field>, where the field is one ofdx,dy,blur,spread,opacityorcolor.network.nodes[<id>].xand.y, one node of the path, by its id.regionsOff[<key>], whether a planar region is painted.
A path the parser does not recognise is refused, never guessed. A binding pointing at a property that no longer exists is dropped, not written somewhere random.
Editing and tuning
Resolution is pure: the canvas, the inspector’s read-outs, the library thumbnail and the workbench preview all draw the resolved document, while editing always writes into the raw one. That is what lets the same file answer both questions without keeping two copies of the geometry.
The mode is remembered per document. A document with no parameters, or one last left on Edit, opens in the editor. Once it exposes controls, Tune shows it as a rig.
Exposing a property
In the editor, the diamond beside a field is the exposure control: ◇ offers to make that property a control, ◆ says one already drives it. The Controls tab is where the parameter that resulted gets its bounds, its label and its group.
The Aperture poster is the worked example: twenty-one layers, eight controls, and eight bindings that reach a polygon’s side count, a rectangle’s corner radius, an ellipse’s arc sweep, a stroke width, a fill color and two text properties.