Skip to content

Commit 4a7c296

Browse files
committed
Integrated FixedTopologyHighDensityIntraNodeSolver into HyperSingleIntraNodeSolver
1 parent 5d61a2a commit 4a7c296

File tree

6 files changed

+25
-4
lines changed

6 files changed

+25
-4
lines changed

lib/solvers/HighDensitySolver/HighDensityHyperParameters.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,6 @@ export interface HighDensityHyperParameters {
5151

5252
// Minimum travel distance before allowing jumper neighbors
5353
MIN_TRAVEL_BEFORE_JUMPER?: number // mm - default: 3
54+
55+
FIXED_TOPOLOGY_HIGH_DENSITY_INTRA_NODE_SOLVER?: boolean
5456
}

lib/solvers/HyperHighDensitySolver/HyperSingleIntraNodeSolver.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,14 @@ import { SingleTransitionIntraNodeSolver } from "../HighDensitySolver/SingleTran
1515
import { MultiHeadPolyLineIntraNodeSolver2 } from "../HighDensitySolver/MultiHeadPolyLineIntraNodeSolver/MultiHeadPolyLineIntraNodeSolver2_Optimized"
1616
import { MultiHeadPolyLineIntraNodeSolver3 } from "../HighDensitySolver/MultiHeadPolyLineIntraNodeSolver/MultiHeadPolyLineIntraNodeSolver3_ViaPossibilitiesSolverIntegration"
1717
import { HighDensitySolverA01 } from "@tscircuit/high-density-a01"
18+
import { FixedTopologyHighDensityIntraNodeSolver } from "../FixedTopologyHighDensityIntraNodeSolver"
1819

1920
export class HyperSingleIntraNodeSolver extends HyperParameterSupervisorSolver<
2021
| IntraNodeRouteSolver
2122
| TwoCrossingRoutesHighDensitySolver
2223
| SingleTransitionCrossingRouteSolver
2324
| SingleTransitionIntraNodeSolver
25+
| FixedTopologyHighDensityIntraNodeSolver
2426
> {
2527
override getSolverName(): string {
2628
return "HyperSingleIntraNodeSolver"
@@ -53,6 +55,7 @@ export class HyperSingleIntraNodeSolver extends HyperParameterSupervisorSolver<
5355
["closedFormSingleTrace"],
5456
// ["closedFormTwoTrace"],
5557
["highDensityA01"],
58+
["fixedTopologyHighDensityIntraNodeSolver"],
5659
]
5760
}
5861

@@ -183,6 +186,14 @@ export class HyperSingleIntraNodeSolver extends HyperParameterSupervisorSolver<
183186
},
184187
],
185188
},
189+
{
190+
name: "fixedTopologyHighDensityIntraNodeSolver",
191+
possibleValues: [
192+
{
193+
FIXED_TOPOLOGY_HIGH_DENSITY_INTRA_NODE_SOLVER: true,
194+
},
195+
],
196+
},
186197
]
187198
}
188199

@@ -249,6 +260,14 @@ export class HyperSingleIntraNodeSolver extends HyperParameterSupervisorSolver<
249260
viaDiameter: this.constructorParams.viaDiameter,
250261
}) as any
251262
}
263+
if (hyperParameters.FIXED_TOPOLOGY_HIGH_DENSITY_INTRA_NODE_SOLVER) {
264+
return new FixedTopologyHighDensityIntraNodeSolver({
265+
nodeWithPortPoints: this.nodeWithPortPoints,
266+
connMap: this.connMap,
267+
colorMap: this.constructorParams.colorMap,
268+
traceWidth: this.constructorParams.traceWidth,
269+
}) as any
270+
}
252271
return new CachedIntraNodeRouteSolver({
253272
...this.constructorParams,
254273
hyperParameters,

tests/__snapshots__/e2e3_hg.snap.svg

Lines changed: 1 addition & 1 deletion
Loading

tests/bugs/__snapshots__/bugreport04-aa1d41.snap.svg

Lines changed: 1 addition & 1 deletion
Loading

tests/bugs/__snapshots__/bugreport05-f03221.snap.svg

Lines changed: 1 addition & 1 deletion
Loading

tests/bugs/__snapshots__/bugreport2-e2e.snap.svg

Lines changed: 1 addition & 1 deletion
Loading

0 commit comments

Comments
 (0)