[RenderStep] fix mirroring a planned path

This commit is contained in:
Jan Petykiewicz 2026-03-31 17:11:26 -07:00
commit 707a16fe64
2 changed files with 13 additions and 2 deletions

View file

@ -85,8 +85,8 @@ class RenderStep:
new_start = self.start_port.copy() new_start = self.start_port.copy()
new_end = self.end_port.copy() new_end = self.end_port.copy()
new_start.mirror(axis) new_start.flip_across(axis=axis)
new_end.mirror(axis) new_end.flip_across(axis=axis)
return RenderStep( return RenderStep(
opcode = self.opcode, opcode = self.opcode,

View file

@ -65,6 +65,17 @@ def test_renderpather_bend(rpather_setup: tuple[RenderPather, PathTool, Library]
assert_allclose(path_shape.vertices, [[0, 0], [0, -10], [0, -20], [-1, -20]], atol=1e-10) assert_allclose(path_shape.vertices, [[0, 0], [0, -10], [0, -20], [-1, -20]], atol=1e-10)
def test_renderpather_mirror_preserves_planned_bend_geometry(rpather_setup: tuple[RenderPather, PathTool, Library]) -> None:
rp, tool, lib = rpather_setup
rp.at("start").straight(10).cw(10)
rp.mirror(0)
rp.render()
path_shape = cast("Path", rp.pattern.shapes[(1, 0)][0])
assert_allclose(path_shape.vertices, [[0, 0], [0, 10], [0, 20], [-1, 20]], atol=1e-10)
def test_renderpather_retool(rpather_setup: tuple[RenderPather, PathTool, Library]) -> None: def test_renderpather_retool(rpather_setup: tuple[RenderPather, PathTool, Library]) -> None:
rp, tool1, lib = rpather_setup rp, tool1, lib = rpather_setup
tool2 = PathTool(layer=(2, 0), width=4, ptype="wire") tool2 = PathTool(layer=(2, 0), width=4, ptype="wire")