@tscircuit/capacity-autorouter 0.0.742 → 0.0.743

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
@@ -16,7 +16,7 @@ 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 { PowerTraceExpanderOptions, PowerTraceExpanderSolver } from '@tscircuit/power-trace-expander';
19
- import { PostProcessingSolverParams, PostProcessingSolver, PostProcessingSolverOutput } from '@tscircuit/length-matching-solver';
19
+ import { PostProcessingSolverParams, LengthMatchingSolver, PostProcessingSolver, PostProcessingSolverOutput } from '@tscircuit/length-matching-solver';
20
20
 
21
21
  interface CacheProvider {
22
22
  isSyncCache: boolean;
@@ -5647,6 +5647,35 @@ declare class ComponentDetectionSolver extends BasePipelineSolver<ComponentDetec
5647
5647
  initialVisualize(): GraphicsObject | null;
5648
5648
  }
5649
5649
 
5650
+ interface TopologyMergingNodeGroup {
5651
+ groupId: string;
5652
+ nodes: CapacityMeshNode[];
5653
+ isComponent: boolean;
5654
+ }
5655
+ interface TopologyMergingSolverParams {
5656
+ nodeGroups: readonly TopologyMergingNodeGroup[];
5657
+ layerCount: number;
5658
+ }
5659
+
5660
+ declare class TopologyMergingSolver extends BaseSolver$1 {
5661
+ readonly inputProblem: TopologyMergingSolverParams;
5662
+ private readonly preparedNodes;
5663
+ private readonly preparedNodeBySourceKey;
5664
+ private readonly outputProvenance;
5665
+ private readonly xCoordinates;
5666
+ private readonly atomicRegions;
5667
+ private outputNodes;
5668
+ private currentXIndex;
5669
+ constructor(inputProblem: TopologyMergingSolverParams);
5670
+ getConstructorParams(): [TopologyMergingSolverParams];
5671
+ _step(): void;
5672
+ getOutput(): CapacityMeshNode[];
5673
+ computeProgress(): number;
5674
+ visualize(): GraphicsObject;
5675
+ private completePassthroughTopology;
5676
+ private processCurrentXSlab;
5677
+ }
5678
+
5650
5679
  /** Shared output collected from each component-specific topology generator. */
5651
5680
  interface TopologyGeneratorSolverOutput {
5652
5681
  routingRegions: CapacityMeshNode[];
@@ -5745,35 +5774,6 @@ declare class MultiGraphTopologyPlannerSolver extends BasePipelineSolver<MultiGr
5745
5774
  private filterGlobalRectDiffNodesFromVisualization;
5746
5775
  }
5747
5776
 
5748
- interface TopologyMergingNodeGroup {
5749
- groupId: string;
5750
- nodes: CapacityMeshNode[];
5751
- isComponent: boolean;
5752
- }
5753
- interface TopologyMergingSolverParams {
5754
- nodeGroups: readonly TopologyMergingNodeGroup[];
5755
- layerCount: number;
5756
- }
5757
-
5758
- declare class TopologyMergingSolver extends BaseSolver$1 {
5759
- readonly inputProblem: TopologyMergingSolverParams;
5760
- private readonly preparedNodes;
5761
- private readonly preparedNodeBySourceKey;
5762
- private readonly outputProvenance;
5763
- private readonly xCoordinates;
5764
- private readonly atomicRegions;
5765
- private outputNodes;
5766
- private currentXIndex;
5767
- constructor(inputProblem: TopologyMergingSolverParams);
5768
- getConstructorParams(): [TopologyMergingSolverParams];
5769
- _step(): void;
5770
- getOutput(): CapacityMeshNode[];
5771
- computeProgress(): number;
5772
- visualize(): GraphicsObject;
5773
- private completePassthroughTopology;
5774
- private processCurrentXSlab;
5775
- }
5776
-
5777
5777
  declare class MergedComponentTopologyView extends BaseSolver {
5778
5778
  private readonly topologyPlanningSolver;
5779
5779
  constructor(topologyPlanningSolver: MultiGraphTopologyPlannerSolver);
@@ -5796,18 +5796,15 @@ declare class PowerTraceExpansionSolver extends BaseSolver {
5796
5796
  visualize(): GraphicsObject;
5797
5797
  }
5798
5798
 
5799
- /**
5800
- * Keeps post-processing optional at the autorouter integration boundary.
5801
- *
5802
- * The length-matching package deliberately reports an infeasible coupled pair
5803
- * as an error. Pipeline7 already has valid independently-routed copper at this
5804
- * point, so an infeasible pair must preserve that copper instead of failing the
5805
- * entire autoroute.
5806
- */
5807
- declare class SafePostProcessingSolver extends BaseSolver {
5799
+ /** Applies the post-processing algorithm implied by each pair's constraints. */
5800
+ declare class DifferentialPairPostProcessingSolver extends BaseSolver {
5808
5801
  readonly inputProblem: PostProcessingSolverParams;
5809
- readonly postProcessingSolver: PostProcessingSolver;
5810
- usedFallback: boolean;
5802
+ readonly lengthMatchingSolver?: LengthMatchingSolver;
5803
+ postProcessingSolver?: PostProcessingSolver;
5804
+ private readonly lengthOnlyPairs;
5805
+ private readonly coupledPairs;
5806
+ private phase;
5807
+ private outputHdRoutes?;
5811
5808
  constructor(inputProblem: PostProcessingSolverParams);
5812
5809
  getSolverName(): string;
5813
5810
  _step(): void;
@@ -5858,7 +5855,7 @@ declare class AutoroutingPipelineSolver7_MultiGraph extends BaseSolver {
5858
5855
  strawSolver?: StrawSolver;
5859
5856
  deadEndSolver?: DeadEndSolver;
5860
5857
  traceSimplificationSolver?: TraceSimplificationSolver;
5861
- lengthMatchingPostProcessingSolver?: SafePostProcessingSolver;
5858
+ lengthMatchingPostProcessingSolver?: DifferentialPairPostProcessingSolver;
5862
5859
  powerTraceExpansionSolver?: PowerTraceExpansionSolver;
5863
5860
  availableSegmentPointSolver?: AvailableSegmentPointSolver;
5864
5861
  portPointPathingSolver?: TinyHypergraphPortPointPathingSolver;
@@ -5889,7 +5886,7 @@ declare class AutoroutingPipelineSolver7_MultiGraph extends BaseSolver {
5889
5886
  sharedEdgeSegmentsWithNecessaryCrampedPortPoints?: SharedEdgeSegment[];
5890
5887
  highDensityNodePortPoints?: NodeWithPortPoints[];
5891
5888
  cacheProvider: CacheProvider | null;
5892
- 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 SafePostProcessingSolver> | PipelineStep$3<typeof PowerTraceExpansionSolver>)[];
5889
+ 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 DifferentialPairPostProcessingSolver> | PipelineStep$3<typeof PowerTraceExpansionSolver>)[];
5893
5890
  constructor(srj: SimpleRouteJson, opts?: CapacityMeshSolverOptions$3);
5894
5891
  private setSimpleRouteJson;
5895
5892
  getConstructorParams(): readonly [SimpleRouteJson, CapacityMeshSolverOptions$3];