@tscircuit/capacity-autorouter 0.0.453 → 0.0.455
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 +95 -22
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { RectDiffPipeline } from '@tscircuit/rectdiff';
|
|
2
2
|
import { ConnectivityMap } from 'circuit-json-to-connectivity-map';
|
|
3
3
|
import * as graphics_debug from 'graphics-debug';
|
|
4
|
-
import { GraphicsObject, Rect, Circle, Line, Point as Point$
|
|
4
|
+
import { GraphicsObject, Rect, Circle, Line, Point as Point$6 } from 'graphics-debug';
|
|
5
5
|
import { BaseSolver as BaseSolver$1 } from '@tscircuit/solver-utils';
|
|
6
6
|
import Flatbush from 'flatbush';
|
|
7
7
|
import { HighDensitySolverA03, NodeWithPortPoints as NodeWithPortPoints$1 } from '@tscircuit/high-density-a01';
|
|
@@ -181,6 +181,19 @@ interface SimplifiedPcbTrace {
|
|
|
181
181
|
/** Footprint size, typically "0603" */
|
|
182
182
|
footprint: "0603" | "1206" | "1206x4_pair";
|
|
183
183
|
layer: string;
|
|
184
|
+
} | {
|
|
185
|
+
route_type: "through_obstacle";
|
|
186
|
+
start: {
|
|
187
|
+
x: number;
|
|
188
|
+
y: number;
|
|
189
|
+
};
|
|
190
|
+
end: {
|
|
191
|
+
x: number;
|
|
192
|
+
y: number;
|
|
193
|
+
};
|
|
194
|
+
from_layer: string;
|
|
195
|
+
to_layer: string;
|
|
196
|
+
width: number;
|
|
184
197
|
}>;
|
|
185
198
|
}
|
|
186
199
|
type SimplifiedPcbTraces = Array<SimplifiedPcbTrace>;
|
|
@@ -272,6 +285,7 @@ type HighDensityIntraNodeRoute$1 = {
|
|
|
272
285
|
y: number;
|
|
273
286
|
z: number;
|
|
274
287
|
insideJumperPad?: boolean;
|
|
288
|
+
toNextSegmentType?: "through_obstacle";
|
|
275
289
|
}>;
|
|
276
290
|
vias: Array<{
|
|
277
291
|
x: number;
|
|
@@ -1233,6 +1247,8 @@ declare class IntraNodeRouteSolver extends BaseSolver {
|
|
|
1233
1247
|
viaDiameter?: number;
|
|
1234
1248
|
traceWidth?: number;
|
|
1235
1249
|
obstacleMargin?: number;
|
|
1250
|
+
obstacles?: Obstacle[];
|
|
1251
|
+
layerCount?: number;
|
|
1236
1252
|
});
|
|
1237
1253
|
computeProgress(): number;
|
|
1238
1254
|
private getSingleRouteSolverOpts;
|
|
@@ -1320,27 +1336,27 @@ declare class HyperParameterSupervisorSolver<T extends BaseSolver> extends BaseS
|
|
|
1320
1336
|
visualize(): GraphicsObject;
|
|
1321
1337
|
}
|
|
1322
1338
|
|
|
1323
|
-
type Point$
|
|
1339
|
+
type Point$5 = {
|
|
1324
1340
|
x: number;
|
|
1325
1341
|
y: number;
|
|
1326
1342
|
z?: number;
|
|
1327
1343
|
};
|
|
1328
|
-
type Route$
|
|
1329
|
-
startPort: Point$
|
|
1330
|
-
endPort: Point$
|
|
1344
|
+
type Route$3 = {
|
|
1345
|
+
startPort: Point$5;
|
|
1346
|
+
endPort: Point$5;
|
|
1331
1347
|
connectionName: string;
|
|
1332
1348
|
};
|
|
1333
1349
|
declare class TwoCrossingRoutesHighDensitySolver extends BaseSolver {
|
|
1334
1350
|
getSolverName(): string;
|
|
1335
1351
|
nodeWithPortPoints: NodeWithPortPoints;
|
|
1336
|
-
routes: Route$
|
|
1352
|
+
routes: Route$3[];
|
|
1337
1353
|
viaDiameter: number;
|
|
1338
1354
|
traceThickness: number;
|
|
1339
1355
|
obstacleMargin: number;
|
|
1340
1356
|
layerCount: number;
|
|
1341
1357
|
debugViaPositions: {
|
|
1342
|
-
via1: Point$
|
|
1343
|
-
via2: Point$
|
|
1358
|
+
via1: Point$5;
|
|
1359
|
+
via2: Point$5;
|
|
1344
1360
|
}[];
|
|
1345
1361
|
escapeLayer: number;
|
|
1346
1362
|
solvedRoutes: HighDensityIntraNodeRoute$1[];
|
|
@@ -1392,14 +1408,14 @@ declare class TwoCrossingRoutesHighDensitySolver extends BaseSolver {
|
|
|
1392
1408
|
getSolvedRoutes(): HighDensityIntraNodeRoute$1[];
|
|
1393
1409
|
}
|
|
1394
1410
|
|
|
1395
|
-
type Point$
|
|
1411
|
+
type Point$4 = {
|
|
1396
1412
|
x: number;
|
|
1397
1413
|
y: number;
|
|
1398
1414
|
z?: number;
|
|
1399
1415
|
};
|
|
1400
|
-
type Route$
|
|
1401
|
-
A: Point$
|
|
1402
|
-
B: Point$
|
|
1416
|
+
type Route$2 = {
|
|
1417
|
+
A: Point$4;
|
|
1418
|
+
B: Point$4;
|
|
1403
1419
|
connectionName: string;
|
|
1404
1420
|
};
|
|
1405
1421
|
/**
|
|
@@ -1413,13 +1429,13 @@ type Route$1 = {
|
|
|
1413
1429
|
declare class SingleTransitionCrossingRouteSolver extends BaseSolver {
|
|
1414
1430
|
getSolverName(): string;
|
|
1415
1431
|
nodeWithPortPoints: NodeWithPortPoints;
|
|
1416
|
-
routes: Route$
|
|
1432
|
+
routes: Route$2[];
|
|
1417
1433
|
viaDiameter: number;
|
|
1418
1434
|
traceThickness: number;
|
|
1419
1435
|
obstacleMargin: number;
|
|
1420
1436
|
layerCount: number;
|
|
1421
1437
|
debugViaPositions: {
|
|
1422
|
-
via: Point$
|
|
1438
|
+
via: Point$4;
|
|
1423
1439
|
}[];
|
|
1424
1440
|
solvedRoutes: HighDensityIntraNodeRoute$1[];
|
|
1425
1441
|
bounds: {
|
|
@@ -1479,20 +1495,20 @@ declare class SingleTransitionCrossingRouteSolver extends BaseSolver {
|
|
|
1479
1495
|
getSolvedRoutes(): HighDensityIntraNodeRoute$1[];
|
|
1480
1496
|
}
|
|
1481
1497
|
|
|
1482
|
-
type Point$
|
|
1498
|
+
type Point$3 = {
|
|
1483
1499
|
x: number;
|
|
1484
1500
|
y: number;
|
|
1485
1501
|
z?: number;
|
|
1486
1502
|
};
|
|
1487
|
-
type Route = {
|
|
1488
|
-
A: Point$
|
|
1489
|
-
B: Point$
|
|
1503
|
+
type Route$1 = {
|
|
1504
|
+
A: Point$3;
|
|
1505
|
+
B: Point$3;
|
|
1490
1506
|
connectionName: string;
|
|
1491
1507
|
};
|
|
1492
1508
|
declare class SingleTransitionIntraNodeSolver extends BaseSolver {
|
|
1493
1509
|
getSolverName(): string;
|
|
1494
1510
|
nodeWithPortPoints: NodeWithPortPoints;
|
|
1495
|
-
routes: Route[];
|
|
1511
|
+
routes: Route$1[];
|
|
1496
1512
|
viaDiameter: number;
|
|
1497
1513
|
traceThickness: number;
|
|
1498
1514
|
obstacleMargin: number;
|
|
@@ -1516,6 +1532,50 @@ declare class SingleTransitionIntraNodeSolver extends BaseSolver {
|
|
|
1516
1532
|
visualize(): GraphicsObject;
|
|
1517
1533
|
}
|
|
1518
1534
|
|
|
1535
|
+
type Point$2 = {
|
|
1536
|
+
x: number;
|
|
1537
|
+
y: number;
|
|
1538
|
+
z?: number;
|
|
1539
|
+
rootConnectionName?: string;
|
|
1540
|
+
};
|
|
1541
|
+
type Route = {
|
|
1542
|
+
A: Point$2;
|
|
1543
|
+
B: Point$2;
|
|
1544
|
+
connectionName: string;
|
|
1545
|
+
rootConnectionName?: string;
|
|
1546
|
+
};
|
|
1547
|
+
type LayeredObstacle = Obstacle & {
|
|
1548
|
+
zLayers: number[];
|
|
1549
|
+
};
|
|
1550
|
+
declare class SingleTransitionThroughObstacleIntraNodeSolver extends BaseSolver {
|
|
1551
|
+
getSolverName(): string;
|
|
1552
|
+
nodeWithPortPoints: NodeWithPortPoints;
|
|
1553
|
+
routes: Route[];
|
|
1554
|
+
obstacles: LayeredObstacle[];
|
|
1555
|
+
viaDiameter: number;
|
|
1556
|
+
traceThickness: number;
|
|
1557
|
+
connMap?: ConnectivityMap;
|
|
1558
|
+
solvedRoutes: HighDensityIntraNodeRoute$1[];
|
|
1559
|
+
constructor(params: {
|
|
1560
|
+
nodeWithPortPoints: NodeWithPortPoints;
|
|
1561
|
+
obstacles?: Obstacle[];
|
|
1562
|
+
connMap?: ConnectivityMap;
|
|
1563
|
+
layerCount?: number;
|
|
1564
|
+
viaDiameter?: number;
|
|
1565
|
+
traceThickness?: number;
|
|
1566
|
+
});
|
|
1567
|
+
static isApplicable(params: {
|
|
1568
|
+
nodeWithPortPoints: NodeWithPortPoints;
|
|
1569
|
+
obstacles?: Obstacle[];
|
|
1570
|
+
connMap?: ConnectivityMap;
|
|
1571
|
+
layerCount?: number;
|
|
1572
|
+
}): boolean;
|
|
1573
|
+
private extractRoutesFromNode;
|
|
1574
|
+
private getContainingThroughObstacle;
|
|
1575
|
+
_step(): void;
|
|
1576
|
+
visualize(): GraphicsObject;
|
|
1577
|
+
}
|
|
1578
|
+
|
|
1519
1579
|
type ViaRegion = {
|
|
1520
1580
|
viaRegionId: string;
|
|
1521
1581
|
center: {
|
|
@@ -1589,7 +1649,7 @@ declare class SingleLayerNoDifferentRootIntersectionsIntraNodeSolver extends Bas
|
|
|
1589
1649
|
visualize(): GraphicsObject;
|
|
1590
1650
|
}
|
|
1591
1651
|
|
|
1592
|
-
declare class HyperSingleIntraNodeSolver extends HyperParameterSupervisorSolver<IntraNodeRouteSolver | TwoCrossingRoutesHighDensitySolver | SingleTransitionCrossingRouteSolver | SingleTransitionIntraNodeSolver | FixedTopologyHighDensityIntraNodeSolver | SingleLayerNoDifferentRootIntersectionsIntraNodeSolver | HighDensitySolverA03> {
|
|
1652
|
+
declare class HyperSingleIntraNodeSolver extends HyperParameterSupervisorSolver<IntraNodeRouteSolver | TwoCrossingRoutesHighDensitySolver | SingleTransitionCrossingRouteSolver | SingleTransitionIntraNodeSolver | SingleTransitionThroughObstacleIntraNodeSolver | FixedTopologyHighDensityIntraNodeSolver | SingleLayerNoDifferentRootIntersectionsIntraNodeSolver | HighDensitySolverA03> {
|
|
1593
1653
|
getSolverName(): string;
|
|
1594
1654
|
constructorParams: ConstructorParameters<typeof CachedIntraNodeRouteSolver>[0];
|
|
1595
1655
|
solvedRoutes: HighDensityIntraNodeRoute$1[];
|
|
@@ -1641,6 +1701,11 @@ declare class HyperSingleIntraNodeSolver extends HyperParameterSupervisorSolver<
|
|
|
1641
1701
|
CELL_SIZE_FACTOR: number;
|
|
1642
1702
|
VIA_PENALTY_FACTOR_2: number;
|
|
1643
1703
|
}[];
|
|
1704
|
+
} | {
|
|
1705
|
+
name: string;
|
|
1706
|
+
possibleValues: {
|
|
1707
|
+
THROUGH_OBSTACLE: boolean;
|
|
1708
|
+
}[];
|
|
1644
1709
|
} | {
|
|
1645
1710
|
name: string;
|
|
1646
1711
|
possibleValues: {
|
|
@@ -1694,6 +1759,8 @@ declare class HighDensitySolver extends BaseSolver {
|
|
|
1694
1759
|
traceWidth: number;
|
|
1695
1760
|
obstacleMargin: number;
|
|
1696
1761
|
effort: number;
|
|
1762
|
+
obstacles: Obstacle[];
|
|
1763
|
+
layerCount: number;
|
|
1697
1764
|
failedSolvers: (IntraNodeRouteSolver | HyperSingleIntraNodeSolver)[];
|
|
1698
1765
|
activeSubSolver: IntraNodeRouteSolver | HyperSingleIntraNodeSolver | null;
|
|
1699
1766
|
connMap?: ConnectivityMap;
|
|
@@ -1707,7 +1774,7 @@ declare class HighDensitySolver extends BaseSolver {
|
|
|
1707
1774
|
nodePf: number | null;
|
|
1708
1775
|
error?: string;
|
|
1709
1776
|
}>;
|
|
1710
|
-
constructor({ nodePortPoints, colorMap, connMap, viaDiameter, traceWidth, obstacleMargin, effort, nodePfById, }: {
|
|
1777
|
+
constructor({ nodePortPoints, colorMap, connMap, viaDiameter, traceWidth, obstacleMargin, effort, nodePfById, obstacles, layerCount, }: {
|
|
1711
1778
|
nodePortPoints: NodeWithPortPoints[];
|
|
1712
1779
|
colorMap?: Record<string, string>;
|
|
1713
1780
|
connMap?: ConnectivityMap;
|
|
@@ -1715,6 +1782,8 @@ declare class HighDensitySolver extends BaseSolver {
|
|
|
1715
1782
|
traceWidth?: number;
|
|
1716
1783
|
obstacleMargin?: number;
|
|
1717
1784
|
effort?: number;
|
|
1785
|
+
obstacles?: Obstacle[];
|
|
1786
|
+
layerCount?: number;
|
|
1718
1787
|
nodePfById?: Map<CapacityMeshNodeId, number | null> | Record<string, number | null>;
|
|
1719
1788
|
});
|
|
1720
1789
|
private getSolvedNodeSolverType;
|
|
@@ -2324,6 +2393,10 @@ declare class TraceSimplificationSolver extends BaseSolver {
|
|
|
2324
2393
|
readonly defaultViaDiameter: number;
|
|
2325
2394
|
readonly layerCount: number;
|
|
2326
2395
|
});
|
|
2396
|
+
private isSameNetObstacle;
|
|
2397
|
+
private getSameNetObstacleForSegment;
|
|
2398
|
+
private isViaInsideSameNetObstacle;
|
|
2399
|
+
private markThroughObstacleSegments;
|
|
2327
2400
|
_step(): void;
|
|
2328
2401
|
visualize(): GraphicsObject;
|
|
2329
2402
|
}
|
|
@@ -5702,7 +5775,7 @@ declare const convertSrjToGraphicsObject: (srj: SimpleRouteJson) => {
|
|
|
5702
5775
|
rects: Rect[];
|
|
5703
5776
|
circles: Circle[];
|
|
5704
5777
|
lines: Line[];
|
|
5705
|
-
points: Point$
|
|
5778
|
+
points: Point$6[];
|
|
5706
5779
|
};
|
|
5707
5780
|
|
|
5708
5781
|
type FutureConnection = {
|