@tscircuit/capacity-autorouter 0.0.264 → 0.0.266

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
@@ -184,6 +184,7 @@ declare class BaseSolver {
184
184
  cacheHit?: boolean;
185
185
  cacheKey?: string;
186
186
  cacheToSolveSpaceTransform?: any;
187
+ getSolverName(): string;
187
188
  /** DO NOT OVERRIDE! Override _step() instead */
188
189
  step(): void;
189
190
  _step(): void;
@@ -205,6 +206,7 @@ declare class BaseSolver {
205
206
 
206
207
  declare class CapacityMeshEdgeSolver extends BaseSolver {
207
208
  nodes: CapacityMeshNode[];
209
+ getSolverName(): string;
208
210
  edges: Array<CapacityMeshEdge>;
209
211
  /** Only used for visualization, dynamically instantiated if necessary */
210
212
  nodeMap?: Map<CapacityMeshNodeId, CapacityMeshNode>;
@@ -378,6 +380,7 @@ type FutureConnection$1 = {
378
380
  }[];
379
381
  };
380
382
  declare class SingleHighDensityRouteSolver extends BaseSolver {
383
+ getSolverName(): string;
381
384
  obstacleRoutes: HighDensityIntraNodeRoute$1[];
382
385
  bounds: {
383
386
  minX: number;
@@ -480,6 +483,7 @@ declare class SingleHighDensityRouteSolver extends BaseSolver {
480
483
  }
481
484
 
482
485
  declare class IntraNodeRouteSolver extends BaseSolver {
486
+ getSolverName(): string;
483
487
  nodeWithPortPoints: NodeWithPortPoints;
484
488
  colorMap: Record<string, string>;
485
489
  unsolvedConnections: {
@@ -560,6 +564,7 @@ type CachedSolvedIntraNodeRouteSolver = {
560
564
  };
561
565
  type CacheToIntraNodeSolverTransform = Record<string, never>;
562
566
  declare class CachedIntraNodeRouteSolver extends IntraNodeRouteSolver implements CachableSolver<CacheToIntraNodeSolverTransform, CachedSolvedIntraNodeRouteSolver> {
567
+ getSolverName(): string;
563
568
  cacheProvider: CacheProvider | null;
564
569
  cacheHit: boolean;
565
570
  hasAttemptedToUseCache: boolean;
@@ -605,6 +610,7 @@ type HyperParameterDef = {
605
610
  * for more iterations, prioritizing the solvers that are working the best.
606
611
  */
607
612
  declare class HyperParameterSupervisorSolver<T extends BaseSolver> extends BaseSolver {
613
+ getSolverName(): string;
608
614
  GREEDY_MULTIPLIER: number;
609
615
  MIN_SUBSTEPS: number;
610
616
  supervisedSolvers?: Array<SupervisedSolver<T>>;
@@ -635,6 +641,7 @@ type Route$2 = {
635
641
  connectionName: string;
636
642
  };
637
643
  declare class TwoCrossingRoutesHighDensitySolver extends BaseSolver {
644
+ getSolverName(): string;
638
645
  nodeWithPortPoints: NodeWithPortPoints;
639
646
  routes: Route$2[];
640
647
  viaDiameter: number;
@@ -706,6 +713,7 @@ type Route$1 = {
706
713
  connectionName: string;
707
714
  };
708
715
  declare class SingleTransitionCrossingRouteSolver extends BaseSolver {
716
+ getSolverName(): string;
709
717
  nodeWithPortPoints: NodeWithPortPoints;
710
718
  routes: Route$1[];
711
719
  viaDiameter: number;
@@ -779,6 +787,7 @@ type Route = {
779
787
  connectionName: string;
780
788
  };
781
789
  declare class SingleTransitionIntraNodeSolver extends BaseSolver {
790
+ getSolverName(): string;
782
791
  nodeWithPortPoints: NodeWithPortPoints;
783
792
  routes: Route[];
784
793
  viaDiameter: number;
@@ -805,6 +814,7 @@ declare class SingleTransitionIntraNodeSolver extends BaseSolver {
805
814
  }
806
815
 
807
816
  declare class HyperSingleIntraNodeSolver extends HyperParameterSupervisorSolver<IntraNodeRouteSolver | TwoCrossingRoutesHighDensitySolver | SingleTransitionCrossingRouteSolver | SingleTransitionIntraNodeSolver> {
817
+ getSolverName(): string;
808
818
  constructorParams: ConstructorParameters<typeof CachedIntraNodeRouteSolver>[0];
809
819
  solvedRoutes: HighDensityIntraNodeRoute$1[];
810
820
  nodeWithPortPoints: NodeWithPortPoints;
@@ -884,6 +894,7 @@ declare class HyperSingleIntraNodeSolver extends HyperParameterSupervisorSolver<
884
894
  }
885
895
 
886
896
  declare class HighDensitySolver extends BaseSolver {
897
+ getSolverName(): string;
887
898
  unsolvedNodePortPoints: NodeWithPortPoints[];
888
899
  routes: HighDensityIntraNodeRoute$1[];
889
900
  colorMap: Record<string, string>;
@@ -916,6 +927,7 @@ declare class HighDensitySolver extends BaseSolver {
916
927
  declare class CapacityNodeTargetMerger extends BaseSolver {
917
928
  nodes: CapacityMeshNode[];
918
929
  connMap: ConnectivityMap;
930
+ getSolverName(): string;
919
931
  unprocessedObstacles: Obstacle[];
920
932
  newNodes: CapacityMeshNode[];
921
933
  removedNodeIds: Set<string>;
@@ -940,6 +952,7 @@ declare class CapacityNodeTargetMerger extends BaseSolver {
940
952
  declare class NetToPointPairsSolver extends BaseSolver {
941
953
  ogSrj: SimpleRouteJson;
942
954
  colorMap: Record<string, string>;
955
+ getSolverName(): string;
943
956
  unprocessedConnections: Array<SimpleRouteConnection>;
944
957
  newConnections: Array<SimpleRouteConnection>;
945
958
  constructor(ogSrj: SimpleRouteJson, colorMap?: Record<string, string>);
@@ -949,6 +962,7 @@ declare class NetToPointPairsSolver extends BaseSolver {
949
962
  }
950
963
 
951
964
  declare class SingleHighDensityRouteStitchSolver extends BaseSolver {
965
+ getSolverName(): string;
952
966
  mergedHdRoute: HighDensityIntraNodeRoute$1;
953
967
  remainingHdRoutes: HighDensityIntraNodeRoute$1[];
954
968
  start: {
@@ -1008,6 +1022,7 @@ type UnsolvedRoute = {
1008
1022
  };
1009
1023
  };
1010
1024
  declare class MultipleHighDensityRouteStitchSolver extends BaseSolver {
1025
+ getSolverName(): string;
1011
1026
  unsolvedRoutes: UnsolvedRoute[];
1012
1027
  activeSolver: SingleHighDensityRouteStitchSolver | null;
1013
1028
  mergedHdRoutes: HighDensityIntraNodeRoute$1[];
@@ -1026,6 +1041,7 @@ declare class MultipleHighDensityRouteStitchSolver extends BaseSolver {
1026
1041
  }
1027
1042
 
1028
1043
  declare class StrawSolver extends BaseSolver {
1044
+ getSolverName(): string;
1029
1045
  multiLayerNodes: CapacityMeshNode[];
1030
1046
  strawNodes: CapacityMeshNode[];
1031
1047
  skippedNodes: CapacityMeshNode[];
@@ -1062,6 +1078,7 @@ declare class StrawSolver extends BaseSolver {
1062
1078
  * for "strawing".
1063
1079
  */
1064
1080
  declare class SingleLayerNodeMergerSolver extends BaseSolver {
1081
+ getSolverName(): string;
1065
1082
  nodeMap: Map<CapacityMeshNodeId, CapacityMeshNode>;
1066
1083
  currentBatchNodeIds: CapacityMeshNodeId[];
1067
1084
  absorbedNodeIds: Set<CapacityMeshNodeId>;
@@ -1079,6 +1096,7 @@ declare class SingleLayerNodeMergerSolver extends BaseSolver {
1079
1096
 
1080
1097
  declare class CapacityMeshEdgeSolver2_NodeTreeOptimization extends CapacityMeshEdgeSolver {
1081
1098
  nodes: CapacityMeshNode[];
1099
+ getSolverName(): string;
1082
1100
  private nodeTree;
1083
1101
  private currentNodeIndex;
1084
1102
  private edgeSet;
@@ -1087,6 +1105,7 @@ declare class CapacityMeshEdgeSolver2_NodeTreeOptimization extends CapacityMeshE
1087
1105
  }
1088
1106
 
1089
1107
  declare class DeadEndSolver extends BaseSolver {
1108
+ getSolverName(): string;
1090
1109
  removedNodeIds: Set<string>;
1091
1110
  private targetNodeIds;
1092
1111
  private leaves;
@@ -1149,6 +1168,7 @@ declare class DSU {
1149
1168
  declare class NetToPointPairsSolver2_OffBoardConnection extends NetToPointPairsSolver {
1150
1169
  ogSrj: SimpleRouteJson;
1151
1170
  colorMap: Record<string, string>;
1171
+ getSolverName(): string;
1152
1172
  connectionPointDsu: DSU;
1153
1173
  connectionPointMap: Map<string, ConnectionPoint>;
1154
1174
  constructor(ogSrj: SimpleRouteJson, colorMap?: Record<string, string>);
@@ -1173,6 +1193,7 @@ type Phase$1 = "via_removal" | "via_merging" | "path_simplification";
1173
1193
  */
1174
1194
  declare class TraceSimplificationSolver extends BaseSolver {
1175
1195
  private simplificationConfig;
1196
+ getSolverName(): string;
1176
1197
  hdRoutes: HighDensityRoute$1[];
1177
1198
  simplificationPipelineLoops: number;
1178
1199
  MAX_SIMPLIFICATION_PIPELINE_LOOPS: number;
@@ -1251,6 +1272,7 @@ interface SharedEdgeSegment {
1251
1272
  * as paths are routed through them.
1252
1273
  */
1253
1274
  declare class AvailableSegmentPointSolver extends BaseSolver {
1275
+ getSolverName(): string;
1254
1276
  nodes: CapacityMeshNode[];
1255
1277
  edges: CapacityMeshEdge[];
1256
1278
  traceWidth: number;
@@ -1456,6 +1478,7 @@ declare class PortPointPathingSolver extends BaseSolver {
1456
1478
  /** Pre-routed connections that should not be re-routed but should appear in results */
1457
1479
  fixedRoutes?: ConnectionPathResult[];
1458
1480
  };
1481
+ getSolverName(): string;
1459
1482
  hyperParameters: Partial<PortPointPathingHyperParameters>;
1460
1483
  simpleRouteJson: SimpleRouteJson;
1461
1484
  inputNodes: InputNodeWithPortPoints[];
@@ -1726,6 +1749,7 @@ interface HyperPortPointPathingSolverParams {
1726
1749
  precomputedInitialParams?: PrecomputedInitialParams;
1727
1750
  }
1728
1751
  declare class HyperPortPointPathingSolver extends HyperParameterSupervisorSolver<PortPointPathingSolver> {
1752
+ getSolverName(): string;
1729
1753
  private params;
1730
1754
  private precomputedInitialParams;
1731
1755
  constructor(params: HyperPortPointPathingSolverParams);
@@ -1899,6 +1923,7 @@ interface MultiSectionPortPointOptimizerParams {
1899
1923
  * This phase runs after portPointPathingSolver to refine routes in problematic areas.
1900
1924
  */
1901
1925
  declare class MultiSectionPortPointOptimizer extends BaseSolver {
1926
+ getSolverName(): string;
1902
1927
  simpleRouteJson: SimpleRouteJson;
1903
1928
  inputNodes: InputNodeWithPortPoints[];
1904
1929
  capacityMeshNodes: CapacityMeshNode[];
@@ -2075,6 +2100,7 @@ interface UniformPortDistributionSolverInput {
2075
2100
  */
2076
2101
  declare class UniformPortDistributionSolver extends BaseSolver$1 {
2077
2102
  private input;
2103
+ getSolverName(): string;
2078
2104
  mapOfNodeIdToLengthOfEachSide: Map<string, Record<Side, number>>;
2079
2105
  sidesToProcess: NodeAndSide[];
2080
2106
  mapOfNodeIdToBounds: Map<string, Bounds>;
@@ -2203,6 +2229,7 @@ interface TraceWidthSolverInput {
2203
2229
  * The schedule is built per-route from that connection's nominalTraceWidth.
2204
2230
  */
2205
2231
  declare class TraceWidthSolver extends BaseSolver {
2232
+ getSolverName(): string;
2206
2233
  hdRoutes: HighDensityRoute$1[];
2207
2234
  hdRoutesWithWidths: HighDensityRoute$1[];
2208
2235
  nominalTraceWidth: number;
@@ -2274,6 +2301,7 @@ type PipelineStep$4<T extends new (...args: any[]) => BaseSolver> = {
2274
2301
  declare class AutoroutingPipelineSolver2_PortPointPathing extends BaseSolver {
2275
2302
  srj: SimpleRouteJson;
2276
2303
  opts: CapacityMeshSolverOptions$4;
2304
+ getSolverName(): string;
2277
2305
  netToPointPairsSolver?: NetToPointPairsSolver;
2278
2306
  nodeSolver?: RectDiffPipeline;
2279
2307
  nodeTargetMerger?: CapacityNodeTargetMerger;
@@ -2372,6 +2400,7 @@ interface Target {
2372
2400
  declare class CapacityMeshNodeSolver extends BaseSolver {
2373
2401
  srj: SimpleRouteJson;
2374
2402
  opts: CapacityMeshNodeSolverOptions$2;
2403
+ getSolverName(): string;
2375
2404
  unfinishedNodes: CapacityMeshNode[];
2376
2405
  finishedNodes: CapacityMeshNode[];
2377
2406
  nodeToXYOverlappingObstaclesMap: Map<CapacityMeshNodeId, Obstacle[]>;
@@ -2434,6 +2463,7 @@ interface CapacityMeshNodeSolverOptions$1 {
2434
2463
  declare class CapacityMeshNodeSolver2_NodeUnderObstacle extends CapacityMeshNodeSolver {
2435
2464
  srj: SimpleRouteJson;
2436
2465
  opts: CapacityMeshNodeSolverOptions$1;
2466
+ getSolverName(): string;
2437
2467
  VIA_DIAMETER: number;
2438
2468
  OBSTACLE_MARGIN: number;
2439
2469
  /**
@@ -2496,6 +2526,7 @@ interface NodePortSegment {
2496
2526
  * will take for each node.
2497
2527
  */
2498
2528
  declare class CapacityEdgeToPortSegmentSolver extends BaseSolver {
2529
+ getSolverName(): string;
2499
2530
  nodes: CapacityMeshNode[];
2500
2531
  edges: CapacityMeshEdge[];
2501
2532
  capacityPaths: CapacityPath[];
@@ -2540,6 +2571,7 @@ interface SegmentWithAssignedPoints extends NodePortSegment {
2540
2571
  * ordering them alphabetically.
2541
2572
  */
2542
2573
  declare class CapacitySegmentToPointSolver extends BaseSolver {
2574
+ getSolverName(): string;
2543
2575
  unsolvedSegments: SegmentWithAssignedPoints[];
2544
2576
  solvedSegments: (NodePortSegment & {
2545
2577
  assignedPoints: {
@@ -2620,6 +2652,7 @@ type Operation = ChangeLayerOperation | SwitchOperation | CombinedOperation;
2620
2652
  * annealing function to determine if we should perform the operation
2621
2653
  */
2622
2654
  declare class CapacitySegmentPointOptimizer extends BaseSolver {
2655
+ getSolverName(): string;
2623
2656
  assignedSegments: SegmentWithAssignedPoints[];
2624
2657
  colorMap: Record<string, string>;
2625
2658
  nodeMap: Map<CapacityMeshNodeId, CapacityMeshNode>;
@@ -2881,6 +2914,7 @@ interface UnravelSectionSolverParams {
2881
2914
  *
2882
2915
  */
2883
2916
  declare class UnravelSectionSolver extends BaseSolver {
2917
+ getSolverName(): string;
2884
2918
  nodeMap: Map<CapacityMeshNodeId, CapacityMeshNode>;
2885
2919
  dedupedSegments: SegmentWithAssignedPoints[];
2886
2920
  dedupedSegmentMap: Map<SegmentId, SegmentWithAssignedPoints>;
@@ -2938,6 +2972,7 @@ declare class UnravelSectionSolver extends BaseSolver {
2938
2972
  }
2939
2973
 
2940
2974
  declare class UnravelMultiSectionSolver extends BaseSolver {
2975
+ getSolverName(): string;
2941
2976
  nodeMap: Map<CapacityMeshNodeId, CapacityMeshNode>;
2942
2977
  dedupedSegmentMap: Map<SegmentId, SegmentWithAssignedPoints>;
2943
2978
  dedupedSegments: SegmentWithAssignedPoints[];
@@ -2996,6 +3031,7 @@ type ConnectionPathWithNodes$1 = {
2996
3031
  straightLineDistance: number;
2997
3032
  };
2998
3033
  declare class CapacityPathingSolver extends BaseSolver {
3034
+ getSolverName(): string;
2999
3035
  connectionsWithNodes: Array<ConnectionPathWithNodes$1>;
3000
3036
  usedNodeCapacityMap: Map<CapacityMeshNodeId, number>;
3001
3037
  simpleRouteJson: SimpleRouteJson;
@@ -3053,6 +3089,7 @@ declare class CapacityPathingSolver extends BaseSolver {
3053
3089
  }
3054
3090
 
3055
3091
  declare class CapacityPathingSolver5 extends CapacityPathingSolver {
3092
+ getSolverName(): string;
3056
3093
  NEGATIVE_CAPACITY_PENALTY_FACTOR: number;
3057
3094
  REDUCED_CAPACITY_PENALTY_FACTOR: number;
3058
3095
  constructor(...args: ConstructorParameters<typeof CapacityPathingSolver>);
@@ -3073,6 +3110,7 @@ declare class CapacityPathingSolver5 extends CapacityPathingSolver {
3073
3110
  }
3074
3111
 
3075
3112
  declare class CapacityPathingGreedySolver extends CapacityPathingSolver5 {
3113
+ getSolverName(): string;
3076
3114
  doesNodeHaveCapacityForTrace(node: CapacityMeshNode, prevNode: CapacityMeshNode): boolean;
3077
3115
  getNodeCapacityPenalty(node: CapacityMeshNode): number;
3078
3116
  }
@@ -3103,6 +3141,7 @@ interface CapacityPathingSingleSectionPathingSolverParams {
3103
3141
  hyperParameters?: CpssPathingSolverHyperParameters;
3104
3142
  }
3105
3143
  declare class CapacityPathingSingleSectionSolver extends BaseSolver {
3144
+ getSolverName(): string;
3106
3145
  GREEDY_MULTIPLIER: number;
3107
3146
  sectionNodes: CapacityMeshNode[];
3108
3147
  sectionEdges: CapacityMeshEdge[];
@@ -3155,6 +3194,7 @@ declare const CapacityPathingSingleSectionPathingSolver: typeof CapacityPathingS
3155
3194
  type CapacityPathingSingleSectionPathingSolver = InstanceType<typeof CapacityPathingSingleSectionSolver>;
3156
3195
 
3157
3196
  declare class HyperCapacityPathingSingleSectionSolver extends HyperParameterSupervisorSolver<CapacityPathingSingleSectionPathingSolver> {
3197
+ getSolverName(): string;
3158
3198
  constructorParams: CapacityPathingSingleSectionPathingSolverParams;
3159
3199
  winningSolver?: CapacityPathingSingleSectionPathingSolver;
3160
3200
  constructor(params: ConstructorParameters<typeof CapacityPathingSingleSectionPathingSolver>[0]);
@@ -3195,6 +3235,7 @@ type CapacityMeshEdgeId = string;
3195
3235
  * solver.
3196
3236
  */
3197
3237
  declare class CapacityPathingMultiSectionSolver extends BaseSolver {
3238
+ getSolverName(): string;
3198
3239
  simpleRouteJson: SimpleRouteJson;
3199
3240
  nodes: CapacityMeshNode[];
3200
3241
  edges: CapacityMeshEdge[];
@@ -3269,6 +3310,7 @@ declare class CapacityPathingMultiSectionSolver extends BaseSolver {
3269
3310
  * instead of analyzing possible endpoints from route islands.
3270
3311
  */
3271
3312
  declare class NoOffBoardMultipleHighDensityRouteStitchSolver extends MultipleHighDensityRouteStitchSolver {
3313
+ getSolverName(): string;
3272
3314
  constructor(params: {
3273
3315
  connections: SimpleRouteConnection[];
3274
3316
  hdRoutes: any[];
@@ -3292,6 +3334,7 @@ type PipelineStep$3<T extends new (...args: any[]) => BaseSolver> = {
3292
3334
  declare class AutoroutingPipeline1_OriginalUnravel extends BaseSolver {
3293
3335
  srj: SimpleRouteJson;
3294
3336
  opts: CapacityMeshSolverOptions$3;
3337
+ getSolverName(): string;
3295
3338
  netToPointPairsSolver?: NetToPointPairsSolver;
3296
3339
  nodeSolver?: CapacityMeshNodeSolver;
3297
3340
  nodeTargetMerger?: CapacityNodeTargetMerger;
@@ -3381,6 +3424,7 @@ interface RouteInProgress {
3381
3424
  * Only solves intra-node routing - connecting port points within a single node.
3382
3425
  */
3383
3426
  declare class SimpleHighDensitySolver extends BaseSolver {
3427
+ getSolverName(): string;
3384
3428
  unsolvedNodes: NodeWithPortPoints[];
3385
3429
  allNodes: NodeWithPortPoints[];
3386
3430
  routes: HighDensityIntraNodeRoute$1[];
@@ -3447,6 +3491,7 @@ interface XYConnection {
3447
3491
  connectionId: string;
3448
3492
  }
3449
3493
  declare class JumperPrepatternSolver2_HyperGraph extends BaseSolver {
3494
+ getSolverName(): string;
3450
3495
  constructorParams: JumperPrepatternSolver2Params;
3451
3496
  nodeWithPortPoints: NodeWithPortPoints;
3452
3497
  colorMap: Record<string, string>;
@@ -3615,6 +3660,7 @@ interface CurvyIntraNodeSolverParams {
3615
3660
  * that maximize distance between traces and obstacles.
3616
3661
  */
3617
3662
  declare class CurvyIntraNodeSolver extends BaseSolver {
3663
+ getSolverName(): string;
3618
3664
  nodeWithPortPoints: NodeWithPortPoints;
3619
3665
  colorMap: Record<string, string>;
3620
3666
  traceWidth: number;
@@ -3646,6 +3692,7 @@ interface NodeAnalysis {
3646
3692
  * already-solved routes to maximize trace spacing.
3647
3693
  */
3648
3694
  declare class JumperHighDensitySolver extends BaseSolver {
3695
+ getSolverName(): string;
3649
3696
  allNodes: NodeWithPortPoints[];
3650
3697
  nodeAnalyses: NodeAnalysis[];
3651
3698
  routes: HighDensityIntraNodeRoute$1[];
@@ -3768,6 +3815,7 @@ interface TraceKeepoutSolverInput {
3768
3815
  */
3769
3816
  declare class TraceKeepoutSolver extends BaseSolver {
3770
3817
  private input;
3818
+ getSolverName(): string;
3771
3819
  originalHdRoutes: HighDensityRoute$1[];
3772
3820
  hdRoutes: HighDensityRoute$1[];
3773
3821
  redrawnHdRoutes: HighDensityRoute$1[];
@@ -3904,6 +3952,7 @@ interface PendingFragment {
3904
3952
  * 3. Phase "done": Solver complete
3905
3953
  */
3906
3954
  declare class PortPointOffboardPathFragmentSolver extends BaseSolver {
3955
+ getSolverName(): string;
3907
3956
  srj: SimpleRouteJson;
3908
3957
  colorMap: Record<string, string>;
3909
3958
  /** Current phase of the solver */
@@ -3971,6 +4020,7 @@ declare class RelateNodesToOffBoardConnectionsSolver extends BaseSolver {
3971
4020
  capacityMeshNodes: CapacityMeshNode[];
3972
4021
  srj: SimpleRouteJson;
3973
4022
  };
4023
+ getSolverName(): string;
3974
4024
  unprocessedObstacles: Obstacle[];
3975
4025
  nodeTree: CapacityNodeTree;
3976
4026
  offBoardConnMap: ConnectivityMap$1;
@@ -4002,6 +4052,7 @@ type PipelineStep$2<T extends new (...args: any[]) => BaseSolver> = {
4002
4052
  declare class AssignableAutoroutingPipeline2 extends BaseSolver {
4003
4053
  srj: SimpleRouteJson;
4004
4054
  opts: CapacityMeshSolverOptions$2;
4055
+ getSolverName(): string;
4005
4056
  netToPointPairsSolver?: NetToPointPairsSolver;
4006
4057
  nodeSolver?: RectDiffPipeline;
4007
4058
  nodeTargetMerger?: CapacityNodeTargetMerger;
@@ -4087,6 +4138,7 @@ type UnsolvedRouteWithOrder = {
4087
4138
  * this version uses the node traversal order from the pathing solver.
4088
4139
  */
4089
4140
  declare class MultipleHighDensityRouteStitchSolver2 extends BaseSolver {
4141
+ getSolverName(): string;
4090
4142
  unsolvedRoutes: UnsolvedRouteWithOrder[];
4091
4143
  mergedHdRoutes: HighDensityIntraNodeRoute$1[];
4092
4144
  colorMap: Record<string, string>;
@@ -4144,6 +4196,7 @@ type PipelineStep$1<T extends new (...args: any[]) => BaseSolver> = {
4144
4196
  declare class AssignableAutoroutingPipeline3 extends BaseSolver {
4145
4197
  srj: SimpleRouteJson;
4146
4198
  opts: CapacityMeshSolverOptions$1;
4199
+ getSolverName(): string;
4147
4200
  netToPointPairsSolver?: NetToPointPairsSolver;
4148
4201
  traceKeepoutSolver?: TraceKeepoutSolver;
4149
4202
  nodeSolver?: RectDiffPipeline;
@@ -4382,6 +4435,7 @@ declare class CapacityMeshNodeSolver_OnlyTraverseLayersInAssignableObstacles ext
4382
4435
  * Nodes without targets are passed through unchanged.
4383
4436
  */
4384
4437
  declare class SingleLayerNodeMergerSolver_OnlyMergeTargets extends BaseSolver {
4438
+ getSolverName(): string;
4385
4439
  nodeMap: Map<CapacityMeshNodeId, CapacityMeshNode>;
4386
4440
  currentBatchNodeIds: CapacityMeshNodeId[];
4387
4441
  absorbedNodeIds: Set<CapacityMeshNodeId>;
@@ -4405,6 +4459,7 @@ declare class SingleLayerNodeMergerSolver_OnlyMergeTargets extends BaseSolver {
4405
4459
  * - Each step handles one assignable obstacle
4406
4460
  */
4407
4461
  declare class AssignableViaNodeMergerSolver extends BaseSolver {
4462
+ getSolverName(): string;
4408
4463
  newNodes: CapacityMeshNode[];
4409
4464
  obstacleToNodesMap: Map<Obstacle, CapacityMeshNode[]>;
4410
4465
  obstaclesToProcess: Obstacle[];
@@ -4420,6 +4475,7 @@ interface Point {
4420
4475
  z: number;
4421
4476
  }
4422
4477
  declare class SingleSimplifiedPathSolver extends BaseSolver {
4478
+ getSolverName(): string;
4423
4479
  newRoute: HighDensityIntraNodeRoute$1["route"];
4424
4480
  newVias: HighDensityIntraNodeRoute$1["vias"];
4425
4481
  headIndex: number;
@@ -4462,6 +4518,7 @@ declare class SingleSimplifiedPathSolver extends BaseSolver {
4462
4518
  }
4463
4519
 
4464
4520
  declare class MultiSimplifiedPathSolver extends BaseSolver {
4521
+ getSolverName(): string;
4465
4522
  simplifiedHdRoutes: HighDensityIntraNodeRoute$1[];
4466
4523
  currentUnsimplifiedHdRouteIndex: number;
4467
4524
  activeSubSolver: SingleSimplifiedPathSolver | null;
@@ -4496,6 +4553,7 @@ interface RouteSection {
4496
4553
  points: HighDensityRoute["route"];
4497
4554
  }
4498
4555
  declare class SingleRouteUselessViaRemovalSolver extends BaseSolver {
4556
+ getSolverName(): string;
4499
4557
  obstacleSHI: ObstacleSpatialHashIndex;
4500
4558
  hdRouteSHI: HighDensityRouteSpatialIndex;
4501
4559
  unsimplifiedRoute: HighDensityRoute;
@@ -4537,6 +4595,7 @@ interface UselessViaRemovalSolverInput {
4537
4595
  }
4538
4596
  declare class UselessViaRemovalSolver extends BaseSolver {
4539
4597
  private input;
4598
+ getSolverName(): string;
4540
4599
  unsimplifiedHdRoutes: HighDensityRoute$1[];
4541
4600
  optimizedHdRoutes: HighDensityRoute$1[];
4542
4601
  unprocessedRoutes: HighDensityRoute$1[];
@@ -4585,6 +4644,7 @@ type ConnectionPathWithNodes = {
4585
4644
  */
4586
4645
  declare class AssignableViaCapacityPathingSolver_DirectiveSubOptimal extends BaseSolver {
4587
4646
  private inputParams;
4647
+ getSolverName(): string;
4588
4648
  /**
4589
4649
  * Bias toward greedier choices (f = g + GREEDY_MULTIPLIER * h)
4590
4650
  */
@@ -4646,6 +4706,7 @@ type HyperParameterOverrides = Partial<CapacityHyperParameters> & {
4646
4706
  LAYER_TRAVERSAL_REWARD?: number;
4647
4707
  };
4648
4708
  declare class HyperAssignableViaCapacityPathingSolver extends HyperParameterSupervisorSolver<AssignableViaCapacityPathingSolver_DirectiveSubOptimal> {
4709
+ getSolverName(): string;
4649
4710
  constructorParams: AssignableViaCapacityPathingParams;
4650
4711
  constructor(opts: AssignableViaCapacityPathingParams);
4651
4712
  getHyperParameterDefs(): ({
@@ -4676,6 +4737,7 @@ declare class HyperAssignableViaCapacityPathingSolver extends HyperParameterSupe
4676
4737
  * connections as if the obstacles were directly connected.
4677
4738
  */
4678
4739
  declare class OffboardCapacityNodeSolver extends BaseSolver {
4740
+ getSolverName(): string;
4679
4741
  capacityNodes: CapacityMeshNode[];
4680
4742
  capacityEdges: CapacityMeshEdge[];
4681
4743
  enhancedEdges: CapacityMeshEdge[];
@@ -4713,6 +4775,7 @@ declare class OffboardCapacityNodeSolver extends BaseSolver {
4713
4775
  * treating them as separate traces that terminate at off-board connection points.
4714
4776
  */
4715
4777
  declare class OffboardPathFragmentSolver extends BaseSolver {
4778
+ getSolverName(): string;
4716
4779
  private inputPaths;
4717
4780
  private capacityEdges;
4718
4781
  private originalConnections;
@@ -4756,6 +4819,7 @@ type PipelineStep<T extends new (...args: any[]) => BaseSolver> = {
4756
4819
  declare class AssignableAutoroutingPipeline1Solver extends BaseSolver {
4757
4820
  srj: SimpleRouteJson;
4758
4821
  opts: CapacityMeshSolverOptions;
4822
+ getSolverName(): string;
4759
4823
  netToPointPairsSolver?: NetToPointPairsSolver;
4760
4824
  nodeSolver?: CapacityMeshNodeSolver;
4761
4825
  nodeTargetMerger?: CapacityNodeTargetMerger;
@@ -4886,6 +4950,7 @@ type JumperNode = Node & {
4886
4950
  hComponents?: HComponents;
4887
4951
  };
4888
4952
  declare class SingleHighDensityRouteWithJumpersSolver extends BaseSolver {
4953
+ getSolverName(): string;
4889
4954
  obstacleRoutes: HighDensityIntraNodeRouteWithJumpers[];
4890
4955
  bounds: {
4891
4956
  minX: number;
@@ -5192,6 +5257,7 @@ declare class SingleHighDensityRouteWithJumpersSolver extends BaseSolver {
5192
5257
  * to handle trace crossings.
5193
5258
  */
5194
5259
  declare class IntraNodeSolverWithJumpers extends BaseSolver {
5260
+ getSolverName(): string;
5195
5261
  nodeWithPortPoints: NodeWithPortPoints;
5196
5262
  colorMap: Record<string, string>;
5197
5263
  unsolvedConnections: {