"""Check laser-mark clearance in physical page coordinates.""" from __future__ import annotations import sys from pathlib import Path sys.path.insert(0, str(Path(__file__).resolve().parents[1] / "blender" / "scripts")) from stroke_geometry import has_clearance # noqa: E402 def test_crossing_capsules_are_rejected() -> None: existing = [((-0.2, 0), (0.2, 0), 0.1)] assert not has_clearance(((0, -0.2), (0, 0.2), 0.1), existing, 0.03) def test_near_parallel_capsules_need_edge_spacing() -> None: existing = [((-0.2, 0), (0.2, 0), 0.1)] assert not has_clearance(((-0.2, 0.22), (0.2, 0.22), 0.1), existing, 0.03) assert has_clearance(((-0.2, 0.24), (0.2, 0.24), 0.1), existing, 0.03) def test_disjoint_collinear_capsules_can_clear() -> None: existing = [((0, 0), (0.2, 0), 0.1)] assert has_clearance(((0.45, 0), (0.65, 0), 0.1), existing, 0.03)