[BREAKING][Ref / Label / Pattern] Make rotate/mirror consistent intrinsic transfomations

offset and repetition are extrinsic; use rotate_around() and flip() to
alter both
mirror() and rotate() only affect the object's intrinsic properties
This commit is contained in:
jan 2026-03-09 23:34:25 -07:00
commit 5f91bd9c6c
6 changed files with 204 additions and 25 deletions

View file

@ -166,9 +166,11 @@ class Ref(
return pattern
def rotate(self, rotation: float) -> Self:
"""
Intrinsic transformation: Rotate the target pattern relative to this Ref's
origin. This does NOT affect the repetition grid.
"""
self.rotation += rotation
if self.repetition is not None:
self.repetition.rotate(rotation)
return self
def mirror(self, axis: int = 0) -> Self: