@tscircuit/capacity-autorouter 0.0.522 → 0.0.527

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
@@ -2,7 +2,7 @@ import { RectDiffPipeline } from '@tscircuit/rectdiff';
2
2
  import { ConnectivityMap } from 'circuit-json-to-connectivity-map';
3
3
  import * as graphics_debug from 'graphics-debug';
4
4
  import { GraphicsObject, Rect, Circle, Line, Point as Point$7 } from 'graphics-debug';
5
- import { BaseSolver as BaseSolver$1 } from '@tscircuit/solver-utils';
5
+ import { BaseSolver as BaseSolver$1, BasePipelineSolver, PipelineStep as PipelineStep$a } from '@tscircuit/solver-utils';
6
6
  import { HighDensitySolverA03, NodeWithPortPoints as NodeWithPortPoints$1 } from '@tscircuit/high-density-a01';
7
7
  import Flatbush from 'flatbush';
8
8
  import { Point3, Polygon } from '@tscircuit/math-utils';
@@ -266,6 +266,7 @@ type NodeWithPortPoints = {
266
266
  height: number;
267
267
  portPoints: PortPoint[];
268
268
  availableZ?: number[];
269
+ portPointsInPairs?: [PortPoint, PortPoint][];
269
270
  };
270
271
  /**
271
272
  * A path for a wire in high-density intra-node routing.
@@ -2522,13 +2523,13 @@ declare class TraceWidthSolver extends BaseSolver {
2522
2523
  getHdRoutesWithWidths(): HighDensityRoute$1[];
2523
2524
  }
2524
2525
 
2525
- interface CapacityMeshSolverOptions$7 {
2526
+ interface CapacityMeshSolverOptions$9 {
2526
2527
  capacityDepth?: number;
2527
2528
  targetMinCapacity?: number;
2528
2529
  cacheProvider?: CacheProvider | null;
2529
2530
  effort?: number;
2530
2531
  }
2531
- type PipelineStep$7<T extends new (...args: any[]) => BaseSolver> = {
2532
+ type PipelineStep$9<T extends new (...args: any[]) => BaseSolver> = {
2532
2533
  solverName: string;
2533
2534
  solverClass: T;
2534
2535
  getConstructorParams: (instance: AutoroutingPipelineSolver2_PortPointPathing) => ConstructorParameters<T>;
@@ -2536,7 +2537,7 @@ type PipelineStep$7<T extends new (...args: any[]) => BaseSolver> = {
2536
2537
  };
2537
2538
  declare class AutoroutingPipelineSolver2_PortPointPathing extends BaseSolver {
2538
2539
  readonly srj: SimpleRouteJson;
2539
- readonly opts: CapacityMeshSolverOptions$7;
2540
+ readonly opts: CapacityMeshSolverOptions$9;
2540
2541
  getSolverName(): string;
2541
2542
  netToPointPairsSolver?: NetToPointPairsSolver;
2542
2543
  nodeSolver?: RectDiffPipeline;
@@ -2567,9 +2568,9 @@ declare class AutoroutingPipelineSolver2_PortPointPathing extends BaseSolver {
2567
2568
  capacityEdges: CapacityMeshEdge[] | null;
2568
2569
  inputNodeWithPortPoints: InputNodeWithPortPoints[];
2569
2570
  cacheProvider: CacheProvider | null;
2570
- pipelineDef: (PipelineStep$7<typeof NetToPointPairsSolver2_OffBoardConnection> | PipelineStep$7<typeof RectDiffPipeline> | PipelineStep$7<typeof CapacityMeshEdgeSolver2_NodeTreeOptimization> | PipelineStep$7<typeof AvailableSegmentPointSolver> | PipelineStep$7<typeof HyperPortPointPathingSolver> | PipelineStep$7<typeof MultiSectionPortPointOptimizer> | PipelineStep$7<typeof UniformPortDistributionSolver> | PipelineStep$7<typeof HighDensitySolver> | PipelineStep$7<typeof MultipleHighDensityRouteStitchSolver> | PipelineStep$7<typeof TraceSimplificationSolver> | PipelineStep$7<typeof TraceWidthSolver>)[];
2571
- constructor(srj: SimpleRouteJson, opts?: CapacityMeshSolverOptions$7);
2572
- getConstructorParams(): readonly [SimpleRouteJson, CapacityMeshSolverOptions$7];
2571
+ pipelineDef: (PipelineStep$9<typeof NetToPointPairsSolver2_OffBoardConnection> | PipelineStep$9<typeof RectDiffPipeline> | PipelineStep$9<typeof CapacityMeshEdgeSolver2_NodeTreeOptimization> | PipelineStep$9<typeof AvailableSegmentPointSolver> | PipelineStep$9<typeof HyperPortPointPathingSolver> | PipelineStep$9<typeof MultiSectionPortPointOptimizer> | PipelineStep$9<typeof UniformPortDistributionSolver> | PipelineStep$9<typeof HighDensitySolver> | PipelineStep$9<typeof MultipleHighDensityRouteStitchSolver> | PipelineStep$9<typeof TraceSimplificationSolver> | PipelineStep$9<typeof TraceWidthSolver>)[];
2572
+ constructor(srj: SimpleRouteJson, opts?: CapacityMeshSolverOptions$9);
2573
+ getConstructorParams(): readonly [SimpleRouteJson, CapacityMeshSolverOptions$9];
2573
2574
  currentPipelineStepIndex: number;
2574
2575
  _step(): void;
2575
2576
  solveUntilPhase(phase: string): void;
@@ -3558,12 +3559,12 @@ declare class UnravelMultiSectionSolver extends BaseSolver {
3558
3559
  getNodesWithPortPoints(): NodeWithPortPoints[];
3559
3560
  }
3560
3561
 
3561
- interface CapacityMeshSolverOptions$6 {
3562
+ interface CapacityMeshSolverOptions$8 {
3562
3563
  capacityDepth?: number;
3563
3564
  targetMinCapacity?: number;
3564
3565
  cacheProvider?: CacheProvider | null;
3565
3566
  }
3566
- type PipelineStep$6<T extends new (...args: any[]) => BaseSolver> = {
3567
+ type PipelineStep$8<T extends new (...args: any[]) => BaseSolver> = {
3567
3568
  solverName: string;
3568
3569
  solverClass: T;
3569
3570
  getConstructorParams: (instance: AutoroutingPipeline1_OriginalUnravel) => ConstructorParameters<T>;
@@ -3571,7 +3572,7 @@ type PipelineStep$6<T extends new (...args: any[]) => BaseSolver> = {
3571
3572
  };
3572
3573
  declare class AutoroutingPipeline1_OriginalUnravel extends BaseSolver {
3573
3574
  readonly srj: SimpleRouteJson;
3574
- readonly opts: CapacityMeshSolverOptions$6;
3575
+ readonly opts: CapacityMeshSolverOptions$8;
3575
3576
  getSolverName(): string;
3576
3577
  netToPointPairsSolver?: NetToPointPairsSolver;
3577
3578
  nodeSolver?: CapacityMeshNodeSolver;
@@ -3601,9 +3602,9 @@ declare class AutoroutingPipeline1_OriginalUnravel extends BaseSolver {
3601
3602
  capacityNodes: CapacityMeshNode[] | null;
3602
3603
  capacityEdges: CapacityMeshEdge[] | null;
3603
3604
  cacheProvider: CacheProvider | null;
3604
- pipelineDef: (PipelineStep$6<typeof NetToPointPairsSolver2_OffBoardConnection> | PipelineStep$6<typeof CapacityMeshNodeSolver2_NodeUnderObstacle> | PipelineStep$6<typeof SingleLayerNodeMergerSolver> | PipelineStep$6<typeof StrawSolver> | PipelineStep$6<typeof CapacityMeshEdgeSolver2_NodeTreeOptimization> | PipelineStep$6<typeof DeadEndSolver> | PipelineStep$6<typeof CapacityPathingGreedySolver> | PipelineStep$6<typeof CapacityPathingMultiSectionSolver> | PipelineStep$6<typeof CapacityEdgeToPortSegmentSolver> | PipelineStep$6<typeof CapacitySegmentToPointSolver> | PipelineStep$6<typeof UnravelMultiSectionSolver> | PipelineStep$6<typeof HighDensitySolver> | PipelineStep$6<typeof NoOffBoardMultipleHighDensityRouteStitchSolver> | PipelineStep$6<typeof TraceSimplificationSolver>)[];
3605
- constructor(srj: SimpleRouteJson, opts?: CapacityMeshSolverOptions$6);
3606
- getConstructorParams(): readonly [SimpleRouteJson, CapacityMeshSolverOptions$6];
3605
+ pipelineDef: (PipelineStep$8<typeof NetToPointPairsSolver2_OffBoardConnection> | PipelineStep$8<typeof CapacityMeshNodeSolver2_NodeUnderObstacle> | PipelineStep$8<typeof SingleLayerNodeMergerSolver> | PipelineStep$8<typeof StrawSolver> | PipelineStep$8<typeof CapacityMeshEdgeSolver2_NodeTreeOptimization> | PipelineStep$8<typeof DeadEndSolver> | PipelineStep$8<typeof CapacityPathingGreedySolver> | PipelineStep$8<typeof CapacityPathingMultiSectionSolver> | PipelineStep$8<typeof CapacityEdgeToPortSegmentSolver> | PipelineStep$8<typeof CapacitySegmentToPointSolver> | PipelineStep$8<typeof UnravelMultiSectionSolver> | PipelineStep$8<typeof HighDensitySolver> | PipelineStep$8<typeof NoOffBoardMultipleHighDensityRouteStitchSolver> | PipelineStep$8<typeof TraceSimplificationSolver>)[];
3606
+ constructor(srj: SimpleRouteJson, opts?: CapacityMeshSolverOptions$8);
3607
+ getConstructorParams(): readonly [SimpleRouteJson, CapacityMeshSolverOptions$8];
3607
3608
  currentPipelineStepIndex: number;
3608
3609
  _step(): void;
3609
3610
  solveUntilPhase(phase: string): void;
@@ -4308,13 +4309,13 @@ declare class SimpleHighDensitySolver extends BaseSolver {
4308
4309
  visualize(): GraphicsObject;
4309
4310
  }
4310
4311
 
4311
- interface CapacityMeshSolverOptions$5 {
4312
+ interface CapacityMeshSolverOptions$7 {
4312
4313
  capacityDepth?: number;
4313
4314
  targetMinCapacity?: number;
4314
4315
  cacheProvider?: CacheProvider | null;
4315
4316
  effort?: number;
4316
4317
  }
4317
- type PipelineStep$5<T extends new (...args: any[]) => BaseSolver> = {
4318
+ type PipelineStep$7<T extends new (...args: any[]) => BaseSolver> = {
4318
4319
  solverName: string;
4319
4320
  solverClass: T;
4320
4321
  getConstructorParams: (instance: AssignableAutoroutingPipeline2) => ConstructorParameters<T>;
@@ -4322,7 +4323,7 @@ type PipelineStep$5<T extends new (...args: any[]) => BaseSolver> = {
4322
4323
  };
4323
4324
  declare class AssignableAutoroutingPipeline2 extends BaseSolver {
4324
4325
  readonly srj: SimpleRouteJson;
4325
- readonly opts: CapacityMeshSolverOptions$5;
4326
+ readonly opts: CapacityMeshSolverOptions$7;
4326
4327
  getSolverName(): string;
4327
4328
  netToPointPairsSolver?: NetToPointPairsSolver;
4328
4329
  nodeSolver?: RectDiffPipeline;
@@ -4357,9 +4358,9 @@ declare class AssignableAutoroutingPipeline2 extends BaseSolver {
4357
4358
  capacityNodes: CapacityMeshNode[] | null;
4358
4359
  capacityEdges: CapacityMeshEdge[] | null;
4359
4360
  cacheProvider: CacheProvider | null;
4360
- pipelineDef: (PipelineStep$5<typeof NetToPointPairsSolver> | PipelineStep$5<typeof RectDiffPipeline> | PipelineStep$5<typeof RelateNodesToOffBoardConnectionsSolver> | PipelineStep$5<typeof CapacityMeshEdgeSolver2_NodeTreeOptimization> | PipelineStep$5<typeof AvailableSegmentPointSolver> | PipelineStep$5<typeof HyperPortPointPathingSolver> | PipelineStep$5<typeof MultiSectionPortPointOptimizer> | PipelineStep$5<typeof SimpleHighDensitySolver> | PipelineStep$5<typeof MultipleHighDensityRouteStitchSolver> | PipelineStep$5<typeof TraceSimplificationSolver> | PipelineStep$5<typeof TraceKeepoutSolver> | PipelineStep$5<typeof TraceWidthSolver>)[];
4361
- constructor(srj: SimpleRouteJson, opts?: CapacityMeshSolverOptions$5);
4362
- getConstructorParams(): readonly [SimpleRouteJson, CapacityMeshSolverOptions$5];
4361
+ pipelineDef: (PipelineStep$7<typeof NetToPointPairsSolver> | PipelineStep$7<typeof RectDiffPipeline> | PipelineStep$7<typeof RelateNodesToOffBoardConnectionsSolver> | PipelineStep$7<typeof CapacityMeshEdgeSolver2_NodeTreeOptimization> | PipelineStep$7<typeof AvailableSegmentPointSolver> | PipelineStep$7<typeof HyperPortPointPathingSolver> | PipelineStep$7<typeof MultiSectionPortPointOptimizer> | PipelineStep$7<typeof SimpleHighDensitySolver> | PipelineStep$7<typeof MultipleHighDensityRouteStitchSolver> | PipelineStep$7<typeof TraceSimplificationSolver> | PipelineStep$7<typeof TraceKeepoutSolver> | PipelineStep$7<typeof TraceWidthSolver>)[];
4362
+ constructor(srj: SimpleRouteJson, opts?: CapacityMeshSolverOptions$7);
4363
+ getConstructorParams(): readonly [SimpleRouteJson, CapacityMeshSolverOptions$7];
4363
4364
  currentPipelineStepIndex: number;
4364
4365
  _step(): void;
4365
4366
  solveUntilPhase(phase: string): void;
@@ -4452,13 +4453,13 @@ declare class MultipleHighDensityRouteStitchSolver2 extends BaseSolver {
4452
4453
  visualize(): GraphicsObject;
4453
4454
  }
4454
4455
 
4455
- interface CapacityMeshSolverOptions$4 {
4456
+ interface CapacityMeshSolverOptions$6 {
4456
4457
  capacityDepth?: number;
4457
4458
  targetMinCapacity?: number;
4458
4459
  cacheProvider?: CacheProvider | null;
4459
4460
  effort?: number;
4460
4461
  }
4461
- type PipelineStep$4<T extends new (...args: any[]) => BaseSolver> = {
4462
+ type PipelineStep$6<T extends new (...args: any[]) => BaseSolver> = {
4462
4463
  solverName: string;
4463
4464
  solverClass: T;
4464
4465
  getConstructorParams: (instance: AssignableAutoroutingPipeline3) => ConstructorParameters<T>;
@@ -4466,7 +4467,7 @@ type PipelineStep$4<T extends new (...args: any[]) => BaseSolver> = {
4466
4467
  };
4467
4468
  declare class AssignableAutoroutingPipeline3 extends BaseSolver {
4468
4469
  readonly srj: SimpleRouteJson;
4469
- readonly opts: CapacityMeshSolverOptions$4;
4470
+ readonly opts: CapacityMeshSolverOptions$6;
4470
4471
  getSolverName(): string;
4471
4472
  netToPointPairsSolver?: NetToPointPairsSolver;
4472
4473
  traceKeepoutSolver?: TraceKeepoutSolver;
@@ -4501,9 +4502,9 @@ declare class AssignableAutoroutingPipeline3 extends BaseSolver {
4501
4502
  capacityNodes: CapacityMeshNode[] | null;
4502
4503
  capacityEdges: CapacityMeshEdge[] | null;
4503
4504
  cacheProvider: CacheProvider | null;
4504
- pipelineDef: (PipelineStep$4<typeof NetToPointPairsSolver> | PipelineStep$4<typeof RectDiffPipeline> | PipelineStep$4<typeof RelateNodesToOffBoardConnectionsSolver> | PipelineStep$4<typeof CapacityMeshEdgeSolver2_NodeTreeOptimization> | PipelineStep$4<typeof AvailableSegmentPointSolver> | PipelineStep$4<typeof HyperPortPointPathingSolver> | PipelineStep$4<typeof JumperHighDensitySolver> | PipelineStep$4<typeof MultipleHighDensityRouteStitchSolver2> | PipelineStep$4<typeof TraceKeepoutSolver>)[];
4505
- constructor(srj: SimpleRouteJson, opts?: CapacityMeshSolverOptions$4);
4506
- getConstructorParams(): readonly [SimpleRouteJson, CapacityMeshSolverOptions$4];
4505
+ pipelineDef: (PipelineStep$6<typeof NetToPointPairsSolver> | PipelineStep$6<typeof RectDiffPipeline> | PipelineStep$6<typeof RelateNodesToOffBoardConnectionsSolver> | PipelineStep$6<typeof CapacityMeshEdgeSolver2_NodeTreeOptimization> | PipelineStep$6<typeof AvailableSegmentPointSolver> | PipelineStep$6<typeof HyperPortPointPathingSolver> | PipelineStep$6<typeof JumperHighDensitySolver> | PipelineStep$6<typeof MultipleHighDensityRouteStitchSolver2> | PipelineStep$6<typeof TraceKeepoutSolver>)[];
4506
+ constructor(srj: SimpleRouteJson, opts?: CapacityMeshSolverOptions$6);
4507
+ getConstructorParams(): readonly [SimpleRouteJson, CapacityMeshSolverOptions$6];
4507
4508
  currentPipelineStepIndex: number;
4508
4509
  _step(): void;
4509
4510
  solveUntilPhase(phase: string): void;
@@ -4744,13 +4745,13 @@ declare class HgPortPointPathingSolver extends HyperGraphSolver<RegionHg, Region
4744
4745
  private visualizePfOverlay;
4745
4746
  }
4746
4747
 
4747
- interface CapacityMeshSolverOptions$3 {
4748
+ interface CapacityMeshSolverOptions$5 {
4748
4749
  capacityDepth?: number;
4749
4750
  targetMinCapacity?: number;
4750
4751
  cacheProvider?: CacheProvider | null;
4751
4752
  effort?: number;
4752
4753
  }
4753
- type PipelineStep$3<T extends new (...args: any[]) => BaseSolver> = {
4754
+ type PipelineStep$5<T extends new (...args: any[]) => BaseSolver> = {
4754
4755
  solverName: string;
4755
4756
  solverClass: T;
4756
4757
  getConstructorParams: (instance: AutoroutingPipelineSolver3_HgPortPointPathing) => ConstructorParameters<T>;
@@ -4758,7 +4759,7 @@ type PipelineStep$3<T extends new (...args: any[]) => BaseSolver> = {
4758
4759
  };
4759
4760
  declare class AutoroutingPipelineSolver3_HgPortPointPathing extends BaseSolver {
4760
4761
  readonly srj: SimpleRouteJson;
4761
- readonly opts: CapacityMeshSolverOptions$3;
4762
+ readonly opts: CapacityMeshSolverOptions$5;
4762
4763
  netToPointPairsSolver?: NetToPointPairsSolver;
4763
4764
  nodeSolver?: RectDiffPipeline;
4764
4765
  nodeTargetMerger?: CapacityNodeTargetMerger;
@@ -4789,9 +4790,9 @@ declare class AutoroutingPipelineSolver3_HgPortPointPathing extends BaseSolver {
4789
4790
  capacityNodes: CapacityMeshNode[] | null;
4790
4791
  capacityEdges: CapacityMeshEdge[] | null;
4791
4792
  cacheProvider: CacheProvider | null;
4792
- pipelineDef: (PipelineStep$3<typeof NetToPointPairsSolver2_OffBoardConnection> | PipelineStep$3<typeof RectDiffPipeline> | PipelineStep$3<typeof CapacityMeshEdgeSolver2_NodeTreeOptimization> | PipelineStep$3<typeof AvailableSegmentPointSolver> | PipelineStep$3<typeof MultiTargetNecessaryCrampedPortPointSolver> | PipelineStep$3<typeof HgPortPointPathingSolver> | PipelineStep$3<typeof HyperGraphSectionOptimizer> | PipelineStep$3<typeof UniformPortDistributionSolver> | PipelineStep$3<typeof HighDensitySolver> | PipelineStep$3<typeof MultipleHighDensityRouteStitchSolver> | PipelineStep$3<typeof TraceSimplificationSolver> | PipelineStep$3<typeof TraceWidthSolver>)[];
4793
- constructor(srj: SimpleRouteJson, opts?: CapacityMeshSolverOptions$3);
4794
- getConstructorParams(): readonly [SimpleRouteJson, CapacityMeshSolverOptions$3];
4793
+ pipelineDef: (PipelineStep$5<typeof NetToPointPairsSolver2_OffBoardConnection> | PipelineStep$5<typeof RectDiffPipeline> | PipelineStep$5<typeof CapacityMeshEdgeSolver2_NodeTreeOptimization> | PipelineStep$5<typeof AvailableSegmentPointSolver> | PipelineStep$5<typeof MultiTargetNecessaryCrampedPortPointSolver> | PipelineStep$5<typeof HgPortPointPathingSolver> | PipelineStep$5<typeof HyperGraphSectionOptimizer> | PipelineStep$5<typeof UniformPortDistributionSolver> | PipelineStep$5<typeof HighDensitySolver> | PipelineStep$5<typeof MultipleHighDensityRouteStitchSolver> | PipelineStep$5<typeof TraceSimplificationSolver> | PipelineStep$5<typeof TraceWidthSolver>)[];
4794
+ constructor(srj: SimpleRouteJson, opts?: CapacityMeshSolverOptions$5);
4795
+ getConstructorParams(): readonly [SimpleRouteJson, CapacityMeshSolverOptions$5];
4795
4796
  currentPipelineStepIndex: number;
4796
4797
  _step(): void;
4797
4798
  solveUntilPhase(phase: string): void;
@@ -4946,6 +4947,7 @@ declare class SingleHighDensityRouteStitchSolver3 extends BaseSolver {
4946
4947
  start: Point3;
4947
4948
  end: Point3;
4948
4949
  colorMap: Record<string, string>;
4950
+ allowedLayerTransitionPointKeys?: Set<string>;
4949
4951
  constructor(opts: {
4950
4952
  connectionName: string;
4951
4953
  hdRoutes: HighDensityIntraNodeRoute$1[];
@@ -4954,6 +4956,7 @@ declare class SingleHighDensityRouteStitchSolver3 extends BaseSolver {
4954
4956
  colorMap?: Record<string, string>;
4955
4957
  defaultTraceThickness?: number;
4956
4958
  defaultViaDiameter?: number;
4959
+ allowedLayerTransitionPointKeys?: Set<string>;
4957
4960
  });
4958
4961
  getDisjointedRoute(): {
4959
4962
  firstRoute: HighDensityIntraNodeRoute$1;
@@ -4976,6 +4979,7 @@ declare class MultipleHighDensityRouteStitchSolver3 extends BaseSolver {
4976
4979
  colorMap: Record<string, string>;
4977
4980
  defaultTraceThickness: number;
4978
4981
  defaultViaDiameter: number;
4982
+ allowedLayerTransitionPointKeys?: Set<string>;
4979
4983
  private endpointIndex;
4980
4984
  private canStitchBetweenTerminals;
4981
4985
  private getSharedRootPathRoutes;
@@ -4985,6 +4989,7 @@ declare class MultipleHighDensityRouteStitchSolver3 extends BaseSolver {
4985
4989
  colorMap?: Record<string, string>;
4986
4990
  layerCount: number;
4987
4991
  defaultViaDiameter?: number;
4992
+ allowedLayerTransitionPointKeys?: Set<string>;
4988
4993
  });
4989
4994
  _step(): void;
4990
4995
  visualize(): GraphicsObject;
@@ -5000,7 +5005,7 @@ declare class PreprocessSimpleRouteJsonSolver$1 extends BaseSolver {
5000
5005
  visualize(): GraphicsObject;
5001
5006
  }
5002
5007
 
5003
- interface CapacityMeshSolverOptions$2 {
5008
+ interface CapacityMeshSolverOptions$4 {
5004
5009
  capacityDepth?: number;
5005
5010
  targetMinCapacity?: number;
5006
5011
  cacheProvider?: CacheProvider | null;
@@ -5009,8 +5014,8 @@ interface CapacityMeshSolverOptions$2 {
5009
5014
  maxNodeRatio?: number;
5010
5015
  minNodeArea?: number;
5011
5016
  }
5012
- type AutoroutingPipelineSolverOptions$1 = CapacityMeshSolverOptions$2;
5013
- type PipelineStep$2<T extends new (...args: any[]) => BaseSolver> = {
5017
+ type AutoroutingPipelineSolverOptions$1 = CapacityMeshSolverOptions$4;
5018
+ type PipelineStep$4<T extends new (...args: any[]) => BaseSolver> = {
5014
5019
  solverName: string;
5015
5020
  solverClass: T;
5016
5021
  getConstructorParams: (instance: AutoroutingPipelineSolver4_TinyHypergraph) => ConstructorParameters<T>;
@@ -5018,7 +5023,7 @@ type PipelineStep$2<T extends new (...args: any[]) => BaseSolver> = {
5018
5023
  };
5019
5024
  declare class AutoroutingPipelineSolver4_TinyHypergraph extends BaseSolver {
5020
5025
  srj: SimpleRouteJson;
5021
- readonly opts: CapacityMeshSolverOptions$2;
5026
+ readonly opts: CapacityMeshSolverOptions$4;
5022
5027
  preprocessSimpleRouteJsonSolver?: PreprocessSimpleRouteJsonSolver$1;
5023
5028
  escapeViaLocationSolver?: EscapeViaLocationSolver;
5024
5029
  netToPointPairsSolver?: NetToPointPairsSolver;
@@ -5061,10 +5066,10 @@ declare class AutoroutingPipelineSolver4_TinyHypergraph extends BaseSolver {
5061
5066
  capacityEdges: CapacityMeshEdge[] | null;
5062
5067
  highDensityNodePortPoints?: NodeWithPortPoints[];
5063
5068
  cacheProvider: CacheProvider | null;
5064
- pipelineDef: (PipelineStep$2<typeof PreprocessSimpleRouteJsonSolver$1> | 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>)[];
5065
- constructor(srj: SimpleRouteJson, opts?: CapacityMeshSolverOptions$2);
5069
+ pipelineDef: (PipelineStep$4<typeof PreprocessSimpleRouteJsonSolver$1> | PipelineStep$4<typeof EscapeViaLocationSolver> | PipelineStep$4<typeof NetToPointPairsSolver2_OffBoardConnection> | PipelineStep$4<typeof RectDiffPipeline> | PipelineStep$4<typeof NodeDimensionSubdivisionSolver> | PipelineStep$4<typeof CapacityMeshEdgeSolver2_NodeTreeOptimization> | PipelineStep$4<typeof AvailableSegmentPointSolver> | PipelineStep$4<typeof MultiTargetNecessaryCrampedPortPointSolver> | PipelineStep$4<typeof TinyHypergraphPortPointPathingSolver> | PipelineStep$4<typeof UniformPortDistributionSolver> | PipelineStep$4<typeof HighDensitySolver> | PipelineStep$4<typeof HighDensityForceImproveSolver> | PipelineStep$4<typeof Pipeline4HighDensityRepairSolver> | PipelineStep$4<typeof MultipleHighDensityRouteStitchSolver3> | PipelineStep$4<typeof TraceSimplificationSolver> | PipelineStep$4<typeof TraceWidthSolver> | PipelineStep$4<typeof GlobalDrcForceImproveSolver>)[];
5070
+ constructor(srj: SimpleRouteJson, opts?: CapacityMeshSolverOptions$4);
5066
5071
  private setSimpleRouteJson;
5067
- getConstructorParams(): readonly [SimpleRouteJson, CapacityMeshSolverOptions$2];
5072
+ getConstructorParams(): readonly [SimpleRouteJson, CapacityMeshSolverOptions$4];
5068
5073
  currentPipelineStepIndex: number;
5069
5074
  _step(): void;
5070
5075
  solveUntilPhase(phase: string): void;
@@ -5315,7 +5320,7 @@ declare class ProjectHighDensityToPolygonSolver extends BaseSolver {
5315
5320
  visualize(): GraphicsObject;
5316
5321
  }
5317
5322
 
5318
- interface CapacityMeshSolverOptions$1 {
5323
+ interface CapacityMeshSolverOptions$3 {
5319
5324
  capacityDepth?: number;
5320
5325
  targetMinCapacity?: number;
5321
5326
  cacheProvider?: CacheProvider | null;
@@ -5329,7 +5334,7 @@ interface CapacityMeshSolverOptions$1 {
5329
5334
  polyPortSpacing?: number;
5330
5335
  polyPortMarginFromSegmentEndpoint?: number;
5331
5336
  }
5332
- type PipelineStep$1<T extends new (...args: any[]) => BaseSolver> = {
5337
+ type PipelineStep$3<T extends new (...args: any[]) => BaseSolver> = {
5333
5338
  solverName: string;
5334
5339
  solverClass: T;
5335
5340
  getConstructorParams: (instance: AutoroutingPipelineSolver6_PolyHypergraph) => ConstructorParameters<T>;
@@ -5337,7 +5342,7 @@ type PipelineStep$1<T extends new (...args: any[]) => BaseSolver> = {
5337
5342
  };
5338
5343
  declare class AutoroutingPipelineSolver6_PolyHypergraph extends BaseSolver {
5339
5344
  srj: SimpleRouteJson;
5340
- readonly opts: CapacityMeshSolverOptions$1;
5345
+ readonly opts: CapacityMeshSolverOptions$3;
5341
5346
  preprocessSimpleRouteJsonSolver?: PreprocessSimpleRouteJsonSolver;
5342
5347
  escapeViaLocationSolver?: EscapeViaLocationSolver;
5343
5348
  netToPointPairsSolver?: NetToPointPairsSolver;
@@ -5370,7 +5375,338 @@ declare class AutoroutingPipelineSolver6_PolyHypergraph extends BaseSolver {
5370
5375
  highDensityNodePortPoints?: PolyNodeWithPortPoints[];
5371
5376
  projectedHighDensityNodePortPoints?: PolyNodeWithPortPoints[];
5372
5377
  cacheProvider: CacheProvider | null;
5373
- pipelineDef: (PipelineStep$1<typeof PreprocessSimpleRouteJsonSolver> | PipelineStep$1<typeof EscapeViaLocationSolver> | PipelineStep$1<typeof NetToPointPairsSolver2_OffBoardConnection> | PipelineStep$1<typeof PolyHypergraphPortPointPathingSolver> | PipelineStep$1<typeof AttachProjectedRectsSolver> | PipelineStep$1<typeof PolyHighDensitySolver> | PipelineStep$1<typeof ProjectHighDensityToPolygonSolver> | PipelineStep$1<typeof MultipleHighDensityRouteStitchSolver3> | PipelineStep$1<typeof TraceSimplificationSolver> | PipelineStep$1<typeof TraceWidthSolver> | PipelineStep$1<typeof GlobalDrcForceImproveSolver>)[];
5378
+ pipelineDef: (PipelineStep$3<typeof PreprocessSimpleRouteJsonSolver> | PipelineStep$3<typeof EscapeViaLocationSolver> | PipelineStep$3<typeof NetToPointPairsSolver2_OffBoardConnection> | PipelineStep$3<typeof PolyHypergraphPortPointPathingSolver> | PipelineStep$3<typeof AttachProjectedRectsSolver> | PipelineStep$3<typeof PolyHighDensitySolver> | PipelineStep$3<typeof ProjectHighDensityToPolygonSolver> | PipelineStep$3<typeof MultipleHighDensityRouteStitchSolver3> | PipelineStep$3<typeof TraceSimplificationSolver> | PipelineStep$3<typeof TraceWidthSolver> | PipelineStep$3<typeof GlobalDrcForceImproveSolver>)[];
5379
+ constructor(srj: SimpleRouteJson, opts?: CapacityMeshSolverOptions$3);
5380
+ private setSimpleRouteJson;
5381
+ getConstructorParams(): readonly [SimpleRouteJson, CapacityMeshSolverOptions$3];
5382
+ currentPipelineStepIndex: number;
5383
+ _step(): void;
5384
+ solveUntilPhase(phase: string): void;
5385
+ getCurrentPhase(): string;
5386
+ private getProblemVisualization;
5387
+ visualize(): GraphicsObject;
5388
+ preview(): GraphicsObject;
5389
+ _getOutputHdRoutes(): HighDensityRoute$1[];
5390
+ getOutputSimplifiedPcbTraces(): SimplifiedPcbTraces;
5391
+ getOutputSimpleRouteJson(): SimpleRouteJson;
5392
+ }
5393
+
5394
+ /**
5395
+ * Current detection stage: groups SRJ obstacles by component and replaces each
5396
+ * component's member pads with one rectangular bounds obstacle.
5397
+ */
5398
+ declare class RectBoundsComponentDetectionStage extends BaseSolver$1 {
5399
+ readonly inputSrj: SimpleRouteJson;
5400
+ private initialized;
5401
+ private groupedComponentObstacles;
5402
+ private unprocessedComponentIds;
5403
+ private passThroughObstacles;
5404
+ private detectedComponents;
5405
+ private currentComponentId;
5406
+ private currentMemberObstacles;
5407
+ private output;
5408
+ constructor({ inputSrj }: ComponentDetectionSolverParams);
5409
+ getConstructorParams(): readonly [{
5410
+ readonly inputSrj: SimpleRouteJson;
5411
+ }];
5412
+ _step(): void;
5413
+ getOutput(): ComponentDetectionSolverOutput;
5414
+ visualize(): GraphicsObject;
5415
+ preview(): GraphicsObject;
5416
+ private initializeDetectionState;
5417
+ private processNextComponent;
5418
+ private finalizeOutput;
5419
+ private groupObstaclesByComponentId;
5420
+ private createDetectedComponent;
5421
+ private getVisualizationTitle;
5422
+ private createReplacementObstacle;
5423
+ }
5424
+
5425
+ interface ComponentDetectionSolverParams {
5426
+ inputSrj: SimpleRouteJson;
5427
+ }
5428
+ interface DetectedComponent {
5429
+ componentId: string;
5430
+ memberObstacleIds: string[];
5431
+ memberObstacles: Obstacle[];
5432
+ replacementObstacle: Obstacle;
5433
+ }
5434
+ interface ComponentDetectionSolverOutput {
5435
+ global: SimpleRouteJson;
5436
+ components: DetectedComponent[];
5437
+ }
5438
+ /**
5439
+ * Pipeline wrapper for component detection stages. The current pipeline only
5440
+ * runs the rectangular bounds stage, but later shape-specific stages can be
5441
+ * inserted here without changing the external solver API.
5442
+ */
5443
+ declare class ComponentDetectionSolver extends BasePipelineSolver<ComponentDetectionSolverParams> {
5444
+ rectBoundsComponentDetection?: RectBoundsComponentDetectionStage;
5445
+ pipelineDef: PipelineStep$a<BaseSolver$1>[];
5446
+ constructor(params: ComponentDetectionSolverParams);
5447
+ getConstructorParams(): readonly [ComponentDetectionSolverParams];
5448
+ getOutput(): ComponentDetectionSolverOutput;
5449
+ initialVisualize(): GraphicsObject | null;
5450
+ }
5451
+
5452
+ interface BgaTopologyGeneratorSolverParams {
5453
+ inputSrj: SimpleRouteJson;
5454
+ componentId?: string;
5455
+ replacementObstacleId?: string;
5456
+ }
5457
+ interface BgaTopologyGeneratorSolverOutput {
5458
+ /** Exact obstacle rectangles cloned from the input SRJ. This is the geometry source of truth. */
5459
+ obstacles: Obstacle[];
5460
+ /** Routing regions derived from obstacle layout. These are not obstacle rectangles. */
5461
+ routingRegions: CapacityMeshNode[];
5462
+ }
5463
+ /**
5464
+ * Builds a coarse topology for BGA-style routing from an SRJ obstacle field.
5465
+ *
5466
+ * Important:
5467
+ * - `obstacles` in the output preserve the original SRJ geometry exactly.
5468
+ * - `routingRegions` are derived routing cells and may be larger than pads.
5469
+ * - obstacle-overlapping regions are split per layer instead of being emitted
5470
+ * as one multi-layer region.
5471
+ */
5472
+ declare class BgaTopologyGeneratorSolver extends BaseSolver$1 {
5473
+ readonly inputProblem: BgaTopologyGeneratorSolverParams;
5474
+ private output;
5475
+ constructor(inputProblem: BgaTopologyGeneratorSolverParams);
5476
+ getConstructorParams(): readonly [BgaTopologyGeneratorSolverParams];
5477
+ /** Solves in one pass because the topology is derived directly from the input SRJ. */
5478
+ _step(): void;
5479
+ getOutput(): BgaTopologyGeneratorSolverOutput;
5480
+ }
5481
+
5482
+ interface ComponentTopologyBatchSolverParams {
5483
+ componentSrjs: SimpleRouteJson[];
5484
+ componentIds: string[];
5485
+ replacementObstacleIds: Array<string | undefined>;
5486
+ }
5487
+ interface ComponentTopologyBatchSolverOutput {
5488
+ componentMeshNodes: CapacityMeshNode[][];
5489
+ }
5490
+ /** Runs one BGA topology solve per component SRJ and collects the routing regions. */
5491
+ declare class ComponentTopologyBatchSolver extends BaseSolver$1 {
5492
+ readonly inputProblem: ComponentTopologyBatchSolverParams;
5493
+ activeSubSolver?: BgaTopologyGeneratorSolver | null;
5494
+ currentIndex: number;
5495
+ componentMeshNodes: CapacityMeshNode[][];
5496
+ constructor(inputProblem: ComponentTopologyBatchSolverParams);
5497
+ getConstructorParams(): readonly [ComponentTopologyBatchSolverParams];
5498
+ /** Steps through component solves sequentially to keep solver state simple and explicit. */
5499
+ _step(): void;
5500
+ getOutput(): ComponentTopologyBatchSolverOutput;
5501
+ }
5502
+
5503
+ interface SerializedTopologyComponentInput {
5504
+ componentId: string;
5505
+ memberObstacleIds: string[];
5506
+ memberObstacles: Obstacle[];
5507
+ replacementObstacle: Obstacle;
5508
+ }
5509
+ interface MultiGraphTopologyPlannerSolverParams {
5510
+ inputSrj: SimpleRouteJson;
5511
+ globalNoConnectionSrj?: SimpleRouteJson;
5512
+ components?: SerializedTopologyComponentInput[];
5513
+ componentDetectionOutput?: ComponentDetectionSolverOutput;
5514
+ brokenSrj?: {
5515
+ global: SimpleRouteJson;
5516
+ components: SerializedTopologyComponentInput[];
5517
+ };
5518
+ }
5519
+ interface MultiGraphTopologyPlannerSolverOutput {
5520
+ globalNoConnectionSrj: SimpleRouteJson;
5521
+ componentNoConnectionSrjs: SimpleRouteJson[];
5522
+ globalMeshNodes: CapacityMeshNode[];
5523
+ componentMeshNodes: CapacityMeshNode[][];
5524
+ mergedMeshNodes: CapacityMeshNode[];
5525
+ }
5526
+ /**
5527
+ * Produces a merged routing topology where component replacement regions from
5528
+ * the global solve are substituted with component-local routing regions.
5529
+ */
5530
+ declare class MultiGraphTopologyPlannerSolver extends BasePipelineSolver<MultiGraphTopologyPlannerSolverParams> {
5531
+ globalTopologySolver?: RectDiffPipeline;
5532
+ componentTopologyBatchSolver?: ComponentTopologyBatchSolver;
5533
+ private normalizedInput;
5534
+ pipelineDef: PipelineStep$a<BaseSolver$1>[];
5535
+ constructor(params: MultiGraphTopologyPlannerSolverParams);
5536
+ getConstructorParams(): readonly [MultiGraphTopologyPlannerSolverParams];
5537
+ /**
5538
+ * Returns the global solve, the per-component solves, and the merged routing
5539
+ * regions used by downstream stages.
5540
+ */
5541
+ getOutput(): MultiGraphTopologyPlannerSolverOutput;
5542
+ finalVisualize(): GraphicsObject | null;
5543
+ /** Rebuilds each component-local SRJ from its original member obstacles. */
5544
+ private getComponentNoConnectionSrjs;
5545
+ /** Adapts the global no-connection SRJ into the RectDiffPipeline input shape. */
5546
+ private getGlobalTopologySolverInput;
5547
+ }
5548
+
5549
+ interface CapacityMeshSolverOptions$2 {
5550
+ capacityDepth?: number;
5551
+ targetMinCapacity?: number;
5552
+ cacheProvider?: CacheProvider | null;
5553
+ effort?: number;
5554
+ maxNodeDimension?: number;
5555
+ maxNodeRatio?: number;
5556
+ minNodeArea?: number;
5557
+ }
5558
+ type PipelineStep$2<T extends new (...args: any[]) => BaseSolver> = {
5559
+ solverName: string;
5560
+ solverClass: T;
5561
+ getConstructorParams: (instance: AutoroutingPipelineSolver7_MultiGraph) => ConstructorParameters<T>;
5562
+ onSolved?: (instance: AutoroutingPipelineSolver7_MultiGraph) => void;
5563
+ };
5564
+ declare class AutoroutingPipelineSolver7_MultiGraph extends BaseSolver {
5565
+ srj: SimpleRouteJson;
5566
+ readonly opts: CapacityMeshSolverOptions$2;
5567
+ preprocessSimpleRouteJsonSolver?: PreprocessSimpleRouteJsonSolver$1;
5568
+ escapeViaLocationSolver?: EscapeViaLocationSolver;
5569
+ netToPointPairsSolver?: NetToPointPairsSolver;
5570
+ topologyPlanningSolver?: MultiGraphTopologyPlannerSolver;
5571
+ nodeDimensionSubdivisionSolver?: NodeDimensionSubdivisionSolver;
5572
+ nodeTargetMerger?: CapacityNodeTargetMerger;
5573
+ edgeSolver?: CapacityMeshEdgeSolver;
5574
+ colorMap: Record<string, string>;
5575
+ highDensityRouteSolver?: HighDensitySolver;
5576
+ highDensityForceImproveSolver?: HighDensityForceImproveSolver;
5577
+ highDensityRepairSolver?: Pipeline4HighDensityRepairSolver;
5578
+ highDensityStitchSolver?: MultipleHighDensityRouteStitchSolver3;
5579
+ globalDrcForceImproveSolver?: GlobalDrcForceImproveSolver;
5580
+ singleLayerNodeMerger?: SingleLayerNodeMergerSolver;
5581
+ strawSolver?: StrawSolver;
5582
+ deadEndSolver?: DeadEndSolver;
5583
+ traceSimplificationSolver?: TraceSimplificationSolver;
5584
+ availableSegmentPointSolver?: AvailableSegmentPointSolver;
5585
+ portPointPathingSolver?: TinyHypergraphPortPointPathingSolver;
5586
+ multiSectionPortPointOptimizer?: MultiSectionPortPointOptimizer;
5587
+ uniformPortDistributionSolver?: UniformPortDistributionSolver;
5588
+ traceWidthSolver?: TraceWidthSolver;
5589
+ necessaryCrampedPortPointSolver?: MultiTargetNecessaryCrampedPortPointSolver;
5590
+ componentDetectionSolver?: ComponentDetectionSolver;
5591
+ viaDiameter: number;
5592
+ viaHoleDiameter: number;
5593
+ minTraceWidth: number;
5594
+ effort: number;
5595
+ maxNodeDimension: number;
5596
+ maxNodeRatio: number;
5597
+ minNodeArea: number;
5598
+ startTimeOfPhase: Record<string, number>;
5599
+ endTimeOfPhase: Record<string, number>;
5600
+ timeSpentOnPhase: Record<string, number>;
5601
+ activeSubSolver?: BaseSolver | null;
5602
+ connMap: ConnectivityMap;
5603
+ srjWithEscapeViaLocations?: SimpleRouteJson;
5604
+ srjWithPointPairs?: SimpleRouteJson;
5605
+ originalSrj: SimpleRouteJson;
5606
+ capacityNodes: CapacityMeshNode[] | null;
5607
+ capacityEdges: CapacityMeshEdge[] | null;
5608
+ highDensityNodePortPoints?: NodeWithPortPoints[];
5609
+ cacheProvider: CacheProvider | null;
5610
+ pipelineDef: (PipelineStep$2<typeof PreprocessSimpleRouteJsonSolver$1> | PipelineStep$2<typeof EscapeViaLocationSolver> | PipelineStep$2<typeof NetToPointPairsSolver2_OffBoardConnection> | PipelineStep$2<typeof ComponentDetectionSolver> | PipelineStep$2<typeof MultiGraphTopologyPlannerSolver> | PipelineStep$2<typeof NodeDimensionSubdivisionSolver> | PipelineStep$2<typeof CapacityMeshEdgeSolver2_NodeTreeOptimization> | PipelineStep$2<typeof AvailableSegmentPointSolver> | 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>)[];
5611
+ constructor(srj: SimpleRouteJson, opts?: CapacityMeshSolverOptions$2);
5612
+ private setSimpleRouteJson;
5613
+ getConstructorParams(): readonly [SimpleRouteJson, CapacityMeshSolverOptions$2];
5614
+ currentPipelineStepIndex: number;
5615
+ _step(): void;
5616
+ solveUntilPhase(phase: string): void;
5617
+ getCurrentPhase(): string;
5618
+ visualize(): GraphicsObject;
5619
+ preview(): GraphicsObject;
5620
+ _getOutputHdRoutes(): HighDensityRoute$1[];
5621
+ getOutputSimplifiedPcbTraces(): SimplifiedPcbTraces;
5622
+ getOutputSimpleRouteJson(): SimpleRouteJson;
5623
+ }
5624
+
5625
+ type SplitNodesIntoSingleLayerNodeSolverParams = {
5626
+ capacityMeshNodes: CapacityMeshNode[];
5627
+ sharedEdgeSegments: SharedEdgeSegment[];
5628
+ };
5629
+ declare class SplitNodesIntoSingleLayerNodeSolver extends BaseSolver {
5630
+ readonly params: SplitNodesIntoSingleLayerNodeSolverParams;
5631
+ outputNodes: CapacityMeshNode[];
5632
+ outputSharedEdgeSegments: SharedEdgeSegment[];
5633
+ private nodeIdByOriginalAndZ;
5634
+ constructor(params: SplitNodesIntoSingleLayerNodeSolverParams);
5635
+ getSolverName(): string;
5636
+ _step(): void;
5637
+ private getSplitNodeId;
5638
+ private splitPortPoint;
5639
+ private splitSharedEdgeSegment;
5640
+ getOutput(): {
5641
+ capacityMeshNodes: CapacityMeshNode[];
5642
+ sharedEdgeSegments: SharedEdgeSegment[];
5643
+ };
5644
+ getConstructorParams(): readonly [SplitNodesIntoSingleLayerNodeSolverParams];
5645
+ visualize(): GraphicsObject;
5646
+ }
5647
+
5648
+ interface CapacityMeshSolverOptions$1 {
5649
+ capacityDepth?: number;
5650
+ targetMinCapacity?: number;
5651
+ cacheProvider?: CacheProvider | null;
5652
+ effort?: number;
5653
+ maxNodeDimension?: number;
5654
+ maxNodeRatio?: number;
5655
+ minNodeArea?: number;
5656
+ }
5657
+ type PipelineStep$1<T extends new (...args: any[]) => BaseSolver> = {
5658
+ solverName: string;
5659
+ solverClass: T;
5660
+ getConstructorParams: (instance: AutoroutingPipelineSolver8) => ConstructorParameters<T>;
5661
+ onSolved?: (instance: AutoroutingPipelineSolver8) => void;
5662
+ };
5663
+ declare class AutoroutingPipelineSolver8 extends BaseSolver {
5664
+ srj: SimpleRouteJson;
5665
+ readonly opts: CapacityMeshSolverOptions$1;
5666
+ preprocessSimpleRouteJsonSolver?: PreprocessSimpleRouteJsonSolver$1;
5667
+ escapeViaLocationSolver?: EscapeViaLocationSolver;
5668
+ netToPointPairsSolver?: NetToPointPairsSolver;
5669
+ nodeSolver?: RectDiffPipeline;
5670
+ nodeDimensionSubdivisionSolver?: NodeDimensionSubdivisionSolver;
5671
+ nodeTargetMerger?: CapacityNodeTargetMerger;
5672
+ edgeSolver?: CapacityMeshEdgeSolver;
5673
+ colorMap: Record<string, string>;
5674
+ highDensityRouteSolver?: HighDensitySolver;
5675
+ highDensityForceImproveSolver?: HighDensityForceImproveSolver;
5676
+ highDensityRepairSolver?: Pipeline4HighDensityRepairSolver;
5677
+ highDensityStitchSolver?: MultipleHighDensityRouteStitchSolver3;
5678
+ globalDrcForceImproveSolver?: GlobalDrcForceImproveSolver;
5679
+ singleLayerNodeMerger?: SingleLayerNodeMergerSolver;
5680
+ strawSolver?: StrawSolver;
5681
+ deadEndSolver?: DeadEndSolver;
5682
+ traceSimplificationSolver?: TraceSimplificationSolver;
5683
+ availableSegmentPointSolver?: AvailableSegmentPointSolver;
5684
+ splitNodesIntoSingleLayerNodeSolver?: SplitNodesIntoSingleLayerNodeSolver;
5685
+ portPointPathingSolver?: TinyHypergraphPortPointPathingSolver;
5686
+ multiSectionPortPointOptimizer?: MultiSectionPortPointOptimizer;
5687
+ uniformPortDistributionSolver?: UniformPortDistributionSolver;
5688
+ traceWidthSolver?: TraceWidthSolver;
5689
+ necessaryCrampedPortPointSolver?: MultiTargetNecessaryCrampedPortPointSolver;
5690
+ viaDiameter: number;
5691
+ viaHoleDiameter: number;
5692
+ minTraceWidth: number;
5693
+ effort: number;
5694
+ maxNodeDimension: number;
5695
+ maxNodeRatio: number;
5696
+ minNodeArea: number;
5697
+ startTimeOfPhase: Record<string, number>;
5698
+ endTimeOfPhase: Record<string, number>;
5699
+ timeSpentOnPhase: Record<string, number>;
5700
+ activeSubSolver?: BaseSolver | null;
5701
+ connMap: ConnectivityMap;
5702
+ srjWithEscapeViaLocations?: SimpleRouteJson;
5703
+ srjWithPointPairs?: SimpleRouteJson;
5704
+ originalSrj: SimpleRouteJson;
5705
+ capacityNodes: CapacityMeshNode[] | null;
5706
+ capacityEdges: CapacityMeshEdge[] | null;
5707
+ highDensityNodePortPoints?: NodeWithPortPoints[];
5708
+ cacheProvider: CacheProvider | null;
5709
+ pipelineDef: (PipelineStep$1<typeof PreprocessSimpleRouteJsonSolver$1> | PipelineStep$1<typeof EscapeViaLocationSolver> | PipelineStep$1<typeof NetToPointPairsSolver2_OffBoardConnection> | PipelineStep$1<typeof RectDiffPipeline> | PipelineStep$1<typeof NodeDimensionSubdivisionSolver> | PipelineStep$1<typeof CapacityMeshEdgeSolver2_NodeTreeOptimization> | PipelineStep$1<typeof AvailableSegmentPointSolver> | PipelineStep$1<typeof MultiTargetNecessaryCrampedPortPointSolver> | PipelineStep$1<typeof SplitNodesIntoSingleLayerNodeSolver> | PipelineStep$1<typeof TinyHypergraphPortPointPathingSolver> | PipelineStep$1<typeof UniformPortDistributionSolver> | PipelineStep$1<typeof HighDensitySolver> | PipelineStep$1<typeof HighDensityForceImproveSolver> | PipelineStep$1<typeof Pipeline4HighDensityRepairSolver> | PipelineStep$1<typeof MultipleHighDensityRouteStitchSolver3> | PipelineStep$1<typeof TraceSimplificationSolver> | PipelineStep$1<typeof TraceWidthSolver> | PipelineStep$1<typeof GlobalDrcForceImproveSolver>)[];
5374
5710
  constructor(srj: SimpleRouteJson, opts?: CapacityMeshSolverOptions$1);
5375
5711
  private setSimpleRouteJson;
5376
5712
  getConstructorParams(): readonly [SimpleRouteJson, CapacityMeshSolverOptions$1];
@@ -5378,7 +5714,6 @@ declare class AutoroutingPipelineSolver6_PolyHypergraph extends BaseSolver {
5378
5714
  _step(): void;
5379
5715
  solveUntilPhase(phase: string): void;
5380
5716
  getCurrentPhase(): string;
5381
- private getProblemVisualization;
5382
5717
  visualize(): GraphicsObject;
5383
5718
  preview(): GraphicsObject;
5384
5719
  _getOutputHdRoutes(): HighDensityRoute$1[];
@@ -6438,4 +6773,4 @@ declare class IntraNodeSolverWithJumpers extends BaseSolver {
6438
6773
  visualize(): GraphicsObject;
6439
6774
  }
6440
6775
 
6441
- export { AssignableAutoroutingPipeline1Solver, AssignableAutoroutingPipeline2, AssignableAutoroutingPipeline3, AttachProjectedRectsSolver, AutoroutingPipeline1_OriginalUnravel, AutoroutingPipelineSolver4_TinyHypergraph as AutoroutingPipelineSolver, AutoroutingPipelineSolver2_PortPointPathing, AutoroutingPipelineSolver3_HgPortPointPathing, AutoroutingPipelineSolver4_TinyHypergraph as AutoroutingPipelineSolver4, AutoroutingPipelineSolver4_TinyHypergraph, AutoroutingPipelineSolver5_HdCache as AutoroutingPipelineSolver5, AutoroutingPipelineSolver5_HdCache, AutoroutingPipelineSolver6_PolyHypergraph as AutoroutingPipelineSolver6, AutoroutingPipelineSolver6_PolyHypergraph, type AutoroutingPipelineSolverOptions, type CachableSolver, type CacheProvider, CapacityMeshSolver, CurvyIntraNodeSolver, type HighDensityIntraNodeRouteWithJumpers, JumperHighDensitySolver as HighDensitySolver, HyperSingleIntraNodeSolver, InMemoryCache, IntraNodeSolverWithJumpers, type Jumper, LocalStorageCache, PolyHighDensitySolver, PolySingleIntraNodeSolver as PolyIntraNodeSolver, PolySingleIntraNodeSolver, ProjectHighDensityToPolygonSolver, type RerouteRectRegion, SingleHighDensityRouteWithJumpersSolver, calculateOptimalCapacityDepth, convertSrjToGraphicsObject, getGlobalInMemoryCache, getGlobalLocalStorageCache, getRerouteSimpleRouteJson, getTunedTotalCapacity1, reconnectReroutedSimpleRouteJsonRegion, setupGlobalCaches };
6776
+ export { AssignableAutoroutingPipeline1Solver, AssignableAutoroutingPipeline2, AssignableAutoroutingPipeline3, AttachProjectedRectsSolver, AutoroutingPipeline1_OriginalUnravel, AutoroutingPipelineSolver4_TinyHypergraph as AutoroutingPipelineSolver, AutoroutingPipelineSolver2_PortPointPathing, AutoroutingPipelineSolver3_HgPortPointPathing, AutoroutingPipelineSolver4_TinyHypergraph as AutoroutingPipelineSolver4, AutoroutingPipelineSolver4_TinyHypergraph, AutoroutingPipelineSolver5_HdCache as AutoroutingPipelineSolver5, AutoroutingPipelineSolver5_HdCache, AutoroutingPipelineSolver6_PolyHypergraph as AutoroutingPipelineSolver6, AutoroutingPipelineSolver6_PolyHypergraph, AutoroutingPipelineSolver7_MultiGraph, AutoroutingPipelineSolver8, type AutoroutingPipelineSolverOptions, type CachableSolver, type CacheProvider, CapacityMeshSolver, CurvyIntraNodeSolver, type HighDensityIntraNodeRouteWithJumpers, JumperHighDensitySolver as HighDensitySolver, HyperSingleIntraNodeSolver, InMemoryCache, IntraNodeSolverWithJumpers, type Jumper, LocalStorageCache, PolyHighDensitySolver, PolySingleIntraNodeSolver as PolyIntraNodeSolver, PolySingleIntraNodeSolver, ProjectHighDensityToPolygonSolver, type RerouteRectRegion, SingleHighDensityRouteWithJumpersSolver, calculateOptimalCapacityDepth, convertSrjToGraphicsObject, getGlobalInMemoryCache, getGlobalLocalStorageCache, getRerouteSimpleRouteJson, getTunedTotalCapacity1, reconnectReroutedSimpleRouteJsonRegion, setupGlobalCaches };