@tscircuit/capacity-autorouter 0.0.553 → 0.0.555

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 CHANGED
@@ -5482,7 +5482,7 @@ interface ComponentDetectionSolverParams {
5482
5482
  }
5483
5483
  interface DetectedComponent {
5484
5484
  componentId: string;
5485
- componentKind: "bga" | "qfp" | "soic";
5485
+ componentKind: "bga" | "qfp" | "qfp_thermalpad" | "soic";
5486
5486
  memberObstacleIds: string[];
5487
5487
  memberObstacles: Obstacle[];
5488
5488
  replacementObstacle: Obstacle;
@@ -5560,6 +5560,33 @@ declare class QfpTopologyGeneratorSolver extends BaseSolver$1 {
5560
5560
  getOutput(): QfpTopologyGeneratorSolverOutput;
5561
5561
  }
5562
5562
 
5563
+ interface QfpThermalPadTopologyGeneratorSolverParams {
5564
+ inputSrj: SimpleRouteJson;
5565
+ componentId?: string;
5566
+ replacementObstacleId?: string;
5567
+ viaDiameter?: number;
5568
+ obstacleMargin?: number;
5569
+ }
5570
+ interface QfpThermalPadTopologyGeneratorSolverOutput {
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 QFP pad ring and central thermal pad. */
5574
+ routingRegions: CapacityMeshNode[];
5575
+ }
5576
+ /**
5577
+ * Builds the fixed QFP-with-thermal-pad topology. The central region is an
5578
+ * obstacle, so free space is modeled as perimeter gaps, inner pad clearances,
5579
+ * outer corners, and three rectangular regions around each thermal-pad corner.
5580
+ */
5581
+ declare class QfpThermalPadTopologyGeneratorSolver extends BaseSolver$1 {
5582
+ readonly inputProblem: QfpThermalPadTopologyGeneratorSolverParams;
5583
+ private output;
5584
+ constructor(inputProblem: QfpThermalPadTopologyGeneratorSolverParams);
5585
+ getConstructorParams(): readonly [QfpThermalPadTopologyGeneratorSolverParams];
5586
+ _step(): void;
5587
+ getOutput(): QfpThermalPadTopologyGeneratorSolverOutput;
5588
+ }
5589
+
5563
5590
  interface SoicTopologyGeneratorSolverParams {
5564
5591
  inputSrj: SimpleRouteJson;
5565
5592
  componentId?: string;
@@ -5589,7 +5616,7 @@ declare class SoicTopologyGeneratorSolver extends BaseSolver$1 {
5589
5616
  interface ComponentTopologyBatchSolverParams {
5590
5617
  componentSrjs: SimpleRouteJson[];
5591
5618
  componentIds: string[];
5592
- componentKinds: Array<"bga" | "qfp" | "soic" | undefined>;
5619
+ componentKinds: Array<"bga" | "qfp" | "qfp_thermalpad" | "soic" | undefined>;
5593
5620
  replacementObstacleIds: Array<string | undefined>;
5594
5621
  viaDiameter?: number;
5595
5622
  obstacleMargin?: number;
@@ -5600,7 +5627,7 @@ interface ComponentTopologyBatchSolverOutput {
5600
5627
  /** Runs one component-local topology solve per component SRJ and collects the routing regions. */
5601
5628
  declare class ComponentTopologyBatchSolver extends BaseSolver$1 {
5602
5629
  readonly inputProblem: ComponentTopologyBatchSolverParams;
5603
- activeSubSolver?: BgaTopologyGeneratorSolver | QfpTopologyGeneratorSolver | SoicTopologyGeneratorSolver | null;
5630
+ activeSubSolver?: BgaTopologyGeneratorSolver | QfpTopologyGeneratorSolver | QfpThermalPadTopologyGeneratorSolver | SoicTopologyGeneratorSolver | null;
5604
5631
  currentIndex: number;
5605
5632
  componentMeshNodes: CapacityMeshNode[][];
5606
5633
  constructor(inputProblem: ComponentTopologyBatchSolverParams);
@@ -5612,7 +5639,7 @@ declare class ComponentTopologyBatchSolver extends BaseSolver$1 {
5612
5639
 
5613
5640
  interface SerializedTopologyComponentInput {
5614
5641
  componentId: string;
5615
- componentKind?: "bga" | "qfp" | "soic";
5642
+ componentKind?: "bga" | "qfp" | "qfp_thermalpad" | "soic";
5616
5643
  memberObstacleIds: string[];
5617
5644
  memberObstacles: Obstacle[];
5618
5645
  replacementObstacle: Obstacle;