@tscircuit/schematic-trace-solver 0.0.88 → 0.0.90

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.
Files changed (23) hide show
  1. package/dist/index.d.ts +4 -0
  2. package/dist/index.js +112 -29
  3. package/lib/solvers/Example28Solver/reroute.ts +10 -0
  4. package/lib/solvers/SchematicTraceLinesSolver/SchematicTraceSingleLineSolver2/SchematicTraceSingleLineSolver2.ts +116 -5
  5. package/lib/testing/PipelineStageDebugRunner.ts +21 -4
  6. package/package.json +1 -1
  7. package/tests/bug-reports/bug-report-20260706T213649Z/__snapshots__/bug-report-20260706T213649Z.snap.svg +386 -0
  8. package/tests/bug-reports/bug-report-20260706T213649Z/bug-report-20260706T213649Z.json +1471 -0
  9. package/tests/bug-reports/bug-report-20260706T213649Z/bug-report-20260706T213649Z.test.ts +12 -0
  10. package/tests/bug-reports/bug-report-20260706T220324Z/__snapshots__/bug-report-20260706T220324Z.snap.svg +22 -22
  11. package/tests/bug-reports/bug-report-20260707T020342Z/__snapshots__/bug-report-20260707T020342Z.snap.svg +20 -22
  12. package/tests/bug-reports/bug-report-20260707T092615Z/__snapshots__/bug-report-20260707T092615Z.snap.svg +251 -2097
  13. package/tests/bug-reports/bug-report-20260707T134549Z/__snapshots__/bug-report-20260707T134549Z.snap.svg +123 -856
  14. package/tests/bug-reports/bug-report-20260707T134722Z/__snapshots__/bug-report-20260707T134722Z.snap.svg +72 -274
  15. package/tests/bug-reports/bug-report-20260707T140410Z/__snapshots__/bug-report-20260707T140410Z.snap.svg +153 -949
  16. package/tests/bug-reports/bug-report-20260707T141025Z/__snapshots__/bug-report-20260707T141025Z.snap.svg +66 -217
  17. package/tests/bug-reports/bug-report-20260707T141421Z/__snapshots__/bug-report-20260707T141421Z.snap.svg +111 -612
  18. package/tests/bug-reports/bug-report-20260707T141421Z/bug-report-20260707T141421Z.test.ts +11 -0
  19. package/tests/examples/__snapshots__/example03.snap.svg +44 -44
  20. package/tests/examples/__snapshots__/example32.snap.svg +3 -3
  21. package/tests/examples/__snapshots__/example42.snap.svg +1 -1
  22. package/tests/repros/__snapshots__/repro-atmega328p-fault-pullup.snap.svg +87 -283
  23. package/tests/repros/__snapshots__/repro-atmega328p-missing-gnd-netlabel.snap.svg +117 -469
