Edit a tree you are holding
edit_nodesApply edit ops to a node tree you pass IN, and get the edited tree back. Nothing is saved and no project is touched — this is the unsaved counterpart to edit_project. Use it to change a model you are still working on without re-sending the whole tree every time: add a node, cut a hole, group parts, wrap a modifier, then feed the result straight to evaluate, print_check or export. Target nodes by their id; a node you send keeps the id you gave it, and one you omit an id for gets one back in the result, so a later call can name it. Unlike edit_project this is FORGIVING: an op that cannot be applied is skipped and reported in skipped rather than failing the whole call, because nothing here is written and a nearly-right tree beats none; what your nodes lost the same way is in treeWarnings. Same ops as edit_project — read owlcad://schema/edit-ops for what each op requires (this tool’s ops carry no schema of their own), and owlcad://schema/primitives for the node vocabulary an addNode carries.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ops | Yes | Edits to apply in order, each against the result of the last. Up to 40. Same shape as edit_project's. | |
| nodes | Yes | Parametric node tree. mm, Z-up, rotations in DEGREES (a rotation.* binding: radians). Read owlcad://schema/primitives for every primitive, modifier and generator and its parameter ranges (unknown params are dropped silently), and owlcad://schema/conventions for the placement arithmetic, which is where most models go wrong. |