chore: prune boilerplate and refresh stale docs

- Remove 257 redundant per-definition comment stubs across the package
- Drop dead nonlocal declarations in autoslicer_detection.py
- Document the swapped flag and swap_left_right in architecture docs
- Remove unsupported 'legacy override' claims from autotune/runtime docs
This commit is contained in:
dan 2026-09-11 23:07:30 +02:00
parent 929c828438
commit 426a18f342
24 changed files with 5 additions and 264 deletions

View file

@ -2,16 +2,13 @@ import numpy as np
from PySide6.QtCore import QPointF, Qt
# CanvasInteractionMixin: class definition for ScanSlicer behavior.
class CanvasInteractionMixin:
@staticmethod
# _distance_sq: function definition for ScanSlicer behavior.
def _distance_sq(pos_xy, point_xy):
dx = float(pos_xy[0] - point_xy[0])
dy = float(pos_xy[1] - point_xy[1])
return dx * dx + dy * dy
# _iter_slice_indices_for_hit_test: function definition for ScanSlicer behavior.
def _iter_slice_indices_for_hit_test(self):
active = self.active_slice_index
if active is not None and 0 <= int(active) < len(self.slices):
@ -24,7 +21,6 @@ class CanvasInteractionMixin:
for si in reversed(range(len(self.slices))):
yield si
# _find_corner: function definition for ScanSlicer behavior.
def _find_corner(self, pos):
p = np.array([pos.x(), pos.y()], dtype=np.float64)
hit_radius = float(getattr(self, "CORNER_HANDLE_HIT_RADIUS", 12.0))
@ -37,7 +33,6 @@ class CanvasInteractionMixin:
return si, ci
return None
# _point_in_polygon: function definition for ScanSlicer behavior.
def _point_in_polygon(self, point, polygon):
x, y = point
inside = False
@ -53,7 +48,6 @@ class CanvasInteractionMixin:
inside = not inside
return inside
# _find_slice_containing_point: function definition for ScanSlicer behavior.
def _find_slice_containing_point(self, pos):
point_img = self._view_to_image(pos)
for si in reversed(range(len(self.slices))):
@ -61,7 +55,6 @@ class CanvasInteractionMixin:
return si
return None
# _find_side_handle: function definition for ScanSlicer behavior.
def _find_side_handle(self, pos):
p = np.array([pos.x(), pos.y()], dtype=np.float64)
hit_radius = float(getattr(self, "SIDE_HANDLE_HIT_RADIUS", 14.0))
@ -77,7 +70,6 @@ class CanvasInteractionMixin:
return si, ei
return None
# _try_begin_handle_drag: function definition for ScanSlicer behavior.
def _try_begin_handle_drag(self, pos):
# Side handles are checked before corners to make squarized edge-drag
# interactions easier to grab.
@ -100,7 +92,6 @@ class CanvasInteractionMixin:
return False
# _drag_side: function definition for ScanSlicer behavior.
def _drag_side(self, si, ei, pos):
s = self.slices[si]
pts = np.array(s.bbox, dtype=np.float64).reshape(4, 2)
@ -130,7 +121,6 @@ class CanvasInteractionMixin:
pts[i1] += shift
s.bbox = self._clamp_bbox_to_image(pts)
# _start_rotation_drag: function definition for ScanSlicer behavior.
def _start_rotation_drag(self, si, pos):
s = self.slices[si]
center = np.mean(s.bbox, axis=0)
@ -146,7 +136,6 @@ class CanvasInteractionMixin:
"start_bbox": np.array(s.bbox, dtype=np.float64),
}
# _drag_rotation: function definition for ScanSlicer behavior.
def _drag_rotation(self, pos):
if self.rotation_dragging is None:
return
@ -177,7 +166,6 @@ class CanvasInteractionMixin:
rotated = (start_bbox - center) @ rotation.T + center
self.slices[si].bbox = self._clamp_bbox_to_image(rotated)
# _start_box_drag: function definition for ScanSlicer behavior.
def _start_box_drag(self, si, pos):
return {
"slice_index": si,
@ -185,7 +173,6 @@ class CanvasInteractionMixin:
"start_bbox": np.array(self.slices[si].bbox, dtype=np.float64),
}
# _drag_box: function definition for ScanSlicer behavior.
def _drag_box(self, pos):
if self.box_dragging is None:
return
@ -199,7 +186,6 @@ class CanvasInteractionMixin:
moved = self.box_dragging["start_bbox"] + delta
self.slices[si].bbox = self._clamp_bbox_to_image(moved)
# mousePressEvent: function definition for ScanSlicer behavior.
def mousePressEvent(self, event):
pos = event.position()
@ -235,7 +221,6 @@ class CanvasInteractionMixin:
if inside is not None:
self.set_active_slice(inside)
# mouseDoubleClickEvent: function definition for ScanSlicer behavior.
def mouseDoubleClickEvent(self, event):
if event.button() != Qt.LeftButton or self.image is None:
return
@ -251,7 +236,6 @@ class CanvasInteractionMixin:
self.set_active_slice(inside)
self.box_dragging = self._start_box_drag(inside, pos)
# mouseMoveEvent: function definition for ScanSlicer behavior.
def mouseMoveEvent(self, event):
pos = event.position()
@ -286,7 +270,6 @@ class CanvasInteractionMixin:
self._drag_box(pos)
self.update()
# mouseReleaseEvent: function definition for ScanSlicer behavior.
def mouseReleaseEvent(self, event):
if event.button() == Qt.RightButton:
self.panning = False
@ -296,7 +279,6 @@ class CanvasInteractionMixin:
self.rotation_dragging = None
self.box_dragging = None
# wheelEvent: function definition for ScanSlicer behavior.
def wheelEvent(self, event):
if self.image is None:
return
@ -324,7 +306,6 @@ class CanvasInteractionMixin:
)
self.update()
# resizeEvent: function definition for ScanSlicer behavior.
def resizeEvent(self, event):
super().resizeEvent(event)
if self.image is not None and not self.user_transformed_view: