fn resolve_line(
origin: RuntimeTargetAnchor,
explicit_target: EnemyIdx,
geometry: LineGeometry,
direction: ExecutableTargetDirection,
face_explicit_target: bool,
rng: Option<&mut dyn FnMut() -> f64>,
) -> Result<ResolvedTargetShape, TargetShapeError>