@tscircuit/capacity-autorouter 0.0.721 → 0.0.723

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/README.md CHANGED
@@ -60,6 +60,7 @@ interface SimpleRouteJson {
60
60
  obstacles: Obstacle[]
61
61
  connections: Array<SimpleRouteConnection>
62
62
  buses?: Array<SimpleRouteBus>
63
+ allowViaInPad?: boolean
63
64
  bounds: { minX: number; maxX: number; minY: number; maxY: number }
64
65
  traces?: SimplifiedPcbTraces // Optional for input
65
66
  }
@@ -92,6 +93,10 @@ interface SimpleRouteBus {
92
93
  bus. Bus metadata is preserved in the output so routing implementations can
93
94
  apply the constraint without losing the original membership or ordering.
94
95
 
96
+ Via-in-pad repair is disabled by default because it generally requires filled
97
+ and capped vias. Set `allowViaInPad: true` only when the fabrication process
98
+ supports it.
99
+
95
100
  ### Output Format
96
101
 
97
102
  The `getOutputSimpleRouteJson()` method returns the original `SimpleRouteJson` with a populated `traces` property. The traces are represented as `SimplifiedPcbTraces`:
package/dist/index.d.ts CHANGED
@@ -15,7 +15,7 @@ export { DrcError, DrcEvaluator, DrcSnapshot, GlobalDrcBranchPortfolioSolver, Gl
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
- import { LengthMatchingSolver } from '@tscircuit/length-matching-solver';
18
+ import { PostProcessingSolver } from '@tscircuit/length-matching-solver';
19
19
 
20
20
  interface CacheProvider {
21
21
  isSyncCache: boolean;
@@ -111,6 +111,11 @@ interface SimpleRouteJson {
111
111
  connections: Array<SimpleRouteConnection>;
112
112
  differentialPairs?: Array<DifferentialPair>;
113
113
  buses?: Array<SimpleRouteBus>;
114
+ /**
115
+ * Allows DRC repair to place layer transitions inside connected pads.
116
+ * Defaults to false because via-in-pad generally requires filled and capped vias.
117
+ */
118
+ allowViaInPad?: boolean;
114
119
  bounds: {
115
120
  minX: number;
116
121
  maxX: number;
@@ -5796,7 +5801,7 @@ declare class AutoroutingPipelineSolver7_MultiGraph extends BaseSolver {
5796
5801
  strawSolver?: StrawSolver;
5797
5802
  deadEndSolver?: DeadEndSolver;
5798
5803
  traceSimplificationSolver?: TraceSimplificationSolver;
5799
- lengthMatchingSolver?: LengthMatchingSolver;
5804
+ postProcessingSolver?: PostProcessingSolver;
5800
5805
  availableSegmentPointSolver?: AvailableSegmentPointSolver;
5801
5806
  portPointPathingSolver?: TinyHypergraphPortPointPathingSolver;
5802
5807
  multiSectionPortPointOptimizer?: MultiSectionPortPointOptimizer;
@@ -5826,7 +5831,7 @@ declare class AutoroutingPipelineSolver7_MultiGraph extends BaseSolver {
5826
5831
  sharedEdgeSegmentsWithNecessaryCrampedPortPoints?: SharedEdgeSegment[];
5827
5832
  highDensityNodePortPoints?: NodeWithPortPoints[];
5828
5833
  cacheProvider: CacheProvider | null;
5829
- pipelineDef: (PipelineStep$2<typeof PreprocessSimpleRouteJsonSolver$1> | PipelineStep$2<typeof ComponentDetectionSolver> | PipelineStep$2<typeof EscapeViaLocationSolver> | PipelineStep$2<typeof NetToPointPairsSolver2_OffBoardConnection> | PipelineStep$2<typeof MultiGraphTopologyPlannerSolver> | PipelineStep$2<typeof TopologyMergingSolver> | PipelineStep$2<typeof NodeDimensionSubdivisionSolver> | PipelineStep$2<typeof CapacityMeshEdgeSolver2_NodeTreeOptimization> | PipelineStep$2<typeof AvailableSegmentPointSolver> | PipelineStep$2<typeof MultiTargetNecessaryCrampedPortPointSolver> | PipelineStep$2<typeof TinyHypergraphPortPointPathingSolver> | PipelineStep$2<typeof UniformPortDistributionSolver> | PipelineStep$2<typeof HighDensitySolver> | PipelineStep$2<typeof HighDensityForceImproveSolver> | PipelineStep$2<typeof Pipeline4HighDensityRepairSolver> | PipelineStep$2<typeof MultipleHighDensityRouteStitchSolver3> | PipelineStep$2<typeof TraceSimplificationSolver> | PipelineStep$2<typeof LengthMatchingSolver> | PipelineStep$2<typeof TraceWidthSolver> | PipelineStep$2<typeof GlobalDrcForceImproveSolver> | PipelineStep$2<typeof GlobalDrcBranchPortfolioSolver>)[];
5834
+ pipelineDef: (PipelineStep$2<typeof PreprocessSimpleRouteJsonSolver$1> | PipelineStep$2<typeof ComponentDetectionSolver> | PipelineStep$2<typeof EscapeViaLocationSolver> | PipelineStep$2<typeof NetToPointPairsSolver2_OffBoardConnection> | PipelineStep$2<typeof MultiGraphTopologyPlannerSolver> | PipelineStep$2<typeof TopologyMergingSolver> | PipelineStep$2<typeof NodeDimensionSubdivisionSolver> | PipelineStep$2<typeof CapacityMeshEdgeSolver2_NodeTreeOptimization> | PipelineStep$2<typeof AvailableSegmentPointSolver> | PipelineStep$2<typeof MultiTargetNecessaryCrampedPortPointSolver> | PipelineStep$2<typeof TinyHypergraphPortPointPathingSolver> | PipelineStep$2<typeof UniformPortDistributionSolver> | PipelineStep$2<typeof HighDensitySolver> | PipelineStep$2<typeof HighDensityForceImproveSolver> | PipelineStep$2<typeof Pipeline4HighDensityRepairSolver> | PipelineStep$2<typeof MultipleHighDensityRouteStitchSolver3> | PipelineStep$2<typeof TraceSimplificationSolver> | PipelineStep$2<typeof TraceWidthSolver> | PipelineStep$2<typeof GlobalDrcForceImproveSolver> | PipelineStep$2<typeof GlobalDrcBranchPortfolioSolver> | PipelineStep$2<typeof PostProcessingSolver>)[];
5830
5835
  constructor(srj: SimpleRouteJson, opts?: CapacityMeshSolverOptions$2);
5831
5836
  private setSimpleRouteJson;
5832
5837
  getConstructorParams(): readonly [SimpleRouteJson, CapacityMeshSolverOptions$2];