@tscircuit/schematic-trace-solver 0.0.177 → 0.0.178
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 +4 -1
- package/dist/index.js +286 -120
- package/lib/solvers/AvailableNetOrientationSolver/AvailableNetOrientationSolver.ts +1 -0
- package/lib/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver.ts +6 -1
- package/lib/solvers/TraceCleanupSolver/TraceCleanupSolver.ts +25 -0
- package/lib/solvers/TraceCleanupSolver/rerouteGeneratedNetLabelConnectorCrossings.ts +194 -0
- package/lib/solvers/TraceCleanupSolver/sub-solver/findIntersectionsWithObstacles.ts +19 -5
- package/lib/solvers/TraceCleanupSolver/sub-solver/generateLShapeRerouteCandidates.ts +35 -5
- package/package.json +1 -1
- package/tests/repros/__snapshots__/repro-wireless-mouse-charger-section.snap.svg +2 -2
- package/tests/solvers/TraceCleanupSolver/alignSameNetRails-pipeline-label-connector.test.ts +4 -2
- package/tests/solvers/TraceCleanupSolver/reroute-generated-net-label-connector-crossings.test.ts +160 -0
package/dist/index.d.ts
CHANGED
|
@@ -711,7 +711,7 @@ declare class LongDistancePairSolver extends BaseSolver {
|
|
|
711
711
|
};
|
|
712
712
|
}
|
|
713
713
|
|
|
714
|
-
type TraceCleanupOperation = "untangling_traces" | "minimizing_turns" | "balancing_l_shapes" | "aligning_same_net_rails";
|
|
714
|
+
type TraceCleanupOperation = "untangling_traces" | "rerouting_generated_net_label_connector_crossings" | "minimizing_turns" | "balancing_l_shapes" | "aligning_same_net_rails";
|
|
715
715
|
/**
|
|
716
716
|
* Defines the input structure for the TraceCleanupSolver.
|
|
717
717
|
*/
|
|
@@ -723,6 +723,7 @@ interface TraceCleanupSolverInput {
|
|
|
723
723
|
paddingBuffer: number;
|
|
724
724
|
operations?: readonly TraceCleanupOperation[];
|
|
725
725
|
eligibleTraceIds?: ReadonlySet<string>;
|
|
726
|
+
netLabelConnectorTraceIds?: ReadonlySet<string>;
|
|
726
727
|
}
|
|
727
728
|
/**
|
|
728
729
|
* The TraceCleanupSolver is responsible for improving the aesthetics and readability of schematic traces.
|
|
@@ -746,6 +747,7 @@ declare class TraceCleanupSolver extends BaseSolver {
|
|
|
746
747
|
_step(): void;
|
|
747
748
|
private _advancePipeline;
|
|
748
749
|
private _runUntangleTracesStep;
|
|
750
|
+
private _runGeneratedNetLabelConnectorCrossingRerouteStep;
|
|
749
751
|
private _runMinimizeTurnsStep;
|
|
750
752
|
private _runBalanceLShapesStep;
|
|
751
753
|
private _processTrace;
|
|
@@ -863,6 +865,7 @@ declare class AvailableNetOrientationSolver extends BaseSolver {
|
|
|
863
865
|
getOutput(): {
|
|
864
866
|
traces: SolvedTracePath[];
|
|
865
867
|
netLabelPlacements: NetLabelPlacement[];
|
|
868
|
+
netLabelConnectorTraceIds: Set<string>;
|
|
866
869
|
};
|
|
867
870
|
private getProcessableLabelIndices;
|
|
868
871
|
private sortCrowdedTopBankByPin;
|