@tscircuit/capacity-autorouter 0.0.798 → 0.0.800
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 +60 -20
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -1147,16 +1147,6 @@ type Node = {
|
|
|
1147
1147
|
declare class SingleRouteCandidatePriorityQueue<T extends Node = Node> {
|
|
1148
1148
|
private heap;
|
|
1149
1149
|
constructor(nodes: T[]);
|
|
1150
|
-
private getLeftChildIndex;
|
|
1151
|
-
private getRightChildIndex;
|
|
1152
|
-
private getParentIndex;
|
|
1153
|
-
private hasLeftChild;
|
|
1154
|
-
private hasRightChild;
|
|
1155
|
-
private hasParent;
|
|
1156
|
-
private leftChild;
|
|
1157
|
-
private rightChild;
|
|
1158
|
-
private parent;
|
|
1159
|
-
private swap;
|
|
1160
1150
|
dequeue(): T | null;
|
|
1161
1151
|
peek(): T | null;
|
|
1162
1152
|
enqueue(item: T): void;
|
|
@@ -1218,7 +1208,15 @@ declare class SingleHighDensityRouteSolver extends BaseSolver {
|
|
|
1218
1208
|
VIA_PENALTY_FACTOR: number;
|
|
1219
1209
|
CELL_SIZE_FACTOR: number;
|
|
1220
1210
|
NEARBY_SEGMENT_CLEARANCE: number;
|
|
1221
|
-
exploredNodes: Set<
|
|
1211
|
+
exploredNodes: Set<number>;
|
|
1212
|
+
viasInPathByNode: WeakMap<Node, {
|
|
1213
|
+
x: number;
|
|
1214
|
+
y: number;
|
|
1215
|
+
}[]>;
|
|
1216
|
+
gridMinXIndex: number;
|
|
1217
|
+
gridMinYIndex: number;
|
|
1218
|
+
gridWidth: number;
|
|
1219
|
+
gridHeight: number;
|
|
1222
1220
|
candidates: SingleRouteCandidatePriorityQueue;
|
|
1223
1221
|
connectionName: string;
|
|
1224
1222
|
rootConnectionName?: string;
|
|
@@ -1229,12 +1227,19 @@ declare class SingleHighDensityRouteSolver extends BaseSolver {
|
|
|
1229
1227
|
connMap?: ConnectivityMap;
|
|
1230
1228
|
obstacleSegments: IndexedObstacleSegment[];
|
|
1231
1229
|
obstacleSegmentIndex: Flatbush | null;
|
|
1230
|
+
obstacleSegmentsByLayer: Map<number, IndexedObstacleSegment[]>;
|
|
1231
|
+
obstacleSegmentIndexByLayer: Map<number, Flatbush>;
|
|
1232
1232
|
obstacleVias: IndexedObstacleVia[];
|
|
1233
1233
|
obstacleViaIndex: Flatbush | null;
|
|
1234
1234
|
/** For debugging/animating the exploration */
|
|
1235
|
-
debug_exploredNodesOrdered:
|
|
1236
|
-
|
|
1237
|
-
|
|
1235
|
+
debug_exploredNodesOrdered: Array<{
|
|
1236
|
+
key: number;
|
|
1237
|
+
x: number;
|
|
1238
|
+
y: number;
|
|
1239
|
+
z: number;
|
|
1240
|
+
}>;
|
|
1241
|
+
debug_nodesTooCloseToObstacle: Set<number>;
|
|
1242
|
+
debug_nodePathToParentIntersectsObstacle: Set<number>;
|
|
1238
1243
|
debugEnabled: boolean;
|
|
1239
1244
|
initialNodeGridOffset: {
|
|
1240
1245
|
x: number;
|
|
@@ -1271,17 +1276,20 @@ declare class SingleHighDensityRouteSolver extends BaseSolver {
|
|
|
1271
1276
|
hyperParameters?: Partial<HighDensityHyperParameters>;
|
|
1272
1277
|
connMap?: ConnectivityMap;
|
|
1273
1278
|
nearbySegmentClearance?: number;
|
|
1279
|
+
captureSearchDebug?: boolean;
|
|
1274
1280
|
});
|
|
1275
1281
|
handleSimpleCases(): void;
|
|
1276
1282
|
get viaPenaltyDistance(): number;
|
|
1277
|
-
isNodeTooCloseToObstacle(node: Node, margin?: number, isVia?: boolean): boolean;
|
|
1283
|
+
isNodeTooCloseToObstacle(node: Node, margin?: number, isVia?: boolean, planarObstacleQuery?: PlanarObstacleQuery): boolean;
|
|
1278
1284
|
isNodeTooCloseToEdge(node: Node, isVia?: boolean): boolean;
|
|
1279
|
-
doesPathToParentIntersectObstacle(node: Node): boolean;
|
|
1285
|
+
doesPathToParentIntersectObstacle(node: Node, planarObstacleQuery?: PlanarObstacleQuery): boolean;
|
|
1286
|
+
getPlanarObstacleQuery(node: Node): PlanarObstacleQuery | undefined;
|
|
1280
1287
|
buildObstacleIndexes(): void;
|
|
1281
1288
|
computeH(node: Node): number;
|
|
1282
1289
|
computeG(node: Node): number;
|
|
1283
1290
|
computeF(g: number, h: number): number;
|
|
1284
|
-
|
|
1291
|
+
setNodeCosts(node: Node): void;
|
|
1292
|
+
getNodeKey(node: Node): number;
|
|
1285
1293
|
getNeighbors(node: Node): Node[];
|
|
1286
1294
|
getNodePath(node: Node): Node[];
|
|
1287
1295
|
getViasInNodePath(node: Node): {
|
|
@@ -1289,7 +1297,7 @@ declare class SingleHighDensityRouteSolver extends BaseSolver {
|
|
|
1289
1297
|
y: number;
|
|
1290
1298
|
}[];
|
|
1291
1299
|
setSolvedPath(node: Node): void;
|
|
1292
|
-
computeProgress(currentNode
|
|
1300
|
+
computeProgress(currentNode?: Node, goalDist?: number, isOnLayer?: boolean): number;
|
|
1293
1301
|
_step(): void;
|
|
1294
1302
|
visualize(): GraphicsObject;
|
|
1295
1303
|
}
|
|
@@ -1305,12 +1313,20 @@ type IndexedObstacleSegment = {
|
|
|
1305
1313
|
y: number;
|
|
1306
1314
|
z: number;
|
|
1307
1315
|
};
|
|
1316
|
+
minX: number;
|
|
1317
|
+
minY: number;
|
|
1318
|
+
maxX: number;
|
|
1319
|
+
maxY: number;
|
|
1308
1320
|
connectedToCurrentConnection: boolean;
|
|
1309
1321
|
};
|
|
1310
1322
|
type IndexedObstacleVia = {
|
|
1311
1323
|
x: number;
|
|
1312
1324
|
y: number;
|
|
1313
1325
|
};
|
|
1326
|
+
type PlanarObstacleQuery = {
|
|
1327
|
+
segments: IndexedObstacleSegment[];
|
|
1328
|
+
segmentIds: number[];
|
|
1329
|
+
};
|
|
1314
1330
|
|
|
1315
1331
|
type ConnectionPoint = {
|
|
1316
1332
|
x: number;
|
|
@@ -1340,6 +1356,7 @@ declare class IntraNodeRouteSolver extends BaseSolver {
|
|
|
1340
1356
|
viaDiameter: number;
|
|
1341
1357
|
traceWidth: number;
|
|
1342
1358
|
obstacleMargin: number;
|
|
1359
|
+
captureSearchDebug: boolean;
|
|
1343
1360
|
rerouteAttemptsByConnection: Map<string, number>;
|
|
1344
1361
|
POSTROUTE_VIA_TRACE_CLEARANCE: number;
|
|
1345
1362
|
MAX_POSTROUTE_REPAIR_ATTEMPTS: number;
|
|
@@ -1355,6 +1372,7 @@ declare class IntraNodeRouteSolver extends BaseSolver {
|
|
|
1355
1372
|
viaDiameter?: number;
|
|
1356
1373
|
traceWidth?: number;
|
|
1357
1374
|
obstacleMargin?: number;
|
|
1375
|
+
captureSearchDebug?: boolean;
|
|
1358
1376
|
obstacles?: Obstacle[];
|
|
1359
1377
|
layerCount?: number;
|
|
1360
1378
|
});
|
|
@@ -1878,6 +1896,7 @@ declare class HighDensitySolver extends BaseSolver {
|
|
|
1878
1896
|
preserveTerminalPcbPortIds: boolean;
|
|
1879
1897
|
growShrinkMaxInnerIterationsPerGrowthAttempt?: number;
|
|
1880
1898
|
growShrinkFallbackToInvalidGeometryOnFailure: boolean;
|
|
1899
|
+
captureSearchDebug: boolean;
|
|
1881
1900
|
failedSolvers: HighDensityIntraNodeSolver[];
|
|
1882
1901
|
activeSubSolver: HighDensityIntraNodeSolver | null;
|
|
1883
1902
|
connMap?: ConnectivityMap;
|
|
@@ -1891,7 +1910,7 @@ declare class HighDensitySolver extends BaseSolver {
|
|
|
1891
1910
|
nodePf: number | null;
|
|
1892
1911
|
error?: string;
|
|
1893
1912
|
}>;
|
|
1894
|
-
constructor({ nodePortPoints, colorMap, connMap, viaDiameter, traceWidth, obstacleMargin, effort, nodePfById, obstacles, layerCount, useGrowShrinkHighDensityIntraNodeSolver, preserveTerminalPcbPortIds, growShrinkMaxInnerIterationsPerGrowthAttempt, growShrinkFallbackToInvalidGeometryOnFailure, }: {
|
|
1913
|
+
constructor({ nodePortPoints, colorMap, connMap, viaDiameter, traceWidth, obstacleMargin, effort, nodePfById, obstacles, layerCount, useGrowShrinkHighDensityIntraNodeSolver, preserveTerminalPcbPortIds, growShrinkMaxInnerIterationsPerGrowthAttempt, growShrinkFallbackToInvalidGeometryOnFailure, captureSearchDebug, }: {
|
|
1895
1914
|
nodePortPoints: NodeWithPortPoints[];
|
|
1896
1915
|
colorMap?: Record<string, string>;
|
|
1897
1916
|
connMap?: ConnectivityMap;
|
|
@@ -1905,6 +1924,7 @@ declare class HighDensitySolver extends BaseSolver {
|
|
|
1905
1924
|
preserveTerminalPcbPortIds?: boolean;
|
|
1906
1925
|
growShrinkMaxInnerIterationsPerGrowthAttempt?: number;
|
|
1907
1926
|
growShrinkFallbackToInvalidGeometryOnFailure?: boolean;
|
|
1927
|
+
captureSearchDebug?: boolean;
|
|
1908
1928
|
nodePfById?: Map<CapacityMeshNodeId, number | null> | Record<string, number | null>;
|
|
1909
1929
|
});
|
|
1910
1930
|
private getSolvedNodeSolverType;
|
|
@@ -5041,6 +5061,14 @@ type ChangedPreloadedTraceSection = {
|
|
|
5041
5061
|
declare class TinyHypergraphPortPointPathingSolver extends BaseSolver {
|
|
5042
5062
|
private params;
|
|
5043
5063
|
private tinyPipelineSolver;
|
|
5064
|
+
private primaryTinyPipelineSolver?;
|
|
5065
|
+
private alternativeTinyPipelineSolver?;
|
|
5066
|
+
private alternativeTinyPipelineInput?;
|
|
5067
|
+
private candidatePortfolioPhase;
|
|
5068
|
+
private primaryCandidateSummary?;
|
|
5069
|
+
private alternativeCandidateSummary?;
|
|
5070
|
+
private alternativeCandidateEvaluated;
|
|
5071
|
+
private selectedCandidate;
|
|
5044
5072
|
private duplicateCongestedPortReport?;
|
|
5045
5073
|
private duplicateCongestedPortError?;
|
|
5046
5074
|
private duplicatedPortCount;
|
|
@@ -5050,8 +5078,18 @@ declare class TinyHypergraphPortPointPathingSolver extends BaseSolver {
|
|
|
5050
5078
|
private rootConnectionNameByConnectionId;
|
|
5051
5079
|
constructor(params: HgPortPointPathingSolverParams);
|
|
5052
5080
|
getSolverName(): string;
|
|
5081
|
+
private summarizePipelineCandidate;
|
|
5082
|
+
private shouldEvaluateAlternative;
|
|
5083
|
+
private shouldSelectAlternative;
|
|
5084
|
+
private finishCandidatePortfolio;
|
|
5053
5085
|
getSolveGraphBenchmarkMetrics(): {
|
|
5054
5086
|
routeCount: number;
|
|
5087
|
+
traceDensityCandidateEvaluated: boolean;
|
|
5088
|
+
traceDensityCandidateSelected: boolean;
|
|
5089
|
+
downstreamNodePfSum: number | undefined;
|
|
5090
|
+
downstreamNodePfSquaredSum: number | undefined;
|
|
5091
|
+
downstreamNodePfMax: number | undefined;
|
|
5092
|
+
downstreamSquaredNodePortPointCount: number | undefined;
|
|
5055
5093
|
iterations: number;
|
|
5056
5094
|
timeMs: number;
|
|
5057
5095
|
ripCount: any;
|
|
@@ -5069,6 +5107,8 @@ declare class TinyHypergraphPortPointPathingSolver extends BaseSolver {
|
|
|
5069
5107
|
bestSolvedSquaredRegionSegmentCount: any;
|
|
5070
5108
|
finalMaxRegionSegmentCount: number;
|
|
5071
5109
|
finalSquaredRegionSegmentCount: number;
|
|
5110
|
+
finalSegmentCount: number | undefined;
|
|
5111
|
+
finalLayerChangeCount: number | undefined;
|
|
5072
5112
|
warmupFullRipAttempts: any;
|
|
5073
5113
|
complexityAwareSelection: any;
|
|
5074
5114
|
targetReached: any;
|
|
@@ -7378,7 +7418,7 @@ declare class SingleHighDensityRouteWithJumpersSolver extends BaseSolver {
|
|
|
7378
7418
|
getNeighbors(node: JumperNode): JumperNode[];
|
|
7379
7419
|
getNodePath(node: JumperNode): JumperNode[];
|
|
7380
7420
|
setSolvedPath(node: JumperNode): void;
|
|
7381
|
-
computeProgress(currentNode
|
|
7421
|
+
computeProgress(currentNode?: JumperNode, goalDist?: number): number;
|
|
7382
7422
|
_step(): void;
|
|
7383
7423
|
/**
|
|
7384
7424
|
* Draw the two pads of an 0603 jumper
|