@tscircuit/capacity-autorouter 0.0.551 → 0.0.553
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 -3
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -227,6 +227,9 @@ interface CapacityMeshNode {
|
|
|
227
227
|
_adjacentNodeIds?: CapacityMeshNodeId[];
|
|
228
228
|
_offBoardConnectionId?: string;
|
|
229
229
|
_offBoardConnectedCapacityMeshNodeIds?: CapacityMeshNodeId[];
|
|
230
|
+
_qfpRegionType?: "center" | "pad" | "pad-gap" | "corner";
|
|
231
|
+
_isNarrowQfpPadGap?: boolean;
|
|
232
|
+
_soicRegionType?: "center" | "pad" | "pad-gap";
|
|
230
233
|
_parent?: CapacityMeshNode;
|
|
231
234
|
}
|
|
232
235
|
interface CapacityMeshEdge {
|
|
@@ -442,6 +445,7 @@ interface InputPortPoint {
|
|
|
442
445
|
connectionNodeIds: [CapacityMeshNodeId, CapacityMeshNodeId];
|
|
443
446
|
/** XY distance to the centermost port on this Z level (centermost port has distance 0) */
|
|
444
447
|
distToCentermostPortOnZ: number;
|
|
448
|
+
cramped?: boolean;
|
|
445
449
|
connectsToOffBoardNode?: boolean;
|
|
446
450
|
}
|
|
447
451
|
/**
|
|
@@ -465,6 +469,8 @@ interface InputNodeWithPortPoints {
|
|
|
465
469
|
_containsObstacle?: boolean;
|
|
466
470
|
_offBoardConnectionId?: string;
|
|
467
471
|
_offBoardConnectedCapacityMeshNodeIds?: CapacityMeshNodeId[];
|
|
472
|
+
_qfpRegionType?: "center" | "pad" | "pad-gap" | "corner";
|
|
473
|
+
_isNarrowQfpPadGap?: boolean;
|
|
468
474
|
}
|
|
469
475
|
/**
|
|
470
476
|
* A candidate in the A* search. Represents being at a port point,
|
|
@@ -4652,6 +4658,7 @@ type RawPort = {
|
|
|
4652
4658
|
y: number;
|
|
4653
4659
|
z: number;
|
|
4654
4660
|
distToCentermostPortOnZ: number;
|
|
4661
|
+
cramped?: boolean;
|
|
4655
4662
|
regions: RegionHg[];
|
|
4656
4663
|
tinyHypergraphPortPenalty?: number;
|
|
4657
4664
|
};
|
|
@@ -5446,6 +5453,7 @@ declare class RectBoundsComponentDetectionStage extends BaseSolver$1 {
|
|
|
5446
5453
|
readonly inputSrj: SimpleRouteJson;
|
|
5447
5454
|
private initialized;
|
|
5448
5455
|
private groupedComponentObstacles;
|
|
5456
|
+
private groupedComponentKinds;
|
|
5449
5457
|
private unprocessedComponentIds;
|
|
5450
5458
|
private passThroughObstacles;
|
|
5451
5459
|
private detectedComponents;
|
|
@@ -5474,6 +5482,7 @@ interface ComponentDetectionSolverParams {
|
|
|
5474
5482
|
}
|
|
5475
5483
|
interface DetectedComponent {
|
|
5476
5484
|
componentId: string;
|
|
5485
|
+
componentKind: "bga" | "qfp" | "soic";
|
|
5477
5486
|
memberObstacleIds: string[];
|
|
5478
5487
|
memberObstacles: Obstacle[];
|
|
5479
5488
|
replacementObstacle: Obstacle;
|
|
@@ -5490,7 +5499,6 @@ interface ComponentDetectionSolverOutput {
|
|
|
5490
5499
|
declare class ComponentDetectionSolver extends BasePipelineSolver<ComponentDetectionSolverParams> {
|
|
5491
5500
|
rectBoundsComponentDetection?: RectBoundsComponentDetectionStage;
|
|
5492
5501
|
pipelineDef: PipelineStep$a<BaseSolver$1>[];
|
|
5493
|
-
constructor(params: ComponentDetectionSolverParams);
|
|
5494
5502
|
getConstructorParams(): readonly [ComponentDetectionSolverParams];
|
|
5495
5503
|
getOutput(): ComponentDetectionSolverOutput;
|
|
5496
5504
|
initialVisualize(): GraphicsObject | null;
|
|
@@ -5526,18 +5534,73 @@ declare class BgaTopologyGeneratorSolver extends BaseSolver$1 {
|
|
|
5526
5534
|
getOutput(): BgaTopologyGeneratorSolverOutput;
|
|
5527
5535
|
}
|
|
5528
5536
|
|
|
5537
|
+
interface QfpTopologyGeneratorSolverParams {
|
|
5538
|
+
inputSrj: SimpleRouteJson;
|
|
5539
|
+
componentId?: string;
|
|
5540
|
+
replacementObstacleId?: string;
|
|
5541
|
+
viaDiameter?: number;
|
|
5542
|
+
obstacleMargin?: number;
|
|
5543
|
+
}
|
|
5544
|
+
interface QfpTopologyGeneratorSolverOutput {
|
|
5545
|
+
/** Exact obstacle rectangles cloned from the input SRJ. This is the geometry source of truth. */
|
|
5546
|
+
obstacles: Obstacle[];
|
|
5547
|
+
/** Routing regions derived from the QFP pad ring. These are not obstacle rectangles. */
|
|
5548
|
+
routingRegions: CapacityMeshNode[];
|
|
5549
|
+
}
|
|
5550
|
+
/**
|
|
5551
|
+
* Builds the fixed QFP topology: one large central region plus perimeter gap
|
|
5552
|
+
* and corner regions between the package pads.
|
|
5553
|
+
*/
|
|
5554
|
+
declare class QfpTopologyGeneratorSolver extends BaseSolver$1 {
|
|
5555
|
+
readonly inputProblem: QfpTopologyGeneratorSolverParams;
|
|
5556
|
+
private output;
|
|
5557
|
+
constructor(inputProblem: QfpTopologyGeneratorSolverParams);
|
|
5558
|
+
getConstructorParams(): readonly [QfpTopologyGeneratorSolverParams];
|
|
5559
|
+
_step(): void;
|
|
5560
|
+
getOutput(): QfpTopologyGeneratorSolverOutput;
|
|
5561
|
+
}
|
|
5562
|
+
|
|
5563
|
+
interface SoicTopologyGeneratorSolverParams {
|
|
5564
|
+
inputSrj: SimpleRouteJson;
|
|
5565
|
+
componentId?: string;
|
|
5566
|
+
replacementObstacleId?: string;
|
|
5567
|
+
viaDiameter?: number;
|
|
5568
|
+
obstacleMargin?: number;
|
|
5569
|
+
}
|
|
5570
|
+
interface SoicTopologyGeneratorSolverOutput {
|
|
5571
|
+
/** Exact obstacle rectangles cloned from the input SRJ. This is the geometry source of truth. */
|
|
5572
|
+
obstacles: Obstacle[];
|
|
5573
|
+
/** Routing regions derived from the SOIC pad rows/columns. These are not obstacle rectangles. */
|
|
5574
|
+
routingRegions: CapacityMeshNode[];
|
|
5575
|
+
}
|
|
5576
|
+
/**
|
|
5577
|
+
* Builds a fixed SOIC topology: a central body-gap region plus the routable
|
|
5578
|
+
* regions between adjacent pads on the two populated sides.
|
|
5579
|
+
*/
|
|
5580
|
+
declare class SoicTopologyGeneratorSolver extends BaseSolver$1 {
|
|
5581
|
+
readonly inputProblem: SoicTopologyGeneratorSolverParams;
|
|
5582
|
+
private output;
|
|
5583
|
+
constructor(inputProblem: SoicTopologyGeneratorSolverParams);
|
|
5584
|
+
getConstructorParams(): readonly [SoicTopologyGeneratorSolverParams];
|
|
5585
|
+
_step(): void;
|
|
5586
|
+
getOutput(): SoicTopologyGeneratorSolverOutput;
|
|
5587
|
+
}
|
|
5588
|
+
|
|
5529
5589
|
interface ComponentTopologyBatchSolverParams {
|
|
5530
5590
|
componentSrjs: SimpleRouteJson[];
|
|
5531
5591
|
componentIds: string[];
|
|
5592
|
+
componentKinds: Array<"bga" | "qfp" | "soic" | undefined>;
|
|
5532
5593
|
replacementObstacleIds: Array<string | undefined>;
|
|
5594
|
+
viaDiameter?: number;
|
|
5595
|
+
obstacleMargin?: number;
|
|
5533
5596
|
}
|
|
5534
5597
|
interface ComponentTopologyBatchSolverOutput {
|
|
5535
5598
|
componentMeshNodes: CapacityMeshNode[][];
|
|
5536
5599
|
}
|
|
5537
|
-
/** Runs one
|
|
5600
|
+
/** Runs one component-local topology solve per component SRJ and collects the routing regions. */
|
|
5538
5601
|
declare class ComponentTopologyBatchSolver extends BaseSolver$1 {
|
|
5539
5602
|
readonly inputProblem: ComponentTopologyBatchSolverParams;
|
|
5540
|
-
activeSubSolver?: BgaTopologyGeneratorSolver | null;
|
|
5603
|
+
activeSubSolver?: BgaTopologyGeneratorSolver | QfpTopologyGeneratorSolver | SoicTopologyGeneratorSolver | null;
|
|
5541
5604
|
currentIndex: number;
|
|
5542
5605
|
componentMeshNodes: CapacityMeshNode[][];
|
|
5543
5606
|
constructor(inputProblem: ComponentTopologyBatchSolverParams);
|
|
@@ -5549,6 +5612,7 @@ declare class ComponentTopologyBatchSolver extends BaseSolver$1 {
|
|
|
5549
5612
|
|
|
5550
5613
|
interface SerializedTopologyComponentInput {
|
|
5551
5614
|
componentId: string;
|
|
5615
|
+
componentKind?: "bga" | "qfp" | "soic";
|
|
5552
5616
|
memberObstacleIds: string[];
|
|
5553
5617
|
memberObstacles: Obstacle[];
|
|
5554
5618
|
replacementObstacle: Obstacle;
|
|
@@ -5558,6 +5622,8 @@ interface MultiGraphTopologyPlannerSolverParams {
|
|
|
5558
5622
|
globalNoConnectionSrj?: SimpleRouteJson;
|
|
5559
5623
|
components?: SerializedTopologyComponentInput[];
|
|
5560
5624
|
componentDetectionOutput?: ComponentDetectionSolverOutput;
|
|
5625
|
+
viaDiameter?: number;
|
|
5626
|
+
obstacleMargin?: number;
|
|
5561
5627
|
brokenSrj?: {
|
|
5562
5628
|
global: SimpleRouteJson;
|
|
5563
5629
|
components: SerializedTopologyComponentInput[];
|