@tscircuit/capacity-autorouter 0.0.813 → 0.0.814

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
@@ -10,13 +10,14 @@ import { CurvyTraceSolver } from '@tscircuit/curvy-trace-solver';
10
10
  import { JumperGraphSolver, JRegion, JPort, HyperGraph, RegionPort, Region, RegionPortAssignment, Connection, SolvedRoute, Candidate as Candidate$3, HyperGraphSolver, HyperGraphSectionOptimizer } from '@tscircuit/hypergraph';
11
11
  import { ConnectivityMap as ConnectivityMap$1 } from 'connectivity-map';
12
12
  import { HighDensityForceImproveSolver } from 'high-density-repair01/lib/HighDensityForceImproveSolver';
13
- import { GlobalDrcForceImproveSolver, GlobalDrcBranchPortfolioSolver } from 'high-density-repair03/lib';
13
+ import { GlobalDrcForceImproveSolver, GlobalDrcBranchPortfolioSolverParams, HighDensityRoute as HighDensityRoute$2, GlobalDrcBranchPortfolioSolver } from 'high-density-repair03/lib';
14
14
  export { DrcError, DrcEvaluator, DrcSnapshot, GlobalDrcBranchPortfolioSolver, GlobalDrcBranchPortfolioSolverParams, GlobalDrcForceImproveSolver, GlobalDrcForceImproveSolverParams, HighDensityRoute } from 'high-density-repair03/lib';
15
15
  import { DatasetSample, HighDensityRepairSolver } from 'high-density-repair02';
16
16
  import { LayerMergeMode, ConvexRegionsComputeResult, SerializedPolyHyperGraph } from 'pcb-poly-hyper-graph';
17
17
  import { PolyHyperGraphLoadResult, PolyHyperGraphSolver } from 'tiny-hypergraph-poly/lib/index';
18
18
  import { PostProcessingSolver } from '@tscircuit/length-matching-solver';
19
19
  import { PowerTraceExpanderOptions, PowerTraceExpanderSolver } from '@tscircuit/power-trace-expander';
20
+ import * as high_density_repair03_types_high_density_types from 'high-density-repair03/types/high-density-types';
20
21
  import { HighDensitySolverB01 } from '@tscircuit/high-density-b01';
21
22
 
22
23
  interface CacheProvider {
@@ -255,6 +256,7 @@ interface SimplifiedPcbTrace {
255
256
  from_layer: string;
256
257
  to_layer: string;
257
258
  width: number;
259
+ circuitJsonMetadata?: CircuitJsonMetadata;
258
260
  }>;
259
261
  }
260
262
  type SimplifiedPcbTraces = Array<SimplifiedPcbTrace>;
@@ -362,6 +364,7 @@ type HighDensityIntraNodeRoute$1 = {
362
364
  pcb_port_id?: string;
363
365
  insideJumperPad?: boolean;
364
366
  toNextSegmentType?: "through_obstacle";
367
+ toNextSegmentCircuitJsonMetadata?: CircuitJsonMetadata;
365
368
  }>;
