@tscircuit/capacity-autorouter 0.0.284 → 0.0.286
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 +59 -43
- package/dist/index.js +26 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
package/dist/index.d.ts
CHANGED
|
@@ -4,8 +4,8 @@ import { ConnectivityMap } from 'circuit-json-to-connectivity-map';
|
|
|
4
4
|
import { RectDiffPipeline } from '@tscircuit/rectdiff';
|
|
5
5
|
import { BaseSolver as BaseSolver$1 } from '@tscircuit/solver-utils';
|
|
6
6
|
import { Point3, Polygon } from '@tscircuit/math-utils';
|
|
7
|
-
import { JumperGraphSolver, JRegion, JPort, Region, RegionPort, HyperGraphSolver, HyperGraph, Connection, Candidate as Candidate$3, RegionPortAssignment, SolvedRoute } from '@tscircuit/hypergraph';
|
|
8
7
|
import { CurvyTraceSolver } from '@tscircuit/curvy-trace-solver';
|
|
8
|
+
import { JumperGraphSolver, JRegion, JPort, Region, RegionPort, HyperGraphSolver, HyperGraph, Connection, Candidate as Candidate$3, RegionPortAssignment, SolvedRoute } from '@tscircuit/hypergraph';
|
|
9
9
|
import { ConnectivityMap as ConnectivityMap$1 } from 'connectivity-map';
|
|
10
10
|
|
|
11
11
|
type TraceId = string;
|
|
@@ -3496,6 +3496,45 @@ declare class SimpleHighDensitySolver extends BaseSolver {
|
|
|
3496
3496
|
visualize(): GraphicsObject;
|
|
3497
3497
|
}
|
|
3498
3498
|
|
|
3499
|
+
interface AdjacentObstacle {
|
|
3500
|
+
minX: number;
|
|
3501
|
+
minY: number;
|
|
3502
|
+
maxX: number;
|
|
3503
|
+
maxY: number;
|
|
3504
|
+
networkId?: string;
|
|
3505
|
+
}
|
|
3506
|
+
interface CurvyIntraNodeSolverParams {
|
|
3507
|
+
nodeWithPortPoints: NodeWithPortPoints;
|
|
3508
|
+
colorMap?: Record<string, string>;
|
|
3509
|
+
traceWidth?: number;
|
|
3510
|
+
viaDiameter?: number;
|
|
3511
|
+
/** Obstacles from adjacent/solved nodes that might affect routing */
|
|
3512
|
+
adjacentObstacles?: AdjacentObstacle[];
|
|
3513
|
+
}
|
|
3514
|
+
/**
|
|
3515
|
+
* A solver that uses CurvyTraceSolver to create curved traces within a node.
|
|
3516
|
+
* It converts port points to waypoint pairs and generates smooth curved traces
|
|
3517
|
+
* that maximize distance between traces and obstacles.
|
|
3518
|
+
*/
|
|
3519
|
+
declare class CurvyIntraNodeSolver extends BaseSolver {
|
|
3520
|
+
getSolverName(): string;
|
|
3521
|
+
nodeWithPortPoints: NodeWithPortPoints;
|
|
3522
|
+
colorMap: Record<string, string>;
|
|
3523
|
+
traceWidth: number;
|
|
3524
|
+
viaDiameter: number;
|
|
3525
|
+
adjacentObstacles: AdjacentObstacle[];
|
|
3526
|
+
routes: HighDensityIntraNodeRoute$1[];
|
|
3527
|
+
curvyTraceSolver?: CurvyTraceSolver;
|
|
3528
|
+
phase: "initializing" | "solving" | "done";
|
|
3529
|
+
constructor(params: CurvyIntraNodeSolverParams);
|
|
3530
|
+
_step(): void;
|
|
3531
|
+
_initializeCurvySolver(): void;
|
|
3532
|
+
_stepCurvySolver(): void;
|
|
3533
|
+
_convertOutputTraces(): void;
|
|
3534
|
+
getConstructorParams(): CurvyIntraNodeSolverParams;
|
|
3535
|
+
visualize(): GraphicsObject;
|
|
3536
|
+
}
|
|
3537
|
+
|
|
3499
3538
|
interface JumperPrepatternSolver2HyperParameters {
|
|
3500
3539
|
/** Number of columns in the jumper grid */
|
|
3501
3540
|
COLS?: number;
|
|
@@ -3505,11 +3544,16 @@ interface JumperPrepatternSolver2HyperParameters {
|
|
|
3505
3544
|
ORIENTATION?: "horizontal" | "vertical";
|
|
3506
3545
|
/** Jumper type - "1206x4" or "0603". Defaults to "1206x4" */
|
|
3507
3546
|
JUMPER_TYPE?: JumperType;
|
|
3547
|
+
/** Number of traces to reserve space for between adjacent jumpers (0603 only) */
|
|
3548
|
+
TRACE_CHANNELS_BETWEEN_JUMPERS?: number;
|
|
3549
|
+
/** 0603 topology pattern. Defaults to "grid" */
|
|
3550
|
+
PATTERN?: "grid" | "staggered";
|
|
3508
3551
|
}
|
|
3509
3552
|
interface JumperPrepatternSolver2Params {
|
|
3510
3553
|
nodeWithPortPoints: NodeWithPortPoints;
|
|
3511
3554
|
colorMap?: Record<string, string>;
|
|
3512
3555
|
traceWidth?: number;
|
|
3556
|
+
obstacleMargin?: number;
|
|
3513
3557
|
hyperParameters?: JumperPrepatternSolver2HyperParameters;
|
|
3514
3558
|
connMap?: ConnectivityMap;
|
|
3515
3559
|
}
|
|
@@ -3530,6 +3574,7 @@ declare class JumperPrepatternSolver2_HyperGraph extends BaseSolver {
|
|
|
3530
3574
|
nodeWithPortPoints: NodeWithPortPoints;
|
|
3531
3575
|
colorMap: Record<string, string>;
|
|
3532
3576
|
traceWidth: number;
|
|
3577
|
+
obstacleMargin: number;
|
|
3533
3578
|
hyperParameters: JumperPrepatternSolver2HyperParameters;
|
|
3534
3579
|
jumperGraphSolver: JumperGraphSolver | null;
|
|
3535
3580
|
xyConnections: XYConnection[];
|
|
@@ -3588,6 +3633,7 @@ declare class JumperPrepatternSolver2_HyperGraph extends BaseSolver {
|
|
|
3588
3633
|
constructor(params: JumperPrepatternSolver2Params);
|
|
3589
3634
|
getConstructorParams(): JumperPrepatternSolver2Params;
|
|
3590
3635
|
private _buildColorMap;
|
|
3636
|
+
private _normalizeRegionPolygonsToBounds;
|
|
3591
3637
|
private _getPatternConfig;
|
|
3592
3638
|
/**
|
|
3593
3639
|
* Generate a 0603 jumper grid sized to fit the node bounds.
|
|
@@ -3625,6 +3671,7 @@ interface HyperJumperPrepatternSolver2Params {
|
|
|
3625
3671
|
nodeWithPortPoints: NodeWithPortPoints;
|
|
3626
3672
|
colorMap?: Record<string, string>;
|
|
3627
3673
|
traceWidth?: number;
|
|
3674
|
+
obstacleMargin?: number;
|
|
3628
3675
|
connMap?: ConnectivityMap;
|
|
3629
3676
|
hyperParameters?: JumperPrepatternSolver2HyperParameters;
|
|
3630
3677
|
/** Available jumper types. Defaults to ["0603"] */
|
|
@@ -3635,6 +3682,8 @@ type VariantHyperParameters = {
|
|
|
3635
3682
|
ROWS: number;
|
|
3636
3683
|
ORIENTATION: "horizontal" | "vertical";
|
|
3637
3684
|
JUMPER_TYPE: JumperType;
|
|
3685
|
+
PATTERN?: "grid" | "staggered";
|
|
3686
|
+
TRACE_CHANNELS_BETWEEN_JUMPERS?: number;
|
|
3638
3687
|
};
|
|
3639
3688
|
/**
|
|
3640
3689
|
* HyperJumperPrepatternSolver2 runs multiple variants of JumperPrepatternSolver2_HyperGraph
|
|
@@ -3651,6 +3700,7 @@ declare class HyperJumperPrepatternSolver2 extends HyperParameterSupervisorSolve
|
|
|
3651
3700
|
nodeWithPortPoints: NodeWithPortPoints;
|
|
3652
3701
|
colorMap: Record<string, string>;
|
|
3653
3702
|
traceWidth: number;
|
|
3703
|
+
obstacleMargin: number;
|
|
3654
3704
|
connMap?: ConnectivityMap;
|
|
3655
3705
|
baseHyperParameters?: JumperPrepatternSolver2HyperParameters;
|
|
3656
3706
|
availableJumperTypes: JumperType[];
|
|
@@ -3669,10 +3719,12 @@ declare class HyperJumperPrepatternSolver2 extends HyperParameterSupervisorSolve
|
|
|
3669
3719
|
*/
|
|
3670
3720
|
isValidCombination(hyperParameters: VariantHyperParameters): boolean;
|
|
3671
3721
|
getCombinationDefs(): string[][];
|
|
3722
|
+
private calculateMax0603ConfigWithTraceChannels;
|
|
3672
3723
|
/**
|
|
3673
3724
|
* Override initializeSolvers to use getCombinationDefs for both 0603 and 1206x4.
|
|
3674
|
-
* For 0603: uses pre-calculated max rows/cols
|
|
3675
|
-
*
|
|
3725
|
+
* For 0603: uses pre-calculated max rows/cols for each orientation, trace channel count,
|
|
3726
|
+
* and pattern (grid/staggered).
|
|
3727
|
+
* For 1206x4: uses full combination of cols, rows, and orientation.
|
|
3676
3728
|
*/
|
|
3677
3729
|
initializeSolvers(): void;
|
|
3678
3730
|
generateSolver(hyperParameters: VariantHyperParameters): JumperPrepatternSolver2_HyperGraph;
|
|
@@ -3684,45 +3736,6 @@ declare class HyperJumperPrepatternSolver2 extends HyperParameterSupervisorSolve
|
|
|
3684
3736
|
visualize(): GraphicsObject;
|
|
3685
3737
|
}
|
|
3686
3738
|
|
|
3687
|
-
interface AdjacentObstacle {
|
|
3688
|
-
minX: number;
|
|
3689
|
-
minY: number;
|
|
3690
|
-
maxX: number;
|
|
3691
|
-
maxY: number;
|
|
3692
|
-
networkId?: string;
|
|
3693
|
-
}
|
|
3694
|
-
interface CurvyIntraNodeSolverParams {
|
|
3695
|
-
nodeWithPortPoints: NodeWithPortPoints;
|
|
3696
|
-
colorMap?: Record<string, string>;
|
|
3697
|
-
traceWidth?: number;
|
|
3698
|
-
viaDiameter?: number;
|
|
3699
|
-
/** Obstacles from adjacent/solved nodes that might affect routing */
|
|
3700
|
-
adjacentObstacles?: AdjacentObstacle[];
|
|
3701
|
-
}
|
|
3702
|
-
/**
|
|
3703
|
-
* A solver that uses CurvyTraceSolver to create curved traces within a node.
|
|
3704
|
-
* It converts port points to waypoint pairs and generates smooth curved traces
|
|
3705
|
-
* that maximize distance between traces and obstacles.
|
|
3706
|
-
*/
|
|
3707
|
-
declare class CurvyIntraNodeSolver extends BaseSolver {
|
|
3708
|
-
getSolverName(): string;
|
|
3709
|
-
nodeWithPortPoints: NodeWithPortPoints;
|
|
3710
|
-
colorMap: Record<string, string>;
|
|
3711
|
-
traceWidth: number;
|
|
3712
|
-
viaDiameter: number;
|
|
3713
|
-
adjacentObstacles: AdjacentObstacle[];
|
|
3714
|
-
routes: HighDensityIntraNodeRoute$1[];
|
|
3715
|
-
curvyTraceSolver?: CurvyTraceSolver;
|
|
3716
|
-
phase: "initializing" | "solving" | "done";
|
|
3717
|
-
constructor(params: CurvyIntraNodeSolverParams);
|
|
3718
|
-
_step(): void;
|
|
3719
|
-
_initializeCurvySolver(): void;
|
|
3720
|
-
_stepCurvySolver(): void;
|
|
3721
|
-
_convertOutputTraces(): void;
|
|
3722
|
-
getConstructorParams(): CurvyIntraNodeSolverParams;
|
|
3723
|
-
visualize(): GraphicsObject;
|
|
3724
|
-
}
|
|
3725
|
-
|
|
3726
3739
|
interface NodeAnalysis {
|
|
3727
3740
|
node: NodeWithPortPoints;
|
|
3728
3741
|
hasCrossings: boolean;
|
|
@@ -3743,6 +3756,7 @@ declare class JumperHighDensitySolver extends BaseSolver {
|
|
|
3743
3756
|
routes: HighDensityIntraNodeRoute$1[];
|
|
3744
3757
|
colorMap: Record<string, string>;
|
|
3745
3758
|
traceWidth: number;
|
|
3759
|
+
obstacleMargin: number;
|
|
3746
3760
|
viaDiameter: number;
|
|
3747
3761
|
connMap?: ConnectivityMap;
|
|
3748
3762
|
hyperParameters?: Partial<HighDensityHyperParameters>;
|
|
@@ -3759,10 +3773,11 @@ declare class JumperHighDensitySolver extends BaseSolver {
|
|
|
3759
3773
|
currentJumperSolverIndex: number;
|
|
3760
3774
|
phase: "analyzing" | "curvy" | "jumpers" | "done";
|
|
3761
3775
|
jumpers: Jumper$1[];
|
|
3762
|
-
constructor({ nodePortPoints, colorMap, traceWidth, viaDiameter, connMap, hyperParameters, capacityMeshNodes, capacityMeshEdges, availableJumperTypes, }: {
|
|
3776
|
+
constructor({ nodePortPoints, colorMap, traceWidth, obstacleMargin, viaDiameter, connMap, hyperParameters, capacityMeshNodes, capacityMeshEdges, availableJumperTypes, }: {
|
|
3763
3777
|
nodePortPoints: NodeWithPortPoints[];
|
|
3764
3778
|
colorMap?: Record<string, string>;
|
|
3765
3779
|
traceWidth?: number;
|
|
3780
|
+
obstacleMargin?: number;
|
|
3766
3781
|
viaDiameter?: number;
|
|
3767
3782
|
connMap?: ConnectivityMap;
|
|
3768
3783
|
hyperParameters?: Partial<HighDensityHyperParameters>;
|
|
@@ -3809,6 +3824,7 @@ declare class JumperHighDensitySolver extends BaseSolver {
|
|
|
3809
3824
|
nodePortPoints: NodeWithPortPoints[];
|
|
3810
3825
|
colorMap: Record<string, string>;
|
|
3811
3826
|
traceWidth: number;
|
|
3827
|
+
obstacleMargin: number;
|
|
3812
3828
|
viaDiameter: number;
|
|
3813
3829
|
connMap: ConnectivityMap | undefined;
|
|
3814
3830
|
hyperParameters: Partial<HighDensityHyperParameters> | undefined;
|