@tscircuit/schematic-trace-solver 0.0.129 → 0.0.131

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 (33) hide show
  1. package/dist/index.d.ts +7 -0
  2. package/dist/index.js +219 -13
  3. package/lib/solvers/AvailableNetOrientationSolver/AvailableNetOrientationSolver.ts +290 -12
  4. package/lib/solvers/LongDistancePairSolver/LongDistancePairSolver.ts +23 -2
  5. package/package.json +1 -1
  6. package/site/bug-reports/bug-report-20260811T075142Z.page.tsx +4 -0
  7. package/tests/bug-reports/bug-report-20260706T220324Z/__snapshots__/bug-report-20260706T220324Z.snap.svg +34 -22
  8. package/tests/bug-reports/bug-report-20260707T134549Z/__snapshots__/bug-report-20260707T134549Z.snap.svg +5 -3
  9. package/tests/bug-reports/bug-report-20260721T221026Z/__snapshots__/bug-report-20260721T221026Z.snap.svg +305 -303
  10. package/tests/bug-reports/bug-report-20260804T095800Z/__snapshots__/bug-report-20260804T095800Z.snap.svg +5 -3
  11. package/tests/bug-reports/bug-report-20260811T075142Z/__snapshots__/bug-report-20260811T075142Z.snap.svg +74 -0
  12. package/tests/bug-reports/bug-report-20260811T075142Z/bug-report-20260811T075142Z.json +194 -0
  13. package/tests/bug-reports/bug-report-20260811T075142Z/bug-report-20260811T075142Z.test.ts +131 -0
  14. package/tests/examples/__snapshots__/example10.snap.svg +20 -16
  15. package/tests/examples/__snapshots__/example31.snap.svg +8 -6
  16. package/tests/examples/__snapshots__/example33.snap.svg +32 -30
  17. package/tests/examples/__snapshots__/example46.snap.svg +5 -3
  18. package/tests/examples/__snapshots__/example48.snap.svg +25 -23
  19. package/tests/examples/__snapshots__/example50.snap.svg +32 -30
  20. package/tests/repros/__snapshots__/repro-atmega328p-fault-pullup.snap.svg +48 -46
  21. package/tests/repros/__snapshots__/repro-board-589-regulator-section.snap.svg +69 -0
  22. package/tests/repros/__snapshots__/repro-bq24074-battery-charger.snap.svg +7 -5
  23. package/tests/repros/__snapshots__/repro-missing-trace-netlabel.snap.svg +24 -18
  24. package/tests/repros/__snapshots__/repro-usb-power-vbus-label-detour.snap.svg +467 -0
  25. package/tests/repros/__snapshots__/repro51-overlap-junction-crossing.snap.svg +25 -23
  26. package/tests/repros/__snapshots__/small-variant-resistor-facing-direction.snap.svg +46 -44
  27. package/tests/repros/assets/repro-board-589-regulator-section.input.json +270 -0
  28. package/tests/repros/assets/repro-usb-power-vbus-label-detour.input.json +2382 -0
  29. package/tests/repros/repro-board-589-regulator-section.test.ts +16 -0
  30. package/tests/repros/repro-max-msp-pair-distance-fallback.test.ts +45 -0
  31. package/tests/repros/repro-missing-trace-netlabel.test.ts +9 -11
  32. package/tests/repros/repro-usb-power-vbus-label-detour.test.ts +16 -0
  33. package/tests/repros/rotated-components-rail-label.test.ts +5 -11
