0
mirror of https://github.com/bbenchoff/OrthoRoute.git synced 2026-07-24 02:21:29 +00:00
Files
Brian Benchoff 957e2f5ec5 Land keepout enforcement and vectorized accounting from PR #17
Lifted from PR #17 by RolandWa, adapted to current main:
- Board.keepouts field + _apply_keepout_obstacles + _points_in_polygon:
  keepout rule areas price their interior edges out of the graph
  (1e9), respecting keepout_tracks/keepout_vias flags per area.
- EdgeAccountant.commit_path/clear_path vectorized (scatter_add /
  np.add.at) - was one host<->device round trip per edge on GPU.

Plus a fix the feature exposed: the ROI extractor's bidirectional BFS
was cost-blind, so its waves met straight through keepouts and the
extracted corridor contained no legal detour - Dijkstra then paid the
block cost. Blocked edges are now invisible to ROI growth (mask
precomputed once per keepout application, zero overhead otherwise).

Tests: blocked-edge and route-avoidance assertions pass; strict
zero-overuse around the squeeze is xfail pending the oscillation-tail
work (same pathology as the bare 2x8 board's 51-iteration tail).
2026-07-22 21:17:53 -07:00
..
2025-08-22 22:16:12 -07:00
2025-08-22 22:16:12 -07:00
2025-08-22 22:16:12 -07:00