@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 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
- nodeMemoryPfMap: Map<CapacityMeshNodeId, number>;
4329
+ regionMemoryPfMap: RegionMemoryPfMap;
4327
4330
  rippingEnabled: boolean;
4328
4331
  forceCenterFirst: boolean;
4329
4332
  weights: {
4330
- greedyMultiplier: number;
4331
- ripCost: number;
4332
- portUsagePenalty: number;
4333
- regionTransitionPenalty: number;
4334
- memoryPfFactor: number;
4335
- straightLineDeviationPenaltyFactor: number;
4336
- ripNodePfThresholdStart: number;
4337
- maxNodeRips: number;
4338
- randomRipFraction: number;
4339
- maxRips: number;
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
- nodeMap: Map<CapacityMeshNodeId, InputNodeWithPortPoints>;
4346
- regionMap: Map<CapacityMeshNodeId, HgRegion>;
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
- ripNodePfThresholdStart: number;
4358
- maxNodeRips: number;
4361
+ ripRegionPfThresholdStart: number;
4362
+ maxRegionRips: number;
4359
4363
  memoryPfFactor: number;
4364
+ centerOffsetDistPenaltyFactor: number;
4360
4365
  forceCenterFirst: boolean;
4361
4366
  straightLineDeviationPenaltyFactor: number;
4362
- connectionResultByConnectionId: Map<string, ConnectionPathResult>;
4363
- nodeRipCountMap: Map<CapacityMeshNodeId, number>;
4364
- nodeMemoryPfMap: Map<CapacityMeshNodeId, number>;
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, nodeMemoryPfMap, rippingEnabled, weights, forceCenterFirst, MIN_ALLOWED_BOARD_SCORE, }: HgPortPointPathingSolverParams);
4374
+ constructor({ inputGraph, inputConnections, connectionsWithResults, inputNodes, portPointMap, regionMemoryPfMap, rippingEnabled, weights, forceCenterFirst, }: HgPortPointPathingSolverParams);
4370
4375
  private clampPf;
4371
4376
  private pfToFailureCost;
4372
- private recordNodeMemoryPf;
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 getCenterFirstCandidatesForRegion;
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 getNodeRippingPfThreshold;
4391
+ private getRegionRippingPfThreshold;
4387
4392
  private getPortPointsFromRegionAssignments;
4388
4393
  private getPortPointsFromNewlySolvedRouteInRegion;
4389
- private computeNodePfForRegion;
4390
- private computeNodePfFromAssignments;
4394
+ private computeRegionPf;
4395
+ private computeRegionPfFromAssignments;
4391
4396
  private getDerivedCapacityMeshNode;
4392
- private getCrossingRoutesByNodeForPath;
4393
- private getCandidateRoutesForNodeRipping;
4394
- private getNodeIdsTraversedByRoute;
4395
- private maybeAddRandomRips;
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;