@tscircuit/capacity-autorouter 0.0.764 → 0.0.765

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
@@ -17,6 +17,7 @@ import { LayerMergeMode, ConvexRegionsComputeResult, SerializedPolyHyperGraph }
17
17
  import { PolyHyperGraphLoadResult, PolyHyperGraphSolver } from 'tiny-hypergraph-poly/lib/index';
18
18
  import { PowerTraceExpanderOptions, PowerTraceExpanderSolver } from '@tscircuit/power-trace-expander';
19
19
  import { PostProcessingSolverParams, LengthMatchingSolver, PostProcessingSolver, PostProcessingSolverOutput } from '@tscircuit/length-matching-solver';
20
+ import { HighDensitySolverB01 } from '@tscircuit/high-density-b01';
20
21
 
21
22
  interface CacheProvider {
22
23
  isSyncCache: boolean;
@@ -2486,6 +2487,7 @@ declare class TraceSimplificationSolver extends BaseSolver {
2486
2487
  * - layerCount: Number of routing layers
2487
2488
  * - minTraceToPadEdgeClearance: Minimum trace-edge clearance to pads/vias
2488
2489
  * - otherHdRoutes: Immutable routed traces to avoid while simplifying
2490
+ * - netByConnectionName: Explicit net metadata for synthetic route names
2489
2491
  * - iterations: Number of complete simplification iterations (default: 2)
2490
2492
  */
2491
2493
  constructor(simplificationConfig: {
@@ -2501,6 +2503,7 @@ declare class TraceSimplificationSolver extends BaseSolver {
2501
2503
  readonly layerCount: number;
2502
2504
  readonly minTraceToPadEdgeClearance?: number;
2503
2505
  readonly otherHdRoutes?: ReadonlyArray<HighDensityRoute$1>;
2506
+ readonly netByConnectionName?: ReadonlyMap<string, string>;
2504
2507
  });
2505
2508
  private isSameNetObstacle;
2506
2509
  private getSameNetObstacleForSegment;
@@ -6037,6 +6040,146 @@ declare class AutoroutingPipelineSolver8 extends BaseSolver {
6037
6040
  getOutputSimpleRouteJson(): SimpleRouteJson;
6038
6041
  }
6039
6042
 
6043
+ type PreloadedHighDensityRoute = HighDensityRoute$1 & {
6044
+ preloadedTraceIndex: number;
6045
+ preloadedRouteIndex: number;
6046
+ };
6047
+
6048
+ type RoutePoint = HighDensityRoute$1["route"][number];
6049
+ type RouteLocation = {
6050
+ segmentIndex: number;
6051
+ point: RoutePoint;
6052
+ };
6053
+ type FixedRouteSection = {
6054
+ sourceRoutes: PreloadedHighDensityRoute[];
6055
+ start: RouteLocation;
6056
+ end: RouteLocation;
6057
+ };
6058
+
6059
+ type Pipeline9RegionalFallbackSolverParams = {
6060
+ nodeWithPortPoints: NodeWithPortPoints;
6061
+ colorMap: Record<string, string>;
6062
+ connMap: ConnectivityMap;
6063
+ viaDiameter: number;
6064
+ traceWidth: number;
6065
+ obstacleMargin: number;
6066
+ effort: number;
6067
+ obstacles: Obstacle[];
6068
+ layerCount: number;
6069
+ };
6070
+ /** Runs the regular high-density cleanup pipeline for a B01 fallback region. */
6071
+ declare class Pipeline9RegionalFallbackSolver extends BaseSolver {
6072
+ readonly params: Pipeline9RegionalFallbackSolverParams;
6073
+ readonly highDensitySolver: HighDensitySolver;
6074
+ forceImproveSolver?: HighDensityForceImproveSolver;
6075
+ repairSolver?: Pipeline4HighDensityRepairSolver;
6076
+ private phase;
6077
+ constructor(params: Pipeline9RegionalFallbackSolverParams);
6078
+ getSolverName(): string;
6079
+ _step(): void;
6080
+ getOutput(): HighDensityRoute$1[];
6081
+ visualize(): GraphicsObject;
6082
+ }
6083
+
6084
+ type Pipeline9HighDensitySolverParams = {
6085
+ nodePortPoints: NodeWithPortPoints[];
6086
+ fixedHdRoutes: PreloadedHighDensityRoute[];
6087
+ connMap: ConnectivityMap;
6088
+ colorMap?: Record<string, string>;
6089
+ obstacles: Obstacle[];
6090
+ layerCount: number;
6091
+ viaDiameter: number;
6092
+ traceWidth: number;
6093
+ obstacleMargin: number;
6094
+ effort: number;
6095
+ preserveTerminalPcbPortIds?: boolean;
6096
+ includeBoardObstacles?: boolean;
6097
+ enableRegionalFallback?: boolean;
6098
+ maxB01Rips?: number;
6099
+ };
6100
+ /**
6101
+ * Routes Pipeline9 intra-node connections with B01 while treating preloaded
6102
+ * copper as immutable, layer-aware route obstacles.
6103
+ */
6104
+ declare class Pipeline9HighDensitySolver extends BaseSolver {
6105
+ readonly fixedHdRoutes: PreloadedHighDensityRoute[];
6106
+ readonly connMap: ConnectivityMap;
6107
+ readonly colorMap: Record<string, string>;
6108
+ readonly obstacles: Obstacle[];
6109
+ readonly layerCount: number;
6110
+ readonly viaDiameter: number;
6111
+ readonly traceWidth: number;
6112
+ readonly obstacleMargin: number;
6113
+ readonly effort: number;
6114
+ readonly preserveTerminalPcbPortIds: boolean;
6115
+ readonly includeBoardObstacles: boolean;
6116
+ readonly enableRegionalFallback: boolean;
6117
+ readonly maxB01Rips?: number;
6118
+ readonly routes: HighDensityIntraNodeRoute$1[];
6119
+ readonly failedSolvers: HighDensitySolverB01[];
6120
+ readonly unsolvedNodePortPoints: NodeWithPortPoints[];
6121
+ readonly fixedRouteReplacements: Map<string, PreloadedHighDensityRoute>;
6122
+ readonly removedFixedRouteConnectionNames: Set<string>;
6123
+ activeB01Solver: HighDensitySolverB01 | null;
6124
+ activeFallbackSolver: Pipeline9RegionalFallbackSolver | null;
6125
+ activeFallbackFixedRouteSections: Map<string, FixedRouteSection>;
6126
+ activeB01Error: string | null;
6127
+ activeNode: NodeWithPortPoints | null;
6128
+ constructor(params: Pipeline9HighDensitySolverParams);
6129
+ getSolverName(): string;
6130
+ getUpdatedFixedHdRoutes(): PreloadedHighDensityRoute[];
6131
+ private finishActiveNode;
6132
+ private startRegionalFallback;
6133
+ private finishRegionalFallback;
6134
+ _step(): void;
6135
+ visualize(): GraphicsObject;
6136
+ }
6137
+
6138
+ type Pipeline9JointDrcRepairSolverParams = {
6139
+ srj: SimpleRouteJson;
6140
+ srjWithPointPairs: SimpleRouteJson;
6141
+ originalSrj: SimpleRouteJson;
6142
+ newConnections: SimpleRouteConnection[];
6143
+ newHdRoutes: HighDensityRoute$1[];
6144
+ updatedPreloadedTraces: SimplifiedPcbTrace[];
6145
+ mutatedPreloadedTraceIds: ReadonlySet<string>;
6146
+ connMap: ConnectivityMap;
6147
+ obstacles: Obstacle[];
6148
+ layerCount: number;
6149
+ defaultViaDiameter: number;
6150
+ defaultViaHoleDiameter: number;
6151
+ effort: number;
6152
+ colorMap: Record<string, string>;
6153
+ };
6154
+ type MovablePreloadedTrace = {
6155
+ originalTrace: SimplifiedPcbTrace;
6156
+ syntheticConnectionName: string;
6157
+ hdRoute: HighDensityRoute$1;
6158
+ };
6159
+ /**
6160
+ * Gives the existing exact DRC portfolio ownership of only the preloaded
6161
+ * traces that participate in a remaining joint-output DRC error.
6162
+ */
6163
+ declare class Pipeline9JointDrcRepairSolver extends BaseSolver {
6164
+ readonly params: Pipeline9JointDrcRepairSolverParams;
6165
+ readonly inputNewHdRoutes: HighDensityRoute$1[];
6166
+ readonly inputUpdatedPreloadedTraces: SimplifiedPcbTrace[];
6167
+ readonly movablePreloadedTraces: MovablePreloadedTrace[];
6168
+ readonly fixedPreloadedObstacleRoutes: PreloadedHighDensityRoute[];
6169
+ readonly syntheticConnectionNames: ReadonlySet<string>;
6170
+ readonly exactRepairSolver?: GlobalDrcBranchPortfolioSolver;
6171
+ private drcEvaluator?;
6172
+ private combinedOutput?;
6173
+ constructor(params: Pipeline9JointDrcRepairSolverParams);
6174
+ getSolverName(): string;
6175
+ _step(): void;
6176
+ private getCombinedOutput;
6177
+ getOutput(): HighDensityRoute$1[];
6178
+ getUpdatedPreloadedTraces(): SimplifiedPcbTrace[];
6179
+ getMutatedPreloadedTraces(): SimplifiedPcbTrace[];
6180
+ visualize(): GraphicsObject;
6181
+ }
6182
+
6040
6183
  /**
6041
6184
  * Loads fixed copper onto existing capacity-graph boundary ports. Capacity
6042
6185
  * regions, edges, and ports are never added or removed.
@@ -6090,12 +6233,12 @@ declare class AutoroutingPipelineSolver9_PreloadedTraceGraph extends BaseSolver
6090
6233
  nodeTargetMerger?: CapacityNodeTargetMerger;
6091
6234
  edgeSolver?: CapacityMeshEdgeSolver;
6092
6235
  colorMap: Record<string, string>;
6093
- highDensityRouteSolver?: HighDensitySolver;
6236
+ highDensityRouteSolver?: Pipeline9HighDensitySolver;
6094
6237
  highDensityForceImproveSolver?: HighDensityForceImproveSolver;
6095
6238
  highDensityRepairSolver?: Pipeline4HighDensityRepairSolver;
6096
6239
  highDensityStitchSolver?: MultipleHighDensityRouteStitchSolver3;
6097
6240
  globalDrcForceImproveSolver?: GlobalDrcForceImproveSolver;
6098
- exactGeometryDrcForceImproveSolver?: GlobalDrcBranchPortfolioSolver;
6241
+ pipeline9JointDrcRepairSolver?: Pipeline9JointDrcRepairSolver;
6099
6242
  singleLayerNodeMerger?: SingleLayerNodeMergerSolver;
6100
6243
  strawSolver?: StrawSolver;
6101
6244
  deadEndSolver?: DeadEndSolver;
@@ -6131,7 +6274,7 @@ declare class AutoroutingPipelineSolver9_PreloadedTraceGraph extends BaseSolver
6131
6274
  sharedEdgeSegmentsWithNecessaryCrampedPortPoints?: SharedEdgeSegment[];
6132
6275
  highDensityNodePortPoints?: NodeWithPortPoints[];
6133
6276
  cacheProvider: CacheProvider | null;
6134
- 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 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> | PipelineStep$1<typeof GlobalDrcBranchPortfolioSolver> | PipelineStep$1<typeof PostProcessingSolver>)[];
6277
+ 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>)[];
6135
6278
  constructor(srj: SimpleRouteJson, opts?: CapacityMeshSolverOptions$1);
6136
6279
  private setSimpleRouteJson;
6137
6280
  getConstructorParams(): readonly [SimpleRouteJson, CapacityMeshSolverOptions$1];
@@ -6146,6 +6289,11 @@ declare class AutoroutingPipelineSolver9_PreloadedTraceGraph extends BaseSolver
6146
6289
  visualizeFinalOutput(): GraphicsObject;
6147
6290
  preview(): GraphicsObject;
6148
6291
  _getOutputHdRoutes(): HighDensityRoute$1[];
6292
+ private getOriginalFixedHdRoutes;
6293
+ private getRegionalPreloadedTraceUpdates;
6294
+ getUpdatedPreloadedTraces(): SimplifiedPcbTraces;
6295
+ getMutatedPreloadedTraces(): SimplifiedPcbTraces;
6296
+ private getNewOutputSimplifiedPcbTraces;
6149
6297
  getOutputSimplifiedPcbTraces(): SimplifiedPcbTraces;
6150
6298
  getOutputSimpleRouteJson(): SimpleRouteJson;
6151
6299
  }