@tscircuit/schematic-trace-solver 0.0.42 → 0.0.43
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 +28 -29
- package/dist/index.js +917 -926
- package/lib/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver.ts +20 -1
- package/lib/solvers/TraceCleanupSolver/TraceCleanupSolver.ts +133 -0
- package/lib/solvers/TraceCleanupSolver/balanceZShapes.ts +200 -0
- package/lib/solvers/TraceCleanupSolver/minimizeTurnsWithFilteredLabels.ts +76 -0
- package/lib/solvers/TraceLabelOverlapAvoidanceSolver/TraceLabelOverlapAvoidanceSolver.ts +1 -21
- package/lib/solvers/TraceLabelOverlapAvoidanceSolver/rerouteCollidingTrace.ts +1 -1
- package/lib/solvers/TraceLabelOverlapAvoidanceSolver/sub-solvers/SingleOverlapSolver/SingleOverlapSolver.ts +1 -1
- package/package.json +1 -1
- package/site/examples/example26.page.tsx +4 -0
- package/tests/assets/example26.json +1206 -0
- package/tests/examples/__snapshots__/example02.snap.svg +1 -1
- package/tests/examples/__snapshots__/example09.snap.svg +34 -34
- package/tests/examples/__snapshots__/example11.snap.svg +13 -13
- package/tests/examples/__snapshots__/example12.snap.svg +3 -3
- package/tests/examples/__snapshots__/example13.snap.svg +12 -12
- package/tests/examples/__snapshots__/example16.snap.svg +4 -4
- package/tests/examples/__snapshots__/example19.snap.svg +9 -9
- package/tests/examples/__snapshots__/example25.snap.svg +3 -3
- package/tests/examples/__snapshots__/example26.snap.svg +3 -3
- package/tests/examples/__snapshots__/example28.snap.svg +3 -3
- package/tests/examples/__snapshots__/example29.snap.svg +1208 -0
- package/tests/examples/example29.test.ts +13 -0
- package/tests/solvers/{TraceLabelOverlapAvoidanceSolver/sub-solver → TraceCleanupSolver}/TraceCleanupSolver.test.ts +2 -2
- package/tests/solvers/{TraceLabelOverlapAvoidanceSolver/sub-solver → TraceCleanupSolver}/__snapshots__/TraceCleanupSolver.snap.svg +1 -1
- package/tests/solvers/TraceLabelOverlapAvoidanceSolver/renderComparisonView/__snapshots__/renderComparisonView03.snap.svg +1 -1
- package/tests/solvers/TraceLabelOverlapAvoidanceSolver/renderComparisonView/renderComparisonView03.test.ts +1 -1
- package/lib/solvers/TraceLabelOverlapAvoidanceSolver/sub-solvers/TraceCleanupSolver/TraceCleanupSolver.ts +0 -132
- package/lib/solvers/TraceLabelOverlapAvoidanceSolver/sub-solvers/TraceCleanupSolver/balanceLShapes.ts +0 -209
- package/lib/solvers/TraceLabelOverlapAvoidanceSolver/sub-solvers/TraceCleanupSolver/minimizeTurnsWithFilteredLabels.ts +0 -66
- /package/lib/solvers/{TraceLabelOverlapAvoidanceSolver/sub-solvers/TraceCleanupSolver → TraceCleanupSolver}/countTurns.ts +0 -0
- /package/lib/solvers/{TraceLabelOverlapAvoidanceSolver/sub-solvers/TraceCleanupSolver → TraceCleanupSolver}/hasCollisions.ts +0 -0
- /package/lib/solvers/{TraceLabelOverlapAvoidanceSolver/sub-solvers/TraceCleanupSolver → TraceCleanupSolver}/hasCollisionsWithLabels.ts +0 -0
- /package/lib/solvers/{TraceLabelOverlapAvoidanceSolver/sub-solvers/TraceCleanupSolver → TraceCleanupSolver}/simplifyPath.ts +0 -0
- /package/lib/solvers/{TraceLabelOverlapAvoidanceSolver/sub-solvers/TraceCleanupSolver → TraceCleanupSolver}/tryConnectPoints.ts +0 -0
- /package/lib/solvers/{TraceLabelOverlapAvoidanceSolver/sub-solvers/TraceCleanupSolver → TraceCleanupSolver}/turnMinimization.ts +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -406,33 +406,6 @@ declare class MergedNetLabelObstacleSolver extends BaseSolver {
|
|
|
406
406
|
visualize(): GraphicsObject;
|
|
407
407
|
}
|
|
408
408
|
|
|
409
|
-
interface TraceCleanupSolverInput {
|
|
410
|
-
inputProblem: InputProblem;
|
|
411
|
-
allTraces: SolvedTracePath[];
|
|
412
|
-
targetTraceIds: Set<string>;
|
|
413
|
-
allLabelPlacements: NetLabelPlacement[];
|
|
414
|
-
mergedLabelNetIdMap: Record<string, Set<string>>;
|
|
415
|
-
paddingBuffer: number;
|
|
416
|
-
}
|
|
417
|
-
/**
|
|
418
|
-
* Cleans up traces by minimizing turns and balancing L-shapes to improve
|
|
419
|
-
* the overall aesthetics and readability of the schematic.
|
|
420
|
-
*/
|
|
421
|
-
declare class TraceCleanupSolver extends BaseSolver {
|
|
422
|
-
private input;
|
|
423
|
-
private outputTraces;
|
|
424
|
-
private pipelineStepIndex;
|
|
425
|
-
private tracesToProcess;
|
|
426
|
-
private minimizedTraces;
|
|
427
|
-
private balancedTraces;
|
|
428
|
-
constructor(solverInput: TraceCleanupSolverInput);
|
|
429
|
-
_step(): void;
|
|
430
|
-
getOutput(): {
|
|
431
|
-
traces: SolvedTracePath[];
|
|
432
|
-
};
|
|
433
|
-
visualize(): GraphicsObject;
|
|
434
|
-
}
|
|
435
|
-
|
|
436
409
|
interface SingleOverlapSolverInput {
|
|
437
410
|
trace: SolvedTracePath;
|
|
438
411
|
label: NetLabelPlacement;
|
|
@@ -502,7 +475,6 @@ declare class TraceLabelOverlapAvoidanceSolver extends BaseSolver {
|
|
|
502
475
|
netLabelPlacements: NetLabelPlacement[];
|
|
503
476
|
labelMergingSolver?: MergedNetLabelObstacleSolver;
|
|
504
477
|
overlapAvoidanceSolver?: OverlapAvoidanceStepSolver;
|
|
505
|
-
traceCleanupSolver?: TraceCleanupSolver;
|
|
506
478
|
pipelineStepIndex: number;
|
|
507
479
|
constructor(solverInput: TraceLabelOverlapAvoidanceSolverInput);
|
|
508
480
|
_step(): void;
|
|
@@ -542,6 +514,33 @@ declare class LongDistancePairSolver extends BaseSolver {
|
|
|
542
514
|
};
|
|
543
515
|
}
|
|
544
516
|
|
|
517
|
+
interface TraceCleanupSolverInput {
|
|
518
|
+
inputProblem: InputProblem;
|
|
519
|
+
allTraces: SolvedTracePath[];
|
|
520
|
+
targetTraceIds: Set<string>;
|
|
521
|
+
allLabelPlacements: NetLabelPlacement[];
|
|
522
|
+
mergedLabelNetIdMap: Record<string, Set<string>>;
|
|
523
|
+
paddingBuffer: number;
|
|
524
|
+
}
|
|
525
|
+
/**
|
|
526
|
+
* Cleans up traces by minimizing turns and balancing L-shapes to improve
|
|
527
|
+
* the overall aesthetics and readability of the schematic.
|
|
528
|
+
*/
|
|
529
|
+
declare class TraceCleanupSolver extends BaseSolver {
|
|
530
|
+
private input;
|
|
531
|
+
private outputTraces;
|
|
532
|
+
private traceIdQueue;
|
|
533
|
+
private tracesMap;
|
|
534
|
+
private pipelineStep;
|
|
535
|
+
private activeTraceId;
|
|
536
|
+
constructor(solverInput: TraceCleanupSolverInput);
|
|
537
|
+
_step(): void;
|
|
538
|
+
getOutput(): {
|
|
539
|
+
traces: SolvedTracePath[];
|
|
540
|
+
};
|
|
541
|
+
visualize(): GraphicsObject;
|
|
542
|
+
}
|
|
543
|
+
|
|
545
544
|
/**
|
|
546
545
|
* Pipeline solver that runs a series of solvers to find the best schematic layout.
|
|
547
546
|
* Coordinates the entire layout process from chip partitioning through final packing.
|
|
@@ -572,7 +571,7 @@ declare class SchematicTracePipelineSolver extends BaseSolver {
|
|
|
572
571
|
timeSpentOnPhase: Record<string, number>;
|
|
573
572
|
firstIterationOfPhase: Record<string, number>;
|
|
574
573
|
inputProblem: InputProblem;
|
|
575
|
-
pipelineDef: (PipelineStep<typeof MspConnectionPairSolver> | PipelineStep<typeof SchematicTraceLinesSolver> | PipelineStep<typeof LongDistancePairSolver> | PipelineStep<typeof TraceOverlapShiftSolver> | PipelineStep<typeof NetLabelPlacementSolver> | PipelineStep<typeof TraceLabelOverlapAvoidanceSolver>)[];
|
|
574
|
+
pipelineDef: (PipelineStep<typeof MspConnectionPairSolver> | PipelineStep<typeof SchematicTraceLinesSolver> | PipelineStep<typeof LongDistancePairSolver> | PipelineStep<typeof TraceOverlapShiftSolver> | PipelineStep<typeof NetLabelPlacementSolver> | PipelineStep<typeof TraceLabelOverlapAvoidanceSolver> | PipelineStep<typeof TraceCleanupSolver>)[];
|
|
576
575
|
constructor(inputProblem: InputProblem);
|
|
577
576
|
getConstructorParams(): ConstructorParameters<typeof SchematicTracePipelineSolver>[0];
|
|
578
577
|
currentPipelineStepIndex: number;
|