@@ -1,24 +1,22 @@
1
- <svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-4.005,0.54 -2.6500000000000004,1.1" data-type="line" data-label="" points="59.628455897300256,286.0102707395253 144.13503048068222,251.08504434344127" fill="none" stroke="hsl(168, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-4.005,0.54 -2.6500000000000004,-1.1" data-type="line" data-label="" points="59.628455897300256,286.0102707395253 144.13503048068222,388.29129089948583" fill="none" stroke="hsl(128, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.995,-0.54 2.6500000000000004,-1.1" data-type="line" data-label="" points="60.25212065437316,353.3660645034018 474.6773517293351,388.29129089948583" fill="none" stroke="hsl(128, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.995,-0.54 2.6500000000000004,1.1" data-type="line" data-label="" points="60.25212065437316,353.3660645034018 474.6773517293351,251.08504434344127" fill="none" stroke="hsl(168, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-0.04999999999999982,1.1 0.04999999999999982,1.1" data-type="line" data-label="" points="306.287867319644,251.08504434344127 312.52451489037327,251.08504434344127" fill="none" stroke="hsl(104, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-0.04999999999999982,1.1 4,0.55" data-type="line" data-label="" points="306.287867319644,251.08504434344127 558.8720939341806,285.3866059824524" fill="none" stroke="hsl(200, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.04999999999999982,-1.1 -0.04999999999999982,-1.1" data-type="line" data-label="" points="312.52451489037327,388.29129089948583 306.287867319644,388.29129089948583" fill="none" stroke="hsl(96, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.04999999999999982,-1.1 4,-0.55" data-type="line" data-label="" points="312.52451489037327,388.29129089948583 558.8720939341806,353.9897292604747" fill="none" stroke="hsl(216, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-4.005,0.54 -4.005,1.1 -2.6500000000000004,1.1" data-type="line" data-label="" points="59.628455897300256,286.0102707395253 59.628455897300256,251.08504434344127 144.13503048068222,251.08504434344127" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.6500000000000004,-1.1 -2.8500000000000005,-1.1 -2.8500000000000005,1.1 -2.6500000000000004,1.1" data-type="line" data-label="" points="144.13503048068222,388.29129089948583 131.6617353392236,388.29129089948583 131.6617353392236,251.08504434344127 144.13503048068222,251.08504434344127" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.6500000000000004,1.1 2.8500000000000005,1.1 2.8500000000000005,-1.1 2.6500000000000004,-1.1" data-type="line" data-label="" points="474.6773517293351,251.08504434344127 487.1506468707937,251.08504434344127 487.1506468707937,388.29129089948583 474.6773517293351,388.29129089948583" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.995,-0.54 -3.995,-1.56 2.8500000000000005,-1.56 2.8500000000000005,-1.1 2.6500000000000004,-1.1" data-type="line" data-label="" points="60.25212065437316,353.3660645034018 60.25212065437316,416.9798697248406 487.1506468707937,416.9798697248406 487.1506468707937,388.29129089948583 474.6773517293351,388.29129089948583" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.04999999999999982,1.1 -0.04999999999999982,1.1" data-type="line" data-label="" points="312.52451489037327,251.08504434344127 306.287867319644,251.08504434344127" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-0.04999999999999982,-1.1 0.04999999999999982,-1.1" data-type="line" data-label="" points="306.287867319644,388.29129089948583 312.52451489037327,388.29129089948583" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-4" data-y="0" x="39.999999999999986" y="286.0102707395253" width="39.88057655167344" height="67.35579376387648" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-1.35" data-y="1.1" x="144.1350304806822" y="238.61174920198266" width="162.1528368389618" height="24.946590282917214" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="1.35" data-y="-1.1" x="312.5245148903733" y="375.8179957580272" width="162.15283683896183" height="24.946590282917214" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="1.35" data-y="1.1" x="312.5245148903733" y="238.61174920198266" width="162.15283683896183" height="24.946590282917214" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="-1.35" data-y="-1.1" x="144.1350304806822" y="375.8179957580272" width="162.1528368389618" height="24.946590282917214" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="4.2498638375" data-y="0" x="548.9104417715107" y="285.3866059824524" width="51.089558228489295" height="68.60312327802228" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="D1" data-x="-2.13" data-y="1.415" x="165.33963222116185" y="223.64379503223233" width="22.451931254625492" height="15.591618926823259" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="D2" data-x="0.57" data-y="-0.7850000000000001" x="333.7291166308529" y="360.85004158827695" width="22.451931254625492" height="15.59161892682323" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="D3" data-x="0.57" data-y="1.415" x="333.7291166308529" y="223.64379503223233" width="22.451931254625492" height="15.591618926823259" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="D4" data-x="-2.13" data-y="-0.7850000000000001" x="165.33963222116185" y="360.85004158827695" width="22.451931254625492" height="15.59161892682323" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="netId: .V1 &gt; .pin1 to .D4 &gt; .CATHODE
2
- globalConnNetId: connectivity_net0" data-x="-3.78" data-y="0.8200000000000001" x="59.628455897300256" y="262.31100997075407" width="28.064914068281837" height="12.47329514145855" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="netId: .V1 &gt; .pin2 to .D3 &gt; .ANODE
3
- globalConnNetId: connectivity_net1" data-x="2.8500000000000005" data-y="1.3250000000000002" x="480.9139993000644" y="223.02013027515943" width="12.473295141458607" height="28.064914068281865" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="netId: .D1 &gt; .CATHODE to .R1 &gt; .pin1
4
- globalConnNetId: connectivity_net2" data-x="4" data-y="0.776" x="552.6354463634514" y="257.2593254384633" width="12.473295141458607" height="28.064914068281837" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="netId: .D2 &gt; .ANODE to .R1 &gt; .pin2
5
- globalConnNetId: connectivity_net3" data-x="4" data-y="-0.776" x="552.6354463634514" y="354.05209573618197" width="12.473295141458607" height="28.064914068281837" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.016034255401785713"/></g><g><circle data-type="point" data-label="V1.1
6
- y+" data-x="-4.005" data-y="0.54" cx="59.628455897300256" cy="286.0102707395253" r="3" fill="hsl(230, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="V1.2
7
- y-" data-x="-3.995" data-y="-0.54" cx="60.25212065437316" cy="353.3660645034018" r="3" fill="hsl(231, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D1.1
8
- x-" data-x="-2.6500000000000004" data-y="1.1" cx="144.13503048068222" cy="251.08504434344127" r="3" fill="hsl(32, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D1.2
9
- x+" data-x="-0.04999999999999982" data-y="1.1" cx="306.287867319644" cy="251.08504434344127" r="3" fill="hsl(33, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D2.1
10
- x-" data-x="0.04999999999999982" data-y="-1.1" cx="312.52451489037327" cy="388.29129089948583" r="3" fill="hsl(273, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D2.2
11
- x+" data-x="2.6500000000000004" data-y="-1.1" cx="474.6773517293351" cy="388.29129089948583" r="3" fill="hsl(274, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D3.1
12
- x+" data-x="2.6500000000000004" data-y="1.1" cx="474.6773517293351" cy="251.08504434344127" r="3" fill="hsl(154, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D3.2
13
- x-" data-x="0.04999999999999982" data-y="1.1" cx="312.52451489037327" cy="251.08504434344127" r="3" fill="hsl(155, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D4.1
14
- x+" data-x="-0.04999999999999982" data-y="-1.1" cx="306.287867319644" cy="388.29129089948583" r="3" fill="hsl(35, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D4.2
15
- x-" data-x="-2.6500000000000004" data-y="-1.1" cx="144.13503048068222" cy="388.29129089948583" r="3" fill="hsl(36, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R1.1
16
- y+" data-x="4" data-y="0.55" cx="558.8720939341806" cy="285.3866059824524" r="3" fill="hsl(226, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R1.2
17
- y-" data-x="4" data-y="-0.55" cx="558.8720939341806" cy="353.9897292604747" r="3" fill="hsl(227, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
18
- orientation: x+" data-x="-4.005" data-y="0.8200000000000001" cx="59.628455897300256" cy="268.5476575414833" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
19
- orientation: y+" data-x="2.8500000000000005" data-y="1.1" cx="487.1506468707937" cy="251.08504434344127" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
20
- orientation: y+" data-x="4" data-y="0.55" cx="558.8720939341806" cy="285.3866059824524" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
21
- orientation: y-" data-x="4" data-y="-0.55" cx="558.8720939341806" cy="353.9897292604747" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g id="crosshair" style="display: none"><line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5"/><line id="crosshair-v" x1="0" x2="640" stroke="#666" stroke-width="0.5"/><text id="coordinates" font-family="monospace" font-size="12" fill="#666"></text></g><script><![CDATA[
1
+ <svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-4.005,0.54 -2.6500000000000004,1.1" data-type="line" data-label="" points="59.628455897300256,302.8492191804944 144.13503048068222,267.92399278441036" fill="none" stroke="hsl(168, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-4.005,0.54 -2.6500000000000004,-1.1" data-type="line" data-label="" points="59.628455897300256,302.8492191804944 144.13503048068222,405.1302393404549" fill="none" stroke="hsl(128, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.995,-0.54 2.6500000000000004,-1.1" data-type="line" data-label="" points="60.25212065437316,370.2050129443709 474.6773517293351,405.1302393404549" fill="none" stroke="hsl(128, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.995,-0.54 2.6500000000000004,1.1" data-type="line" data-label="" points="60.25212065437316,370.2050129443709 474.6773517293351,267.92399278441036" fill="none" stroke="hsl(168, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-0.04999999999999982,1.1 0.04999999999999982,1.1" data-type="line" data-label="" points="306.287867319644,267.92399278441036 312.52451489037327,267.92399278441036" fill="none" stroke="hsl(104, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-0.04999999999999982,1.1 4,0.55" data-type="line" data-label="" points="306.287867319644,267.92399278441036 558.8720939341806,302.2255544234215" fill="none" stroke="hsl(200, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.04999999999999982,-1.1 -0.04999999999999982,-1.1" data-type="line" data-label="" points="312.52451489037327,405.1302393404549 306.287867319644,405.1302393404549" fill="none" stroke="hsl(96, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.04999999999999982,-1.1 4,-0.55" data-type="line" data-label="" points="312.52451489037327,405.1302393404549 558.8720939341806,370.8286777014438" fill="none" stroke="hsl(216, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-4.005,0.54 -4.005,1.1 -2.6500000000000004,1.1" data-type="line" data-label="" points="59.628455897300256,302.8492191804944 59.628455897300256,267.92399278441036 144.13503048068222,267.92399278441036" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.6500000000000004,-1.1 -2.8500000000000005,-1.1 -2.8500000000000005,1.1 -2.6500000000000004,1.1" data-type="line" data-label="" points="144.13503048068222,405.1302393404549 131.6617353392236,405.1302393404549 131.6617353392236,267.92399278441036 144.13503048068222,267.92399278441036" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.6500000000000004,1.1 2.8500000000000005,1.1 2.8500000000000005,-1.1 2.6500000000000004,-1.1" data-type="line" data-label="" points="474.6773517293351,267.92399278441036 487.1506468707937,267.92399278441036 487.1506468707937,405.1302393404549 474.6773517293351,405.1302393404549" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.995,-0.54 -3.995,-1.6600000000000001 2.8500000000000005,-1.6600000000000001 2.8500000000000005,-1.1 2.6500000000000004,-1.1" data-type="line" data-label="" points="60.25212065437316,370.2050129443709 60.25212065437316,440.055465736539 487.1506468707937,440.055465736539 487.1506468707937,405.1302393404549 474.6773517293351,405.1302393404549" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.04999999999999982,1.1 -0.04999999999999982,1.1" data-type="line" data-label="" points="312.52451489037327,267.92399278441036 306.287867319644,267.92399278441036" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="4,0.55 4,2.19 0,2.19 0,1.1 0.04999999999999982,1.1" data-type="line" data-label="" points="558.8720939341806,302.2255544234215 558.8720939341806,199.944534263461 309.40619110500865,199.944534263461 309.40619110500865,267.92399278441036 312.52451489037327,267.92399278441036" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-0.04999999999999982,-1.1 0.04999999999999982,-1.1" data-type="line" data-label="" points="306.287867319644,405.1302393404549 312.52451489037327,405.1302393404549" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="4,-0.55 4,-1.46 0,-1.46 0,-1.1 0.04999999999999982,-1.1" data-type="line" data-label="" points="558.8720939341806,370.8286777014438 558.8720939341806,427.5821705950804 309.40619110500865,427.5821705950804 309.40619110500865,405.1302393404549 312.52451489037327,405.1302393404549" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-4" data-y="0" x="39.999999999999986" y="302.8492191804944" width="39.88057655167344" height="67.35579376387648" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-1.35" data-y="1.1" x="144.1350304806822" y="255.45069764295175" width="162.1528368389618" height="24.946590282917214" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="1.35" data-y="-1.1" x="312.5245148903733" y="392.6569441989963" width="162.15283683896183" height="24.946590282917214" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="1.35" data-y="1.1" x="312.5245148903733" y="255.45069764295175" width="162.15283683896183" height="24.946590282917214" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="-1.35" data-y="-1.1" x="144.1350304806822" y="392.6569441989963" width="162.1528368389618" height="24.946590282917214" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="4.2498638375" data-y="0" x="548.9104417715107" y="302.2255544234215" width="51.089558228489295" height="68.60312327802228" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="D1" data-x="-2.13" data-y="1.415" x="165.33963222116185" y="240.48274347320142" width="22.451931254625492" height="15.591618926823287" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="D2" data-x="0.57" data-y="-0.7850000000000001" x="333.7291166308529" y="377.68899002924604" width="22.451931254625492" height="15.59161892682323" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="D3" data-x="0.57" data-y="1.415" x="333.7291166308529" y="240.48274347320142" width="22.451931254625492" height="15.591618926823287" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="D4" data-x="-2.13" data-y="-0.7850000000000001" x="165.33963222116185" y="377.68899002924604" width="22.451931254625492" height="15.59161892682323" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="netId: .V1 &gt; .pin1 to .D4 &gt; .CATHODE
2
+ globalConnNetId: connectivity_net0" data-x="-3.78" data-y="0.8200000000000001" x="59.628455897300256" y="279.1499584117231" width="28.064914068281837" height="12.473295141458607" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="netId: .V1 &gt; .pin2 to .D3 &gt; .ANODE
3
+ globalConnNetId: connectivity_net1" data-x="2.8500000000000005" data-y="1.3250000000000002" x="480.9139993000644" y="239.85907871612852" width="12.473295141458607" height="28.064914068281865" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.016034255401785713"/></g><g><rect data-type="rect" data-label="netId: .D1 &gt; .CATHODE to .D3 &gt; .CATHODE
4
+ globalConnNetId: connectivity_net2" data-x="4.225" data-y="1.37" x="558.8720939341806" y="244.84839677271196" width="28.064914068281723" height="12.473295141458578" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.016034255401785713"/></g><g><circle data-type="point" data-label="V1.1
5
+ y+" data-x="-4.005" data-y="0.54" cx="59.628455897300256" cy="302.8492191804944" r="3" fill="hsl(230, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="V1.2
6
+ y-" data-x="-3.995" data-y="-0.54" cx="60.25212065437316" cy="370.2050129443709" r="3" fill="hsl(231, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D1.1
7
+ x-" data-x="-2.6500000000000004" data-y="1.1" cx="144.13503048068222" cy="267.92399278441036" r="3" fill="hsl(32, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D1.2
8
+ x+" data-x="-0.04999999999999982" data-y="1.1" cx="306.287867319644" cy="267.92399278441036" r="3" fill="hsl(33, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D2.1
9
+ x-" data-x="0.04999999999999982" data-y="-1.1" cx="312.52451489037327" cy="405.1302393404549" r="3" fill="hsl(273, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D2.2
10
+ x+" data-x="2.6500000000000004" data-y="-1.1" cx="474.6773517293351" cy="405.1302393404549" r="3" fill="hsl(274, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D3.1
11
+ x+" data-x="2.6500000000000004" data-y="1.1" cx="474.6773517293351" cy="267.92399278441036" r="3" fill="hsl(154, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D3.2
12
+ x-" data-x="0.04999999999999982" data-y="1.1" cx="312.52451489037327" cy="267.92399278441036" r="3" fill="hsl(155, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D4.1
13
+ x+" data-x="-0.04999999999999982" data-y="-1.1" cx="306.287867319644" cy="405.1302393404549" r="3" fill="hsl(35, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D4.2
14
+ x-" data-x="-2.6500000000000004" data-y="-1.1" cx="144.13503048068222" cy="405.1302393404549" r="3" fill="hsl(36, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R1.1
15
+ y+" data-x="4" data-y="0.55" cx="558.8720939341806" cy="302.2255544234215" r="3" fill="hsl(226, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R1.2
16
+ y-" data-x="4" data-y="-0.55" cx="558.8720939341806" cy="370.8286777014438" r="3" fill="hsl(227, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
17
+ orientation: x+" data-x="-4.005" data-y="0.8200000000000001" cx="59.628455897300256" cy="285.3866059824524" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
18
+ orientation: y+" data-x="2.8500000000000005" data-y="1.1" cx="487.1506468707937" cy="267.92399278441036" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
19
+ orientation: x+" data-x="4" data-y="1.37" cx="558.8720939341806" cy="251.08504434344124" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g id="crosshair" style="display: none"><line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5"/><line id="crosshair-v" x1="0" x2="640" stroke="#666" stroke-width="0.5"/><text id="coordinates" font-family="monospace" font-size="12" fill="#666"></text></g><script><![CDATA[
22
20
  document.currentScript.parentElement.addEventListener('mousemove', (e) => {
23
21
  const svg = e.currentTarget;
24
22
  const rect = svg.getBoundingClientRect();
@@ -40,7 +38,7 @@ orientation: y-" data-x="4" data-y="-0.55" cx="558.8720939341806" cy="353.989729
40
38
  v.setAttribute('y2', '640');
41
39
 
42
40
  // Calculate real coordinates using inverse transformation
43
- const matrix = {"a":62.366475707292985,"c":0,"e":309.40619110500865,"b":0,"d":-62.366475707292985,"f":319.68816762146355};
41
+ const matrix = {"a":62.366475707292985,"c":0,"e":309.40619110500865,"b":0,"d":-62.366475707292985,"f":336.52711606243264};
44
42
  // Manually invert and apply the affine transform
45
43
  // Since we only use translate and scale, we can directly compute:
46
44
  // x' = (x - tx) / sx