@tscircuit/capacity-autorouter 0.0.267 → 0.0.269
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 +36 -16
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -40,6 +40,7 @@ type Jumper$1 = {
|
|
|
40
40
|
height: number;
|
|
41
41
|
pads: Obstacle[];
|
|
42
42
|
};
|
|
43
|
+
type JumperType = "1206x4" | "0603";
|
|
43
44
|
interface SimpleRouteJson {
|
|
44
45
|
layerCount: number;
|
|
45
46
|
minTraceWidth: number;
|
|
@@ -61,6 +62,8 @@ interface SimpleRouteJson {
|
|
|
61
62
|
traces?: SimplifiedPcbTraces;
|
|
62
63
|
jumpers?: Jumper$1[];
|
|
63
64
|
allowJumpers?: boolean;
|
|
65
|
+
/** Available jumper types for routing. Defaults to ["0603"] */
|
|
66
|
+
availableJumperTypes?: JumperType[];
|
|
64
67
|
}
|
|
65
68
|
interface Obstacle {
|
|
66
69
|
obstacleId?: string;
|
|
@@ -3471,6 +3474,8 @@ interface JumperPrepatternSolver2HyperParameters {
|
|
|
3471
3474
|
ROWS?: number;
|
|
3472
3475
|
/** Orientation of jumpers - "horizontal" or "vertical" */
|
|
3473
3476
|
ORIENTATION?: "horizontal" | "vertical";
|
|
3477
|
+
/** Jumper type - "1206x4" or "0603". Defaults to "1206x4" */
|
|
3478
|
+
JUMPER_TYPE?: JumperType;
|
|
3474
3479
|
}
|
|
3475
3480
|
interface JumperPrepatternSolver2Params {
|
|
3476
3481
|
nodeWithPortPoints: NodeWithPortPoints;
|
|
@@ -3555,6 +3560,13 @@ declare class JumperPrepatternSolver2_HyperGraph extends BaseSolver {
|
|
|
3555
3560
|
getConstructorParams(): JumperPrepatternSolver2Params;
|
|
3556
3561
|
private _buildColorMap;
|
|
3557
3562
|
private _getPatternConfig;
|
|
3563
|
+
/**
|
|
3564
|
+
* Generate a 0603 jumper grid sized to fit the node bounds.
|
|
3565
|
+
* generateJumperGrid doesn't support bounds/orientation, so we calculate
|
|
3566
|
+
* the outer padding dynamically to ensure the grid extends to the node boundaries.
|
|
3567
|
+
* NO SCALING - the outer padding is calculated to fill the space.
|
|
3568
|
+
*/
|
|
3569
|
+
private _generate0603Grid;
|
|
3558
3570
|
private _initializeGraph;
|
|
3559
3571
|
_step(): void;
|
|
3560
3572
|
private _stepJumperGraph;
|
|
@@ -3586,11 +3598,14 @@ interface HyperJumperPrepatternSolver2Params {
|
|
|
3586
3598
|
traceWidth?: number;
|
|
3587
3599
|
connMap?: ConnectivityMap;
|
|
3588
3600
|
hyperParameters?: JumperPrepatternSolver2HyperParameters;
|
|
3601
|
+
/** Available jumper types. Defaults to ["0603"] */
|
|
3602
|
+
availableJumperTypes?: JumperType[];
|
|
3589
3603
|
}
|
|
3590
3604
|
type VariantHyperParameters = {
|
|
3591
3605
|
COLS: number;
|
|
3592
3606
|
ROWS: number;
|
|
3593
3607
|
ORIENTATION: "horizontal" | "vertical";
|
|
3608
|
+
JUMPER_TYPE: JumperType;
|
|
3594
3609
|
};
|
|
3595
3610
|
/**
|
|
3596
3611
|
* HyperJumperPrepatternSolver2 runs multiple variants of JumperPrepatternSolver2_HyperGraph
|
|
@@ -3609,27 +3624,28 @@ declare class HyperJumperPrepatternSolver2 extends HyperParameterSupervisorSolve
|
|
|
3609
3624
|
traceWidth: number;
|
|
3610
3625
|
connMap?: ConnectivityMap;
|
|
3611
3626
|
baseHyperParameters?: JumperPrepatternSolver2HyperParameters;
|
|
3627
|
+
availableJumperTypes: JumperType[];
|
|
3612
3628
|
solvedRoutes: HighDensityIntraNodeRouteWithJumpers[];
|
|
3613
3629
|
jumpers: Jumper$1[];
|
|
3614
3630
|
constructor(params: HyperJumperPrepatternSolver2Params);
|
|
3615
3631
|
getConstructorParams(): HyperJumperPrepatternSolver2Params;
|
|
3616
|
-
getHyperParameterDefs():
|
|
3617
|
-
name: string;
|
|
3618
|
-
possibleValues: {
|
|
3619
|
-
COLS: number;
|
|
3620
|
-
}[];
|
|
3621
|
-
} | {
|
|
3622
|
-
name: string;
|
|
3623
|
-
possibleValues: {
|
|
3624
|
-
ROWS: number;
|
|
3625
|
-
}[];
|
|
3626
|
-
} | {
|
|
3632
|
+
getHyperParameterDefs(): {
|
|
3627
3633
|
name: string;
|
|
3628
|
-
possibleValues:
|
|
3629
|
-
|
|
3630
|
-
|
|
3631
|
-
|
|
3634
|
+
possibleValues: Array<Record<string, any>>;
|
|
3635
|
+
}[];
|
|
3636
|
+
/**
|
|
3637
|
+
* Filter out invalid row/col combinations for each jumper type.
|
|
3638
|
+
* For 0603: only allow 1, 2, 4, 6, 8 for both rows and cols
|
|
3639
|
+
* For 1206x4: allow existing values (1, 2, 3, 4, 6, 8, 10 for cols; 1, 2, 3, 4, 8 for rows)
|
|
3640
|
+
*/
|
|
3641
|
+
isValidCombination(hyperParameters: VariantHyperParameters): boolean;
|
|
3632
3642
|
getCombinationDefs(): string[][];
|
|
3643
|
+
/**
|
|
3644
|
+
* Override initializeSolvers to use getCombinationDefs for both 0603 and 1206x4.
|
|
3645
|
+
* For 0603: uses pre-calculated max rows/cols per orientation (2 configs total)
|
|
3646
|
+
* For 1206x4: uses full combination of cols, rows, and orientation
|
|
3647
|
+
*/
|
|
3648
|
+
initializeSolvers(): void;
|
|
3633
3649
|
generateSolver(hyperParameters: VariantHyperParameters): JumperPrepatternSolver2_HyperGraph;
|
|
3634
3650
|
computeG(solver: JumperPrepatternSolver2_HyperGraph): number;
|
|
3635
3651
|
computeH(solver: JumperPrepatternSolver2_HyperGraph): number;
|
|
@@ -3701,6 +3717,7 @@ declare class JumperHighDensitySolver extends BaseSolver {
|
|
|
3701
3717
|
viaDiameter: number;
|
|
3702
3718
|
connMap?: ConnectivityMap;
|
|
3703
3719
|
hyperParameters?: Partial<HighDensityHyperParameters>;
|
|
3720
|
+
availableJumperTypes: JumperType[];
|
|
3704
3721
|
capacityMeshNodes: CapacityMeshNode[];
|
|
3705
3722
|
capacityMeshEdges: CapacityMeshEdge[];
|
|
3706
3723
|
capacityMeshNodeMap: Map<string, CapacityMeshNode>;
|
|
@@ -3713,7 +3730,7 @@ declare class JumperHighDensitySolver extends BaseSolver {
|
|
|
3713
3730
|
currentJumperSolverIndex: number;
|
|
3714
3731
|
phase: "analyzing" | "curvy" | "jumpers" | "done";
|
|
3715
3732
|
jumpers: Jumper$1[];
|
|
3716
|
-
constructor({ nodePortPoints, colorMap, traceWidth, viaDiameter, connMap, hyperParameters, capacityMeshNodes, capacityMeshEdges, }: {
|
|
3733
|
+
constructor({ nodePortPoints, colorMap, traceWidth, viaDiameter, connMap, hyperParameters, capacityMeshNodes, capacityMeshEdges, availableJumperTypes, }: {
|
|
3717
3734
|
nodePortPoints: NodeWithPortPoints[];
|
|
3718
3735
|
colorMap?: Record<string, string>;
|
|
3719
3736
|
traceWidth?: number;
|
|
@@ -3722,6 +3739,8 @@ declare class JumperHighDensitySolver extends BaseSolver {
|
|
|
3722
3739
|
hyperParameters?: Partial<HighDensityHyperParameters>;
|
|
3723
3740
|
capacityMeshNodes?: CapacityMeshNode[];
|
|
3724
3741
|
capacityMeshEdges?: CapacityMeshEdge[];
|
|
3742
|
+
/** Available jumper types. Defaults to ["0603"] */
|
|
3743
|
+
availableJumperTypes?: JumperType[];
|
|
3725
3744
|
});
|
|
3726
3745
|
/**
|
|
3727
3746
|
* Build adjacency map from edges for quick lookup of adjacent nodes
|
|
@@ -3766,6 +3785,7 @@ declare class JumperHighDensitySolver extends BaseSolver {
|
|
|
3766
3785
|
hyperParameters: Partial<HighDensityHyperParameters> | undefined;
|
|
3767
3786
|
capacityMeshNodes: CapacityMeshNode[];
|
|
3768
3787
|
capacityMeshEdges: CapacityMeshEdge[];
|
|
3788
|
+
availableJumperTypes: JumperType[];
|
|
3769
3789
|
};
|
|
3770
3790
|
/**
|
|
3771
3791
|
* Returns ALL jumpers collected from the jumper solvers.
|