@tscircuit/schematic-trace-solver 0.0.64 → 0.0.66

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
@@ -204,13 +204,17 @@ interface OverlappingTraceSegmentLocator {
204
204
  declare class TraceOverlapIssueSolver extends BaseSolver {
205
205
  overlappingTraceSegments: OverlappingTraceSegmentLocator[];
206
206
  traceNetIslands: Record<ConnNetId$1, Array<SolvedTracePath>>;
207
+ obstacleRects: ReturnType<typeof getObstacleRects>;
207
208
  SHIFT_DISTANCE: number;
208
209
  correctedTraceMap: Record<MspConnectionPairId, SolvedTracePath>;
209
210
  constructor(params: {
211
+ inputProblem: InputProblem;
210
212
  overlappingTraceSegments: OverlappingTraceSegmentLocator[];
211
213
  traceNetIslands: Record<ConnNetId$1, Array<SolvedTracePath>>;
212
214
  });
213
215
  _step(): void;
216
+ private getObstacleAwareOffset;
217
+ private getBlockingCollisions;
214
218
  visualize(): GraphicsObject;
215
219
  }
216
220
 
@@ -380,6 +384,7 @@ declare class NetLabelPlacementSolver extends BaseSolver {
380
384
  queuedOverlappingSameNetTraceGroups: Array<OverlappingSameNetTraceGroup>;
381
385
  activeSubSolver: SingleNetLabelPlacementSolver | null;
382
386
  netLabelPlacements: Array<NetLabelPlacement>;
387
+ failedGroups: Array<OverlappingSameNetTraceGroup>;
383
388
  currentGroup: OverlappingSameNetTraceGroup | null;
384
389
  triedAnyOrientationFallbackForCurrentGroup: boolean;
385
390
  constructor(params: {
@@ -430,6 +435,7 @@ interface SingleOverlapSolverInput {
430
435
  problem: InputProblem;
431
436
  paddingBuffer: number;
432
437
  detourCount: number;
438
+ tracesToAvoidOverlapping?: SolvedTracePath[];
433
439
  }
434
440
  /**
435
441
  * This solver attempts to find a valid rerouting for a single trace that is
@@ -443,6 +449,7 @@ declare class SingleOverlapSolver extends BaseSolver {
443
449
  problem: InputProblem;
444
450
  obstacles: ReturnType<typeof getObstacleRects>;
445
451
  label: NetLabelPlacement;
452
+ tracesToAvoidOverlapping: SolvedTracePath[];
446
453
  _tried: number;
447
454
  constructor(solverInput: SingleOverlapSolverInput);
448
455
  _step(): void;
@@ -456,6 +463,7 @@ interface OverlapCollectionSolverInput {
456
463
  mergedNetLabelPlacements: NetLabelPlacement[];
457
464
  mergedLabelNetIdMap: Record<string, Set<string>>;
458
465
  detourCounts: Map<string, number>;
466
+ tracesToAvoidOverlapping?: SolvedTracePath[];
459
467
  }
460
468
  /**
461
469
  * This is an internal solver that manages the step-by-step process of avoiding
@@ -467,6 +475,7 @@ declare class OverlapAvoidanceStepSolver extends BaseSolver {
467
475
  mergedNetLabelPlacements: NetLabelPlacement[];
468
476
  mergedLabelNetIdMap: Record<string, Set<string>>;
469
477
  allTraces: SolvedTracePath[];
478
+ tracesToAvoidOverlapping: SolvedTracePath[];
470
479
  modifiedTraces: SolvedTracePath[];
471
480
  private readonly PADDING_BUFFER;
472
481
  private detourCounts;
@@ -513,6 +522,7 @@ declare class TraceLabelOverlapAvoidanceSolver extends BaseSolver {
513
522
  private phase;
514
523
  detourCounts: Map<string, number>;
515
524
  labelMergingSolver?: MergedNetLabelObstacleSolver;
525
+ allInputTraces: SolvedTracePath[];
516
526
  constructor(solverInput: TraceLabelOverlapAvoidanceSolverInput);
517
527
  _step(): void;
518
528
  getOutput(): {