From d2d619fe1fe07aecbdd1b200f81fb76e009abdfb Mon Sep 17 00:00:00 2001 From: Jan Petykiewicz Date: Fri, 20 Mar 2026 18:35:25 -0700 Subject: [PATCH] include failed nets in congestion map --- inire/router/pathfinder.py | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/inire/router/pathfinder.py b/inire/router/pathfinder.py index 107ea7c..193853c 100644 --- a/inire/router/pathfinder.py +++ b/inire/router/pathfinder.py @@ -264,19 +264,18 @@ class PathFinder: abs(last_p.y - target.y) < 1e-6 and abs(last_p.orientation - target.orientation) < 0.1) - # 3. Add to index ONLY if it reached the target - if reached: - all_geoms = [] - all_dilated = [] - for res in path: - all_geoms.extend(res.geometry) - if res.dilated_geometry: - all_dilated.extend(res.dilated_geometry) - else: - dilation = self.cost_evaluator.collision_engine.clearance / 2.0 - all_dilated.extend([p.buffer(dilation) for p in res.geometry]) - - self.cost_evaluator.collision_engine.add_path(net_id, all_geoms, dilated_geometry=all_dilated) + # 3. Add to index (even if partial) so other nets negotiate around it + all_geoms = [] + all_dilated = [] + for res in path: + all_geoms.extend(res.geometry) + if res.dilated_geometry: + all_dilated.extend(res.dilated_geometry) + else: + dilation = self.cost_evaluator.collision_engine.clearance / 2.0 + all_dilated.extend([p.buffer(dilation) for p in res.geometry]) + + self.cost_evaluator.collision_engine.add_path(net_id, all_geoms, dilated_geometry=all_dilated) # Check if this new path has any congestion collision_count = 0