Expand description
Execution planning: the pluggable CuPlanner trait, the planners shipped
with copper, and the shared assembly of the generated CopperList plan.
A planner only decides a StepOrder over the synthetic plan graph; a
shared pipeline validates the order and materializes the exact plan the
runtime generates. Planners run at build time, never on the robot: the
ship-with-copper ones execute inside #[copper_runtime], out-of-tree ones
in the application’s build.rs via emit_plan.
Structs§
- Linearity
- The default planner: best-effort linearity, keeping each source-to-sink chain contiguous. Needs no measurements and is bit-identical to the historical copper order.
- Pinned
- Replays an explicit task order:
config: { "order": [..] }lists every task of the mission exactly once, by RON id; bridge stages are placed automatically next to their tasks. This is what an offline plan search writes back. - Step
Order - The only decision a planner makes: a total step order over plan
NodeIds.
Traits§
- CuPlanner
- A pluggable execution planner, selected by
runtime.plannerin the RON config (mirroring how monitors are selected bytype).