@tscircuit/capacity-autorouter 0.0.742 → 0.0.744

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,22 +5796,24 @@ 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 {
5808
- readonly inputProblem: PostProcessingSolverParams;
5809
- readonly postProcessingSolver: PostProcessingSolver;
5810
- usedFallback: boolean;
5811
- constructor(inputProblem: PostProcessingSolverParams);
5799
+ type DifferentialPairPostProcessingSolverParams = PostProcessingSolverParams & {
5800
+ obstacleMargin?: number;
5801
+ };
5802
+ /** Applies the post-processing algorithm implied by each pair's constraints. */
5803
+ declare class DifferentialPairPostProcessingSolver extends BaseSolver {
5804
+ readonly inputProblem: DifferentialPairPostProcessingSolverParams;
5805
+ readonly lengthMatchingSolver?: LengthMatchingSolver;
5806
+ postProcessingSolver?: PostProcessingSolver;
5807
+ private readonly lengthOnlyPairs;
5808
+ private readonly coupledPairs;
5809
+ private phase;
5810
+ private outputHdRoutes?;
5811
+ constructor(inputProblem: DifferentialPairPostProcessingSolverParams);
5812
5812
  getSolverName(): string;
5813
5813
  _step(): void;
5814
- getConstructorParams(): [PostProcessingSolverParams];
5814
+ getConstructorParams(): [
5815
+ DifferentialPairPostProcessingSolverParams
5816
+ ];
5815
5817
  getOutput(): PostProcessingSolverOutput;
5816
5818
  visualize(): GraphicsObject;
5817
5819
  }
@@ -5858,7 +5860,7 @@ declare class AutoroutingPipelineSolver7_MultiGraph extends BaseSolver {
5858
5860
  strawSolver?: StrawSolver;
5859
5861
  deadEndSolver?: DeadEndSolver;
5860
5862
  traceSimplificationSolver?: TraceSimplificationSolver;
5861
- lengthMatchingPostProcessingSolver?: SafePostProcessingSolver;
5863
+ lengthMatchingPostProcessingSolver?: DifferentialPairPostProcessingSolver;
5862
5864
  powerTraceExpansionSolver?: PowerTraceExpansionSolver;
5863
5865
  availableSegmentPointSolver?: AvailableSegmentPointSolver;
5864
5866
  portPointPathingSolver?: TinyHypergraphPortPointPathingSolver;
@@ -5889,7 +5891,7 @@ declare class AutoroutingPipelineSolver7_MultiGraph extends BaseSolver {
5889
5891
  sharedEdgeSegmentsWithNecessaryCrampedPortPoints?: SharedEdgeSegment[];
5890
5892
  highDensityNodePortPoints?: NodeWithPortPoints[];
5891
5893
  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>)[];
5894
+ 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
5895
  constructor(srj: SimpleRouteJson, opts?: CapacityMeshSolverOptions$3);
5894
5896
  private setSimpleRouteJson;
5895
5897
  getConstructorParams(): readonly [SimpleRouteJson, CapacityMeshSolverOptions$3];