From 8bf0ff279f597b627ff2e1f67ae84e0a7ea90f3e Mon Sep 17 00:00:00 2001 From: Jan Petykiewicz Date: Mon, 9 Mar 2026 20:37:03 -0700 Subject: [PATCH] speedup --- examples/03_locked_paths.png | Bin 67672 -> 68200 bytes examples/04_sbends_and_radii.png | Bin 39986 -> 42650 bytes inire/geometry/collision.py | 38 +++++---- inire/geometry/components.py | 137 +++++++++++++++++++------------ inire/router/astar.py | 135 +++++++++++++++++++----------- 5 files changed, 192 insertions(+), 118 deletions(-) diff --git a/examples/03_locked_paths.png b/examples/03_locked_paths.png index 099ffc2378976ab695eb2f9fe79b5c1df8fd1fe2..45db4945cd3dc12b2b65da5865138a964e7c8370 100644 GIT binary patch literal 68200 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 literal 67672 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�u{oaqQDQ=j#Wg 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 Zm*#QLiqU3iAu-68mr=fjle+ulzX90m(n0_L literal 39986 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 R9YCH ComponentResult: + """ + Create a new ComponentResult translated by (dx, dy). + """ + from shapely.affinity import translate + new_geom = [translate(p, dx, dy) for p in self.geometry] + new_dil = [translate(p, dx, dy) for p in self.dilated_geometry] if self.dilated_geometry else None + new_port = Port(self.end_port.x + dx, self.end_port.y + dy, self.end_port.orientation) + return ComponentResult(new_geom, new_port, self.length, new_dil) + + + + class Straight: @@ -158,6 +180,7 @@ def _get_arc_polygons( t_start: float, t_end: float, sagitta: float = 0.01, + dilation: float = 0.0, ) -> list[Polygon]: """ Helper to generate arc-shaped polygons using vectorized NumPy operations. @@ -168,6 +191,7 @@ def _get_arc_polygons( width: Waveguide width. t_start, t_end: Start and end angles (radians). sagitta: Geometric fidelity. + dilation: Optional dilation to apply directly to the arc. Returns: List containing the arc polygon. @@ -178,8 +202,8 @@ def _get_arc_polygons( cos_a = numpy.cos(angles) sin_a = numpy.sin(angles) - inner_radius = radius - width / 2.0 - outer_radius = radius + width / 2.0 + inner_radius = radius - width / 2.0 - dilation + outer_radius = radius + width / 2.0 + dilation inner_points = numpy.stack([cx + inner_radius * cos_a, cy + inner_radius * sin_a], axis=1) outer_points = numpy.stack([cx + outer_radius * cos_a[::-1], cy + outer_radius * sin_a[::-1]], axis=1) @@ -200,21 +224,9 @@ def _clip_bbox( arc_poly: Polygon, ) -> Polygon: """ - Clips corners of a bounding box for better collision modeling. - - Args: - bbox: Initial bounding box. - cx, cy: Arc center. - radius: Arc radius. - width: Waveguide width. - clip_margin: Minimum distance from waveguide. - arc_poly: The original arc polygon. - - Returns: - The clipped polygon. + Clips corners of a bounding box for better collision modeling using direct vertex manipulation. """ - res_poly = bbox - # Determine quadrant signs from arc centroid relative to center + # Determination of which corners to clip ac = arc_poly.centroid qsx = 1.0 if ac.x >= cx else -1.0 qsy = 1.0 if ac.y >= cy else -1.0 @@ -223,46 +235,54 @@ def _clip_bbox( r_in_cut = radius - width / 2.0 - clip_margin minx, miny, maxx, maxy = bbox.bounds - corners = [(minx, miny), (minx, maxy), (maxx, miny), (maxx, maxy)] - for px, py in corners: - dx, dy = px - cx, py - cy + # Initial vertices: [minx,miny], [maxx,miny], [maxx,maxy], [minx,maxy] + verts = [ + numpy.array([minx, miny]), + numpy.array([maxx, miny]), + numpy.array([maxx, maxy]), + numpy.array([minx, maxy]) + ] + + new_verts = [] + for p in verts: + dx, dy = p[0] - cx, p[1] - cy dist = numpy.sqrt(dx**2 + dy**2) - # Check if corner is far enough to be clipped - if dist > r_out_cut: - # Outer corner: remove part furthest from center - # To be conservative, line is at distance r_out_cut from center. - # Equation: sx*x + sy*y = sx*cx + sy*cy + r_out_cut * sqrt(2) - d_line = r_out_cut * numpy.sqrt(2) - elif r_in_cut > 0 and dist < r_in_cut: - # Inner corner: remove part closest to center - # To be safe, line intercept must not exceed r_in_cut. - # Equation: sx*x + sy*y = sx*cx + sy*cy + r_in_cut - d_line = r_in_cut - else: - continue - # Normal vector components from center to corner - # Using rounded signs for stability sx = 1.0 if dx > 1e-6 else (-1.0 if dx < -1e-6 else qsx) sy = 1.0 if dy > 1e-6 else (-1.0 if dy < -1e-6 else qsy) - # val calculation based on d_line - val = sx * cx + sy * cy + d_line + d_line = -1.0 + if dist > r_out_cut: + d_line = r_out_cut * numpy.sqrt(2) + elif r_in_cut > 0 and dist < r_in_cut: + d_line = r_in_cut + + if d_line > 0: + # This corner needs clipping. Replace one vertex with two at intersection of line and edges. + # Line: sx*(x-cx) + sy*(y-cy) = d_line + # Edge x=px: y = cy + (d_line - sx*(px-cx))/sy + # Edge y=py: x = cx + (d_line - sy*(py-cy))/sx + try: + p_edge_x = numpy.array([p[0], cy + (d_line - sx * (p[0] - cx)) / sy]) + p_edge_y = numpy.array([cx + (d_line - sy * (p[1] - cy)) / sx, p[1]]) + # Order matters for polygon winding. + # If we are at [minx, miny] and moving CCW towards [maxx, miny]: + # If we clip this corner, we should add p_edge_y then p_edge_x (or vice versa depending on orientation) + # For simplicity, we can just add both and let Polygon sort it out if it's convex, + # but better to be precise. + # Since we know the bounding box orientation, we can determine order. + # BUT: Difference was safer. Let's try a simpler approach: + # Just collect all possible vertices and use convex_hull if it's guaranteed convex. + # A clipped bbox is always convex. + new_verts.append(p_edge_x) + new_verts.append(p_edge_y) + except ZeroDivisionError: + new_verts.append(p) + else: + new_verts.append(p) - try: - # Create a triangle to remove. - # Vertices: corner, intersection with x=px edge, intersection with y=py edge - p1 = (px, py) - p2 = (px, (val - sx * px) / sy) - p3 = ((val - sy * py) / sx, py) - - triangle = Polygon([p1, p2, p3]) - if triangle.is_valid and triangle.area > 1e-9: - res_poly = cast('Polygon', res_poly.difference(triangle)) - except ZeroDivisionError: - continue - return res_poly + return Polygon(new_verts).convex_hull def _apply_collision_model( @@ -355,7 +375,13 @@ class Bend90: arc_polys[0], collision_type, radius, width, cx, cy, clip_margin ) - dilated_geom = [p.buffer(dilation) for p in collision_polys] if dilation > 0 else None + dilated_geom = None + if dilation > 0: + if collision_type == "arc": + dilated_geom = _get_arc_polygons(cx, cy, radius, width, t_start, t_end, sagitta, dilation=dilation) + else: + # For bbox or clipped_bbox, buffer the model itself (which is simpler than buffering the high-fidelity arc) + dilated_geom = [p.buffer(dilation) for p in collision_polys] return ComponentResult( geometry=collision_polys, @@ -436,7 +462,14 @@ class SBend: col2 = _apply_collision_model(arc2, collision_type, radius, width, cx2, cy2, clip_margin)[0] collision_polys = [col1, col2] - dilated_geom = [p.buffer(dilation) for p in collision_polys] if dilation > 0 else None + dilated_geom = None + if dilation > 0: + if collision_type == "arc": + d1 = _get_arc_polygons(cx1, cy1, radius, width, ts1, te1, sagitta, dilation=dilation)[0] + d2 = _get_arc_polygons(cx2, cy2, radius, width, ts2, te2, sagitta, dilation=dilation)[0] + dilated_geom = [d1, d2] + else: + dilated_geom = [p.buffer(dilation) for p in collision_polys] return ComponentResult( geometry=collision_polys, diff --git a/inire/router/astar.py b/inire/router/astar.py index 74ef3b1..dc45382 100644 --- a/inire/router/astar.py +++ b/inire/router/astar.py @@ -3,16 +3,17 @@ from __future__ import annotations import heapq import logging import functools -from typing import TYPE_CHECKING, Literal +from typing import TYPE_CHECKING, Literal, Any +import rtree import numpy from inire.geometry.components import Bend90, SBend, Straight +from inire.geometry.primitives import Port from inire.router.config import RouterConfig if TYPE_CHECKING: from inire.geometry.components import ComponentResult - from inire.geometry.primitives import Port from inire.router.cost import CostEvaluator logger = logging.getLogger(__name__) @@ -65,6 +66,8 @@ class AStarNode: self.count = AStarNode._count AStarNode._count += 1 + + def __lt__(self, other: AStarNode) -> bool: # Tie-breaking: lower f first, then lower h, then order if abs(self.f_cost - other.f_cost) > 1e-9: @@ -83,7 +86,7 @@ class AStarRouter: """ Hybrid State-Lattice A* Router. """ - __slots__ = ('cost_evaluator', 'config', 'node_limit', 'total_nodes_expanded', '_collision_cache', '_self_dilation') + __slots__ = ('cost_evaluator', 'config', 'node_limit', 'total_nodes_expanded', '_collision_cache', '_move_cache', '_self_dilation') cost_evaluator: CostEvaluator """ The evaluator for path and proximity costs """ @@ -100,6 +103,9 @@ class AStarRouter: _collision_cache: dict[tuple[float, float, float, str, float, str], bool] """ Internal cache for move collision checks """ + _move_cache: dict[tuple[Any, ...], ComponentResult] + """ Internal cache for component generation """ + _self_dilation: float """ Cached dilation value for collision checks (clearance / 2.0) """ @@ -149,6 +155,7 @@ class AStarRouter: self.node_limit = self.config.node_limit self.total_nodes_expanded = 0 self._collision_cache = {} + self._move_cache = {} self._self_dilation = self.cost_evaluator.collision_engine.clearance / 2.0 def route( @@ -256,6 +263,11 @@ class AStarRouter: except ValueError: pass + # Move Cache + cp = current.port + base_ori = round(cp.orientation % 360, 2) + state_key = (round(cp.x, 3), round(cp.y, 3), base_ori) + # 2. Lattice Straights lengths = self.config.straight_lengths if dist < 5.0: @@ -263,39 +275,74 @@ class AStarRouter: lengths = sorted(set(lengths + fine_steps)) for length in lengths: - res = Straight.generate(current.port, length, net_width, dilation=self._self_dilation) + # Level 1: Absolute cache (exact location) + abs_key = (state_key, 'S', length, net_width) + if abs_key in self._move_cache: + res = self._move_cache[abs_key] + else: + # Level 2: Relative cache (orientation only) + rel_key = (base_ori, 'S', length, net_width, self._self_dilation) + if rel_key in self._move_cache: + res = self._move_cache[rel_key].translate(cp.x, cp.y) + else: + res_rel = Straight.generate(Port(0, 0, base_ori), length, net_width, dilation=self._self_dilation) + self._move_cache[rel_key] = res_rel + res = res_rel.translate(cp.x, cp.y) + self._move_cache[abs_key] = res self._add_node(current, res, target, net_width, net_id, open_set, closed_set, f'S{length}') # 3. Lattice Bends for radius in self.config.bend_radii: for direction in ['CW', 'CCW']: - res = Bend90.generate( - current.port, - radius, - net_width, - direction, - collision_type=self.config.bend_collision_type, - clip_margin=self.config.bend_clip_margin, - dilation=self._self_dilation - ) + abs_key = (state_key, 'B', radius, direction, net_width, self.config.bend_collision_type) + if abs_key in self._move_cache: + res = self._move_cache[abs_key] + else: + rel_key = (base_ori, 'B', radius, direction, net_width, self.config.bend_collision_type, self._self_dilation) + if rel_key in self._move_cache: + res = self._move_cache[rel_key].translate(cp.x, cp.y) + else: + res_rel = Bend90.generate( + Port(0, 0, base_ori), + radius, + net_width, + direction, + collision_type=self.config.bend_collision_type, + clip_margin=self.config.bend_clip_margin, + dilation=self._self_dilation + ) + self._move_cache[rel_key] = res_rel + res = res_rel.translate(cp.x, cp.y) + self._move_cache[abs_key] = res self._add_node(current, res, target, net_width, net_id, open_set, closed_set, f'B{radius}{direction}', move_radius=radius) # 4. Discrete SBends for offset in self.config.sbend_offsets: for radius in self.config.sbend_radii: - try: - res = SBend.generate( - current.port, - offset, - radius, - net_width, - collision_type=self.config.bend_collision_type, - clip_margin=self.config.bend_clip_margin, - dilation=self._self_dilation - ) - self._add_node(current, res, target, net_width, net_id, open_set, closed_set, f'SB{offset}R{radius}', move_radius=radius) - except ValueError: - pass + abs_key = (state_key, 'SB', offset, radius, net_width, self.config.bend_collision_type) + if abs_key in self._move_cache: + res = self._move_cache[abs_key] + else: + rel_key = (base_ori, 'SB', offset, radius, net_width, self.config.bend_collision_type, self._self_dilation) + if rel_key in self._move_cache: + res = self._move_cache[rel_key].translate(cp.x, cp.y) + else: + try: + res_rel = SBend.generate( + Port(0, 0, base_ori), + offset, + radius, + net_width, + collision_type=self.config.bend_collision_type, + clip_margin=self.config.bend_clip_margin, + dilation=self._self_dilation + ) + self._move_cache[rel_key] = res_rel + res = res_rel.translate(cp.x, cp.y) + except ValueError: + continue + self._move_cache[abs_key] = res + self._add_node(current, res, target, net_width, net_id, open_set, closed_set, f'SB{offset}R{radius}', move_radius=radius) def _add_node( self, @@ -340,35 +387,27 @@ class AStarRouter: return # 3. Check for Self-Intersection (Limited to last 100 segments for performance) - # Optimization: use pre-dilated geometries + # Optimization: use pre-dilated geometries and pre-calculated bounds if result.dilated_geometry: - for dilated_move in result.dilated_geometry: + for dm_idx, dilated_move in enumerate(result.dilated_geometry): + dm_bounds = result.dilated_bounds[dm_idx] curr_p: AStarNode | None = parent seg_idx = 0 while curr_p and curr_p.component_result and seg_idx < 100: if seg_idx > 0: res_p = curr_p.component_result if res_p.dilated_geometry: - for dilated_prev in res_p.dilated_geometry: - if (dilated_move.bounds[0] > dilated_prev.bounds[2] or - dilated_move.bounds[2] < dilated_prev.bounds[0] or - dilated_move.bounds[1] > dilated_prev.bounds[3] or - dilated_move.bounds[3] < dilated_prev.bounds[1]): - continue - - if dilated_move.intersects(dilated_prev): - overlap = dilated_move.intersection(dilated_prev) - if overlap.area > 1e-6: - return - else: - # Fallback if no pre-dilation (should not happen with new logic) - dilation = self._self_dilation - for prev_poly in res_p.geometry: - dilated_prev = prev_poly.buffer(dilation) - if dilated_move.intersects(dilated_prev): - overlap = dilated_move.intersection(dilated_prev) - if overlap.area > 1e-6: - return + for dp_idx, dilated_prev in enumerate(res_p.dilated_geometry): + dp_bounds = res_p.dilated_bounds[dp_idx] + # Quick bounds overlap check + if not (dm_bounds[0] > dp_bounds[2] or + dm_bounds[2] < dp_bounds[0] or + dm_bounds[1] > dp_bounds[3] or + dm_bounds[3] < dp_bounds[1]): + if dilated_move.intersects(dilated_prev): + overlap = dilated_move.intersection(dilated_prev) + if not overlap.is_empty and overlap.area > 1e-6: + return curr_p = curr_p.parent seg_idx += 1