@tscircuit/capacity-autorouter 0.0.29 → 0.0.31
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 +69 -4
- package/dist/index.js +796 -340
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -75,6 +75,7 @@ interface CapacityMeshNode {
|
|
|
75
75
|
_targetConnectionName?: string;
|
|
76
76
|
_strawNode?: boolean;
|
|
77
77
|
_strawParentCapacityMeshNodeId?: CapacityMeshNodeId;
|
|
78
|
+
_adjacentNodeIds?: CapacityMeshNodeId[];
|
|
78
79
|
_parent?: CapacityMeshNode;
|
|
79
80
|
}
|
|
80
81
|
interface CapacityMeshEdge {
|
|
@@ -112,16 +113,55 @@ declare class CapacityMeshEdgeSolver extends BaseSolver {
|
|
|
112
113
|
constructor(nodes: CapacityMeshNode[]);
|
|
113
114
|
getNextCapacityMeshEdgeId(): string;
|
|
114
115
|
step(): void;
|
|
115
|
-
|
|
116
|
+
handleTargetNodes(): void;
|
|
117
|
+
doNodesHaveSharedLayer(node1: CapacityMeshNode, node2: CapacityMeshNode): boolean;
|
|
116
118
|
visualize(): GraphicsObject;
|
|
117
119
|
}
|
|
118
120
|
|
|
121
|
+
type BucketCoordinate$1 = `${number}x${number}`;
|
|
122
|
+
declare class ObstacleTree {
|
|
123
|
+
obstacles: Obstacle[];
|
|
124
|
+
buckets: Map<BucketCoordinate$1, [Obstacle, number][]>;
|
|
125
|
+
CELL_SIZE: number;
|
|
126
|
+
constructor(obstacles: Obstacle[]);
|
|
127
|
+
getBucketKey(x: number, y: number): BucketCoordinate$1;
|
|
128
|
+
getNodesInArea(centerX: number, centerY: number, width: number, height: number): Obstacle[];
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
interface Target$1 {
|
|
132
|
+
x: number;
|
|
133
|
+
y: number;
|
|
134
|
+
bounds: {
|
|
135
|
+
minX: number;
|
|
136
|
+
minY: number;
|
|
137
|
+
maxX: number;
|
|
138
|
+
maxY: number;
|
|
139
|
+
};
|
|
140
|
+
connectionName: string;
|
|
141
|
+
availableZ: number[];
|
|
142
|
+
}
|
|
143
|
+
type BucketCoordinate = `${number}x${number}`;
|
|
144
|
+
declare class TargetTree {
|
|
145
|
+
targets: Target$1[];
|
|
146
|
+
buckets: Map<BucketCoordinate, [Target$1, number][]>;
|
|
147
|
+
CELL_SIZE: number;
|
|
148
|
+
constructor(targets: Target$1[]);
|
|
149
|
+
getBucketKey(x: number, y: number): BucketCoordinate;
|
|
150
|
+
getTargetsInArea(centerX: number, centerY: number, width: number, height: number): Target$1[];
|
|
151
|
+
}
|
|
152
|
+
|
|
119
153
|
interface CapacityMeshNodeSolverOptions$1 {
|
|
120
154
|
capacityDepth?: number;
|
|
121
155
|
}
|
|
122
156
|
interface Target {
|
|
123
157
|
x: number;
|
|
124
158
|
y: number;
|
|
159
|
+
bounds: {
|
|
160
|
+
minX: number;
|
|
161
|
+
minY: number;
|
|
162
|
+
maxX: number;
|
|
163
|
+
maxY: number;
|
|
164
|
+
};
|
|
125
165
|
connectionName: string;
|
|
126
166
|
availableZ: number[];
|
|
127
167
|
}
|
|
@@ -134,7 +174,10 @@ declare class CapacityMeshNodeSolver extends BaseSolver {
|
|
|
134
174
|
layerCount: number;
|
|
135
175
|
MAX_DEPTH: number;
|
|
136
176
|
targets: Target[];
|
|
177
|
+
targetTree: TargetTree;
|
|
178
|
+
obstacleTree: ObstacleTree;
|
|
137
179
|
constructor(srj: SimpleRouteJson, opts?: CapacityMeshNodeSolverOptions$1);
|
|
180
|
+
computeTargets(): Target[];
|
|
138
181
|
_nextNodeCounter: number;
|
|
139
182
|
getNextNodeId(): string;
|
|
140
183
|
getCapacityFromDepth(depth: number): number;
|
|
@@ -963,6 +1006,11 @@ interface UnravelSection {
|
|
|
963
1006
|
segmentPairsInNode: Map<CapacityMeshNodeId, Array<[SegmentPointId, SegmentPointId]>>;
|
|
964
1007
|
segmentPointsInNode: Map<CapacityMeshNodeId, SegmentPointId[]>;
|
|
965
1008
|
segmentPointsInSegment: Map<SegmentId, SegmentPointId[]>;
|
|
1009
|
+
originalPointMap: Map<SegmentPointId, {
|
|
1010
|
+
x: number;
|
|
1011
|
+
y: number;
|
|
1012
|
+
z: number;
|
|
1013
|
+
}>;
|
|
966
1014
|
}
|
|
967
1015
|
interface UnravelChangeLayerOperation {
|
|
968
1016
|
type: "change_layer";
|
|
@@ -1011,6 +1059,12 @@ type UnravelCandidate = {
|
|
|
1011
1059
|
f: number;
|
|
1012
1060
|
};
|
|
1013
1061
|
|
|
1062
|
+
type SegmentPointMapAndReverseMaps = {
|
|
1063
|
+
segmentPointMap: SegmentPointMap;
|
|
1064
|
+
nodeToSegmentPointMap: Map<CapacityMeshNodeId, SegmentPointId[]>;
|
|
1065
|
+
segmentToSegmentPointMap: Map<SegmentId, SegmentPointId[]>;
|
|
1066
|
+
};
|
|
1067
|
+
|
|
1014
1068
|
/**
|
|
1015
1069
|
* The UntangleSectionSolver optimizes a section of connected capacity nodes
|
|
1016
1070
|
* with their deduplicated segments.
|
|
@@ -1066,8 +1120,10 @@ declare class UnravelSectionSolver extends BaseSolver {
|
|
|
1066
1120
|
nodeIdToSegmentIds: Map<CapacityMeshNodeId, CapacityMeshNodeId[]>;
|
|
1067
1121
|
segmentIdToNodeIds: Map<CapacityMeshNodeId, CapacityMeshNodeId[]>;
|
|
1068
1122
|
segmentPointMap?: SegmentPointMap;
|
|
1123
|
+
nodeToSegmentPointMap?: Map<CapacityMeshNodeId, SegmentPointId[]>;
|
|
1124
|
+
segmentToSegmentPointMap?: Map<SegmentId, SegmentPointId[]>;
|
|
1069
1125
|
});
|
|
1070
|
-
createUnravelSection(
|
|
1126
|
+
createUnravelSection(largeSpMaps?: SegmentPointMapAndReverseMaps): UnravelSection;
|
|
1071
1127
|
createInitialCandidate(): UnravelCandidate;
|
|
1072
1128
|
get nextCandidate(): UnravelCandidate | null;
|
|
1073
1129
|
getPointInCandidate(candidate: UnravelCandidate, segmentPointId: SegmentPointId): {
|
|
@@ -1083,7 +1139,7 @@ declare class UnravelSectionSolver extends BaseSolver {
|
|
|
1083
1139
|
operationsPerformed: number;
|
|
1084
1140
|
operation: UnravelOperation;
|
|
1085
1141
|
}): number;
|
|
1086
|
-
|
|
1142
|
+
getUnexploredNeighborByApplyingOperation(currentCandidate: UnravelCandidate, operation: UnravelOperation): UnravelCandidate | null;
|
|
1087
1143
|
getNeighborOperationsForCandidate(candidate: UnravelCandidate): UnravelOperation[];
|
|
1088
1144
|
getNeighbors(candidate: UnravelCandidate): UnravelCandidate[];
|
|
1089
1145
|
_step(): void;
|
|
@@ -1096,6 +1152,8 @@ declare class UnravelMultiSectionSolver extends BaseSolver {
|
|
|
1096
1152
|
dedupedSegments: SegmentWithAssignedPoints[];
|
|
1097
1153
|
nodeIdToSegmentIds: Map<CapacityMeshNodeId, CapacityMeshNodeId[]>;
|
|
1098
1154
|
segmentIdToNodeIds: Map<CapacityMeshNodeId, CapacityMeshNodeId[]>;
|
|
1155
|
+
nodeToSegmentPointMap: Map<CapacityMeshNodeId, SegmentPointId[]>;
|
|
1156
|
+
segmentToSegmentPointMap: Map<SegmentId, SegmentPointId[]>;
|
|
1099
1157
|
colorMap: Record<string, string>;
|
|
1100
1158
|
tunedNodeCapacityMap: Map<CapacityMeshNodeId, number>;
|
|
1101
1159
|
MAX_NODE_ATTEMPTS: number;
|
|
@@ -1186,9 +1244,12 @@ declare class SingleLayerNodeMergerSolver extends BaseSolver {
|
|
|
1186
1244
|
absorbedNodeIds: Set<CapacityMeshNodeId>;
|
|
1187
1245
|
nextBatchNodeIds: CapacityMeshNodeId[];
|
|
1188
1246
|
batchHadModifications: boolean;
|
|
1247
|
+
hasComputedAdjacentNodeIds: boolean;
|
|
1189
1248
|
newNodes: CapacityMeshNode[];
|
|
1190
1249
|
constructor(nodes: CapacityMeshNode[]);
|
|
1250
|
+
computeAdjacentNodeIdsForFirstBatch(nodes: CapacityMeshNode[]): void;
|
|
1191
1251
|
getAdjacentSameLayerUnprocessedNodes(rootNode: CapacityMeshNode): CapacityMeshNode[];
|
|
1252
|
+
getAdjacentSameLayerUnprocessedNodes2(rootNode: CapacityMeshNode): CapacityMeshNode[];
|
|
1192
1253
|
_step(): void;
|
|
1193
1254
|
visualize(): GraphicsObject;
|
|
1194
1255
|
}
|
|
@@ -1239,6 +1300,10 @@ declare class MultiSimplifiedPathSolver extends BaseSolver {
|
|
|
1239
1300
|
visualize(): GraphicsObject;
|
|
1240
1301
|
}
|
|
1241
1302
|
|
|
1303
|
+
declare class CapacityMeshEdgeSolver2_NodeTreeOptimization extends CapacityMeshEdgeSolver {
|
|
1304
|
+
step(): void;
|
|
1305
|
+
}
|
|
1306
|
+
|
|
1242
1307
|
interface CapacityMeshSolverOptions {
|
|
1243
1308
|
capacityDepth?: number;
|
|
1244
1309
|
targetMinCapacity?: number;
|
|
@@ -1274,7 +1339,7 @@ declare class CapacityMeshSolver extends BaseSolver {
|
|
|
1274
1339
|
connMap: ConnectivityMap;
|
|
1275
1340
|
srjWithPointPairs?: SimpleRouteJson;
|
|
1276
1341
|
capacityNodes: CapacityMeshNode[] | null;
|
|
1277
|
-
pipelineDef: (PipelineStep<typeof NetToPointPairsSolver> | PipelineStep<typeof CapacityMeshNodeSolver2_NodeUnderObstacle> | PipelineStep<typeof SingleLayerNodeMergerSolver> | PipelineStep<typeof StrawSolver> | PipelineStep<typeof
|
|
1342
|
+
pipelineDef: (PipelineStep<typeof NetToPointPairsSolver> | PipelineStep<typeof CapacityMeshNodeSolver2_NodeUnderObstacle> | PipelineStep<typeof SingleLayerNodeMergerSolver> | PipelineStep<typeof StrawSolver> | PipelineStep<typeof CapacityMeshEdgeSolver2_NodeTreeOptimization> | PipelineStep<typeof CapacityPathingSolver5> | PipelineStep<typeof CapacityEdgeToPortSegmentSolver> | PipelineStep<typeof CapacitySegmentToPointSolver> | PipelineStep<typeof UnravelMultiSectionSolver> | PipelineStep<typeof HighDensitySolver> | PipelineStep<typeof MultipleHighDensityRouteStitchSolver> | PipelineStep<typeof MultiSimplifiedPathSolver>)[];
|
|
1278
1343
|
constructor(srj: SimpleRouteJson, opts?: CapacityMeshSolverOptions);
|
|
1279
1344
|
currentPipelineStepIndex: number;
|
|
1280
1345
|
_step(): void;
|