Skip to content

bloqade.lanes.heuristics.move_synthesis.compute_move_layers

← Module overview

functioncompute_move_layerssource

bloqade.lanes.heuristics.move_synthesis.compute_move_layers

Signature
def compute_move_layers(arch_spec: ArchSpec, state_before: ConcreteState, state_after: ConcreteState, engine: SearchEngine | None = None, traversal: RustPlacementTraversal = _DEFAULT_TRAVERSAL) -> tuple[tuple[LaneAddress, ...], ...]

Compute move layers from state_before to state_after via the Rust TargetSolver.

If engine is provided, it is reused instead of constructing a fresh SearchEngine — callers that invoke this repeatedly with the same arch_spec should cache an engine and pass it in. traversal selects the search strategy and bounds; it shares RustPlacementTraversal’s defaults with PhysicalPlacementStrategy so the two callsites cannot drift.

Parameters

NameTypeDefaultDescription
arch_specArchSpecrequired
state_beforeConcreteStaterequired
state_afterConcreteStaterequired
engineSearchEngine | NoneNone
traversalRustPlacementTraversal_DEFAULT_TRAVERSAL

Returns

tuple[tuple[LaneAddress, ...], ...]

source