tree_set
Create or update a tree node at a specified path, replacing fields and auto-creating intermediate groups; writes return any rule violations on that branch.
Instructions
Create or update the node at path (e.g. 'wardrobe/frame'). Fields given
replace those fields; missing intermediates become plain groups. A node:
{kind, name, params: {name: {value, unit, provenance, tolerance, source}},
links: {name: [paths]}, meta, payload, children}. Geometry lives in payload:
{shape: box {size:[w,d,h]} | prism {polygon, height} | cylinder {diameter,
height} | mesh {uri} | union|difference|intersection over children,
transform: {translate:[x,y,z] mm, rotate_z_deg}}. Numeric shape args may
name a param from any ancestor — so a shape written in terms of its params
follows them when they are corrected, and cannot disagree with them.
Declare what a kind MEANS with tree_vocabulary.
The write answers with any rule it broke — on the branch itself or on one that contains it. Treat that as the verdict: it is the same thing tree_check would tell you, said at the moment you caused it.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| node | Yes | ||
| path | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |