@tscircuit/capacity-autorouter 0.0.821 → 0.0.830

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,7 +10,7 @@ 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, GlobalDrcBranchPortfolioSolverParams, HighDensityRoute as HighDensityRoute$2, GlobalDrcBranchPortfolioSolver } from 'high-density-repair03/lib';
13
+ import { GlobalDrcForceImproveSolver, GlobalDrcBranchPortfolioSolverParams, HighDensityRoute as HighDensityRoute$2 } 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';
@@ -5075,8 +5075,10 @@ declare class TinyHypergraphPortPointPathingSolver extends BaseSolver {
5075
5075
  private originalRegionById;
5076
5076
  private originalRegionIds;
5077
5077
  private rootConnectionNameByConnectionId;
5078
+ private readonly originalPreloadedSegmentKeysByConnectionId;
5078
5079
  constructor(params: HgPortPointPathingSolverParams);
5079
5080
  getSolverName(): string;
5081
+ private getChangedPreloadedRouteIds;
5080
5082
  private summarizePipelineCandidate;
5081
5083
  private shouldEvaluateAlternative;
5082
5084
  private shouldSelectAlternative;
@@ -5089,6 +5091,7 @@ declare class TinyHypergraphPortPointPathingSolver extends BaseSolver {
5089
5091
  downstreamNodePfSquaredSum: number | undefined;
5090
5092
  downstreamNodePfMax: number | undefined;
5091
5093
  downstreamSquaredNodePortPointCount: number | undefined;
5094
+ changedPreloadedTraceSectionCount: number | undefined;
5092
5095
  iterations: number;
5093
5096
  timeMs: number;
5094
5097
  ripCount: any;
@@ -5304,6 +5307,7 @@ declare class MultipleHighDensityRouteStitchSolver3 extends BaseSolver {
5304
5307
  defaultViaDiameter?: number;
5305
5308
  allowedLayerTransitionPointKeys?: Set<string>;
5306
5309
  preserveTerminalPcbPortIds?: boolean;
5310
+ preferSameLayerTerminalEndpoints?: boolean;
5307
5311
  });
5308
5312
  _step(): void;
5309
5313
  visualize(): GraphicsObject;
@@ -6157,6 +6161,7 @@ type PreloadedHighDensityRoute = HighDensityRoute$1 & {
6157
6161
  preloadedRouteIndex: number;
6158
6162
  preloadedRoutePositionStart?: number;
6159
6163
  preloadedRoutePositionEnd?: number;
6164
+ isThroughObstacle?: boolean;
6160
6165
  };
6161
6166
 
6162
6167
  type RoutePoint = HighDensityRoute$1["route"][number];
@@ -6178,6 +6183,7 @@ type Pipeline9RegionalFallbackSolverParams = {
6178
6183
  traceWidth: number;
6179
6184
  obstacleMargin: number;
6180
6185
  effort: number;
6186
+ nodePfById?: Map<CapacityMeshNodeId, number | null> | Record<string, number | null>;
6181
6187
  obstacles: Obstacle[];
6182
6188
  layerCount: number;
6183
6189
  };
@@ -6206,14 +6212,16 @@ type Pipeline9HighDensitySolverParams = {
6206
6212
  traceWidth: number;
6207
6213
  obstacleMargin: number;
6208
6214
  effort: number;
6215
+ nodePfById?: Map<CapacityMeshNodeId, number | null> | Record<string, number | null>;
6209
6216
  preserveTerminalPcbPortIds?: boolean;
6210
6217
  includeBoardObstacles?: boolean;
6211
6218
  enableRegionalFallback?: boolean;
6212
6219
  maxB01Rips?: number;
6213
6220
  };
6214
6221
  /**
6215
- * Routes Pipeline9 intra-node connections with B01 while treating preloaded
6216
- * copper as immutable, layer-aware route obstacles.
6222
+ * Uses Pipeline7's detailed solver for ordinary nodes and B01 where local
6223
+ * preloaded copper must remain a layer-aware obstacle. If B01 cannot finish,
6224
+ * the regional adapter reroutes and splices only the intersecting preload.
6217
6225
  */
6218
6226
  declare class Pipeline9HighDensitySolver extends BaseSolver {
6219
6227
  readonly fixedHdRoutes: PreloadedHighDensityRoute[];
@@ -6225,6 +6233,7 @@ declare class Pipeline9HighDensitySolver extends BaseSolver {
6225
6233
  readonly traceWidth: number;
6226
6234
  readonly obstacleMargin: number;
6227
6235
  readonly effort: number;
6236
+ readonly nodePfById: Map<CapacityMeshNodeId, number | null>;
6228
6237
  readonly preserveTerminalPcbPortIds: boolean;
6229
6238
  readonly includeBoardObstacles: boolean;
6230
6239
  readonly enableRegionalFallback: boolean;
@@ -6234,15 +6243,19 @@ declare class Pipeline9HighDensitySolver extends BaseSolver {
6234
6243
  readonly unsolvedNodePortPoints: NodeWithPortPoints[];
6235
6244
  readonly fixedRouteReplacements: Map<string, PreloadedHighDensityRoute>;
6236
6245
  readonly removedFixedRouteConnectionNames: Set<string>;
6246
+ activeRegularSolver: HighDensitySolver | null;
6237
6247
  activeB01Solver: HighDensitySolverB01 | null;
6238
6248
  activeFallbackSolver: Pipeline9RegionalFallbackSolver | null;
6239
6249
  activeFallbackFixedRouteSections: Map<string, FixedRouteSection>;
6240
- activeB01Error: string | null;
6250
+ activeFallbackFixedObstacleRoutes: PreloadedHighDensityRoute[];
6251
+ activeFallbackPromotedFixedRouteConnectionNames: Set<string>;
6252
+ activeFallbackReason: string | null;
6241
6253
  activeNode: NodeWithPortPoints | null;
6242
6254
  constructor(params: Pipeline9HighDensitySolverParams);
6243
6255
  getSolverName(): string;
6244
6256
  getUpdatedFixedHdRoutes(): PreloadedHighDensityRoute[];
6245
6257
  private finishActiveNode;
6258
+ private startRegularSolver;
6246
6259
  private startRegionalFallback;
6247
6260
  private finishRegionalFallback;
6248
6261
  _step(): void;
@@ -6265,9 +6278,12 @@ type Pipeline9JointDrcRepairSolverParams = {
6265
6278
  effort: number;
6266
6279
  colorMap: Record<string, string>;
6267
6280
  };
6268
- type MovablePreloadedTrace = {
6281
+ type MovablePreloadedSection = {
6269
6282
  originalTrace: SimplifiedPcbTrace;
6283
+ originalRoutePositionStart: number;
6284
+ originalRoutePositionEnd: number;
6270
6285
  syntheticConnectionName: string;
6286
+ evaluationTraceId: string;
6271
6287
  hdRoute: HighDensityRoute$1;
6272
6288
  };
6273
6289
  /**
@@ -6278,11 +6294,14 @@ declare class Pipeline9JointDrcRepairSolver extends BaseSolver {
6278
6294
  readonly params: Pipeline9JointDrcRepairSolverParams;
6279
6295
  readonly inputNewHdRoutes: HighDensityRoute$1[];
6280
6296
  readonly inputUpdatedPreloadedTraces: SimplifiedPcbTrace[];
6281
- readonly movablePreloadedTraces: MovablePreloadedTrace[];
6297
+ readonly movablePreloadedSections: MovablePreloadedSection[];
6282
6298
  readonly fixedPreloadedObstacleRoutes: PreloadedHighDensityRoute[];
6283
6299
  readonly syntheticConnectionNames: ReadonlySet<string>;
6284
- readonly exactRepairSolver?: GlobalDrcBranchPortfolioSolver;
6300
+ readonly exactRepairSolver?: Pipeline7AdaptiveDrcBranchPortfolioSolver;
6285
6301
  private drcEvaluator?;
6302
+ private cachedReferenceDrcEvaluator?;
6303
+ private referenceDrcValidationCount;
6304
+ private referenceDrcFalseNegativeCount;
6286
6305
  private combinedOutput?;
6287
6306
  constructor(params: Pipeline9JointDrcRepairSolverParams);
6288
6307
  getSolverName(): string;
@@ -6325,6 +6344,7 @@ interface CapacityMeshSolverOptions$1 {
6325
6344
  maxNodeRatio?: number;
6326
6345
  minNodeArea?: number;
6327
6346
  visualizationTraceColorMode?: TraceColorMode;
6347
+ powerTraceExpansion?: PowerTraceExpanderOptions;
6328
6348
  }
6329
6349
  type AutoroutingPipelineSolverOptions$1 = CapacityMeshSolverOptions$1;
6330
6350
  type PipelineStep$1<T extends new (...args: any[]) => BaseSolver> = {
@@ -6359,6 +6379,7 @@ declare class AutoroutingPipelineSolver9_PreloadedTraceGraph extends BaseSolver
6359
6379
  deadEndSolver?: DeadEndSolver;
6360
6380
  traceSimplificationSolver?: TraceSimplificationSolver;
6361
6381
  lengthMatchingPostProcessingSolver?: PostProcessingSolver;
6382
+ powerTraceExpansionSolver?: PowerTraceExpansionSolver;
6362
6383
  availableSegmentPointSolver?: AvailableSegmentPointSolver;
6363
6384
  portPointPathingSolver?: TinyHypergraphPortPointPathingSolver;
6364
6385
  multiSectionPortPointOptimizer?: MultiSectionPortPointOptimizer;
@@ -6389,7 +6410,7 @@ declare class AutoroutingPipelineSolver9_PreloadedTraceGraph extends BaseSolver
6389
6410
  sharedEdgeSegmentsWithNecessaryCrampedPortPoints?: SharedEdgeSegment[];
6390
6411
  highDensityNodePortPoints?: NodeWithPortPoints[];
6391
6412
  cacheProvider: CacheProvider | null;
6392
- pipelineDef: (PipelineStep$1<typeof PreprocessSimpleRouteJsonWithoutTraceObstaclesSolver> | PipelineStep$1<typeof ComponentDetectionSolver> | PipelineStep$1<typeof EscapeViaLocationSolver> | PipelineStep$1<typeof NetToPointPairsSolver2_OffBoardConnection> | PipelineStep$1<typeof MultiGraphTopologyPlannerSolver> | PipelineStep$1<typeof TopologyMergingSolver> | PipelineStep$1<typeof NodeDimensionSubdivisionSolver> | PipelineStep$1<typeof CapacityMeshEdgeSolver2_NodeTreeOptimization> | PipelineStep$1<typeof AvailableSegmentPointSolver> | PipelineStep$1<typeof MultiTargetNecessaryCrampedPortPointSolver> | PipelineStep$1<typeof PreloadedTraceGraphSolver> | PipelineStep$1<typeof TinyHypergraphPortPointPathingSolver> | PipelineStep$1<typeof UniformPortDistributionSolver> | PipelineStep$1<typeof Pipeline9HighDensitySolver> | PipelineStep$1<typeof HighDensityForceImproveSolver> | PipelineStep$1<typeof Pipeline4HighDensityRepairSolver> | PipelineStep$1<typeof MultipleHighDensityRouteStitchSolver3> | PipelineStep$1<typeof TraceSimplificationSolver> | PipelineStep$1<typeof TraceWidthSolver> | PipelineStep$1<typeof GlobalDrcForceImproveSolver> | PipelineStep$1<typeof Pipeline9JointDrcRepairSolver> | PipelineStep$1<typeof PostProcessingSolver>)[];
6413
+ pipelineDef: (PipelineStep$1<typeof PreprocessSimpleRouteJsonWithoutTraceObstaclesSolver> | PipelineStep$1<typeof ComponentDetectionSolver> | PipelineStep$1<typeof EscapeViaLocationSolver> | PipelineStep$1<typeof NetToPointPairsSolver2_OffBoardConnection> | PipelineStep$1<typeof MultiGraphTopologyPlannerSolver> | PipelineStep$1<typeof TopologyMergingSolver> | PipelineStep$1<typeof NodeDimensionSubdivisionSolver> | PipelineStep$1<typeof CapacityMeshEdgeSolver2_NodeTreeOptimization> | PipelineStep$1<typeof AvailableSegmentPointSolver> | PipelineStep$1<typeof MultiTargetNecessaryCrampedPortPointSolver> | PipelineStep$1<typeof PreloadedTraceGraphSolver> | PipelineStep$1<typeof TinyHypergraphPortPointPathingSolver> | PipelineStep$1<typeof UniformPortDistributionSolver> | PipelineStep$1<typeof Pipeline9HighDensitySolver> | PipelineStep$1<typeof HighDensityForceImproveSolver> | PipelineStep$1<typeof Pipeline4HighDensityRepairSolver> | PipelineStep$1<typeof MultipleHighDensityRouteStitchSolver3> | PipelineStep$1<typeof TraceSimplificationSolver> | PipelineStep$1<typeof TraceWidthSolver> | PipelineStep$1<typeof GlobalDrcForceImproveSolver> | PipelineStep$1<typeof Pipeline9JointDrcRepairSolver> | PipelineStep$1<typeof PostProcessingSolver> | PipelineStep$1<typeof PowerTraceExpansionSolver>)[];
6393
6414
  constructor(srj: SimpleRouteJson, opts?: CapacityMeshSolverOptions$1);
6394
6415
  private setSimpleRouteJson;
6395
6416
  getConstructorParams(): readonly [SimpleRouteJson, CapacityMeshSolverOptions$1];
@@ -6410,7 +6431,8 @@ declare class AutoroutingPipelineSolver9_PreloadedTraceGraph extends BaseSolver
6410
6431
  private getSrjWithMaterializedPreloadedTraces;
6411
6432
  getUpdatedPreloadedTraces(): SimplifiedPcbTraces;
6412
6433
  getMutatedPreloadedTraces(): SimplifiedPcbTraces;
6413
- private getNewOutputSimplifiedPcbTraces;
6434
+ getNewTracesBeforePowerExpansion(): SimplifiedPcbTraces;
6435
+ private getPowerTraceExpansionFixedTraces;
6414
6436
  getOutputSimplifiedPcbTraces(): SimplifiedPcbTraces;
6415
6437
  getOutputSimpleRouteJson(): SimpleRouteJson;
6416
6438
  }