@@ -1,25 +1,27 @@
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="1.2000000000000002,-0.30000000000000004 1.6,2.1049999999999995" data-type="line" data-label="" points="308.80000000000007,488.28000000000003 353.6,218.92000000000007" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2000000000000002,0.09999999999999998 1.6,2.3049999999999997" data-type="line" data-label="" points="308.80000000000007,443.48 353.6,196.52000000000004" fill="none" stroke="hsl(158, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2000000000000002,0.30000000000000004 1.6,2.505" data-type="line" data-label="" points="308.80000000000007,421.08 353.6,174.12" fill="none" stroke="hsl(190, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2000000000000002,-0.30000000000000004 1.4000000000000001,-0.30000000000000004 1.4000000000000001,2.1049999999999995 1.6,2.1049999999999995" data-type="line" data-label="" points="308.80000000000007,488.28000000000003 331.20000000000005,488.28000000000003 331.20000000000005,218.92000000000007 353.6,218.92000000000007" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.4000000000000001,-0.30000000000000004 1.6600000000000001,-0.30000000000000004 1.6600000000000001,-0.30100000000000005" data-type="line" data-label="" points="331.20000000000005,488.28000000000003 360.32000000000005,488.28000000000003 360.32000000000005,488.392" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.2000000000000002,0.30000000000000004 1.611,0.30000000000000004 1.611,0.35100000000000003" data-type="line" data-label="" points="308.80000000000007,421.08 354.832,421.08 354.832,415.368" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.6,2.505 1.3890000000000002,2.505 1.3890000000000002,2.706" data-type="line" data-label="" points="353.6,174.12 329.9680000000001,174.12 329.9680000000001,151.608" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="0" data-y="0" x="40" y="398.68" width="268.80000000000007" height="112" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="2.7" data-y="2.3049999999999997" x="353.6000000000001" y="151.72000000000003" width="246.39999999999998" height="89.6" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="U1" data-x="-0.68" data-y="0.63" x="84.80000000000001" y="374.04" width="26.88000000000001" height="20.159999999999968" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="J1" data-x="2.12" data-y="2.835" x="398.4" y="127.08000000000004" width="26.880000000000052" height="20.159999999999968" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="netId: GND
2
- globalConnNetId: connectivity_net0" data-x="1.6600000000000001" data-y="-0.541" x="336.80000000000007" y="488.39200000000005" width="47.039999999999964" height="53.76000000000005" fill="#00000066" stroke="#000000" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="netId: OUT
3
- globalConnNetId: connectivity_net1" data-x="1.441" data-y="0.09999999999999998" x="308.91200000000003" y="432.28000000000003" width="53.75999999999999" height="22.399999999999977" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="netId: OUT
4
- globalConnNetId: connectivity_net1" data-x="1.3590000000000002" data-y="2.3049999999999997" x="299.72800000000007" y="185.32000000000005" width="53.75999999999999" height="22.400000000000006" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="netId: VCC
5
- globalConnNetId: connectivity_net2" data-x="1.611" data-y="0.591" x="331.312" y="361.608" width="47.04000000000002" height="53.75999999999999" fill="#ef444466" stroke="#ef4444" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="netId: VCC
6
- globalConnNetId: connectivity_net2" data-x="1.3890000000000002" data-y="2.9459999999999997" x="306.4480000000001" y="97.84799999999998" width="47.039999999999964" height="53.76000000000005" fill="#ef444466" stroke="#ef4444" stroke-width="0.008928571428571428"/></g><g><circle data-type="point" data-label="U1.1
7
- x+" data-x="1.2000000000000002" data-y="-0.30000000000000004" cx="308.80000000000007" cy="488.28000000000003" r="3" fill="hsl(319, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.2
8
- x-" data-x="-1.2000000000000002" data-y="-0.30000000000000004" cx="40" cy="488.28000000000003" r="3" fill="hsl(320, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.3
9
- x+" data-x="1.2000000000000002" data-y="0.09999999999999998" cx="308.80000000000007" cy="443.48" r="3" fill="hsl(321, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.4
10
- x-" data-x="-1.2000000000000002" data-y="0.30000000000000004" cx="40" cy="421.08" r="3" fill="hsl(322, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.5
11
- x-" data-x="-1.2000000000000002" data-y="0.10000000000000003" cx="40" cy="443.48" r="3" fill="hsl(323, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.6
12
- x-" data-x="-1.2000000000000002" data-y="-0.09999999999999998" cx="40" cy="465.88" r="3" fill="hsl(324, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.7
13
- x+" data-x="1.2000000000000002" data-y="-0.10000000000000003" cx="308.80000000000007" cy="465.88" r="3" fill="hsl(325, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.8
14
- x+" data-x="1.2000000000000002" data-y="0.30000000000000004" cx="308.80000000000007" cy="421.08" r="3" fill="hsl(326, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="J1.1
15
- x-" data-x="1.6" data-y="2.505" cx="353.6" cy="174.12" r="3" fill="hsl(218, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="J1.2
16
- x-" data-x="1.6" data-y="2.3049999999999997" cx="353.6" cy="196.52000000000004" r="3" fill="hsl(219, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="J1.3
17
- x-" data-x="1.6" data-y="2.1049999999999995" cx="353.6" cy="218.92000000000007" r="3" fill="hsl(220, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
18
- orientation: y-" data-x="1.6600000000000001" data-y="-0.30100000000000005" cx="360.32000000000005" cy="488.392" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
19
- orientation: x+" data-x="1.2000000000000002" data-y="0.09999999999999998" cx="308.80000000000007" cy="443.48" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
20
- orientation: x-" data-x="1.6" data-y="2.3049999999999997" cx="353.6" cy="196.52000000000004" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
21
- orientation: y+" data-x="1.611" data-y="0.35100000000000003" cx="354.832" cy="415.368" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
22
- orientation: y+" data-x="1.3890000000000002" data-y="2.706" cx="329.9680000000001" cy="151.608" 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="1.2000000000000002,-0.30000000000000004 1.6,2.1049999999999995" data-type="line" data-label="" points="308.80000000000007,477.08 353.6,207.72000000000003" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2000000000000002,0.09999999999999998 1.6,2.3049999999999997" data-type="line" data-label="" points="308.80000000000007,432.28 353.6,185.32" fill="none" stroke="hsl(158, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2000000000000002,0.30000000000000004 1.6,2.505" data-type="line" data-label="" points="308.80000000000007,409.87999999999994 353.6,162.91999999999996" fill="none" stroke="hsl(190, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2000000000000002,-0.30000000000000004 1.411,-0.30000000000000004 1.411,-0.5010000000000001" data-type="line" data-label="" points="308.80000000000007,477.08 332.432,477.08 332.432,499.592" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.6,2.1049999999999995 1.3890000000000002,2.1049999999999995 1.3890000000000002,1.9039999999999997" data-type="line" data-label="" points="353.6,207.72000000000003 329.9680000000001,207.72000000000003 329.9680000000001,230.232" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.2000000000000002,0.30000000000000004 1.411,0.30000000000000004 1.411,0.5010000000000001" data-type="line" data-label="" points="308.80000000000007,409.87999999999994 332.432,409.87999999999994 332.432,387.36799999999994" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.6,2.505 1.3890000000000002,2.505 1.3890000000000002,2.706" data-type="line" data-label="" points="353.6,162.91999999999996 329.9680000000001,162.91999999999996 329.9680000000001,140.40799999999996" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="0" data-y="0" x="40" y="387.47999999999996" width="268.80000000000007" height="112" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="2.7" data-y="2.3049999999999997" x="353.6000000000001" y="140.51999999999998" width="246.39999999999998" height="89.6" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="U1" data-x="-0.68" data-y="0.63" x="84.80000000000001" y="362.84" width="26.88000000000001" height="20.159999999999968" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="J1" data-x="2.12" data-y="2.835" x="398.4" y="115.88" width="26.880000000000052" height="20.159999999999968" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="netId: GND
2
+ globalConnNetId: connectivity_net0" data-x="1.411" data-y="-0.7410000000000001" x="308.91200000000003" y="499.592" width="47.039999999999964" height="53.75999999999999" fill="#00000066" stroke="#000000" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="netId: GND
3
+ globalConnNetId: connectivity_net0" data-x="1.3890000000000002" data-y="1.6639999999999997" x="306.4480000000001" y="230.23199999999997" width="47.039999999999964" height="53.75999999999996" fill="#00000066" stroke="#000000" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="netId: OUT
4
+ globalConnNetId: connectivity_net1" data-x="1.441" data-y="0.09999999999999998" x="308.91200000000003" y="421.08" width="53.75999999999999" height="22.399999999999977" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="netId: OUT
5
+ globalConnNetId: connectivity_net1" data-x="1.3590000000000002" data-y="2.3049999999999997" x="299.72800000000007" y="174.12" width="53.75999999999999" height="22.400000000000006" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="netId: VCC
6
+ globalConnNetId: connectivity_net2" data-x="1.411" data-y="0.7410000000000001" x="308.91200000000003" y="333.60799999999995" width="47.039999999999964" height="53.75999999999999" fill="#ef444466" stroke="#ef4444" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="netId: VCC
7
+ globalConnNetId: connectivity_net2" data-x="1.3890000000000002" data-y="2.9459999999999997" x="306.4480000000001" y="86.64799999999994" width="47.039999999999964" height="53.76000000000005" fill="#ef444466" stroke="#ef4444" stroke-width="0.008928571428571428"/></g><g><circle data-type="point" data-label="U1.1
8
+ x+" data-x="1.2000000000000002" data-y="-0.30000000000000004" cx="308.80000000000007" cy="477.08" r="3" fill="hsl(319, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.2
9
+ x-" data-x="-1.2000000000000002" data-y="-0.30000000000000004" cx="40" cy="477.08" r="3" fill="hsl(320, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.3
10
+ x+" data-x="1.2000000000000002" data-y="0.09999999999999998" cx="308.80000000000007" cy="432.28" r="3" fill="hsl(321, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.4
11
+ x-" data-x="-1.2000000000000002" data-y="0.30000000000000004" cx="40" cy="409.87999999999994" r="3" fill="hsl(322, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.5
12
+ x-" data-x="-1.2000000000000002" data-y="0.10000000000000003" cx="40" cy="432.28" r="3" fill="hsl(323, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.6
13
+ x-" data-x="-1.2000000000000002" data-y="-0.09999999999999998" cx="40" cy="454.67999999999995" r="3" fill="hsl(324, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.7
14
+ x+" data-x="1.2000000000000002" data-y="-0.10000000000000003" cx="308.80000000000007" cy="454.67999999999995" r="3" fill="hsl(325, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.8
15
+ x+" data-x="1.2000000000000002" data-y="0.30000000000000004" cx="308.80000000000007" cy="409.87999999999994" r="3" fill="hsl(326, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="J1.1
16
+ x-" data-x="1.6" data-y="2.505" cx="353.6" cy="162.91999999999996" r="3" fill="hsl(218, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="J1.2
17
+ x-" data-x="1.6" data-y="2.3049999999999997" cx="353.6" cy="185.32" r="3" fill="hsl(219, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="J1.3
18
+ x-" data-x="1.6" data-y="2.1049999999999995" cx="353.6" cy="207.72000000000003" r="3" fill="hsl(220, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
19
+ orientation: y-" data-x="1.411" data-y="-0.5010000000000001" cx="332.432" cy="499.592" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
20
+ orientation: y-" data-x="1.3890000000000002" data-y="1.9039999999999997" cx="329.9680000000001" cy="230.232" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
21
+ orientation: x+" data-x="1.2000000000000002" data-y="0.09999999999999998" cx="308.80000000000007" cy="432.28" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
22
+ orientation: x-" data-x="1.6" data-y="2.3049999999999997" cx="353.6" cy="185.32" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
23
+ orientation: y+" data-x="1.411" data-y="0.5010000000000001" cx="332.432" cy="387.36799999999994" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
24
+ orientation: y+" data-x="1.3890000000000002" data-y="2.706" cx="329.9680000000001" cy="140.40799999999996" 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[
23
25
  document.currentScript.parentElement.addEventListener('mousemove', (e) => {
24
26
  const svg = e.currentTarget;
25
27
  const rect = svg.getBoundingClientRect();
@@ -41,7 +43,7 @@ orientation: y+" data-x="1.3890000000000002" data-y="2.706" cx="329.968000000000
41
43
  v.setAttribute('y2', '640');
42
44
 
43
45
  // Calculate real coordinates using inverse transformation
44
- const matrix = {"a":112,"c":0,"e":174.40000000000003,"b":0,"d":-112,"f":454.68};
46
+ const matrix = {"a":112,"c":0,"e":174.40000000000003,"b":0,"d":-112,"f":443.47999999999996};
45
47
  // Manually invert and apply the affine transform
46
48
  // Since we only use translate and scale, we can directly compute:
47
49
  // x' = (x - tx) / sx
@@ -1,46 +1,48 @@
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="8.9,15.1 8.9,14.7" data-type="line" data-label="" points="100.44213263979202,152.50975292587782 100.44213263979202,181.63849154746435" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,15.1 11.1,13.3" data-type="line" data-label="" points="100.44213263979202,152.50975292587782 260.6501950585176,283.5890767230169" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.7 11.1,13.3" data-type="line" data-label="" points="100.44213263979202,181.63849154746435 260.6501950585176,283.5890767230169" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.9 8.9,14.5" data-type="line" data-label="" points="100.44213263979202,167.07412223667097 100.44213263979202,196.2028608582575" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.9 11.1,12.7" data-type="line" data-label="" points="100.44213263979202,167.07412223667097 260.6501950585176,327.2821846553967" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.9 13.16,10" data-type="line" data-label="" points="100.44213263979202,167.07412223667097 410.663198959688,523.9011703511054" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.5 11.1,12.7" data-type="line" data-label="" points="100.44213263979202,196.2028608582575 260.6501950585176,327.2821846553967" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.5 13.16,10" data-type="line" data-label="" points="100.44213263979202,196.2028608582575 410.663198959688,523.9011703511054" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="11.1,12.7 13.16,10" data-type="line" data-label="" points="260.6501950585176,327.2821846553967 410.663198959688,523.9011703511054" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="11.1,15.5 14.84,10" data-type="line" data-label="" points="260.6501950585176,123.38101430429128 533.0039011703514,523.9011703511054" fill="none" stroke="hsl(50, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.7 8.600000000000001,14.7 8.600000000000001,15.1 8.9,15.1" data-type="line" data-label="" points="100.44213263979202,181.63849154746435 78.59557867360218,181.63849154746435 78.59557867360218,152.50975292587782 100.44213263979202,152.50975292587782" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="8.9,14.5 8.8,14.5 8.8,14.9 8.9,14.9" data-type="line" data-label="" points="100.44213263979202,196.2028608582575 93.15994798439544,196.2028608582575 93.15994798439544,167.07412223667097 100.44213263979202,167.07412223667097" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="11.1,12.7 12.129999999999999,12.7 12.129999999999999,10 13.16,10" data-type="line" data-label="" points="260.6501950585176,327.2821846553967 335.6566970091028,327.2821846553967 335.6566970091028,523.9011703511054 410.663198959688,523.9011703511054" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="11.1,15.5 15.04,15.5 15.04,10 14.84,10" data-type="line" data-label="" points="260.6501950585176,123.38101430429128 547.5682704811445,123.38101430429128 547.5682704811445,523.9011703511054 533.0039011703514,523.9011703511054" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="8.600000000000001,14.7 8.31,14.7 8.31,14.699" data-type="line" data-label="" points="78.59557867360218,181.63849154746435 57.477243172951944,181.63849154746435 57.477243172951944,181.71131339401813" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="11.1,13.3 12.341,13.3 12.341,13.249" data-type="line" data-label="" points="260.6501950585176,283.5890767230169 351.0221066319897,283.5890767230169 351.0221066319897,287.3029908972692" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="10" data-y="14" x="100.44213263979202" y="108.81664499349813" width="160.2080624187256" height="247.59427828348498" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.013732142857142852"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="14" data-y="10" x="410.6631989596879" y="499.1417425227569" width="122.34070221066338" height="49.51885565669704" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.013732142857142852"/></g><g><rect data-type="rect" data-label="ATMEGA328P_AU" data-x="10.080000000000002" data-y="12.17" x="129.57087126137844" y="359.3237971391418" width="113.60208062418747" height="13.10793237971393" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.013732142857142852"/></g><g><rect data-type="rect" data-label="U_MCU" data-x="9.600000000000001" data-y="15.815" x="125.2015604681406" y="91.33940182054607" width="52.431729518855605" height="18.20546163849167" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.013732142857142852"/></g><g><rect data-type="rect" data-label="netId: GND
2
- globalConnNetId: connectivity_net0" data-x="8.31" data-y="14.488999999999999" x="40" y="181.71131339401813" width="34.95448634590389" height="30.585175552665987" fill="#00000066" stroke="#000000" stroke-width="0.013732142857142852"/></g><g><rect data-type="rect" data-label="netId: GND
3
- globalConnNetId: connectivity_net0" data-x="12.341" data-y="13.039" x="333.5448634590378" y="287.30299089726924" width="34.954486345903774" height="30.585175552665874" fill="#00000066" stroke="#000000" stroke-width="0.013732142857142852"/></g><g><rect data-type="rect" data-label="netId: VCC_3V3
4
- globalConnNetId: connectivity_net1" data-x="11.614999999999998" data-y="12.91" x="263.1989596879063" y="296.69700910273076" width="69.90897269180766" height="30.585175552665874" fill="#ef444466" stroke="#ef4444" stroke-width="0.013732142857142852"/></g><g><rect data-type="rect" data-label="netId: FAULT
5
- globalConnNetId: connectivity_net2" data-x="15.399999999999999" data-y="15.5" x="547.5682704811444" y="116.09882964889471" width="52.43172951885549" height="14.564369310793154" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.013732142857142852"/></g><g><circle data-type="point" data-label="U_MCU.1
6
- x-" data-x="8.9" data-y="15.5" cx="100.44213263979202" cy="123.38101430429128" r="3" fill="hsl(144, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.2
7
- x-" data-x="8.9" data-y="15.3" cx="100.44213263979202" cy="137.94538361508444" r="3" fill="hsl(145, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.3
8
- x-" data-x="8.9" data-y="15.1" cx="100.44213263979202" cy="152.50975292587782" r="3" fill="hsl(146, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.4
9
- x-" data-x="8.9" data-y="14.9" cx="100.44213263979202" cy="167.07412223667097" r="3" fill="hsl(147, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.5
10
- x-" data-x="8.9" data-y="14.7" cx="100.44213263979202" cy="181.63849154746435" r="3" fill="hsl(148, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.6
11
- x-" data-x="8.9" data-y="14.5" cx="100.44213263979202" cy="196.2028608582575" r="3" fill="hsl(149, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.7
12
- x-" data-x="8.9" data-y="14.3" cx="100.44213263979202" cy="210.76723016905066" r="3" fill="hsl(150, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.8
13
- x-" data-x="8.9" data-y="14.1" cx="100.44213263979202" cy="225.33159947984404" r="3" fill="hsl(151, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.9
14
- x-" data-x="8.9" data-y="13.9" cx="100.44213263979202" cy="239.8959687906372" r="3" fill="hsl(152, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.10
15
- x-" data-x="8.9" data-y="13.700000000000001" cx="100.44213263979202" cy="254.46033810143035" r="3" fill="hsl(192, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.11
16
- x-" data-x="8.9" data-y="13.5" cx="100.44213263979202" cy="269.02470741222373" r="3" fill="hsl(193, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.12
17
- x-" data-x="8.9" data-y="13.3" cx="100.44213263979202" cy="283.5890767230169" r="3" fill="hsl(194, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.13
18
- x-" data-x="8.9" data-y="13.1" cx="100.44213263979202" cy="298.15344603381016" r="3" fill="hsl(195, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.14
19
- x-" data-x="8.9" data-y="12.9" cx="100.44213263979202" cy="312.7178153446034" r="3" fill="hsl(196, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.15
20
- x-" data-x="8.9" data-y="12.7" cx="100.44213263979202" cy="327.2821846553967" r="3" fill="hsl(197, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.16
21
- x-" data-x="8.9" data-y="12.5" cx="100.44213263979202" cy="341.84655396618996" r="3" fill="hsl(198, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.17
22
- x+" data-x="11.1" data-y="12.5" cx="260.6501950585176" cy="341.84655396618996" r="3" fill="hsl(199, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.18
23
- x+" data-x="11.1" data-y="12.7" cx="260.6501950585176" cy="327.2821846553967" r="3" fill="hsl(200, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.19
24
- x+" data-x="11.1" data-y="12.9" cx="260.6501950585176" cy="312.7178153446034" r="3" fill="hsl(201, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.20
25
- x+" data-x="11.1" data-y="13.1" cx="260.6501950585176" cy="298.15344603381016" r="3" fill="hsl(223, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.21
26
- x+" data-x="11.1" data-y="13.3" cx="260.6501950585176" cy="283.5890767230169" r="3" fill="hsl(224, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.22
27
- x+" data-x="11.1" data-y="13.5" cx="260.6501950585176" cy="269.02470741222373" r="3" fill="hsl(225, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.23
28
- x+" data-x="11.1" data-y="13.7" cx="260.6501950585176" cy="254.46033810143047" r="3" fill="hsl(226, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.24
29
- x+" data-x="11.1" data-y="13.9" cx="260.6501950585176" cy="239.8959687906372" r="3" fill="hsl(227, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.25
30
- x+" data-x="11.1" data-y="14.1" cx="260.6501950585176" cy="225.33159947984404" r="3" fill="hsl(228, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.26
31
- x+" data-x="11.1" data-y="14.299999999999999" cx="260.6501950585176" cy="210.7672301690509" r="3" fill="hsl(229, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.27
32
- x+" data-x="11.1" data-y="14.5" cx="260.6501950585176" cy="196.2028608582575" r="3" fill="hsl(230, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.28
33
- x+" data-x="11.1" data-y="14.7" cx="260.6501950585176" cy="181.63849154746435" r="3" fill="hsl(231, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.29
34
- x+" data-x="11.1" data-y="14.9" cx="260.6501950585176" cy="167.07412223667097" r="3" fill="hsl(232, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.30
35
- x+" data-x="11.1" data-y="15.1" cx="260.6501950585176" cy="152.50975292587782" r="3" fill="hsl(254, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.31
36
- x+" data-x="11.1" data-y="15.3" cx="260.6501950585176" cy="137.94538361508444" r="3" fill="hsl(255, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.32
37
- x+" data-x="11.1" data-y="15.5" cx="260.6501950585176" cy="123.38101430429128" r="3" fill="hsl(256, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R_FAULT_PULLUP.1
38
- x-" data-x="13.16" data-y="10" cx="410.663198959688" cy="523.9011703511054" r="3" fill="hsl(344, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R_FAULT_PULLUP.2
39
- x+" data-x="14.84" data-y="10" cx="533.0039011703514" cy="523.9011703511054" r="3" fill="hsl(344, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
40
- orientation: y-" data-x="8.31" data-y="14.699" cx="57.477243172951944" cy="181.71131339401813" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
41
- orientation: y-" data-x="12.341" data-y="13.249" cx="351.0221066319897" cy="287.3029908972692" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
42
- orientation: y+" data-x="11.614999999999998" data-y="12.7" cx="298.15344603381016" cy="327.2821846553967" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
43
- orientation: x+" data-x="15.04" data-y="15.5" cx="547.5682704811445" cy="123.38101430429128" 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="8.9,15.1 8.9,14.7" data-type="line" data-label="" points="102.04779068215191,148.06033907355481 102.04779068215191,177.9628887998931" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,15.1 11.1,13.3" data-type="line" data-label="" points="102.04779068215191,148.06033907355481 266.5118141770124,282.621812842077" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.7 11.1,13.3" data-type="line" data-label="" points="102.04779068215191,177.9628887998931 266.5118141770124,282.621812842077" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.9 8.9,14.5" data-type="line" data-label="" points="102.04779068215191,163.01161393672396 102.04779068215191,192.91416366306225" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.9 11.1,12.7" data-type="line" data-label="" points="102.04779068215191,163.01161393672396 266.5118141770124,327.4756374315846" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.9 13.16,10" data-type="line" data-label="" points="102.04779068215191,163.01161393672396 420.50994526765464,529.3178480843678" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.5 11.1,12.7" data-type="line" data-label="" points="102.04779068215191,192.91416366306225 266.5118141770124,327.4756374315846" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.5 13.16,10" data-type="line" data-label="" points="102.04779068215191,192.91416366306225 420.50994526765464,529.3178480843678" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="11.1,12.7 13.16,10" data-type="line" data-label="" points="266.5118141770124,327.4756374315846 420.50994526765464,529.3178480843678" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="11.1,15.5 14.84,10" data-type="line" data-label="" points="266.5118141770124,118.15778934721652 546.1006541182754,529.3178480843678" fill="none" stroke="hsl(50, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.7 8.600000000000001,14.7 8.600000000000001,15.1 8.9,15.1" data-type="line" data-label="" points="102.04779068215191,177.9628887998931 79.6208783873983,177.9628887998931 79.6208783873983,148.06033907355481 102.04779068215191,148.06033907355481" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="8.9,14.5 8.8,14.5 8.8,14.9 8.9,14.9" data-type="line" data-label="" points="102.04779068215191,192.91416366306225 94.57215325056734,192.91416366306225 94.57215325056734,163.01161393672396 102.04779068215191,163.01161393672396" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="11.1,12.7 12.129999999999999,12.7 12.129999999999999,10 13.16,10" data-type="line" data-label="" points="266.5118141770124,327.4756374315846 343.51087972233347,327.4756374315846 343.51087972233347,529.3178480843678 420.50994526765464,529.3178480843678" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="8.600000000000001,14.7 8.31,14.7 8.31,14.699" data-type="line" data-label="" points="79.6208783873983,177.9628887998931 57.94152983580295,177.9628887998931 57.94152983580295,178.03764517420882" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="11.1,13.3 12.341,13.3 12.341,13.249" data-type="line" data-label="" points="266.5118141770124,282.621812842077 359.2844747029769,282.621812842077 359.2844747029769,286.43438793218513" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="10" data-y="14" x="102.04779068215197" y="103.20651448404743" width="164.4640234948605" height="254.17167267387538" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01337678571428571"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="14" data-y="10" x="420.50994526765453" y="503.90068081698024" width="125.59070885062079" height="50.83433453477517" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01337678571428571"/></g><g><rect data-type="rect" data-label="ATMEGA328P_AU" data-x="10.080000000000002" data-y="12.17" x="131.9503404084902" y="360.3684421305565" width="116.61994393271948" height="13.4561473768523" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.01337678571428571"/></g><g><rect data-type="rect" data-label="U_MCU" data-x="9.600000000000001" data-y="15.815" x="127.46495794953961" y="85.26498464824442" width="53.82458950740886" height="18.68909357896132" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.01337678571428571"/></g><g><rect data-type="rect" data-label="netId: GND
2
+ globalConnNetId: connectivity_net0" data-x="8.31" data-y="14.488999999999999" x="40" y="178.03764517420893" width="35.883059671605906" height="31.39767721265548" fill="#00000066" stroke="#000000" stroke-width="0.01337678571428571"/></g><g><rect data-type="rect" data-label="netId: GND
3
+ globalConnNetId: connectivity_net0" data-x="12.341" data-y="13.039" x="341.34294486717397" y="286.4343879321851" width="35.883059671605906" height="31.397677212655367" fill="#00000066" stroke="#000000" stroke-width="0.01337678571428571"/></g><g><rect data-type="rect" data-label="netId: VCC_3V3
4
+ globalConnNetId: connectivity_net1" data-x="11.614999999999998" data-y="12.91" x="269.1282872780669" y="296.07796021892915" width="71.76611934321193" height="31.397677212655367" fill="#ef444466" stroke="#ef4444" stroke-width="0.01337678571428571"/></g><g><rect data-type="rect" data-label="netId: FAULT
5
+ globalConnNetId: connectivity_net2" data-x="11.460999999999999" data-y="15.5" x="266.58657055132824" y="110.68215191563195" width="53.824589507408746" height="14.951274863169147" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01337678571428571"/></g><g><rect data-type="rect" data-label="netId: FAULT
6
+ globalConnNetId: connectivity_net2" data-x="15.200999999999999" data-y="10" x="546.1754104925911" y="521.8422106527833" width="53.824589507408746" height="14.951274863169033" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01337678571428571"/></g><g><circle data-type="point" data-label="U_MCU.1
7
+ x-" data-x="8.9" data-y="15.5" cx="102.04779068215191" cy="118.15778934721652" r="3" fill="hsl(144, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.2
8
+ x-" data-x="8.9" data-y="15.3" cx="102.04779068215191" cy="133.10906421038567" r="3" fill="hsl(145, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.3
9
+ x-" data-x="8.9" data-y="15.1" cx="102.04779068215191" cy="148.06033907355481" r="3" fill="hsl(146, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.4
10
+ x-" data-x="8.9" data-y="14.9" cx="102.04779068215191" cy="163.01161393672396" r="3" fill="hsl(147, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.5
11
+ x-" data-x="8.9" data-y="14.7" cx="102.04779068215191" cy="177.9628887998931" r="3" fill="hsl(148, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.6
12
+ x-" data-x="8.9" data-y="14.5" cx="102.04779068215191" cy="192.91416366306225" r="3" fill="hsl(149, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.7
13
+ x-" data-x="8.9" data-y="14.3" cx="102.04779068215191" cy="207.8654385262314" r="3" fill="hsl(150, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.8
14
+ x-" data-x="8.9" data-y="14.1" cx="102.04779068215191" cy="222.81671338940055" r="3" fill="hsl(151, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.9
15
+ x-" data-x="8.9" data-y="13.9" cx="102.04779068215191" cy="237.7679882525697" r="3" fill="hsl(152, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.10
16
+ x-" data-x="8.9" data-y="13.700000000000001" cx="102.04779068215191" cy="252.7192631157386" r="3" fill="hsl(192, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.11
17
+ x-" data-x="8.9" data-y="13.5" cx="102.04779068215191" cy="267.6705379789079" r="3" fill="hsl(193, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.12
18
+ x-" data-x="8.9" data-y="13.3" cx="102.04779068215191" cy="282.621812842077" r="3" fill="hsl(194, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.13
19
+ x-" data-x="8.9" data-y="13.1" cx="102.04779068215191" cy="297.5730877052463" r="3" fill="hsl(195, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.14
20
+ x-" data-x="8.9" data-y="12.9" cx="102.04779068215191" cy="312.5243625684153" r="3" fill="hsl(196, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.15
21
+ x-" data-x="8.9" data-y="12.7" cx="102.04779068215191" cy="327.4756374315846" r="3" fill="hsl(197, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.16
22
+ x-" data-x="8.9" data-y="12.5" cx="102.04779068215191" cy="342.4269122947536" r="3" fill="hsl(198, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.17
23
+ x+" data-x="11.1" data-y="12.5" cx="266.5118141770124" cy="342.4269122947536" r="3" fill="hsl(199, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.18
24
+ x+" data-x="11.1" data-y="12.7" cx="266.5118141770124" cy="327.4756374315846" r="3" fill="hsl(200, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.19
25
+ x+" data-x="11.1" data-y="12.9" cx="266.5118141770124" cy="312.5243625684153" r="3" fill="hsl(201, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.20
26
+ x+" data-x="11.1" data-y="13.1" cx="266.5118141770124" cy="297.5730877052463" r="3" fill="hsl(223, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.21
27
+ x+" data-x="11.1" data-y="13.3" cx="266.5118141770124" cy="282.621812842077" r="3" fill="hsl(224, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.22
28
+ x+" data-x="11.1" data-y="13.5" cx="266.5118141770124" cy="267.6705379789079" r="3" fill="hsl(225, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.23
29
+ x+" data-x="11.1" data-y="13.7" cx="266.5118141770124" cy="252.71926311573884" r="3" fill="hsl(226, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.24
30
+ x+" data-x="11.1" data-y="13.9" cx="266.5118141770124" cy="237.7679882525697" r="3" fill="hsl(227, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.25
31
+ x+" data-x="11.1" data-y="14.1" cx="266.5118141770124" cy="222.81671338940055" r="3" fill="hsl(228, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.26
32
+ x+" data-x="11.1" data-y="14.299999999999999" cx="266.5118141770124" cy="207.8654385262314" r="3" fill="hsl(229, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.27
33
+ x+" data-x="11.1" data-y="14.5" cx="266.5118141770124" cy="192.91416366306225" r="3" fill="hsl(230, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.28
34
+ x+" data-x="11.1" data-y="14.7" cx="266.5118141770124" cy="177.9628887998931" r="3" fill="hsl(231, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.29
35
+ x+" data-x="11.1" data-y="14.9" cx="266.5118141770124" cy="163.01161393672396" r="3" fill="hsl(232, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.30
36
+ x+" data-x="11.1" data-y="15.1" cx="266.5118141770124" cy="148.06033907355481" r="3" fill="hsl(254, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.31
37
+ x+" data-x="11.1" data-y="15.3" cx="266.5118141770124" cy="133.10906421038567" r="3" fill="hsl(255, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.32
38
+ x+" data-x="11.1" data-y="15.5" cx="266.5118141770124" cy="118.15778934721652" r="3" fill="hsl(256, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R_FAULT_PULLUP.1
39
+ x-" data-x="13.16" data-y="10" cx="420.50994526765464" cy="529.3178480843678" r="3" fill="hsl(344, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R_FAULT_PULLUP.2
40
+ x+" data-x="14.84" data-y="10" cx="546.1006541182754" cy="529.3178480843678" r="3" fill="hsl(344, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
41
+ orientation: y-" data-x="8.31" data-y="14.699" cx="57.94152983580295" cy="178.03764517420882" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
42
+ orientation: y-" data-x="12.341" data-y="13.249" cx="359.2844747029769" cy="286.43438793218513" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
43
+ orientation: y+" data-x="11.614999999999998" data-y="12.7" cx="305.0113469496729" cy="327.4756374315846" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
44
+ orientation: x+" data-x="11.1" data-y="15.5" cx="266.5118141770124" cy="118.15778934721652" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
45
+ orientation: x+" data-x="14.84" data-y="10" cx="546.1006541182754" cy="529.3178480843678" 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[
44
46
  document.currentScript.parentElement.addEventListener('mousemove', (e) => {
45
47
  const svg = e.currentTarget;
46
48
  const rect = svg.getBoundingClientRect();
@@ -62,7 +64,7 @@ orientation: x+" data-x="15.04" data-y="15.5" cx="547.5682704811445" cy="123.381
62
64
  v.setAttribute('y2', '640');
63
65
 
64
66
  // Calculate real coordinates using inverse transformation
65
- const matrix = {"a":72.82184655396621,"c":0,"e":-547.6723016905073,"b":0,"d":-72.82184655396621,"f":1252.1196358907675};
67
+ const matrix = {"a":74.7563743158457,"c":0,"e":-563.2839407288749,"b":0,"d":-74.7563743158457,"f":1276.881591242825};
66
68
  // Manually invert and apply the affine transform
67
69
  // Since we only use translate and scale, we can directly compute:
68
70
  // x' = (x - tx) / sx
@@ -0,0 +1,270 @@
1
+ {
2
+ "chips": [
3
+ {
4
+ "chipId": "schematic_component_3",
5
+ "center": {
6
+ "x": -5.655000000000001,
7
+ "y": -4.030455349999999
8
+ },
9
+ "width": 2,
10
+ "height": 0.40000000000000036,
11
+ "pins": [
12
+ {
13
+ "pinId": "schematic_port_20",
14
+ "x": -6.655000000000001,
15
+ "y": -4.030455349999999
16
+ },
17
+ {
18
+ "pinId": "schematic_port_21",
19
+ "x": -4.655000000000001,
20
+ "y": -4.030455349999999
21
+ }
22
+ ],
23
+ "sectionId": "five_volt_and_regulator"
24
+ },
25
+ {
26
+ "chipId": "schematic_component_4",
27
+ "center": {
28
+ "x": -0.6750000000000007,
29
+ "y": -5.393455349999998
30
+ },
31
+ "width": 2,
32
+ "height": 0.5999999999999996,
33
+ "pins": [
34
+ {
35
+ "pinId": "schematic_port_22",
36
+ "x": -1.6750000000000007,
37
+ "y": -5.193455349999998
38
+ },
39
+ {
40
+ "pinId": "schematic_port_23",
41
+ "x": -1.6750000000000007,
42
+ "y": -5.393455349999998
43
+ },
44
+ {
45
+ "pinId": "schematic_port_24",
46
+ "x": -1.6750000000000007,
47
+ "y": -5.593455349999998
48
+ },
49
+ {
50
+ "pinId": "schematic_port_25",
51
+ "x": 0.3249999999999993,
52
+ "y": -5.493455349999998
53
+ },
54
+ {
55
+ "pinId": "schematic_port_26",
56
+ "x": 0.3249999999999993,
57
+ "y": -5.293455349999999
58
+ }
59
+ ],
60
+ "sectionId": "five_volt_and_regulator"
61
+ },
62
+ {
63
+ "chipId": "schematic_component_5",
64
+ "center": {
65
+ "x": -4.000000000000001,
66
+ "y": -5.693455349999998
67
+ },
68
+ "width": 0.9200000000000004,
69
+ "height": 0.7599999999999998,
70
+ "pins": [
71
+ {
72
+ "pinId": "schematic_port_27",
73
+ "x": -4.135000000000001,
74
+ "y": -5.313455349999998,
75
+ "_facingDirection": "y+"
76
+ },
77
+ {
78
+ "pinId": "schematic_port_28",
79
+ "x": -4.135000000000001,
80
+ "y": -6.073455349999998,
81
+ "_facingDirection": "y-"
82
+ }
83
+ ],
84
+ "sectionId": "five_volt_and_regulator"
85
+ },
86
+ {
87
+ "chipId": "schematic_component_6",
88
+ "center": {
89
+ "x": -2.7,
90
+ "y": -5.693455349999998
91
+ },
92
+ "width": 1.0400000000000005,
93
+ "height": 0.7599999999999998,
94
+ "pins": [
95
+ {
96
+ "pinId": "schematic_port_29",
97
+ "x": -2.8950000000000005,
98
+ "y": -5.313455349999998,
99
+ "_facingDirection": "y+"
100
+ },
101
+ {
102
+ "pinId": "schematic_port_30",
103
+ "x": -2.8950000000000005,
104
+ "y": -6.073455349999998,
105
+ "_facingDirection": "y-"
106
+ }
107
+ ],
108
+ "sectionId": "five_volt_and_regulator"
109
+ },
110
+ {
111
+ "chipId": "schematic_component_7",
112
+ "center": {
113
+ "x": 1.6799999999999988,
114
+ "y": -5.793455349999999
115
+ },
116
+ "width": 0.9199999999999997,
117
+ "height": 0.7599999999999998,
118
+ "pins": [
119
+ {
120
+ "pinId": "schematic_port_31",
121
+ "x": 1.544999999999999,
122
+ "y": -5.413455349999999,
123
+ "_facingDirection": "y+"
124
+ },
125
+ {
126
+ "pinId": "schematic_port_32",
127
+ "x": 1.544999999999999,
128
+ "y": -6.1734553499999985,
129
+ "_facingDirection": "y-"
130
+ }
131
+ ],
132
+ "sectionId": "five_volt_and_regulator"
133
+ },
134
+ {
135
+ "chipId": "schematic_component_8",
136
+ "center": {
137
+ "x": 2.9799999999999995,
138
+ "y": -5.793455349999999
139
+ },
140
+ "width": 1.0400000000000005,
141
+ "height": 0.7599999999999998,
142
+ "pins": [
143
+ {
144
+ "pinId": "schematic_port_33",
145
+ "x": 2.7849999999999993,
146
+ "y": -5.413455349999999,
147
+ "_facingDirection": "y+"
148
+ },
149
+ {
150
+ "pinId": "schematic_port_34",
151
+ "x": 2.7849999999999993,
152
+ "y": -6.1734553499999985,
153
+ "_facingDirection": "y-"
154
+ }
155
+ ],
156
+ "sectionId": "five_volt_and_regulator"
157
+ }
158
+ ],
159
+ "directConnections": [
160
+ {
161
+ "netId": ".U_REG > .EN to .U_REG > .VIN",
162
+ "pinIds": [
163
+ "schematic_port_24",
164
+ "schematic_port_22"
165
+ ]
166
+ }
167
+ ],
168
+ "netConnections": [
169
+ {
170
+ "netId": "GND",
171
+ "netLabelWidth": 0.42,
172
+ "netLabelHeight": 0.48,
173
+ "pinIds": [
174
+ "schematic_port_23",
175
+ "schematic_port_28",
176
+ "schematic_port_30",
177
+ "schematic_port_32",
178
+ "schematic_port_34"
179
+ ]
180
+ },
181
+ {
182
+ "netId": "VBUS_5V",
183
+ "netLabelWidth": 0.42,
184
+ "netLabelHeight": 0.96,
185
+ "pinIds": [
186
+ "schematic_port_20"
187
+ ]
188
+ },
189
+ {
190
+ "netId": "V5_SYS",
191
+ "netLabelWidth": 0.42,
192
+ "netLabelHeight": 0.84,
193
+ "pinIds": [
194
+ "schematic_port_21",
195
+ "schematic_port_22",
196
+ "schematic_port_24",
197
+ "schematic_port_27",
198
+ "schematic_port_29"
199
+ ]
200
+ },
201
+ {
202
+ "netId": "V3_3",
203
+ "netLabelWidth": 0.42,
204
+ "netLabelHeight": 0.6,
205
+ "pinIds": [
206
+ "schematic_port_26",
207
+ "schematic_port_31",
208
+ "schematic_port_33"
209
+ ]
210
+ }
211
+ ],
212
+ "textBoxes": [
213
+ {
214
+ "chipId": "schematic_component_3",
215
+ "center": {
216
+ "x": -5.295000000000001,
217
+ "y": -4.360455349999999
218
+ },
219
+ "width": 1.92,
220
+ "height": 0.17999999999999972,
221
+ "text": "BSMD1206_200_12V"
222
+ },
223
+ {
224
+ "chipId": "schematic_component_3",
225
+ "center": {
226
+ "x": -5.895000000000001,
227
+ "y": -3.7154553499999983
228
+ },
229
+ "width": 0.839999999999999,
230
+ "height": 0.24999999999999956,
231
+ "text": "2A PTC"
232
+ },
233
+ {
234
+ "chipId": "schematic_component_4",
235
+ "center": {
236
+ "x": -0.3750000000000009,
237
+ "y": -5.823455349999998
238
+ },
239
+ "width": 1.7999999999999998,
240
+ "height": 0.17999999999999972,
241
+ "text": "AP2112K_3_3TRG1"
242
+ },
243
+ {
244
+ "chipId": "schematic_component_4",
245
+ "center": {
246
+ "x": -0.6150000000000009,
247
+ "y": -4.978455349999999
248
+ },
249
+ "width": 1.44,
250
+ "height": 0.2499999999999991,
251
+ "text": "AP2112K-3.3"
252
+ }
253
+ ],
254
+ "availableNetLabelOrientations": {
255
+ "GND": [
256
+ "y-"
257
+ ],
258
+ "VBUS_5V": [
259
+ "y+"
260
+ ],
261
+ "V5_SYS": [
262
+ "y+"
263
+ ],
264
+ "V3_3": [
265
+ "y+"
266
+ ]
267
+ },
268
+ "maxMspPairDistance": 2.4,
269
+ "_hideRatsNet": false
270
+ }