raygeo.cnc.execution.specs
CNC execution spec types.
AggregateGroup
A group of inputs within an AggregateSpec.
Each group emits its own start/end markers, processes its inputs in order (optionally linking
consecutive inputs when link_mode is Sequential), and supports per-input placement and scaling.
end_markers
end_markers: list[Marker]
Markers emitted after this group's inputs.
inputs
inputs: list[AggregateInput]
Upstream inputs to concatenate (in order).
link_mode
link_mode: LinkMode
Inter-input linking control (default LinkMode.none()).
start_markers
start_markers: list[Marker]
Markers emitted before this group's inputs.
AggregateInput
A single source input in an AggregateGroup.
Identifies an upstream node by key and optionally applies a placement matrix and uniform scaling.
placement_matrix
placement_matrix: list[list[float]]
4×4 placement matrix (row-major) applied to all points in the source Ops.
source_key
source_key: str
Key of the upstream node whose Ops to consume.
target_dimensions
target_dimensions: tuple[float, float]
Target dimensions for uniform scaling (width, height). When (0, 0) (default), no scaling is
applied.
uid
uid: str
Optional UID carried through for marker correlation (not used by the pipeline core).
AggregateOutput
Result of the Aggregate stage.
Produced when the pipeline executes an AggregateSpec and contains the concatenated/transformed Ops
together with an optional time estimate.
ops
ops: ops.Ops
The concatenated Ops from all inputs in the aggregate.
ops_len
ops_len: int
Number of commands in the aggregated Ops.
time_estimate
time_estimate: Optional[float]
Estimated machining time in seconds, or None when the MachineParams rates are all zero.
AggregateSpec
Configuration for the Aggregate stage.
An aggregate concatenates Ops from multiple upstream nodes, wraps them in markers (job/layer/workpiece start/end), applies per-input placement and scaling, optionally links consecutive inputs with travel moves, and applies batch transformers.
groups
groups: list[AggregateGroup]
Groups of inputs, each processed in order.
machine
machine: MachineParams
Machine parameters for time estimation.
transformers
transformers: list[Any]
Batch transformers applied to the aggregated Ops.
wrap_end
wrap_end: list[Marker]
Markers emitted after all groups (e.g. JobEnd).
wrap_start
wrap_start: list[Marker]
Markers emitted before all groups (e.g. JobStart).