@tscircuit/capacity-autorouter 0.0.565 → 0.0.567

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
@@ -305,6 +305,7 @@ type HighDensityIntraNodeRoute$1 = {
305
305
  y: number;
306
306
  }>;
307
307
  jumpers?: Jumper[];
308
+ regionId?: string;
308
309
  };
309
310
  type HighDensityRoute$1 = HighDensityIntraNodeRoute$1;
310
311
  /**
@@ -334,6 +335,7 @@ type Jumper = {
334
335
  type HighDensityIntraNodeRouteWithJumpers = {
335
336
  connectionName: string;
336
337
  rootConnectionName?: string;
338
+ regionId?: string;
337
339
  traceThickness: number;
338
340
  route: Array<{
339
341
  x: number;
@@ -1092,6 +1094,7 @@ declare class SingleRouteCandidatePriorityQueue<T extends Node = Node> {
1092
1094
  type FutureConnection$1 = {
1093
1095
  connectionName: string;
1094
1096
  rootConnectionName?: string;
1097
+ regionId?: string;
1095
1098
  points: {
1096
1099
  x: number;
1097
1100
  y: number;
@@ -1142,6 +1145,7 @@ declare class SingleHighDensityRouteSolver extends BaseSolver {
1142
1145
  candidates: SingleRouteCandidatePriorityQueue;
1143
1146
  connectionName: string;
1144
1147
  rootConnectionName?: string;
1148
+ regionId?: string;
1145
1149
  solvedPath: HighDensityIntraNodeRoute$1 | null;
1146
1150
  futureConnections: FutureConnection$1[];
1147
1151
  hyperParameters: Partial<HighDensityHyperParameters>;
@@ -1162,6 +1166,7 @@ declare class SingleHighDensityRouteSolver extends BaseSolver {
1162
1166
  constructor(opts: {
1163
1167
  connectionName: string;
1164
1168
  rootConnectionName?: string;
1169
+ regionId?: string;
1165
1170
  obstacleRoutes: HighDensityIntraNodeRoute$1[];
1166
1171
  minDistBetweenEnteringPoints: number;
1167
1172
  bounds: {
@@ -5566,57 +5571,57 @@ declare class BgaTopologyGeneratorSolver extends BaseSolver$1 {
5566
5571
  getOutput(): BgaTopologyGeneratorSolverOutput;
5567
5572
  }
5568
5573
 
5569
- interface QfpTopologyGeneratorSolverParams {
5574
+ interface QfpThermalPadTopologyGeneratorSolverParams {
5570
5575
  inputSrj: SimpleRouteJson;
5571
5576
  componentId?: string;
5572
5577
  replacementObstacleId?: string;
5573
5578
  viaDiameter?: number;
5574
5579
  obstacleMargin?: number;
5575
5580
  }
5576
- interface QfpTopologyGeneratorSolverOutput {
5581
+ interface QfpThermalPadTopologyGeneratorSolverOutput {
5577
5582
  /** Exact obstacle rectangles cloned from the input SRJ. This is the geometry source of truth. */
5578
5583
  obstacles: Obstacle[];
5579
- /** Routing regions derived from the QFP pad ring. These are not obstacle rectangles. */
5584
+ /** Routing regions derived from the QFP pad ring and central thermal pad. */
5580
5585
  routingRegions: CapacityMeshNode[];
5581
5586
  }
5582
5587
  /**
5583
- * Builds the fixed QFP topology: one large central region plus perimeter gap
5584
- * and corner regions between the package pads.
5588
+ * Builds the fixed QFP-with-thermal-pad topology. The central region is an
5589
+ * obstacle, so free space is modeled as perimeter gaps, inner pad clearances,
5590
+ * outer corners, and three rectangular regions around each thermal-pad corner.
5585
5591
  */
