Skip to content

Commit f097156

Browse files
committed
Enable Hypergraph Auto‑Baked Tile Selection in FixedTopology Solver by Removing Hardcoded Via Tile and Via Diameter Overrides
1 parent 9a5920b commit f097156

File tree

10 files changed

+58
-76
lines changed

10 files changed

+58
-76
lines changed

lib/solvers/FixedTopologyHighDensityIntraNodeSolver/FixedTopologyHighDensityIntraNodeSolver.ts

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import {
77
type ViaTile,
88
ViaGraphSolver,
99
createConvexViaGraphFromXYConnections,
10-
viaTile as defaultViaTile,
1110
} from "@tscircuit/hypergraph"
1211
import { ConnectivityMap } from "circuit-json-to-connectivity-map"
1312
import type {
@@ -33,7 +32,6 @@ export interface FixedTopologyHighDensityIntraNodeSolverParams {
3332
nodeWithPortPoints: NodeWithPortPoints
3433
colorMap?: Record<string, string>
3534
traceWidth?: number
36-
viaDiameter?: number
3735
connMap?: ConnectivityMap
3836
effort?: number
3937
}
@@ -53,8 +51,6 @@ export class FixedTopologyHighDensityIntraNodeSolver extends BaseSolver {
5351
nodeWithPortPoints: NodeWithPortPoints
5452
colorMap: Record<string, string>
5553
traceWidth: number
56-
viaDiameter: number
57-
viaTile: ViaTile
5854
connMap?: ConnectivityMap
5955

6056
rootConnectionNameByConnectionId: Map<string, string | undefined> = new Map()
@@ -70,8 +66,6 @@ export class FixedTopologyHighDensityIntraNodeSolver extends BaseSolver {
7066
this.nodeWithPortPoints = params.nodeWithPortPoints
7167
this.colorMap = params.colorMap ?? {}
7268
this.traceWidth = params.traceWidth ?? 0.15
73-
this.viaTile = defaultViaTile
74-
this.viaDiameter = this._resolveViaDiameter(params.viaDiameter)
7569
this.connMap = params.connMap
7670
this.MAX_ITERATIONS = P99_MAX_ITERATIONS * (params.effort ?? 1)
7771

@@ -92,17 +86,6 @@ export class FixedTopologyHighDensityIntraNodeSolver extends BaseSolver {
9286
return 0.3
9387
}
9488

95-
private _resolveViaDiameter(requestedViaDiameter?: number): number {
96-
const viaTileDiameter = this._getViaTileDiameter(this.viaTile)
97-
if (
98-
requestedViaDiameter !== undefined &&
99-
Math.abs(requestedViaDiameter - viaTileDiameter) <= 1e-6
100-
) {
101-
return requestedViaDiameter
102-
}
103-
return viaTileDiameter
104-
}
105-
10689
private _initializeGraph(): ViaGraphSolver | null {
10790
// Build connections from port points
10891
const connectionMap = new Map<
@@ -140,10 +123,7 @@ export class FixedTopologyHighDensityIntraNodeSolver extends BaseSolver {
140123
}
141124
if (inputConnections.length === 0) return null
142125

143-
const convexGraph = createConvexViaGraphFromXYConnections(
144-
inputConnections,
145-
this.viaTile,
146-
)
126+
const convexGraph = createConvexViaGraphFromXYConnections(inputConnections)
147127
this.tiledViasByNet = convexGraph.viaTile.viasByNet ?? {}
148128

149129
return new ViaGraphSolver({
@@ -418,6 +398,9 @@ export class FixedTopologyHighDensityIntraNodeSolver extends BaseSolver {
418398
private _processResults(viaGraphSolver: ViaGraphSolver) {
419399
this.solvedRoutes = []
420400
const viaTile = viaGraphSolver.viaTile
401+
const fallbackViaDiameter = viaTile
402+
? this._getViaTileDiameter(viaTile)
403+
: 0.3
421404
const viasByPosition: Map<
422405
string,
423406
{
@@ -571,7 +554,7 @@ export class FixedTopologyHighDensityIntraNodeSolver extends BaseSolver {
571554
? Math.max(
572555
...routeViaRegions.map((viaRegion) => viaRegion.diameter),
573556
)
574-
: this.viaDiameter,
557+
: fallbackViaDiameter,
575558
route: routePoints,
576559
vias: routeVias,
577560
viaRegions: routeViaRegions,

lib/solvers/HyperHighDensitySolver/HyperSingleIntraNodeSolver.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,6 @@ export class HyperSingleIntraNodeSolver extends HyperParameterSupervisorSolver<
311311
nodeWithPortPoints: this.nodeWithPortPoints,
312312
connMap: this.connMap,
313313
colorMap: this.constructorParams.colorMap,
314-
viaDiameter: this.constructorParams.viaDiameter,
315314
traceWidth: this.constructorParams.traceWidth,
316315
effort: this.effort,
317316
}) as any

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
"@tscircuit/circuit-json-util": "^0.0.46",
2929
"@tscircuit/core": "^0.0.337",
3030
"@tscircuit/curvy-trace-solver": "^0.0.10",
31-
"@tscircuit/hypergraph": "^0.0.50",
31+
"@tscircuit/hypergraph": "^0.0.60",
3232
"@tscircuit/jumper-topology-generator": "^0.0.4",
3333
"@tscircuit/math-utils": "^0.0.27",
3434
"@tscircuit/rectdiff": "0.0.22",

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/features/__snapshots__/fixed-topology-high-density-intra-node-solver.snap.svg

Lines changed: 1 addition & 1 deletion
Loading

tests/features/__snapshots__/via-high-density01.snap.svg

Lines changed: 14 additions & 14 deletions
Loading

tests/features/__snapshots__/via-high-density02.snap.svg

Lines changed: 17 additions & 17 deletions
Loading

tests/features/__snapshots__/via-high-density03.snap.svg

Lines changed: 17 additions & 17 deletions
Loading

0 commit comments

Comments
 (0)