Skip to content

bloqade.lanes.arch.metrics.MoveMetricCalculator

← Module overview

classMoveMetricCalculatorsource

bloqade.lanes.arch.metrics.MoveMetricCalculator

Move-metric computation: lane durations, distances, and costs.

Signature
class MoveMetricCalculator(arch_spec: Any, motion_model: MotionModel = MotionModel())

The constant-jerk timing model (ramp/jerk/accel constants and the move-duration formula) lives in the Rust MotionModel, the single source of truth shared with the move-search solver. This calculator delegates all timing to that object (defaulting to the FLAIR constants) and adds cached lane duration / cost lookups on top. Lives in the arch package so that PathFinder and heuristics can consume it without pulling in the heavy compilation imports of Metrics.

Pass a non-default motion_model to price durations with a different motion profile.

Parameters

NameTypeDefaultDescription
arch_specAnyrequired
motion_modelMotionModelMotionModel()

Attributes

NameTypeDefaultDescription
arch_specAnyrequired
motion_modelMotionModelfield(default_factory=MotionModel)

methodpath_segment_distances_umsource

bloqade.lanes.arch.metrics.MoveMetricCalculator.path_segment_distances_um

Signature
def path_segment_distances_um(path: tuple[tuple[float, float], ...]) -> tuple[float, ...]

Parameters

NameTypeDescription
pathtuple[tuple[float, float], ...]

Returns

tuple[float, ...]

source

methodget_lane_duration_ussource

bloqade.lanes.arch.metrics.MoveMetricCalculator.get_lane_duration_us

Signature
def get_lane_duration_us(lane_address: Any, *, amplitude_delta: float = 1.0) -> float

Return lane execution duration in microseconds.

Parameters

NameTypeDefaultDescription
lane_addressAnyrequired
amplitude_deltafloat1.0

Returns

float

source

methodget_lane_duration_costsource

bloqade.lanes.arch.metrics.MoveMetricCalculator.get_lane_duration_cost

Signature
def get_lane_duration_cost(lane_address: Any, *, amplitude_delta: float = 1.0) -> float

Return normalized lane duration cost in [0, 1].

Parameters

NameTypeDefaultDescription
lane_addressAnyrequired
amplitude_deltafloat1.0

Returns

float

source

methodlane_distance_umsource

bloqade.lanes.arch.metrics.MoveMetricCalculator.lane_distance_um

def lane_distance_um(lane: Any) -> float

Total distance in µm along a lane’s path.

Parameters

NameTypeDescription
laneAny

Returns

float

source