@tscircuit/capacity-autorouter 0.0.280 → 0.0.281
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 +35 -29
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -4317,33 +4317,37 @@ type HgPort = RegionPort & {
|
|
|
4317
4317
|
d: InputPortPoint;
|
|
4318
4318
|
};
|
|
4319
4319
|
|
|
4320
|
+
type RegionId = CapacityMeshNodeId;
|
|
4321
|
+
type RegionMemoryPfMap = Map<RegionId, number>;
|
|
4322
|
+
type RegionRipCountMap = Map<RegionId, number>;
|
|
4320
4323
|
interface HgPortPointPathingSolverParams {
|
|
4321
4324
|
inputGraph: HyperGraph;
|
|
4322
4325
|
inputConnections: Connection[];
|
|
4323
4326
|
connectionsWithResults: ConnectionPathResult[];
|
|
4324
4327
|
inputNodes: InputNodeWithPortPoints[];
|
|
4325
4328
|
portPointMap: Map<string, InputPortPoint>;
|
|
4326
|
-
|
|
4329
|
+
regionMemoryPfMap: RegionMemoryPfMap;
|
|
4327
4330
|
rippingEnabled: boolean;
|
|
4328
4331
|
forceCenterFirst: boolean;
|
|
4329
4332
|
weights: {
|
|
4330
|
-
|
|
4331
|
-
|
|
4332
|
-
|
|
4333
|
-
|
|
4334
|
-
|
|
4335
|
-
|
|
4336
|
-
|
|
4337
|
-
|
|
4338
|
-
|
|
4339
|
-
|
|
4333
|
+
GREEDY_MULTIPLIER: number;
|
|
4334
|
+
RIP_COST: number;
|
|
4335
|
+
PORT_USAGE_PENALTY: number;
|
|
4336
|
+
REGION_TRANSITION_PENALTY: number;
|
|
4337
|
+
MEMORY_PF_FACTOR: number;
|
|
4338
|
+
CENTER_OFFSET_DIST_PENALTY_FACTOR: number;
|
|
4339
|
+
STRAIGHT_LINE_DEVIATION_PENALTY_FACTOR: number;
|
|
4340
|
+
RIP_REGION_PF_THRESHOLD_START: number;
|
|
4341
|
+
MAX_REGION_RIPS: number;
|
|
4342
|
+
RANDOM_RIP_FRACTION: number;
|
|
4343
|
+
MAX_RIPS: number;
|
|
4344
|
+
MIN_ALLOWED_BOARD_SCORE: number;
|
|
4340
4345
|
};
|
|
4341
|
-
MIN_ALLOWED_BOARD_SCORE: number;
|
|
4342
4346
|
}
|
|
4343
4347
|
declare class HgPortPointPathingSolver extends HyperGraphSolver<HgRegion, HgPort> {
|
|
4344
4348
|
inputNodes: InputNodeWithPortPoints[];
|
|
4345
|
-
|
|
4346
|
-
|
|
4349
|
+
regionNodeMap: Map<RegionId, InputNodeWithPortPoints>;
|
|
4350
|
+
regionById: Map<RegionId, HgRegion>;
|
|
4347
4351
|
portPointMap: Map<string, InputPortPoint>;
|
|
4348
4352
|
connectionsWithResults: ConnectionPathResult[];
|
|
4349
4353
|
assignedPortPoints: Map<string, {
|
|
@@ -4354,22 +4358,23 @@ declare class HgPortPointPathingSolver extends HyperGraphSolver<HgRegion, HgPort
|
|
|
4354
4358
|
assignmentsBuilt: boolean;
|
|
4355
4359
|
portUsagePenalty: number;
|
|
4356
4360
|
regionTransitionPenalty: number;
|
|
4357
|
-
|
|
4358
|
-
|
|
4361
|
+
ripRegionPfThresholdStart: number;
|
|
4362
|
+
maxRegionRips: number;
|
|
4359
4363
|
memoryPfFactor: number;
|
|
4364
|
+
centerOffsetDistPenaltyFactor: number;
|
|
4360
4365
|
forceCenterFirst: boolean;
|
|
4361
4366
|
straightLineDeviationPenaltyFactor: number;
|
|
4362
|
-
|
|
4363
|
-
|
|
4364
|
-
|
|
4367
|
+
connectionResultByName: Map<string, ConnectionPathResult>;
|
|
4368
|
+
regionRipCountMap: RegionRipCountMap;
|
|
4369
|
+
regionMemoryPfMap: RegionMemoryPfMap;
|
|
4365
4370
|
totalRipCount: number;
|
|
4366
4371
|
randomRipFraction: number;
|
|
4367
4372
|
maxRips: number;
|
|
4368
4373
|
MIN_ALLOWED_BOARD_SCORE: number;
|
|
4369
|
-
constructor({ inputGraph, inputConnections, connectionsWithResults, inputNodes, portPointMap,
|
|
4374
|
+
constructor({ inputGraph, inputConnections, connectionsWithResults, inputNodes, portPointMap, regionMemoryPfMap, rippingEnabled, weights, forceCenterFirst, }: HgPortPointPathingSolverParams);
|
|
4370
4375
|
private clampPf;
|
|
4371
4376
|
private pfToFailureCost;
|
|
4372
|
-
private
|
|
4377
|
+
private recordRegionMemoryPf;
|
|
4373
4378
|
estimateCostToEnd(port: HgPort): number;
|
|
4374
4379
|
computeH(candidate: Candidate$3<HgRegion, HgPort>): number;
|
|
4375
4380
|
private getStraightLineDeviationPenalty;
|
|
@@ -4377,22 +4382,23 @@ declare class HgPortPointPathingSolver extends HyperGraphSolver<HgRegion, HgPort
|
|
|
4377
4382
|
getPortUsagePenalty(port: HgPort): number;
|
|
4378
4383
|
getRipsRequiredForPortUsage(region: HgRegion, port1: HgPort, port2: HgPort): RegionPortAssignment[];
|
|
4379
4384
|
private isPortAvailableForCurrentNet;
|
|
4380
|
-
private
|
|
4385
|
+
private getCenterFirstEnteringRegionCandidates;
|
|
4381
4386
|
selectCandidatesForEnteringRegion(candidates: Candidate$3<HgRegion, HgPort>[]): Candidate$3<HgRegion, HgPort>[];
|
|
4382
4387
|
routeSolvedHook(solvedRoute: SolvedRoute): void;
|
|
4383
4388
|
_step(): void;
|
|
4384
4389
|
private enforceBoardScoreGuardrail;
|
|
4385
4390
|
private buildAssignmentsIfSolved;
|
|
4386
|
-
private
|
|
4391
|
+
private getRegionRippingPfThreshold;
|
|
4387
4392
|
private getPortPointsFromRegionAssignments;
|
|
4388
4393
|
private getPortPointsFromNewlySolvedRouteInRegion;
|
|
4389
|
-
private
|
|
4390
|
-
private
|
|
4394
|
+
private computeRegionPf;
|
|
4395
|
+
private computeRegionPfFromAssignments;
|
|
4391
4396
|
private getDerivedCapacityMeshNode;
|
|
4392
|
-
private
|
|
4393
|
-
private
|
|
4394
|
-
private
|
|
4395
|
-
private
|
|
4397
|
+
private getCrossingRoutesByRegionForRoute;
|
|
4398
|
+
private getRoutesInRegionForRipping;
|
|
4399
|
+
private getTraversedRegionIds;
|
|
4400
|
+
private processRandomRips;
|
|
4401
|
+
private processRippingForRoute;
|
|
4396
4402
|
computeRoutesToRip(newlySolvedRoute: SolvedRoute): Set<SolvedRoute>;
|
|
4397
4403
|
getNodesWithPortPoints(): NodeWithPortPoints[];
|
|
4398
4404
|
computeBoardScore(): number;
|