366
369
  vias: Array<{
367
370
  x: number;
@@ -5313,7 +5316,6 @@ declare class MultipleHighDensityRouteStitchSolver3 extends BaseSolver {
5313
5316
  type TraceColorMode = "layer" | "net";
5314
5317
  type ConvertSrjToGraphicsObjectOptions = {
5315
5318
  traceColorMode?: TraceColorMode;
5316
- includeBoardOutline?: boolean;
5317
5319
  };
5318
5320
  declare const convertSrjToGraphicsObject: (srj: SimpleRouteJson, options?: ConvertSrjToGraphicsObjectOptions) => {
5319
5321
  rects: Rect[];
@@ -5910,6 +5912,35 @@ declare class MergedComponentTopologyView extends BaseSolver {
5910
5912
  preview(): GraphicsObject;
5911
5913
  }
5912
5914
 
5915
+ /**
5916
+ * Tries Pipeline7's inexpensive two-layer repair portfolio first, then accepts
5917
+ * it only when the same DRC evaluator used for candidate scoring reports a
5918
+ * clean result. Failed probes are discarded before the original full
5919
+ * portfolio runs, so routing behavior is selected by the result rather than
5920
+ * board-size thresholds.
5921
+ */
5922
+ declare class Pipeline7AdaptiveDrcBranchPortfolioSolver extends BaseSolver$1 {
5923
+ readonly params: GlobalDrcBranchPortfolioSolverParams;
5924
+ readonly inputHdRoutes: HighDensityRoute$2[];
5925
+ outputHdRoutes: HighDensityRoute$2[];
5926
+ private phase;
5927
+ private fastProbeSolver?;
5928
+ private fallbackSolver?;
5929
+ private selectedSolver?;
5930
+ private fastProbeDrcIssueCount?;
5931
+ private fastProbeAttempted;
5932
+ constructor(params: GlobalDrcBranchPortfolioSolverParams);
5933
+ getConstructorParams(): [GlobalDrcBranchPortfolioSolverParams];
5934
+ private startFastProbe;
5935
+ private startFallback;
5936
+ private evaluateFastProbeDrcIssueCount;
5937
+ private finish;
5938
+ _step(): void;
5939
+ getOutput(): high_density_repair03_types_high_density_types.HighDensityIntraNodeRoute[];
5940
+ visualize(): GraphicsObject;
5941
+ preview(): GraphicsObject;
5942
+ }
5943
+
5913
5944
  declare class PowerTraceExpansionSolver extends BaseSolver {
5914
5945
  readonly inputSrj: SimpleRouteJson;
5915
5946
  readonly options: PowerTraceExpanderOptions;
@@ -5961,7 +5992,7 @@ declare class AutoroutingPipelineSolver7_MultiGraph extends BaseSolver {
5961
5992
  highDensityRepairSolver?: Pipeline4HighDensityRepairSolver;
5962
5993
  highDensityStitchSolver?: MultipleHighDensityRouteStitchSolver3;
5963
5994
  globalDrcForceImproveSolver?: GlobalDrcForceImproveSolver;
5964
- exactGeometryDrcForceImproveSolver?: GlobalDrcBranchPortfolioSolver;
5995
+ exactGeometryDrcForceImproveSolver?: Pipeline7AdaptiveDrcBranchPortfolioSolver;
5965
5996
  singleLayerNodeMerger?: SingleLayerNodeMergerSolver;
5966
5997
  strawSolver?: StrawSolver;
5967
5998
  deadEndSolver?: DeadEndSolver;
@@ -5997,7 +6028,7 @@ declare class AutoroutingPipelineSolver7_MultiGraph extends BaseSolver {
5997
6028
  sharedEdgeSegmentsWithNecessaryCrampedPortPoints?: SharedEdgeSegment[];
5998
6029
  highDensityNodePortPoints?: NodeWithPortPoints[];
5999
6030
  cacheProvider: CacheProvider | null;
6000
- pipelineDef: (PipelineStep$3<typeof PreprocessSimpleRouteJsonSolver$1> | PipelineStep$3<typeof ComponentDetectionSolver> | PipelineStep$3<typeof EscapeViaLocationSolver> | PipelineStep$3<typeof NetToPointPairsSolver2_OffBoardConnection> | PipelineStep$3<typeof MultiGraphTopologyPlannerSolver> | PipelineStep$3<typeof TopologyMergingSolver> | PipelineStep$3<typeof NodeDimensionSubdivisionSolver> | PipelineStep$3<typeof CapacityMeshEdgeSolver2_NodeTreeOptimization> | PipelineStep$3<typeof AvailableSegmentPointSolver> | PipelineStep$3<typeof MultiTargetNecessaryCrampedPortPointSolver> | PipelineStep$3<typeof TinyHypergraphPortPointPathingSolver> | PipelineStep$3<typeof UniformPortDistributionSolver> | PipelineStep$3<typeof HighDensitySolver> | PipelineStep$3<typeof HighDensityForceImproveSolver> | PipelineStep$3<typeof Pipeline4HighDensityRepairSolver> | PipelineStep$3<typeof MultipleHighDensityRouteStitchSolver3> | PipelineStep$3<typeof TraceSimplificationSolver> | PipelineStep$3<typeof TraceWidthSolver> | PipelineStep$3<typeof GlobalDrcForceImproveSolver> | PipelineStep$3<typeof GlobalDrcBranchPortfolioSolver> | PipelineStep$3<typeof PostProcessingSolver> | PipelineStep$3<typeof PowerTraceExpansionSolver>)[];
6031
+ pipelineDef: (PipelineStep$3<typeof PreprocessSimpleRouteJsonSolver$1> | PipelineStep$3<typeof ComponentDetectionSolver> | PipelineStep$3<typeof EscapeViaLocationSolver> | PipelineStep$3<typeof NetToPointPairsSolver2_OffBoardConnection> | PipelineStep$3<typeof MultiGraphTopologyPlannerSolver> | PipelineStep$3<typeof TopologyMergingSolver> | PipelineStep$3<typeof NodeDimensionSubdivisionSolver> | PipelineStep$3<typeof CapacityMeshEdgeSolver2_NodeTreeOptimization> | PipelineStep$3<typeof AvailableSegmentPointSolver> | PipelineStep$3<typeof MultiTargetNecessaryCrampedPortPointSolver> | PipelineStep$3<typeof TinyHypergraphPortPointPathingSolver> | PipelineStep$3<typeof UniformPortDistributionSolver> | PipelineStep$3<typeof HighDensitySolver> | PipelineStep$3<typeof HighDensityForceImproveSolver> | PipelineStep$3<typeof Pipeline4HighDensityRepairSolver> | PipelineStep$3<typeof MultipleHighDensityRouteStitchSolver3> | PipelineStep$3<typeof TraceSimplificationSolver> | PipelineStep$3<typeof TraceWidthSolver> | PipelineStep$3<typeof GlobalDrcForceImproveSolver> | PipelineStep$3<typeof Pipeline7AdaptiveDrcBranchPortfolioSolver> | PipelineStep$3<typeof PostProcessingSolver> | PipelineStep$3<typeof PowerTraceExpansionSolver>)[];
6001
6032
  constructor(srj: SimpleRouteJson, opts?: CapacityMeshSolverOptions$3);
6002
6033
  private setSimpleRouteJson;
6003
6034
  getConstructorParams(): readonly [SimpleRouteJson, CapacityMeshSolverOptions$3];
@@ -6125,46 +6156,6 @@ declare class AutoroutingPipelineSolver8 extends BaseSolver {
6125
6156
  getOutputSimpleRouteJson(): SimpleRouteJson;
6126
6157
  }
6127
6158
 
6128
- type NativePipelineOptions = {
6129
- effort?: number;
6130
- [key: string]: unknown;
6131
- };
6132
- declare class RustNativePipelineStage {
6133
- }
6134
- /**
6135
- * Full native replacement for Pipeline 7.
6136
- *
6137
- * The wrapper intentionally owns no routing algorithm. It presents the
6138
- * familiar BaseSolver/pipeline surface to callers and delegates one complete
6139
- * typed pipeline invocation to Rust, so the high-density router and every
6140
- * surrounding stage share one board model and one process boundary.
6141
- */
6142
- declare class AutoroutingPipelineSolverRust extends BaseSolver {
6143
- MAX_ITERATIONS: number;
6144
- readonly originalSrj: SimpleRouteJson;
6145
- readonly opts: NativePipelineOptions;
6146
- readonly pipelineDef: {
6147
- solverName: "netToPointPairsSolver" | "edgeSolver" | "highDensityRouteSolver" | "highDensityStitchSolver" | "traceSimplificationSolver" | "availableSegmentPointSolver" | "portPointPathingSolver" | "uniformPortDistributionSolver" | "traceWidthSolver" | "necessaryCrampedPortPointSolver" | "preprocessSimpleRouteJsonSolver" | "escapeViaLocationSolver" | "nodeDimensionSubdivisionSolver" | "highDensityForceImproveSolver" | "highDensityRepairSolver" | "globalDrcForceImproveSolver" | "topologyPlanningSolver" | "topologyMergingSolver" | "exactGeometryDrcForceImproveSolver" | "lengthMatchingPostProcessingSolver" | "powerTraceExpansionSolver" | "componentDetectionSolver";
6148
- solverClass: typeof RustNativePipelineStage;
6149
- }[];
6150
- currentPipelineStepIndex: number;
6151
- timeSpentOnPhase: Record<string, number>;
6152
- srjWithPointPairs?: SimpleRouteJson;
6153
- private outputSrj?;
6154
- constructor(srj: SimpleRouteJson, opts?: NativePipelineOptions);
6155
- _step(): void;
6156
- getConstructorParams(): readonly [SimpleRouteJson, NativePipelineOptions];
6157
- getSolverName(): string;
6158
- getOutputSimplifiedPcbTraces(): SimplifiedPcbTraces;
6159
- getOutputSimpleRouteJson(): SimpleRouteJson;
6160
- visualize(): graphics_debug.GraphicsObject | {
6161
- rects: graphics_debug.Rect[];
6162
- circles: graphics_debug.Circle[];
6163
- lines: graphics_debug.Line[];
6164
- points: graphics_debug.Point[];
6165
- };
6166
- }
6167
-
6168
6159
  type PreloadedHighDensityRoute = HighDensityRoute$1 & {
6169
6160
  preloadedTraceIndex: number;
6170
6161
  preloadedRouteIndex: number;
@@ -7534,4 +7525,4 @@ declare const HyperSingleIntraNodeSolver: typeof PortfolioSingleIntraNodeSolver;
7534
7525
  */
7535
7526
  type HyperSingleIntraNodeSolver = InstanceType<typeof PortfolioSingleIntraNodeSolver>;
7536
7527
 
7537
- export { AssignableAutoroutingPipeline1Solver, AssignableAutoroutingPipeline2, AssignableAutoroutingPipeline3, AttachProjectedRectsSolver, AutoroutingPipeline1_OriginalUnravel, AutoroutingPipelineSolver7_MultiGraph 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, AutoroutingPipelineSolver9_PreloadedTraceGraph, type AutoroutingPipelineSolverOptions, AutoroutingPipelineSolverRust, type BusId, type CachableSolver, type CacheProvider, CapacityMeshSolver, type ConnectionPoint$1 as ConnectionPoint, type ConvertSrjToGraphicsObjectOptions, CurvyIntraNodeSolver, type DifferentialPair, GrowShrinkHighDensityIntraNodeSolver, type HighDensityIntraNodeRouteWithJumpers, JumperHighDensitySolver as HighDensitySolver, HyperSingleIntraNodeSolver, InMemoryCache, IntraNodeSolverWithJumpers, type Jumper, LocalStorageCache, type MultiLayerConnectionPoint, type Obstacle, PolyHighDensitySolver, PolySingleIntraNodeSolver as PolyIntraNodeSolver, PolySingleIntraNodeSolver, PortfolioSingleIntraNodeSolver, ProjectHighDensityToPolygonSolver, type RerouteRectRegion, type SimpleRouteBus, type SimpleRouteConnection, type SimpleRouteJson, type SimplifiedPcbTrace, type SimplifiedPcbTraces, SingleHighDensityRouteWithJumpersSolver, type SingleLayerConnectionPoint, type TerminalViaHint, type TraceColorMode, calculateOptimalCapacityDepth, convertSrjToGraphicsObject, getGlobalInMemoryCache, getGlobalLocalStorageCache, getRerouteSimpleRouteJson, getTunedTotalCapacity1, reconnectReroutedSimpleRouteJsonRegion, setupGlobalCaches };
7528
+ export { AssignableAutoroutingPipeline1Solver, AssignableAutoroutingPipeline2, AssignableAutoroutingPipeline3, AttachProjectedRectsSolver, AutoroutingPipeline1_OriginalUnravel, AutoroutingPipelineSolver7_MultiGraph 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, AutoroutingPipelineSolver9_PreloadedTraceGraph, type AutoroutingPipelineSolverOptions, type BusId, type CachableSolver, type CacheProvider, CapacityMeshSolver, type ConnectionPoint$1 as ConnectionPoint, type ConvertSrjToGraphicsObjectOptions, CurvyIntraNodeSolver, type DifferentialPair, GrowShrinkHighDensityIntraNodeSolver, type HighDensityIntraNodeRouteWithJumpers, JumperHighDensitySolver as HighDensitySolver, HyperSingleIntraNodeSolver, InMemoryCache, IntraNodeSolverWithJumpers, type Jumper, LocalStorageCache, type MultiLayerConnectionPoint, type Obstacle, PolyHighDensitySolver, PolySingleIntraNodeSolver as PolyIntraNodeSolver, PolySingleIntraNodeSolver, PortfolioSingleIntraNodeSolver, ProjectHighDensityToPolygonSolver, type RerouteRectRegion, type SimpleRouteBus, type SimpleRouteConnection, type SimpleRouteJson, type SimplifiedPcbTrace, type SimplifiedPcbTraces, SingleHighDensityRouteWithJumpersSolver, type SingleLayerConnectionPoint, type TerminalViaHint, type TraceColorMode, calculateOptimalCapacityDepth, convertSrjToGraphicsObject, getGlobalInMemoryCache, getGlobalLocalStorageCache, getRerouteSimpleRouteJson, getTunedTotalCapacity1, reconnectReroutedSimpleRouteJsonRegion, setupGlobalCaches };