From b32e0bd418cbf7fe81a115f36073c1330153f277 Mon Sep 17 00:00:00 2001 From: irisdigitaldocs-maker Date: Mon, 4 May 2026 13:41:53 -0400 Subject: [PATCH] fix: skip label-only net routing Add the complete repro #79 fix from an Iris-owned branch: skip label-only nets in MSP and long-distance routing, update snapshots, add regression tests, and include demo proof assets.\n\n/claim #79 --- docs/repro79-demo.mp4 | Bin 0 -> 193372 bytes docs/repro79-demo.svg | 42 ++++ .../LongDistancePairSolver.ts | 10 +- .../MspConnectionPairSolver.ts | 11 +- .../examples/__snapshots__/example01.snap.svg | 73 +++--- .../examples/__snapshots__/example03.snap.svg | 155 +++++++----- .../examples/__snapshots__/example10.snap.svg | 64 +++-- .../examples/__snapshots__/example12.snap.svg | 86 ++++--- .../examples/__snapshots__/example13.snap.svg | 226 +++++++++++------- .../examples/__snapshots__/example14.snap.svg | 154 ++++++------ .../examples/__snapshots__/example15.snap.svg | 108 ++++++--- .../examples/__snapshots__/example16.snap.svg | 76 +++--- .../examples/__snapshots__/example20.snap.svg | 62 +++-- .../examples/__snapshots__/example21.snap.svg | 163 +++++++------ .../examples/__snapshots__/example22.snap.svg | 66 ++--- .../examples/__snapshots__/example24.snap.svg | 74 +++--- .../examples/__snapshots__/example26.snap.svg | 74 +++--- .../examples/__snapshots__/example28.snap.svg | 45 ++-- .../examples/__snapshots__/example31.snap.svg | 36 ++- .../MspConnectionPairSolver_repro1.test.ts | 4 +- .../MspConnectionPairSolver_repro79.test.ts | 68 ++++++ ...hematicTracePipelineSolver_repro61.test.ts | 67 ++++++ .../renderComparisonView01.snap.svg | 28 ++- .../renderComparisonView02.snap.svg | 4 +- 24 files changed, 1112 insertions(+), 584 deletions(-) create mode 100644 docs/repro79-demo.mp4 create mode 100644 docs/repro79-demo.svg create mode 100644 tests/solvers/MspConnectionPairSolver/MspConnectionPairSolver_repro79.test.ts create mode 100644 tests/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver_repro61.test.ts diff --git a/docs/repro79-demo.mp4 b/docs/repro79-demo.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..724697df124f67fc2e8bb158c89130a3a70a374d GIT binary patch literal 193372 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
D~+-@8; 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 literal 0 HcmV?d00001 diff --git a/docs/repro79-demo.svg b/docs/repro79-demo.svg new file mode 100644 index 00000000..31a7d4e7 --- /dev/null +++ b/docs/repro79-demo.svg @@ -0,0 +1,42 @@ + + + Issue #79 demo: remove extra net-label traces + Repro61 uses only netConnections for VCC and GND. Those should render as net labels, not physical wire traces. + + + Before + Net-label-only pins still generated traces + + + R1 + R2 + + + + + + + extra VCC trace + extra GND trace + + + After PR #260 + Only directly-wired nets are queued for MSP traces + + + R1 + R2 + + + + + + VCC + + GND + 0 MSP pairs, 0 traces + + + Verification + Targeted repro tests pass, full suite passes: 54 pass, 4 skip, 0 fail. PR body includes /claim #79. + diff --git a/lib/solvers/LongDistancePairSolver/LongDistancePairSolver.ts b/lib/solvers/LongDistancePairSolver/LongDistancePairSolver.ts index 31e0df39..f4e2d62b 100644 --- a/lib/solvers/LongDistancePairSolver/LongDistancePairSolver.ts +++ b/lib/solvers/LongDistancePairSolver/LongDistancePairSolver.ts @@ -55,6 +55,12 @@ export class LongDistancePairSolver extends BaseSolver { primaryConnectedPinIds.add(pair.pins[0].pinId) primaryConnectedPinIds.add(pair.pins[1].pinId) } + const directlyWiredPinIds = new Set() + for (const dc of inputProblem.directConnections) { + for (const pinId of dc.pinIds) { + directlyWiredPinIds.add(pinId) + } + } const { netConnMap } = getConnectivityMapsFromInputProblem(inputProblem) this.netConnMap = netConnMap @@ -73,7 +79,9 @@ export class LongDistancePairSolver extends BaseSolver { const addedPairKeys = new Set() for (const netId of Object.keys(netConnMap.netMap)) { - const allPinIdsInNet = netConnMap.getIdsConnectedToNet(netId) + const allPinIdsInNet = netConnMap + .getIdsConnectedToNet(netId) + .filter((pinId) => directlyWiredPinIds.has(pinId)) if (allPinIdsInNet.length < 2) continue const unconnectedPinIds = allPinIdsInNet.filter( diff --git a/lib/solvers/MspConnectionPairSolver/MspConnectionPairSolver.ts b/lib/solvers/MspConnectionPairSolver/MspConnectionPairSolver.ts index 48b46c90..b4730089 100644 --- a/lib/solvers/MspConnectionPairSolver/MspConnectionPairSolver.ts +++ b/lib/solvers/MspConnectionPairSolver/MspConnectionPairSolver.ts @@ -74,7 +74,16 @@ export class MspConnectionPairSolver extends BaseSolver { } } - this.queuedDcNetIds = Object.keys(netConnMap.netMap) + const directlyWiredPinIds = new Set() + for (const dc of inputProblem.directConnections) { + for (const pid of dc.pinIds) { + directlyWiredPinIds.add(pid) + } + } + this.queuedDcNetIds = Object.keys(netConnMap.netMap).filter((netId) => { + const connectedIds = netConnMap.getIdsConnectedToNet(netId) as string[] + return connectedIds.some((id) => directlyWiredPinIds.has(id)) + }) } override getConstructorParams(): ConstructorParameters< diff --git a/tests/examples/__snapshots__/example01.snap.svg b/tests/examples/__snapshots__/example01.snap.svg index 2614ba80..ae8c10c0 100644 --- a/tests/examples/__snapshots__/example01.snap.svg +++ b/tests/examples/__snapshots__/example01.snap.svg @@ -2,106 +2,121 @@ +x-" data-x="-0.8" data-y="0.2" cx="422.5742574257426" cy="289.44950495049505" r="3" fill="hsl(319, 100%, 50%, 0.8)" /> +x-" data-x="-0.8" data-y="0" cx="422.5742574257426" cy="311.62772277227725" r="3" fill="hsl(320, 100%, 50%, 0.8)" /> +x-" data-x="-0.8" data-y="-0.2" cx="422.5742574257426" cy="333.80594059405945" r="3" fill="hsl(321, 100%, 50%, 0.8)" /> +x+" data-x="0.8" data-y="-0.2" cx="600" cy="333.80594059405945" r="3" fill="hsl(322, 100%, 50%, 0.8)" /> +x+" data-x="0.8" data-y="0" cx="600" cy="311.62772277227725" r="3" fill="hsl(323, 100%, 50%, 0.8)" /> +x+" data-x="0.8" data-y="0.2" cx="600" cy="289.44950495049505" r="3" fill="hsl(324, 100%, 50%, 0.8)" /> +y+" data-x="-2" data-y="0.5" cx="289.50495049504957" cy="256.1821782178218" r="3" fill="hsl(121, 100%, 50%, 0.8)" /> +y-" data-x="-2" data-y="-0.5" cx="289.50495049504957" cy="367.0732673267327" r="3" fill="hsl(122, 100%, 50%, 0.8)" /> +y+" data-x="-4" data-y="0.5" cx="67.72277227722776" cy="256.1821782178218" r="3" fill="hsl(2, 100%, 50%, 0.8)" /> +y-" data-x="-4" data-y="-0.5" cx="67.72277227722776" cy="367.0732673267327" r="3" fill="hsl(3, 100%, 50%, 0.8)" /> +orientation: y+" data-x="-1.1" data-y="0.20000000000000018" cx="389.3069306930693" cy="289.44950495049505" r="3" fill="hsl(40, 100%, 50%, 0.9)" /> +orientation: x-" data-x="-1.275" data-y="0" cx="369.90099009900996" cy="311.62772277227725" r="3" fill="hsl(40, 100%, 50%, 0.9)" /> +orientation: y-" data-x="-0.901" data-y="-0.30100000000000005" cx="411.3742574257426" cy="345.00594059405944" r="3" fill="hsl(40, 100%, 50%, 0.9)" /> - + + + + - + - + - + - + - + - + - + - + - + - + - + +available orientations: y+" data-x="-1.1" data-y="0.42500000000000016" x="378.21782178217825" y="239.54851485148515" width="22.178217821782198" height="49.9009900990099" fill="#ef444466" stroke="#ef4444" stroke-width="0.009017857142857143" /> +available orientations: x+, x-" data-x="-1.5" data-y="0" x="320" y="300.5386138613862" width="49.90099009900996" height="22.17821782178214" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.009017857142857143" /> + + + + + + +available orientations: y-" data-x="-2" data-y="-0.726" x="278.41584158415844" y="367.1841584158416" width="22.178217821782198" height="49.90099009900996" fill="#00000066" stroke="#000000" stroke-width="0.009017857142857143" />