Skip to main content

Module cam_ops

Module cam_ops 

Source
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 value at path under root, creating objects on the way; a #<id> segment resolves to the element of the array at that point whose id is <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.

Type Aliases§

CamJobBuilder
See CamGeneration::job_builder.