diff --git a/lib/solvers/LongDistancePairSolver/LongDistancePairSolver.ts b/lib/solvers/LongDistancePairSolver/LongDistancePairSolver.ts index 89c8c18ac..08e7e8513 100644 --- a/lib/solvers/LongDistancePairSolver/LongDistancePairSolver.ts +++ b/lib/solvers/LongDistancePairSolver/LongDistancePairSolver.ts @@ -313,6 +313,14 @@ export class LongDistancePairSolver extends BaseSolver { connection.pinIds.includes(p1.pinId) && connection.pinIds.includes(p2.pinId), ) + const availableNetLabelOrientations = inputNetConnection + ? this.inputProblem.availableNetLabelOrientations[ + inputNetConnection.netId + ] + : undefined + const usesDownwardOnlyNetLabels = + availableNetLabelOrientations?.length === 1 && + availableNetLabelOrientations[0] === "y-" const sourceChip = this.chipMap[p1.chipId] const targetRailTrace = sameNetTraces.find( (trace) => @@ -321,6 +329,7 @@ export class LongDistancePairSolver extends BaseSolver { ) const canJoinThreePinNet = inputNetConnection !== undefined && + !usesDownwardOnlyNetLabels && sourceChip?.pins.length === 2 && targetRailTrace !== undefined const junctionTracePath = canJoinThreePinNet diff --git a/tests/repros/__snapshots__/repro-core-usbc-flashlight-long-ground-trace.snap.svg b/tests/repros/__snapshots__/repro-core-usbc-flashlight-long-ground-trace.snap.svg index 05b0cf392..2c7467602 100644 --- a/tests/repros/__snapshots__/repro-core-usbc-flashlight-long-ground-trace.snap.svg +++ b/tests/repros/__snapshots__/repro-core-usbc-flashlight-long-ground-trace.snap.svg @@ -1,33 +1,35 @@ -