Expand description
The CAM workbench’s engine-side seams: the reference picker for a CAM
record’s field, committing into the document’s cam block.
The engine never interprets the block — the application’s CAM document
module owns its shape — so a pick is committed by JSON PATH from the
block’s root, with one convention that keeps a path stable while the
picker runs: a #<id> segment selects, in the array the path is at, the
object whose id is <id> (["setups", "#SETUP1", "targets"]), so a
record is addressed by identity rather than by an index another edit
could move. Nothing rolls and nothing re-runs: a CAM reference names the
finished model, which is what is on screen.
Structs§
- CamGeneration
- The generation queue and its results. ONE job is on the runner at a
time; the next is submitted when its reply lands, so a cancel between
operations is immediate on every platform (see
runner::CamJob). - CamOutcome
- One operation’s generation outcome, kept by operation id. Derived data:
never written to the document; dropped on a document switch; STALE when
the inputs it was computed from (
inputs_hash) have moved.
Functions§
- set_
cam_ json_ at - Write
valueatpathunderroot, creating objects on the way; a#<id>segment resolves to the element of the array at that point whoseidis<id>. An#<id>segment on a non-array, or one that matches no element, is an error naming the segment — never a silent new record.