5586
- declare class QfpTopologyGeneratorSolver extends BaseSolver$1 {
5587
- readonly inputProblem: QfpTopologyGeneratorSolverParams;
5592
+ declare class QfpThermalPadTopologyGeneratorSolver extends BaseSolver$1 {
5593
+ readonly inputProblem: QfpThermalPadTopologyGeneratorSolverParams;
5588
5594
  private output;
5589
- constructor(inputProblem: QfpTopologyGeneratorSolverParams);
5590
- getConstructorParams(): readonly [QfpTopologyGeneratorSolverParams];
5595
+ constructor(inputProblem: QfpThermalPadTopologyGeneratorSolverParams);
5596
+ getConstructorParams(): readonly [QfpThermalPadTopologyGeneratorSolverParams];
5591
5597
  _step(): void;
5592
- getOutput(): QfpTopologyGeneratorSolverOutput;
5598
+ getOutput(): QfpThermalPadTopologyGeneratorSolverOutput;
5593
5599
  }
5594
5600
 
5595
- interface QfpThermalPadTopologyGeneratorSolverParams {
5601
+ interface QfpTopologyGeneratorSolverParams {
5596
5602
  inputSrj: SimpleRouteJson;
5597
5603
  componentId?: string;
5598
5604
  replacementObstacleId?: string;
5599
5605
  viaDiameter?: number;
5600
5606
  obstacleMargin?: number;
5601
5607
  }
5602
- interface QfpThermalPadTopologyGeneratorSolverOutput {
5608
+ interface QfpTopologyGeneratorSolverOutput {
5603
5609
  /** Exact obstacle rectangles cloned from the input SRJ. This is the geometry source of truth. */
5604
5610
  obstacles: Obstacle[];
5605
- /** Routing regions derived from the QFP pad ring and central thermal pad. */
5611
+ /** Routing regions derived from the QFP pad ring. These are not obstacle rectangles. */
5606
5612
  routingRegions: CapacityMeshNode[];
5607
5613
  }
5608
5614
  /**
5609
- * Builds the fixed QFP-with-thermal-pad topology. The central region is an
5610
- * obstacle, so free space is modeled as perimeter gaps, inner pad clearances,
5611
- * outer corners, and three rectangular regions around each thermal-pad corner.
5615
+ * Builds the fixed QFP topology: one large central region plus perimeter gap
5616
+ * and corner regions between the package pads.
5612
5617
  */
5613
- declare class QfpThermalPadTopologyGeneratorSolver extends BaseSolver$1 {
5614
- readonly inputProblem: QfpThermalPadTopologyGeneratorSolverParams;
5618
+ declare class QfpTopologyGeneratorSolver extends BaseSolver$1 {
5619
+ readonly inputProblem: QfpTopologyGeneratorSolverParams;
5615
5620
  private output;
5616
- constructor(inputProblem: QfpThermalPadTopologyGeneratorSolverParams);
5617
- getConstructorParams(): readonly [QfpThermalPadTopologyGeneratorSolverParams];
5621
+ constructor(inputProblem: QfpTopologyGeneratorSolverParams);
5622
+ getConstructorParams(): readonly [QfpTopologyGeneratorSolverParams];
5618
5623
  _step(): void;
5619
- getOutput(): QfpThermalPadTopologyGeneratorSolverOutput;
5624
+ getOutput(): QfpTopologyGeneratorSolverOutput;
5620
5625
  }
5621
5626
 
5622
5627
  interface SoicTopologyGeneratorSolverParams {
@@ -5712,10 +5717,26 @@ declare class MultiGraphTopologyPlannerSolver extends BasePipelineSolver<MultiGr
5712
5717
  */
5713
5718
  getOutput(): MultiGraphTopologyPlannerSolverOutput;
5714
5719
  finalVisualize(): GraphicsObject | null;
5720
+ visualize(): GraphicsObject;
5721
+ preview(): GraphicsObject;
5715
5722
  /** Rebuilds each component-local SRJ from its original member obstacles. */
5716
5723
  private getComponentNoConnectionSrjs;
5717
5724
  /** Adapts the global no-connection SRJ into the RectDiffPipeline input shape. */
5718
5725
  private getGlobalTopologySolverInput;
5726
+ /**
5727
+ * Removes raw RectDiff node rects that are superseded by component-local
5728
+ * topology regions.
5729
+ *
5730
+ * @param params.visualization - Graphics output produced by the base
5731
+ * pipeline visualizer, including nested stage visualizations.
5732
+ * @returns A visualization with RectDiff node rectangles inside component
5733
+ * areas removed. Non-RectDiff rectangles and all lines, points, circles,
5734
+ * and text entries are returned unchanged.
5735
+ *
5736
+ * @note This keeps intermediate RectDiff visualization consistent with the
5737
+ * merged topology output, which already removes those nodes from solver data.
5738
+ */
5739
+ private filterGlobalRectDiffNodesFromVisualization;
5719
5740
  }
5720
5741
 
5721
5742
  interface CapacityMeshSolverOptions$2 {
@@ -6541,6 +6562,7 @@ declare const reconnectReroutedSimpleRouteJsonRegion: (originalSrj: SimpleRouteJ
6541
6562
  type FutureConnection = {
6542
6563
  connectionName: string;
6543
6564
  rootConnectionName?: string;
6565
+ regionId?: string;
6544
6566
  points: {
6545
6567
  x: number;
6546
6568
  y: number;
@@ -6670,6 +6692,7 @@ declare class SingleHighDensityRouteWithJumpersSolver extends BaseSolver {
6670
6692
  candidates: SingleRouteCandidatePriorityQueue<JumperNode>;
6671
6693
  connectionName: string;
6672
6694
  rootConnectionName?: string;
6695
+ regionId?: string;
6673
6696
  solvedPath: HighDensityIntraNodeRouteWithJumpers | null;
6674
6697
  futureConnections: FutureConnection[];
6675
6698
  hyperParameters: Partial<HighDensityHyperParameters>;
@@ -6695,6 +6718,7 @@ declare class SingleHighDensityRouteWithJumpersSolver extends BaseSolver {
6695
6718
  constructor(opts: {
6696
6719
  connectionName: string;
6697
6720
  rootConnectionName?: string;
6721
+ regionId?: string;
6698
6722
  obstacleRoutes: HighDensityIntraNodeRouteWithJumpers[];
6699
6723
  minDistBetweenEnteringPoints: number;
6700
6724
  bounds: {