@tscircuit/capacity-autorouter 0.0.779 → 0.0.781

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -2454,8 +2454,8 @@ type Phase$1 = "via_removal" | "crossing_via_reduction" | "via_merging" | "path_
2454
2454
  /**
2455
2455
  * TraceSimplificationSolver consolidates trace optimization by iteratively applying
2456
2456
  * via removal, crossing via reduction, via merging, and path simplification
2457
- * phases. It reduces redundant vias and simplifies routing paths through
2458
- * configurable iterations.
2457
+ * phases. The second via-removal pass can route short local detours around
2458
+ * blocking pads while removing a via pair.
2459
2459
  *
2460
2460
  * The solver operates in four alternating phases per iteration:
2461
2461
  * 1. "via_removal" - Removes unnecessary vias from routes using UselessViaRemovalSolver
@@ -6589,9 +6589,12 @@ declare class SingleRouteUselessViaRemovalSolver extends BaseSolver {
6589
6589
  OBSTACLE_MARGIN: number;
6590
6590
  GEOMETRY_SHORTCUT_TRACE_MARGIN: number;
6591
6591
  GEOMETRY_SHORTCUT_OBSTACLE_MARGIN: number;
6592
+ MAX_GEOMETRY_SHORTCUT_ADDED_LENGTH: number;
6592
6593
  ENABLE_GEOMETRY_SHORTCUTS: boolean;
6594
+ ENABLE_OBSTACLE_DETOUR_SHORTCUTS: boolean;
6593
6595
  geometryShortcutsApplied: number;
6594
6596
  multilayerSectionsCollapsed: number;
6597
+ obstacleDetourCandidatesValidated: number;
6595
6598
  constructor(params: {
6596
6599
  obstacleSHI: ObstacleSpatialHashIndex;
6597
6600
  hdRouteSHI: HighDensityRouteSpatialIndex;
@@ -6604,10 +6607,14 @@ declare class SingleRouteUselessViaRemovalSolver extends BaseSolver {
6604
6607
  geometryShortcutTraceMargin?: number;
6605
6608
  geometryShortcutObstacleMargin?: number;
6606
6609
  enableGeometryShortcuts?: boolean;
6610
+ enableObstacleDetourShortcuts?: boolean;
6607
6611
  });
6608
6612
  private getPathLength;
6609
6613
  private normalizeShortcutPath;
6610
6614
  private shortcutCrossesOutline;
6615
+ private getObstacleDetourPaths;
6616
+ private getDirectGeometryShortcut;
6617
+ private getObstacleDetourShortcut;
6611
6618
  private findGeometryShortcut;
6612
6619
  private applyGeometryShortcut;
6613
6620
  private findMultilayerSectionCollapse;
@@ -6625,6 +6632,7 @@ declare class SingleRouteUselessViaRemovalSolver extends BaseSolver {
6625
6632
  geometryShortcutTraceMargin: number;
6626
6633
  geometryShortcutObstacleMargin: number;
6627
6634
  enableGeometryShortcuts: boolean;
6635
+ enableObstacleDetourShortcuts: boolean;
6628
6636
  };
6629
6637
  getOptimizedHdRoute(): HighDensityRoute;
6630
6638
  visualize(): GraphicsObject;
@@ -6645,6 +6653,7 @@ interface UselessViaRemovalSolverInput {
6645
6653
  geometryShortcutTraceMargin?: number;
6646
6654
  geometryShortcutObstacleMargin?: number;
6647
6655
  enableGeometryShortcuts?: boolean;
6656
+ enableObstacleDetourShortcuts?: boolean;
6648
6657
  }
6649
6658
  declare class UselessViaRemovalSolver extends BaseSolver {
6650
6659
  private input;