@tscircuit/capacity-autorouter 0.0.720 → 0.0.722

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/README.md CHANGED
@@ -60,6 +60,7 @@ interface SimpleRouteJson {
60
60
  obstacles: Obstacle[]
61
61
  connections: Array<SimpleRouteConnection>
62
62
  buses?: Array<SimpleRouteBus>
63
+ allowViaInPad?: boolean
63
64
  bounds: { minX: number; maxX: number; minY: number; maxY: number }
64
65
  traces?: SimplifiedPcbTraces // Optional for input
65
66
  }
@@ -92,6 +93,10 @@ interface SimpleRouteBus {
92
93
  bus. Bus metadata is preserved in the output so routing implementations can
93
94
  apply the constraint without losing the original membership or ordering.
94
95
 
96
+ Via-in-pad repair is disabled by default because it generally requires filled
97
+ and capped vias. Set `allowViaInPad: true` only when the fabrication process
98
+ supports it.
99
+
95
100
  ### Output Format
96
101
 
97
102
  The `getOutputSimpleRouteJson()` method returns the original `SimpleRouteJson` with a populated `traces` property. The traces are represented as `SimplifiedPcbTraces`:
package/dist/index.d.ts CHANGED
@@ -111,6 +111,11 @@ interface SimpleRouteJson {
111
111
  connections: Array<SimpleRouteConnection>;
112
112
  differentialPairs?: Array<DifferentialPair>;
113
113
  buses?: Array<SimpleRouteBus>;
114
+ /**
115
+ * Allows DRC repair to place layer transitions inside connected pads.
116
+ * Defaults to false because via-in-pad generally requires filled and capped vias.
117
+ */
118
+ allowViaInPad?: boolean;
114
119
  bounds: {
115
120
  minX: number;
116
121
  maxX: number;
@@ -2457,6 +2462,7 @@ declare class TraceSimplificationSolver extends BaseSolver {
2457
2462
  * - defaultViaDiameter: Default diameter for vias
2458
2463
  * - layerCount: Number of routing layers
2459
2464
  * - minTraceToPadEdgeClearance: Minimum trace-edge clearance to pads/vias
2465
+ * - otherHdRoutes: Immutable routed traces to avoid while simplifying
2460
2466
  * - iterations: Number of complete simplification iterations (default: 2)
2461
2467
  */
2462
2468
  constructor(simplificationConfig: {
@@ -2471,6 +2477,7 @@ declare class TraceSimplificationSolver extends BaseSolver {
2471
2477
  readonly defaultViaDiameter: number;
2472
2478
  readonly layerCount: number;
2473
2479
  readonly minTraceToPadEdgeClearance?: number;
2480
+ readonly otherHdRoutes?: ReadonlyArray<HighDensityRoute$1>;
2474
2481
  });
2475
2482
  private isSameNetObstacle;
2476
2483
  private getSameNetObstacleForSegment;
@@ -6211,6 +6218,7 @@ declare class MultiSimplifiedPathSolver extends BaseSolver {
6211
6218
  currentUnsimplifiedHdRouteIndex: number;
6212
6219
  activeSubSolver: SingleSimplifiedPathSolver | null;
6213
6220
  unsimplifiedHdRoutes: HighDensityIntraNodeRoute$1[];
6221
+ otherHdRoutes: ReadonlyArray<HighDensityIntraNodeRoute$1>;
6214
6222
  obstacles: Obstacle[];
6215
6223
  connMap: ConnectivityMap;
6216
6224
  colorMap: Record<string, string>;
@@ -6221,6 +6229,8 @@ declare class MultiSimplifiedPathSolver extends BaseSolver {
6221
6229
  defaultViaDiameter: number;
6222
6230
  constructor(params: {
6223
6231
  unsimplifiedHdRoutes: HighDensityIntraNodeRoute$1[];
6232
+ /** Routed copper that participates in collision checks but is never changed. */
6233
+ otherHdRoutes?: ReadonlyArray<HighDensityIntraNodeRoute$1>;
6224
6234
  obstacles: Obstacle[];
6225
6235
  connMap?: ConnectivityMap;
6226
6236
  colorMap?: Record<string, string>;
@@ -6300,6 +6310,8 @@ declare class SingleRouteUselessViaRemovalSolver extends BaseSolver {
6300
6310
 
6301
6311
  interface UselessViaRemovalSolverInput {
6302
6312
  unsimplifiedHdRoutes: HighDensityRoute$1[];
6313
+ /** Routed copper that participates in collision checks but is never changed. */
6314
+ otherHdRoutes?: ReadonlyArray<HighDensityRoute$1>;
6303
6315
  obstacles: Obstacle[];
6304
6316
  colorMap: Record<string, string>;
6305
6317
  layerCount: number;