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, solver: MoveSolver | None = None, traversal: RustPlacementTraversal = _DEFAULT_TRAVERSAL) -> tuple[tuple[LaneAddress, ...], ...]

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

If solver is provided, it is reused instead of constructing a fresh MoveSolver — callers that invoke this repeatedly with the same arch_spec should cache a solver 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
solverMoveSolver | NoneNone
traversalRustPlacementTraversal_DEFAULT_TRAVERSAL

Returns

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

source