@tscircuit/capacity-autorouter 0.0.307 → 0.0.309

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 CHANGED
@@ -3,9 +3,9 @@ import { ConnectivityMap } from 'circuit-json-to-connectivity-map';
3
3
  import * as graphics_debug from 'graphics-debug';
4
4
  import { GraphicsObject, Rect, Circle, Line, Point as Point$5 } from 'graphics-debug';
5
5
  import { BaseSolver as BaseSolver$1 } from '@tscircuit/solver-utils';
6
+ import { ViaTile, ViaGraphSolver, ViaByNet, JumperGraphSolver, JRegion, JPort, Region, RegionPort, HyperGraphSolver, HyperGraph, Connection, Candidate as Candidate$3, RegionPortAssignment, SolvedRoute } from '@tscircuit/hypergraph';
6
7
  import { Point3, Polygon } from '@tscircuit/math-utils';
7
8
  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
  interface CacheProvider {
@@ -991,6 +991,7 @@ interface HighDensityHyperParameters {
991
991
  FUTURE_CONNECTION_LINE_PROXIMITY?: number;
992
992
  FUTURE_CONNECTION_LINE_PENALTY?: number;
993
993
  MIN_TRAVEL_BEFORE_JUMPER?: number;
994
+ FIXED_TOPOLOGY_HIGH_DENSITY_INTRA_NODE_SOLVER?: boolean;
994
995
  }
995
996
 
996
997
  type Node = {
@@ -1444,7 +1445,65 @@ declare class SingleTransitionIntraNodeSolver extends BaseSolver {
1444
1445
  visualize(): GraphicsObject;
1445
1446
  }
1446
1447
 
1447
- declare class HyperSingleIntraNodeSolver extends HyperParameterSupervisorSolver<IntraNodeRouteSolver | TwoCrossingRoutesHighDensitySolver | SingleTransitionCrossingRouteSolver | SingleTransitionIntraNodeSolver> {
1448
+ type ViaRegion = {
1449
+ viaRegionId: string;
1450
+ center: {
1451
+ x: number;
1452
+ y: number;
1453
+ };
1454
+ diameter: number;
1455
+ connectedTo: string[];
1456
+ };
1457
+ type HighDensityIntraNodeRouteWithVias = HighDensityIntraNodeRoute$1 & {
1458
+ viaRegions: ViaRegion[];
1459
+ };
1460
+ interface FixedTopologyHighDensityIntraNodeSolverParams {
1461
+ nodeWithPortPoints: NodeWithPortPoints;
1462
+ colorMap?: Record<string, string>;
1463
+ traceWidth?: number;
1464
+ viaDiameter?: number;
1465
+ connMap?: ConnectivityMap;
1466
+ }
1467
+ /**
1468
+ * Routes intra-node traces using a fixed via-topology grid and the hypergraph
1469
+ * via solver.
1470
+ */
1471
+ declare class FixedTopologyHighDensityIntraNodeSolver extends BaseSolver {
1472
+ getSolverName(): string;
1473
+ constructorParams: FixedTopologyHighDensityIntraNodeSolverParams;
1474
+ nodeWithPortPoints: NodeWithPortPoints;
1475
+ colorMap: Record<string, string>;
1476
+ traceWidth: number;
1477
+ viaDiameter: number;
1478
+ viaTile: ViaTile;
1479
+ connMap?: ConnectivityMap;
1480
+ rootConnectionNameByConnectionId: Map<string, string | undefined>;
1481
+ lastActiveSubSolver: ViaGraphSolver | null;
1482
+ solvedRoutes: HighDensityIntraNodeRouteWithVias[];
1483
+ vias: ViaRegion[];
1484
+ tiledViasByNet: ViaByNet;
1485
+ constructor(params: FixedTopologyHighDensityIntraNodeSolverParams);
1486
+ getConstructorParams(): FixedTopologyHighDensityIntraNodeSolverParams;
1487
+ private _getViaTileDiameter;
1488
+ private _resolveViaDiameter;
1489
+ private _initializeGraph;
1490
+ _step(): void;
1491
+ private _upsertGlobalVia;
1492
+ private _upsertRouteViaRegion;
1493
+ private _appendRoutePoint;
1494
+ private _parseViaRegionNetName;
1495
+ private _parseViaRegionTilePrefix;
1496
+ private _selectViasForTraversedRegion;
1497
+ private _findNearestVia;
1498
+ private _getBottomRoutePointsBetweenVias;
1499
+ private _appendViaUsage;
1500
+ private _processResults;
1501
+ getOutput(): HighDensityIntraNodeRouteWithVias[];
1502
+ getOutputVias(): ViaRegion[];
1503
+ visualize(): graphics_debug.GraphicsObject;
1504
+ }
1505
+
1506
+ declare class HyperSingleIntraNodeSolver extends HyperParameterSupervisorSolver<IntraNodeRouteSolver | TwoCrossingRoutesHighDensitySolver | SingleTransitionCrossingRouteSolver | SingleTransitionIntraNodeSolver | FixedTopologyHighDensityIntraNodeSolver> {
1448
1507
  getSolverName(): string;
1449
1508
  constructorParams: ConstructorParameters<typeof CachedIntraNodeRouteSolver>[0];
1450
1509
  solvedRoutes: HighDensityIntraNodeRoute$1[];
@@ -1513,6 +1572,11 @@ declare class HyperSingleIntraNodeSolver extends HyperParameterSupervisorSolver<
1513
1572
  possibleValues: {
1514
1573
  HIGH_DENSITY_A01: boolean;
1515
1574
  }[];
1575
+ } | {
1576
+ name: string;
1577
+ possibleValues: {
1578
+ FIXED_TOPOLOGY_HIGH_DENSITY_INTRA_NODE_SOLVER: boolean;
1579
+ }[];
1516
1580
  })[];
1517
1581
  computeG(solver: IntraNodeRouteSolver): number;
1518
1582
  computeH(solver: IntraNodeRouteSolver): number;