@tscircuit/capacity-autorouter 0.0.771 → 0.0.773

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
@@ -2450,16 +2450,18 @@ declare class StrawSolver extends BaseSolver {
2450
2450
  visualize(): GraphicsObject;
2451
2451
  }
2452
2452
 
2453
- type Phase$1 = "via_removal" | "via_merging" | "path_simplification";
2453
+ type Phase$1 = "via_removal" | "crossing_via_reduction" | "via_merging" | "path_simplification";
2454
2454
  /**
2455
2455
  * TraceSimplificationSolver consolidates trace optimization by iteratively applying
2456
- * via removal, via merging, and path simplification phases. It reduces redundant vias
2457
- * and simplifies routing paths through configurable iterations.
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.
2458
2459
  *
2459
- * The solver operates in three alternating phases per iteration:
2460
+ * The solver operates in four alternating phases per iteration:
2460
2461
  * 1. "via_removal" - Removes unnecessary vias from routes using UselessViaRemovalSolver
2461
- * 2. "via_merging" - Merges redundant vias on the same net using SameNetViaMergerSolver
2462
- * 3. "path_simplification" - Simplifies routing paths using MultiSimplifiedPathSolver
2462
+ * 2. "crossing_via_reduction" - Swaps layer ownership at crossings to remove via pairs
2463
+ * 3. "via_merging" - Merges redundant vias on the same net using SameNetViaMergerSolver
2464
+ * 4. "path_simplification" - Simplifies routing paths using MultiSimplifiedPathSolver
2463
2465
  *
2464
2466
  * Each iteration consists of all phases executed sequentially.
2465
2467
  */
@@ -2488,6 +2490,7 @@ declare class TraceSimplificationSolver extends BaseSolver {
2488
2490
  * - minTraceToPadEdgeClearance: Minimum trace-edge clearance to pads/vias
2489
2491
  * - otherHdRoutes: Immutable routed traces to avoid while simplifying
2490
2492
  * - netByConnectionName: Explicit net metadata for synthetic route names
2493
+ * - enableCrossingViaReduction: Enables coordinated crossing layer swaps
2491
2494
  * - iterations: Number of complete simplification iterations (default: 2)
2492
2495
  */
2493
2496
  constructor(simplificationConfig: {
@@ -2504,6 +2507,7 @@ declare class TraceSimplificationSolver extends BaseSolver {
2504
2507
  readonly minTraceToPadEdgeClearance?: number;
2505
2508
  readonly otherHdRoutes?: ReadonlyArray<HighDensityRoute$1>;
2506
2509
  readonly netByConnectionName?: ReadonlyMap<string, string>;
2510
+ readonly enableCrossingViaReduction?: boolean;
2507
2511
  });
2508
2512
  private isSameNetObstacle;
2509
2513
  private getSameNetObstacleForSegment;