@tscircuit/capacity-autorouter 0.0.640 → 0.0.642

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
@@ -5540,26 +5540,111 @@ declare class ComponentDetectionSolver extends BasePipelineSolver<ComponentDetec
5540
5540
  initialVisualize(): GraphicsObject | null;
5541
5541
  }
5542
5542
 
5543
- interface ComponentTopologyGeneratorSolverParams {
5544
- detectedComponents: DetectedComponent[];
5545
- inputSrj: SimpleRouteJson;
5543
+ /** Shared output collected from each component-specific topology generator. */
5544
+ interface TopologyGeneratorSolverOutput {
5545
+ routingRegions: CapacityMeshNode[];
5546
+ }
5547
+ type TopologyGeneratorSolver = BaseSolver$1 & {
5548
+ getOutput(): TopologyGeneratorSolverOutput;
5549
+ };
5550
+
5551
+ interface ComponentTopologyBatchSolverParams {
5552
+ componentSrjs: SimpleRouteJson[];
5553
+ componentIds: string[];
5554
+ componentKinds: ComponentKind[];
5546
5555
  viaDiameter?: number;
5547
5556
  obstacleMargin?: number;
5548
5557
  }
5549
- type ComponentTopologyGeneratorSolverOutput = CapacityMeshNode[];
5550
- declare class ComponentTopologyGeneratorSolver extends BaseSolver {
5551
- readonly inputProblem: ComponentTopologyGeneratorSolverParams;
5552
- private output;
5553
- private componentMeshNodes;
5554
- private currentComponentIndex;
5555
- private activeTopologyGenerator;
5556
- constructor(inputProblem: ComponentTopologyGeneratorSolverParams);
5557
- getConstructorParams(): readonly [ComponentTopologyGeneratorSolverParams];
5558
+ interface ComponentTopologyBatchSolverOutput {
5559
+ componentMeshNodes: CapacityMeshNode[][];
5560
+ }
5561
+ /** Runs one component-local topology solve per component SRJ and collects the routing regions. */
5562
+ declare class ComponentTopologyBatchSolver extends BaseSolver$1 {
5563
+ readonly inputProblem: ComponentTopologyBatchSolverParams;
5564
+ activeSubSolver: TopologyGeneratorSolver | null;
5565
+ currentIndex: number;
5566
+ componentMeshNodes: CapacityMeshNode[][];
5567
+ constructor(inputProblem: ComponentTopologyBatchSolverParams);
5568
+ getConstructorParams(): readonly [ComponentTopologyBatchSolverParams];
5569
+ /** Steps through component solves sequentially to keep solver state simple and explicit. */
5558
5570
  _step(): void;
5559
- private finalizeComponentTopology;
5560
- createComponentObstacleSrj(inputSrj?: SimpleRouteJson): SimpleRouteJson;
5571
+ getOutput(): ComponentTopologyBatchSolverOutput;
5572
+ visualize(): GraphicsObject;
5573
+ }
5574
+
5575
+ interface SerializedTopologyComponentInput {
5576
+ componentId: string;
5577
+ componentKind: ComponentKind;
5578
+ memberObstacleIds: string[];
5579
+ memberObstacles: Obstacle[];
5580
+ replacementObstacle: Obstacle & {
5581
+ obstacleId: string;
5582
+ };
5583
+ }
5584
+ interface MultiGraphTopologyPlannerSolverParams {
5585
+ inputSrj: SimpleRouteJson;
5586
+ globalNoConnectionSrj?: SimpleRouteJson;
5587
+ components?: SerializedTopologyComponentInput[];
5588
+ componentDetectionOutput?: DetectedComponent[];
5589
+ viaDiameter?: number;
5590
+ obstacleMargin?: number;
5591
+ brokenSrj?: {
5592
+ componentsAsObstaclesSrj: SimpleRouteJson;
5593
+ components: SerializedTopologyComponentInput[];
5594
+ };
5595
+ }
5596
+ interface MultiGraphTopologyPlannerSolverOutput {
5597
+ globalNoConnectionSrj: SimpleRouteJson;
5598
+ componentNoConnectionSrjs: SimpleRouteJson[];
5599
+ globalMeshNodes: CapacityMeshNode[];
5600
+ componentMeshNodes: CapacityMeshNode[][];
5601
+ mergedMeshNodes: CapacityMeshNode[];
5602
+ }
5603
+ /**
5604
+ * Produces a merged routing topology where component replacement regions from
5605
+ * the global solve are substituted with component-local routing regions.
5606
+ */
5607
+ declare class MultiGraphTopologyPlannerSolver extends BasePipelineSolver<MultiGraphTopologyPlannerSolverParams> {
5608
+ globalTopologySolver?: RectDiffPipeline;
5609
+ componentTopologyBatchSolver?: ComponentTopologyBatchSolver;
5610
+ private normalizedInput;
5611
+ pipelineDef: PipelineStep$a<BaseSolver$1>[];
5612
+ constructor(params: MultiGraphTopologyPlannerSolverParams);
5613
+ getConstructorParams(): readonly [MultiGraphTopologyPlannerSolverParams];
5614
+ /**
5615
+ * Returns the global solve, the per-component solves, and the merged routing
5616
+ * regions used by downstream stages.
5617
+ */
5618
+ getOutput(): MultiGraphTopologyPlannerSolverOutput;
5619
+ finalVisualize(): GraphicsObject | null;
5620
+ visualize(): GraphicsObject;
5621
+ preview(): GraphicsObject;
5622
+ /** Rebuilds each component-local SRJ from its original member obstacles. */
5623
+ private getComponentNoConnectionSrjs;
5624
+ /** Adapts the global no-connection SRJ into the RectDiffPipeline input shape. */
5625
+ private getGlobalTopologySolverInput;
5626
+ /**
5627
+ * Removes raw RectDiff node rects that are superseded by component-local
5628
+ * topology regions.
5629
+ *
5630
+ * @param params.visualization - Graphics output produced by the base
5631
+ * pipeline visualizer, including nested stage visualizations.
5632
+ * @returns A visualization with RectDiff node rectangles inside component
5633
+ * areas removed. Non-RectDiff rectangles and all lines, points, circles,
5634
+ * and text entries are returned unchanged.
5635
+ *
5636
+ * @note This keeps intermediate RectDiff visualization consistent with the
5637
+ * merged topology output, which already removes those nodes from solver data.
5638
+ */
5639
+ private filterGlobalRectDiffNodesFromVisualization;
5640
+ }
5641
+
5642
+ declare class MergedComponentTopologyView extends BaseSolver {
5643
+ private readonly topologyPlanningSolver;
5644
+ constructor(topologyPlanningSolver: MultiGraphTopologyPlannerSolver);
5645
+ getOutput(): CapacityMeshNode[];
5561
5646
  visualize(): GraphicsObject;
5562
- getOutput(): ComponentTopologyGeneratorSolverOutput;
5647
+ preview(): GraphicsObject;
5563
5648
  }
5564
5649
 
5565
5650
  interface CapacityMeshSolverOptions$2 {
@@ -5584,7 +5669,8 @@ declare class AutoroutingPipelineSolver7_MultiGraph extends BaseSolver {
5584
5669
  preprocessSimpleRouteJsonSolver?: PreprocessSimpleRouteJsonSolver$1;
5585
5670
  escapeViaLocationSolver?: EscapeViaLocationSolver;
5586
5671
  netToPointPairsSolver?: NetToPointPairsSolver;
5587
- componentTopologyGeneratorSolver?: ComponentTopologyGeneratorSolver;
5672
+ componentTopologyGeneratorSolver?: MergedComponentTopologyView;
5673
+ topologyPlanningSolver?: MultiGraphTopologyPlannerSolver;
5588
5674
  globalTopologyGeneratorSolver?: RectDiffPipeline;
5589
5675
  nodeDimensionSubdivisionSolver?: NodeDimensionSubdivisionSolver;
5590
5676
  nodeTargetMerger?: CapacityNodeTargetMerger;
@@ -5627,7 +5713,7 @@ declare class AutoroutingPipelineSolver7_MultiGraph extends BaseSolver {
5627
5713
  sharedEdgeSegmentsWithNecessaryCrampedPortPoints?: SharedEdgeSegment[];
5628
5714
  highDensityNodePortPoints?: NodeWithPortPoints[];
5629
5715
  cacheProvider: CacheProvider | null;
5630
- pipelineDef: (PipelineStep$2<typeof PreprocessSimpleRouteJsonSolver$1> | PipelineStep$2<typeof ComponentDetectionSolver> | PipelineStep$2<typeof ComponentTopologyGeneratorSolver> | PipelineStep$2<typeof EscapeViaLocationSolver> | PipelineStep$2<typeof NetToPointPairsSolver2_OffBoardConnection> | PipelineStep$2<typeof RectDiffPipeline> | PipelineStep$2<typeof NodeDimensionSubdivisionSolver> | PipelineStep$2<typeof CapacityMeshEdgeSolver2_NodeTreeOptimization> | PipelineStep$2<typeof AvailableSegmentPointSolver> | PipelineStep$2<typeof MultiTargetNecessaryCrampedPortPointSolver> | PipelineStep$2<typeof TinyHypergraphPortPointPathingSolver> | PipelineStep$2<typeof UniformPortDistributionSolver> | PipelineStep$2<typeof HighDensitySolver> | PipelineStep$2<typeof HighDensityForceImproveSolver> | PipelineStep$2<typeof Pipeline4HighDensityRepairSolver> | PipelineStep$2<typeof MultipleHighDensityRouteStitchSolver3> | PipelineStep$2<typeof TraceSimplificationSolver> | PipelineStep$2<typeof TraceWidthSolver> | PipelineStep$2<typeof GlobalDrcForceImproveSolver>)[];
5716
+ pipelineDef: (PipelineStep$2<typeof PreprocessSimpleRouteJsonSolver$1> | PipelineStep$2<typeof ComponentDetectionSolver> | PipelineStep$2<typeof EscapeViaLocationSolver> | PipelineStep$2<typeof NetToPointPairsSolver2_OffBoardConnection> | PipelineStep$2<typeof MultiGraphTopologyPlannerSolver> | PipelineStep$2<typeof NodeDimensionSubdivisionSolver> | PipelineStep$2<typeof CapacityMeshEdgeSolver2_NodeTreeOptimization> | PipelineStep$2<typeof AvailableSegmentPointSolver> | PipelineStep$2<typeof MultiTargetNecessaryCrampedPortPointSolver> | PipelineStep$2<typeof TinyHypergraphPortPointPathingSolver> | PipelineStep$2<typeof UniformPortDistributionSolver> | PipelineStep$2<typeof HighDensitySolver> | PipelineStep$2<typeof HighDensityForceImproveSolver> | PipelineStep$2<typeof Pipeline4HighDensityRepairSolver> | PipelineStep$2<typeof MultipleHighDensityRouteStitchSolver3> | PipelineStep$2<typeof TraceSimplificationSolver> | PipelineStep$2<typeof TraceWidthSolver> | PipelineStep$2<typeof GlobalDrcForceImproveSolver>)[];
5631
5717
  constructor(srj: SimpleRouteJson, opts?: CapacityMeshSolverOptions$2);
5632
5718
  private setSimpleRouteJson;
5633
5719
  getConstructorParams(): readonly [SimpleRouteJson, CapacityMeshSolverOptions$2];