Script view and the edit vocabulary
Every piece is also readable code, editable both ways. When to use script view, and the small set of edit types that describes every change anyone, human or agent, can make.
The Recipe is how most people read a piece. Script view is the same piece, written as code. Edit either, and the other updates. It is the escape hatch for people who think in text.
Why have it
- Speed. Writing a dozen similar steps is faster in text than in dialogs.
- Precision. Exact formulas and selectors are visible and copyable.
- Review. Diffing text is a familiar habit.
- Learning. Seeing how the agent expressed something teaches you the vocabulary.
- Bulk edits. Renaming a parameter or changing a pattern count across many steps is easier in text.
The two-way promise
Script view and the Recipe describe one model.
- Change a step in the Recipe, and the script reflects it.
- Change the script, and the Recipe, Parameters and viewport update.
- If your script has an error (an unknown parameter name, an unsupported function), you get a plain message that points at the problem.
The agent also reads and writes at this level. When it adds a snap latch, the result is a handful of steps that show up in both views.
Conventions worth knowing
- Units are millimetres and degrees.
- Z is up. The XY plane at Z = 0 is the print bed and the ground.
- Values can be numbers or expression strings that reference parameters.
- Parameter names are snake_case, starting with a letter or underscore, up to 48 characters.
- Selectors describe faces and edges by meaning, never by index.
- Bodies. A piece's final shape is the body named
main. Other named bodies are tool bodies for booleans. An unused tool body is ignored with a warning.
The edit vocabulary
Every change to a piece, whether you drag a slider, type in a step, or approve an agent proposal, is one of nine kinds of edit. This is what ghost previews are made of, and what the history records:
| Edit | Meaning |
|---|---|
| Add a step | Insert a new step, after a given step or at the end |
| Update a step | Merge new values into an existing step. The type cannot change |
| Suppress or unsuppress a step | Turn a step off or on. This is how deletion is done |
| Move a step | Reorder |
| Set a parameter | Change a parameter's value |
| Add a parameter | Create a new named value |
| Update a parameter | Change its range, unit, group, description and so on |
| Add a design intent | Create a rule |
| Remove a design intent | Retire a rule |
There is no "delete step" edit. The history is append-only for steps, which is why the agent cannot destroy your work, and why diffs and replays are reliable.
Step types you will see
A step has a type, an id, an optional label and a note (the "why"), a suppression flag, an author (user, agent, template, import), and optionally a target body.
| Type | Does |
|---|---|
sketch | A plane plus shapes, each added or subtracted |
extrude, revolve, sweep, loft | Make solids from sketches |
primitive | Box, cylinder, cone, sphere, torus |
shell, fillet, chamfer, draft, offset_faces | Modify existing solids |
hole | Simple, counterbore, countersink, tapped, heat-set, clearance holes |
pattern, mirror | Repeat existing features or the whole body |
boolean | Union, cut, intersect with a named tool body |
rib, transform, split | Ribs, moves and scales, and cuts with optional joints |
macro | Smart features such as bosses, vent slots, snap hooks, lid lips, gears |
import | A STEP, STL, 3MF or OBJ body |
Solid-producing steps take an operation: new, add, cut or intersect.
Good uses
Parameter sweeps. Ask for a table of a dimension at several values:
For wall thickness from 1.2 to 3.0 mm in 0.4 mm steps, tell me the weight and whether min_wall stays above 1.2 mm.
Tidying. Give parameters clear names, descriptions and groups, and bring formulas into a consistent style.
Review. Read an agent-built Recipe as text before you accept a large change.
Templates. Write a clean skeleton for a family of parts, then let the agent fill it in.
When not to use it
- For exploration. The prompt bar and the viewport are faster.
- For one-off geometry that depends on picking, such as "this edge". Select it and say "this".
Try it
Open any piece, switch to script view, and change a number. Notice the viewport update. Then switch back to the Recipe and see the same edit as a sentence.
Explain this piece's script line by line for someone who knows CAD but not this syntax. Point out the parameters, the selectors, and any steps written by the agent.
Did this help?
Keep reading
Ideas
The Recipe: your piece's readable history
Every piece is built from a list of plain-language steps. Learn to read it, edit it, and use it to understand any model, including ones you did not make.
Beginner4 min readFor CAD pros
Selectors and topological naming: how Solid Vibes stays robust
Recipes never store face or edge indices. They store semantic queries. Here is the selector vocabulary, why it survives upstream edits, and how to debug an empty match.
Pro4 min readFor CAD pros
A keyboard-first workflow
How power users work: palette for commands, terse prompts for edits, parameters by name, and a layout that keeps the model central and your hands on the keys.
Pro4 min read