Precise edits
To change a world, you do not rewrite the recipe. You send an edit transaction. It names the revision it starts from and lists the changes:
coherent-kit-edit.json: one transaction changes a colour, a tree top and a spin. Nothing else changes.{"base_revision": 2, "edits": [
{"part": "crown-top", "set": {"scale": [1.1, 0.65, 0.84]}},
{"material": "gold", "set": {"emission": 0.8}},
{"rhythm": "breeze", "set": {"period": 10}},
{"add_part": {"id": "seed", "parent": "crown-top", "material": "gold",
"geometry": {"kind": "ico_sphere", "radius": 0.05, "subdivisions": 1}}},
{"remove_part": "old-branch"}
]}
- Each edit changes exactly one part, material or rhythm.
- Setting a rhythm name that does not exist yet adds it.
remove_rhythmremoves one. - Nested values merge. Changing a geometry
kindreplaces the old shape. - Removing a part keeps its children. Removing a rhythm that parts still follow fails.
- A transaction holds 1–64 edits. Either all of them apply or none do. Blank checks the whole result, adds one to
revision, and rejects a transaction whosebase_revisionis out of date.