@tscircuit/schematic-trace-solver 0.0.121 → 0.0.123

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 (48) hide show
  1. package/dist/index.d.ts +10 -3
  2. package/dist/index.js +247 -31
  3. package/lib/solvers/RailNetLabelCornerPlacementSolver/RailNetLabelCornerPlacementSolver.ts +223 -21
  4. package/lib/solvers/RailNetLabelCornerPlacementSolver/types.ts +3 -3
  5. package/lib/solvers/SameNetJunctionAlignmentSolver/alignSameNetJunctions.ts +50 -5
  6. package/lib/solvers/SameNetJunctionAlignmentSolver/pathIntersectsAnyNetLabel.ts +29 -0
  7. package/lib/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver.ts +34 -9
  8. package/package.json +1 -1
  9. package/site/bug-reports/bug-report-20260804T095800Z.page.tsx +4 -0
  10. package/site/bug-reports/bug-report-20260804T171919Z.page.tsx +4 -0
  11. package/site/bug-reports/bug-report-20260804T225912Z.page.tsx +4 -0
  12. package/tests/bug-reports/bug-report-20260706T213649Z/__snapshots__/bug-report-20260706T213649Z.snap.svg +4 -4
  13. package/tests/bug-reports/bug-report-20260706T220324Z/__snapshots__/bug-report-20260706T220324Z.snap.svg +5 -5
  14. package/tests/bug-reports/bug-report-20260717T042845Z/__snapshots__/bug-report-20260717T042845Z.snap.svg +12 -12
  15. package/tests/bug-reports/bug-report-20260721T221026Z/__snapshots__/bug-report-20260721T221026Z.snap.svg +2 -2
  16. package/tests/bug-reports/bug-report-20260728T144234Z/__snapshots__/bug-report-20260728T144234Z.snap.svg +2 -2
  17. package/tests/bug-reports/bug-report-20260804T095800Z/__snapshots__/bug-report-20260804T095800Z.snap.svg +135 -0
  18. package/tests/bug-reports/bug-report-20260804T095800Z/bug-report-20260804T095800Z.json +634 -0
  19. package/tests/bug-reports/bug-report-20260804T095800Z/bug-report-20260804T095800Z.test.ts +12 -0
  20. package/tests/bug-reports/bug-report-20260804T171919Z/__snapshots__/bug-report-20260804T171919Z.snap.svg +355 -0
  21. package/tests/bug-reports/bug-report-20260804T171919Z/bug-report-20260804T171919Z.json +1775 -0
  22. package/tests/bug-reports/bug-report-20260804T171919Z/bug-report-20260804T171919Z.test.ts +12 -0
  23. package/tests/bug-reports/bug-report-20260804T225912Z/__snapshots__/bug-report-20260804T225912Z.snap.svg +60 -0
  24. package/tests/bug-reports/bug-report-20260804T225912Z/bug-report-20260804T225912Z.json +148 -0
  25. package/tests/bug-reports/bug-report-20260804T225912Z/bug-report-20260804T225912Z.test.ts +12 -0
  26. package/tests/examples/__snapshots__/example12.snap.svg +2 -2
  27. package/tests/examples/__snapshots__/example13.snap.svg +4 -4
  28. package/tests/examples/__snapshots__/example14.snap.svg +36 -36
  29. package/tests/examples/__snapshots__/example31.snap.svg +6 -6
  30. package/tests/examples/__snapshots__/example43.snap.svg +2 -2
  31. package/tests/examples/__snapshots__/example44.snap.svg +2 -2
  32. package/tests/repros/__snapshots__/board-15984-same-net-junction.snap.svg +2 -2
  33. package/tests/repros/__snapshots__/bugreport-001-gnd-overlap.snap.svg +26 -26
  34. package/tests/repros/__snapshots__/netlabel-connector-through-rail-label.snap.svg +2 -2
  35. package/tests/repros/__snapshots__/repro-atmega328p-fault-pullup.snap.svg +2 -2
  36. package/tests/repros/__snapshots__/repro-atmega328p-missing-gnd-netlabel.snap.svg +2 -2
  37. package/tests/repros/__snapshots__/repro-bq25895-cross-net-trace-overlap.snap.svg +2 -2
  38. package/tests/repros/__snapshots__/repro-missing-trace-netlabel.snap.svg +18 -18
  39. package/tests/repros/__snapshots__/repro-netlabel-overlap-trace.snap.svg +3 -3
  40. package/tests/repros/__snapshots__/repro-nrf52810-clock-routing.snap.svg +82 -0
  41. package/tests/repros/__snapshots__/repro161-power-section-autolayout.snap.svg +112 -0
  42. package/tests/repros/assets/repro-nrf52810-clock-routing.input.json +234 -0
  43. package/tests/repros/assets/repro161-power-section-autolayout.input.json +578 -0
  44. package/tests/repros/repro-bq25895-cross-net-trace-overlap.test.ts +13 -0
  45. package/tests/repros/repro-missing-trace-netlabel.test.ts +12 -0
  46. package/tests/repros/repro-netlabel-overlap-trace.test.ts +38 -0
  47. package/tests/repros/repro-nrf52810-clock-routing.test.ts +28 -0
  48. package/tests/repros/repro161-power-section-autolayout.test.ts +34 -0
@@ -1,5 +1,5 @@
1
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.05,0 -1.05,-0.30000000000000004" data-type="line" data-label="" points="325.0890585241731,242.13740458015263 111.34860050890588,272.6717557251908" fill="none" stroke="hsl(111, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.05,0 2.45,-1.5" data-type="line" data-label="" points="325.0890585241731,242.13740458015263 467.5826972010179,394.8091603053435" fill="none" stroke="hsl(111, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.05,-0.30000000000000004 2.45,-1.5" data-type="line" data-label="" points="111.34860050890588,272.6717557251908 467.5826972010179,394.8091603053435" fill="none" stroke="hsl(111, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.05,-0.09999999999999998 3.55,-1.5" data-type="line" data-label="" points="111.34860050890588,252.3155216284987 579.5419847328244,394.8091603053435" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.05,0 1.75,0 1.75,-1.5 2.45,-1.5" data-type="line" data-label="" points="325.0890585241731,242.13740458015263 396.33587786259545,242.13740458015263 396.33587786259545,394.8091603053435 467.5826972010179,394.8091603053435" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.05,-0.30000000000000004 -1.651,-0.30000000000000004 -1.651,-0.24900000000000005" data-type="line" data-label="" points="111.34860050890588,272.6717557251908 50.17811704834608,272.6717557251908 50.17811704834608,267.48091603053433" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.05,-0.09999999999999998 -1.151,-0.09999999999999998 -1.151,-0.5009999999999999" data-type="line" data-label="" points="111.34860050890588,252.3155216284987 101.06870229007636,252.3155216284987 101.06870229007636,293.1297709923664" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.55,-1.5 3.651,-1.5 3.651,-2.151" data-type="line" data-label="" points="579.5419847328244,394.8091603053435 589.8218829516541,394.8091603053435 589.8218829516541,461.0687022900763" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.05,0.30000000000000004 -1.151,0.30000000000000004 -1.151,0.5010000000000001" data-type="line" data-label="" points="111.34860050890588,211.60305343511445 101.06870229007636,211.60305343511445 101.06870229007636,191.14503816793888" 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="111.34860050890586" y="191.24681933842237" width="213.74045801526722" height="101.78117048346056" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009824999999999999"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="3" data-y="-1.5" x="467.58269720101794" y="331.7048346055979" width="111.95928753180652" height="126.20865139949115" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009824999999999999"/></g><g><rect data-type="rect" data-label="netId: v5
2
- globalConnNetId: connectivity_net0" data-x="1.4" data-y="0.18" x="350.53435114503816" y="205.49618320610682" width="20.356234096692162" height="36.64122137404581" fill="#ef444466" stroke="#ef4444" stroke-width="0.009824999999999999"/></g><g><rect data-type="rect" data-label="netId: v5
2
+ globalConnNetId: connectivity_net0" data-x="1.75" data-y="0.18" x="386.1577608142494" y="205.49618320610682" width="20.356234096692106" height="36.64122137404581" fill="#ef444466" stroke="#ef4444" stroke-width="0.009824999999999999"/></g><g><rect data-type="rect" data-label="netId: v5
3
3
  globalConnNetId: connectivity_net0" data-x="-1.651" data-y="-0.06900000000000006" x="40.000000000000014" y="230.83969465648852" width="20.356234096692134" height="36.64122137404581" fill="#ef444466" stroke="#ef4444" stroke-width="0.009824999999999999"/></g><g><rect data-type="rect" data-label="netId: gnd
4
4
  globalConnNetId: connectivity_net1" data-x="-1.151" data-y="-0.7409999999999999" x="90.89058524173029" y="293.1297709923664" width="20.35623409669212" height="48.854961832061065" fill="#00000066" stroke="#000000" stroke-width="0.009824999999999999"/></g><g><rect data-type="rect" data-label="netId: gnd
5
5
  globalConnNetId: connectivity_net1" data-x="3.651" data-y="-2.391" x="579.643765903308" y="461.06870229007626" width="20.356234096692106" height="48.85496183206112" fill="#00000066" stroke="#000000" stroke-width="0.009824999999999999"/></g><g><rect data-type="rect" data-label="netId: v3_3
@@ -13,7 +13,7 @@ x-" data-x="-1.05" data-y="0.10000000000000003" cx="111.34860050890588" cy="231.
13
13
  x-" data-x="-1.05" data-y="0.30000000000000004" cx="111.34860050890588" cy="211.60305343511445" r="3" fill="hsl(153, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="C6.1
14
14
  x-" data-x="2.45" data-y="-1.5" cx="467.5826972010179" cy="394.8091603053435" r="3" fill="hsl(246, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="C6.2
15
15
  x+" data-x="3.55" data-y="-1.5" cx="579.5419847328244" cy="394.8091603053435" r="3" fill="hsl(247, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
16
- orientation: y+" data-x="1.4" data-y="0" cx="360.71246819338427" cy="242.13740458015263" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
16
+ orientation: y+" data-x="1.75" data-y="0" cx="396.33587786259545" cy="242.13740458015263" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
17
17
  orientation: y+" data-x="-1.651" data-y="-0.24900000000000005" cx="50.17811704834608" cy="267.48091603053433" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
18
18
  orientation: y-" data-x="-1.151" data-y="-0.5009999999999999" cx="101.06870229007636" cy="293.1297709923664" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
19
19
  orientation: y-" data-x="3.651" data-y="-2.151" cx="589.8218829516541" cy="461.0687022900763" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
@@ -3,7 +3,7 @@ globalConnNetId: connectivity_net3" data-x="1.151" data-y="-0.7410000000000001"
3
3
  globalConnNetId: connectivity_net3" data-x="-1.75" data-y="-2.2399999999999998" x="177.39705714611608" y="483.20292004106307" width="12.775179650963878" height="30.660431162313216" fill="#00000066" stroke="#000000" stroke-width="0.01565535714285714"/></g><g><rect data-type="rect" data-label="netId: gnd
4
4
  globalConnNetId: connectivity_net3" data-x="3.75" data-y="-1.74" x="528.7144975476217" y="451.2649709136534" width="12.775179650963878" height="30.660431162313273" fill="#00000066" stroke="#000000" stroke-width="0.01565535714285714"/></g><g><rect data-type="rect" data-label="netId: gnd
5
5
  globalConnNetId: connectivity_net3" data-x="4.6659999999999995" data-y="2.409" x="587.2248203490362" y="186.24386905440858" width="12.775179650963764" height="30.660431162313273" fill="#00000066" stroke="#000000" stroke-width="0.01565535714285714"/></g><g><rect data-type="rect" data-label="netId: v5
6
- globalConnNetId: connectivity_net4" data-x="1.4" data-y="0.18" x="378.6061366487967" y="332.4558001596898" width="12.775179650963821" height="22.995323371734912" fill="#ef444466" stroke="#ef4444" stroke-width="0.01565535714285714"/></g><g><rect data-type="rect" data-label="netId: v5
6
+ globalConnNetId: connectivity_net4" data-x="1.75" data-y="0.18" x="400.9627010379833" y="332.4558001596898" width="12.775179650963878" height="22.995323371734912" fill="#ef444466" stroke="#ef4444" stroke-width="0.01565535714285714"/></g><g><rect data-type="rect" data-label="netId: v5
7
7
  globalConnNetId: connectivity_net4" data-x="-2.3510000000000004" data-y="0.581" x="139.00764229496974" y="306.84156495950725" width="12.77517965096385" height="22.995323371734912" fill="#ef444466" stroke="#ef4444" stroke-width="0.01565535714285714"/></g><g><rect data-type="rect" data-label="netId: .PWR1 &gt; .FB to .R6 &gt; .pin2
8
8
  globalConnNetId: connectivity_net2" data-x="-2.1" data-y="0.225" x="155.04049275692938" y="326.70696931675604" width="12.77517965096385" height="28.74415421466864" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01565535714285714"/></g><g><rect data-type="rect" data-label="netId: .PWR1 &gt; .FB to .R7 &gt; .pin1
9
9
  globalConnNetId: connectivity_net2" data-x="-3.776" data-y="-1.9999999999999998" x="40" y="476.8153302155812" width="28.74415421466864" height="12.775179650963821" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01565535714285714"/></g><g><rect data-type="rect" data-label="netId: v3_3
@@ -34,7 +34,7 @@ orientation: y-" data-x="1.151" data-y="-0.5010000000000001" cx="369.08862780882
34
34
  orientation: y-" data-x="-1.75" data-y="-1.9999999999999998" cx="183.78464697159802" cy="483.20292004106307" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
35
35
  orientation: y-" data-x="3.75" data-y="-1.5" cx="535.1020873731037" cy="451.2649709136535" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
36
36
  orientation: y-" data-x="4.6659999999999995" data-y="2.649" cx="593.6124101745181" cy="186.24386905440858" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
37
- orientation: y+" data-x="1.4" data-y="0" cx="384.99372647427856" cy="355.4511235314247" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
37
+ orientation: y+" data-x="1.75" data-y="0" cx="407.35029086346526" cy="355.4511235314247" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
38
38
  orientation: y+" data-x="-2.3510000000000004" data-y="0.401" cx="145.39523212045165" cy="329.83688833124216" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
39
39
  orientation: y+" data-x="-2.1" data-y="0" cx="161.4280825824113" cy="355.4511235314247" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
40
40
  orientation: x-" data-x="-3.55" data-y="-1.9999999999999998" cx="68.80803011292346" cy="483.20292004106307" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
@@ -3,7 +3,7 @@ globalConnNetId: connectivity_net2" data-x="6.289999999999999" data-y="-4.605000
3
3
  globalConnNetId: connectivity_net2" data-x="4.84" data-y="-0.9110000000000013" x="384.660704892162" y="254.63229879011055" width="28.27985270910051" height="24.744871120462932" fill="#00000066" stroke="#000000" stroke-width="0.016973214285714286"/></g><g><rect data-type="rect" data-label="netId: GND
4
4
  globalConnNetId: connectivity_net2" data-x="5.125" data-y="0.8189999999999987" x="401.45186743819045" y="152.70699631772754" width="28.27985270910051" height="24.744871120462932" fill="#00000066" stroke="#000000" stroke-width="0.016973214285714286"/></g><g><rect data-type="rect" data-label="netId: GND
5
5
  globalConnNetId: connectivity_net2" data-x="-0.1449999999999998" data-y="-5.821" x="90.9626512361915" y="543.9116254602841" width="28.27985270910048" height="24.744871120462903" fill="#00000066" stroke="#000000" stroke-width="0.016973214285714286"/></g><g><rect data-type="rect" data-label="netId: V5
6
- globalConnNetId: connectivity_net3" data-x="1.955" data-y="1.6549999999999987" x="218.22198842714363" y="103.45291951604423" width="21.209889531825382" height="24.744871120462903" fill="#ef444466" stroke="#ef4444" stroke-width="0.016973214285714286"/></g><g><rect data-type="rect" data-label="netId: DP
6
+ globalConnNetId: connectivity_net3" data-x="1.45" data-y="1.6549999999999987" x="188.4692267227775" y="103.45291951604423" width="21.209889531825354" height="24.744871120462903" fill="#ef444466" stroke="#ef4444" stroke-width="0.016973214285714286"/></g><g><rect data-type="rect" data-label="netId: DP
7
7
  globalConnNetId: connectivity_net4" data-x="1.63" data-y="0.2999999999999998" x="199.07417148869018" y="189.76538663861123" width="21.209889531825354" height="11.783271962125212" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.016973214285714286"/></g><g><rect data-type="rect" data-label="netId: DM
8
8
  globalConnNetId: connectivity_net5" data-x="1.63" data-y="-0.10000000000000009" x="199.07417148869018" y="213.3319305628616" width="21.209889531825354" height="11.783271962125212" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.016973214285714286"/></g><g><rect data-type="rect" data-label="netId: VBUS
9
9
  globalConnNetId: connectivity_net6" data-x="5.125" data-y="2.1999999999999984" x="397.9168858495529" y="71.3435034192531" width="35.34981588637561" height="24.744871120462903" fill="#ef444466" stroke="#ef4444" stroke-width="0.016973214285714286"/></g><g><rect data-type="rect" data-label="netId: BATT
@@ -56,7 +56,7 @@ orientation: y-" data-x="6.289999999999999" data-y="-4.395000000000001" cx="484.
56
56
  orientation: y-" data-x="4.84" data-y="-0.7000000000000013" cx="398.80063124671227" cy="254.5733824302999" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
57
57
  orientation: y-" data-x="5.125" data-y="1.0299999999999987" cx="415.5917937927407" cy="152.64807995791693" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
58
58
  orientation: y-" data-x="-0.1449999999999998" data-y="-5.609999999999999" cx="105.10257759074175" cy="543.8527091004734" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
59
- orientation: y+" data-x="1.955" data-y="1.4449999999999987" cx="228.82693319305633" cy="128.19779063650714" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
59
+ orientation: y+" data-x="1.45" data-y="1.4449999999999987" cx="199.07417148869018" cy="128.19779063650714" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
60
60
  orientation: x+" data-x="1.45" data-y="0.2999999999999998" cx="199.07417148869018" cy="195.65702261967385" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
61
61
  orientation: x+" data-x="1.45" data-y="-0.10000000000000009" cx="199.07417148869018" cy="219.22356654392422" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
62
62
  orientation: y+" data-x="5.125" data-y="1.9899999999999984" cx="415.5917937927407" cy="96.088374539716" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
@@ -1,28 +1,28 @@
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="-2.6,2.2 -0.5,2" data-type="line" data-label="" points="84.13793103448276,230.89655172413794 200,241.93103448275863" fill="none" stroke="hsl(0, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.5,2 2.45,1" data-type="line" data-label="" points="255.17241379310343,241.93103448275863 362.7586206896552,297.1034482758621" fill="none" stroke="hsl(304, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.5,2 2.45,-1" data-type="line" data-label="" points="255.17241379310343,241.93103448275863 362.7586206896552,407.44827586206895" fill="none" stroke="hsl(304, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.55,1 5.45,1" data-type="line" data-label="" points="423.44827586206895,297.1034482758621 528.2758620689655,297.1034482758621" fill="none" stroke="hsl(312, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.55,-1 5.45,-1" data-type="line" data-label="" points="423.44827586206895,407.44827586206895 528.2758620689655,407.44827586206895" fill="none" stroke="hsl(320, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-2.6,1.8 6.55,1" data-type="line" data-label="" points="84.13793103448276,252.9655172413793 588.9655172413793,297.1034482758621" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.6,1.8 6.55,-1" data-type="line" data-label="" points="84.13793103448276,252.9655172413793 588.9655172413793,407.44827586206895" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="6.55,1 6.55,-1" data-type="line" data-label="" points="588.9655172413793,297.1034482758621 588.9655172413793,407.44827586206895" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.6,2.2 -1.55,2.2 -1.55,2 -0.5,2" data-type="line" data-label="" points="84.13793103448276,230.89655172413794 142.06896551724137,230.89655172413794 142.06896551724137,241.93103448275863 200,241.93103448275863" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.45,-1 2.25,-1 2.25,1 2.45,1" data-type="line" data-label="" points="362.7586206896552,407.44827586206895 351.7241379310345,407.44827586206895 351.7241379310345,297.1034482758621 362.7586206896552,297.1034482758621" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.5,2 2.25,2 2.25,1 2.45,1" data-type="line" data-label="" points="255.17241379310343,241.93103448275863 351.7241379310345,241.93103448275863 351.7241379310345,297.1034482758621 362.7586206896552,297.1034482758621" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.55,1 5.45,1" data-type="line" data-label="" points="423.44827586206895,297.1034482758621 528.2758620689655,297.1034482758621" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.55,-1 5.45,-1" data-type="line" data-label="" points="423.44827586206895,407.44827586206895 528.2758620689655,407.44827586206895" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="6.55,-1 6.75,-1 6.75,1 6.55,1" data-type="line" data-label="" points="588.9655172413793,407.44827586206895 600,407.44827586206895 600,297.1034482758621 588.9655172413793,297.1034482758621" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.6,1.8 -2.499,1.8 -2.499,1.5990000000000002" data-type="line" data-label="" points="84.13793103448276,252.9655172413793 89.7103448275862,252.9655172413793 89.7103448275862,264.0551724137931" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="BT1" data-x="-3" data-y="2" x="39.999999999999986" y="219.86206896551727" width="44.13793103448276" height="44.13793103448273" fill="hsl(199, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018125000000000002"/></g><g><rect data-type="rect" data-label="SW1" data-x="0" data-y="2" x="200" y="219.86206896551727" width="55.17241379310343" height="44.13793103448273" fill="hsl(69, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018125000000000002"/></g><g><rect data-type="rect" data-label="R1" data-x="3" data-y="1" x="362.75862068965523" y="286.3748772413793" width="60.68965517241378" height="21.45714206896554" fill="hsl(71, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018125000000000002"/></g><g><rect data-type="rect" data-label="R2" data-x="3" data-y="-1" x="362.75862068965523" y="396.71970482758616" width="60.68965517241378" height="21.45714206896554" fill="hsl(72, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018125000000000002"/></g><g><rect data-type="rect" data-label="D1" data-x="6" data-y="1" x="528.2758620689656" y="286.3748772413793" width="60.689655172413836" height="21.45714206896554" fill="hsl(357, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018125000000000002"/></g><g><rect data-type="rect" data-label="D2" data-x="6" data-y="-1" x="528.2758620689656" y="396.71970482758616" width="60.689655172413836" height="21.45714206896554" fill="hsl(358, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018125000000000002"/></g><g><rect data-type="rect" data-label="netId: BT1.plus to SW1.in
2
- globalConnNetId: connectivity_net0" data-x="-2.075" data-y="2.4250000000000003" x="107.58620689655172" y="206.06896551724137" width="11.034482758620712" height="24.82758620689657" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.018125000000000002"/></g><g><rect data-type="rect" data-label="netId: GND
3
- globalConnNetId: connectivity_net4" data-x="-2.499" data-y="1.3590000000000002" x="84.19310344827585" y="264.0551724137931" width="11.034482758620697" height="26.48275862068965" fill="#00000066" stroke="#000000" stroke-width="0.018125000000000002"/></g><g><rect data-type="rect" data-label="netId: GND
4
- globalConnNetId: connectivity_net4" data-x="6.65" data-y="-1.24" x="588.9655172413793" y="407.44827586206895" width="11.034482758620697" height="26.48275862068965" fill="#00000066" stroke="#000000" stroke-width="0.018125000000000002"/></g><g><rect data-type="rect" data-label="netId: SW1.out to R2.left
5
- globalConnNetId: connectivity_net1" data-x="2.25" data-y="-1.225" x="346.2068965517241" y="407.44827586206895" width="11.034482758620697" height="24.82758620689657" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.018125000000000002"/></g><g><rect data-type="rect" data-label="netId: R1.right to D1.a
6
- globalConnNetId: connectivity_net2" data-x="4.5" data-y="1.225" x="470.34482758620686" y="272.27586206896547" width="11.034482758620697" height="24.82758620689657" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.018125000000000002"/></g><g><rect data-type="rect" data-label="netId: R2.right to D2.a
7
- globalConnNetId: connectivity_net3" data-x="4.5" data-y="-0.775" x="470.34482758620686" y="382.62068965517244" width="11.034482758620697" height="24.827586206896513" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.018125000000000002"/></g><g><circle data-type="point" data-label="BT1.1
8
- x+" data-x="-2.6" data-y="2.2" cx="84.13793103448276" cy="230.89655172413794" r="3" fill="hsl(114, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="BT1.2
9
- x+" data-x="-2.6" data-y="1.8" cx="84.13793103448276" cy="252.9655172413793" r="3" fill="hsl(115, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="SW1.1
10
- x-" data-x="-0.5" data-y="2" cx="200" cy="241.93103448275863" r="3" fill="hsl(104, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="SW1.2
11
- x+" data-x="0.5" data-y="2" cx="255.17241379310343" cy="241.93103448275863" r="3" fill="hsl(105, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R1.1
12
- x-" data-x="2.45" data-y="1" cx="362.7586206896552" cy="297.1034482758621" r="3" fill="hsl(226, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R1.2
13
- x+" data-x="3.55" data-y="1" cx="423.44827586206895" cy="297.1034482758621" r="3" fill="hsl(227, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R2.1
14
- x-" data-x="2.45" data-y="-1" cx="362.7586206896552" cy="407.44827586206895" r="3" fill="hsl(107, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R2.2
15
- x+" data-x="3.55" data-y="-1" cx="423.44827586206895" cy="407.44827586206895" r="3" fill="hsl(108, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D1.1
16
- x-" data-x="5.45" data-y="1" cx="528.2758620689655" cy="297.1034482758621" r="3" fill="hsl(32, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D1.2
17
- x+" data-x="6.55" data-y="1" cx="588.9655172413793" cy="297.1034482758621" r="3" fill="hsl(33, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D2.1
18
- x-" data-x="5.45" data-y="-1" cx="528.2758620689655" cy="407.44827586206895" r="3" fill="hsl(273, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D2.2
19
- x+" data-x="6.55" data-y="-1" cx="588.9655172413793" cy="407.44827586206895" r="3" fill="hsl(274, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
20
- orientation: y+" data-x="-2.075" data-y="2.2" cx="113.10344827586206" cy="230.89655172413794" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
21
- orientation: y-" data-x="-2.499" data-y="1.5990000000000002" cx="89.7103448275862" cy="264.0551724137931" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
22
- orientation: y-" data-x="6.65" data-y="-1" cx="594.4827586206897" cy="407.44827586206895" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
23
- orientation: y-" data-x="2.25" data-y="-1" cx="351.7241379310345" cy="407.44827586206895" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
24
- orientation: y+" data-x="4.5" data-y="1" cx="475.8620689655172" cy="297.1034482758621" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
25
- orientation: y+" data-x="4.5" data-y="-1" cx="475.8620689655172" cy="407.44827586206895" 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="-2.6,2.2 -0.5,2" data-type="line" data-label="" points="83.70731707317071,231.76585365853663 198.4390243902439,242.69268292682932" fill="none" stroke="hsl(0, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.5,2 2.45,1" data-type="line" data-label="" points="253.0731707317073,242.69268292682932 359.609756097561,297.3268292682927" fill="none" stroke="hsl(304, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.5,2 2.45,-1" data-type="line" data-label="" points="253.0731707317073,242.69268292682932 359.609756097561,406.59512195121954" fill="none" stroke="hsl(304, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.55,1 5.45,1" data-type="line" data-label="" points="419.7073170731707,297.3268292682927 523.5121951219512,297.3268292682927" fill="none" stroke="hsl(312, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.55,-1 5.45,-1" data-type="line" data-label="" points="419.7073170731707,406.59512195121954 523.5121951219512,406.59512195121954" fill="none" stroke="hsl(320, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-2.6,1.8 6.55,1" data-type="line" data-label="" points="83.70731707317071,253.61951219512198 583.6097560975609,297.3268292682927" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.6,1.8 6.55,-1" data-type="line" data-label="" points="83.70731707317071,253.61951219512198 583.6097560975609,406.59512195121954" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="6.55,1 6.55,-1" data-type="line" data-label="" points="583.6097560975609,297.3268292682927 583.6097560975609,406.59512195121954" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.6,2.2 -1.55,2.2 -1.55,2 -0.5,2" data-type="line" data-label="" points="83.70731707317071,231.76585365853663 141.0731707317073,231.76585365853663 141.0731707317073,242.69268292682932 198.4390243902439,242.69268292682932" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.45,-1 2.25,-1 2.25,1 2.45,1" data-type="line" data-label="" points="359.609756097561,406.59512195121954 348.6829268292683,406.59512195121954 348.6829268292683,297.3268292682927 359.609756097561,297.3268292682927" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.5,2 2.25,2 2.25,1 2.45,1" data-type="line" data-label="" points="253.0731707317073,242.69268292682932 348.6829268292683,242.69268292682932 348.6829268292683,297.3268292682927 359.609756097561,297.3268292682927" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.55,1 5.45,1" data-type="line" data-label="" points="419.7073170731707,297.3268292682927 523.5121951219512,297.3268292682927" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.55,-1 5.45,-1" data-type="line" data-label="" points="419.7073170731707,406.59512195121954 523.5121951219512,406.59512195121954" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="6.55,-1 6.75,-1 6.75,1 6.55,1" data-type="line" data-label="" points="583.6097560975609,406.59512195121954 594.5365853658536,406.59512195121954 594.5365853658536,297.3268292682927 583.6097560975609,297.3268292682927" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.6,1.8 -2.499,1.8 -2.499,1.5990000000000002" data-type="line" data-label="" points="83.70731707317071,253.61951219512198 89.22536585365853,253.61951219512198 89.22536585365853,264.6009756097561" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="BT1" data-x="-3" data-y="2" x="40" y="220.83902439024396" width="43.707317073170714" height="43.707317073170714" fill="hsl(199, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01830357142857143"/></g><g><rect data-type="rect" data-label="SW1" data-x="0" data-y="2" x="198.4390243902439" y="220.83902439024396" width="54.634146341463406" height="43.707317073170714" fill="hsl(69, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01830357142857143"/></g><g><rect data-type="rect" data-label="R1" data-x="3" data-y="1" x="359.609756097561" y="286.7029272195123" width="60.097560975609724" height="21.24780409756096" fill="hsl(71, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01830357142857143"/></g><g><rect data-type="rect" data-label="R2" data-x="3" data-y="-1" x="359.609756097561" y="395.9712199024391" width="60.097560975609724" height="21.24780409756096" fill="hsl(72, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01830357142857143"/></g><g><rect data-type="rect" data-label="D1" data-x="6" data-y="1" x="523.5121951219512" y="286.7029272195123" width="60.09756097560967" height="21.24780409756096" fill="hsl(357, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01830357142857143"/></g><g><rect data-type="rect" data-label="D2" data-x="6" data-y="-1" x="523.5121951219512" y="395.9712199024391" width="60.09756097560967" height="21.24780409756096" fill="hsl(358, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01830357142857143"/></g><g><rect data-type="rect" data-label="netId: BT1.plus to SW1.in
2
+ globalConnNetId: connectivity_net0" data-x="-2.075" data-y="2.4250000000000003" x="106.92682926829266" y="207.18048780487806" width="10.926829268292693" height="24.585365853658573" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01830357142857143"/></g><g><rect data-type="rect" data-label="netId: GND
3
+ globalConnNetId: connectivity_net4" data-x="-2.499" data-y="1.3590000000000002" x="83.76195121951218" y="264.6009756097561" width="10.926829268292693" height="26.224390243902462" fill="#00000066" stroke="#000000" stroke-width="0.01830357142857143"/></g><g><rect data-type="rect" data-label="netId: GND
4
+ globalConnNetId: connectivity_net4" data-x="6.75" data-y="-1.24" x="589.0731707317073" y="406.59512195121954" width="10.92682926829275" height="26.224390243902462" fill="#00000066" stroke="#000000" stroke-width="0.01830357142857143"/></g><g><rect data-type="rect" data-label="netId: SW1.out to R2.left
5
+ globalConnNetId: connectivity_net1" data-x="2.25" data-y="-1.225" x="343.219512195122" y="406.59512195121954" width="10.926829268292693" height="24.585365853658573" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01830357142857143"/></g><g><rect data-type="rect" data-label="netId: R1.right to D1.a
6
+ globalConnNetId: connectivity_net2" data-x="4.5" data-y="1.225" x="466.1463414634147" y="272.74146341463415" width="10.926829268292636" height="24.585365853658573" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01830357142857143"/></g><g><rect data-type="rect" data-label="netId: R2.right to D2.a
7
+ globalConnNetId: connectivity_net3" data-x="4.5" data-y="-0.775" x="466.1463414634147" y="382.0097560975611" width="10.926829268292636" height="24.585365853658516" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01830357142857143"/></g><g><circle data-type="point" data-label="BT1.1
8
+ x+" data-x="-2.6" data-y="2.2" cx="83.70731707317071" cy="231.76585365853663" r="3" fill="hsl(114, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="BT1.2
9
+ x+" data-x="-2.6" data-y="1.8" cx="83.70731707317071" cy="253.61951219512198" r="3" fill="hsl(115, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="SW1.1
10
+ x-" data-x="-0.5" data-y="2" cx="198.4390243902439" cy="242.69268292682932" r="3" fill="hsl(104, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="SW1.2
11
+ x+" data-x="0.5" data-y="2" cx="253.0731707317073" cy="242.69268292682932" r="3" fill="hsl(105, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R1.1
12
+ x-" data-x="2.45" data-y="1" cx="359.609756097561" cy="297.3268292682927" r="3" fill="hsl(226, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R1.2
13
+ x+" data-x="3.55" data-y="1" cx="419.7073170731707" cy="297.3268292682927" r="3" fill="hsl(227, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R2.1
14
+ x-" data-x="2.45" data-y="-1" cx="359.609756097561" cy="406.59512195121954" r="3" fill="hsl(107, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R2.2
15
+ x+" data-x="3.55" data-y="-1" cx="419.7073170731707" cy="406.59512195121954" r="3" fill="hsl(108, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D1.1
16
+ x-" data-x="5.45" data-y="1" cx="523.5121951219512" cy="297.3268292682927" r="3" fill="hsl(32, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D1.2
17
+ x+" data-x="6.55" data-y="1" cx="583.6097560975609" cy="297.3268292682927" r="3" fill="hsl(33, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D2.1
18
+ x-" data-x="5.45" data-y="-1" cx="523.5121951219512" cy="406.59512195121954" r="3" fill="hsl(273, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="D2.2
19
+ x+" data-x="6.55" data-y="-1" cx="583.6097560975609" cy="406.59512195121954" r="3" fill="hsl(274, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
20
+ orientation: y+" data-x="-2.075" data-y="2.2" cx="112.39024390243901" cy="231.76585365853663" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
21
+ orientation: y-" data-x="-2.499" data-y="1.5990000000000002" cx="89.22536585365853" cy="264.6009756097561" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
22
+ orientation: y-" data-x="6.75" data-y="-1" cx="594.5365853658536" cy="406.59512195121954" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
23
+ orientation: y-" data-x="2.25" data-y="-1" cx="348.6829268292683" cy="406.59512195121954" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
24
+ orientation: y+" data-x="4.5" data-y="1" cx="471.609756097561" cy="297.3268292682927" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
25
+ orientation: y+" data-x="4.5" data-y="-1" cx="471.609756097561" cy="406.59512195121954" 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[
26
26
  document.currentScript.parentElement.addEventListener('mousemove', (e) => {
27
27
  const svg = e.currentTarget;
28
28
  const rect = svg.getBoundingClientRect();
@@ -44,7 +44,7 @@ orientation: y+" data-x="4.5" data-y="-1" cx="475.8620689655172" cy="407.4482758
44
44
  v.setAttribute('y2', '640');
45
45
 
46
46
  // Calculate real coordinates using inverse transformation
47
- const matrix = {"a":55.172413793103445,"c":0,"e":227.58620689655172,"b":0,"d":-55.172413793103445,"f":352.2758620689655};
47
+ const matrix = {"a":54.63414634146341,"c":0,"e":225.7560975609756,"b":0,"d":-54.63414634146341,"f":351.96097560975613};
48
48
  // Manually invert and apply the affine transform
49
49
  // Since we only use translate and scale, we can directly compute:
50
50
  // x' = (x - tx) / sx
@@ -1,6 +1,6 @@
1
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="3.3774999999999995,1.5100000000000002 3.3774999999999995,1.7100000000000004" data-type="line" data-label="" points="574.6987951807228,145.84337349397586 574.6987951807228,128.97590361445776" fill="none" stroke="hsl(176, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-0.7725000000000006,0.2950000000000018 0.3774999999999997,0.3100000000000005" data-type="line" data-label="" points="224.6987951807228,248.31325301204802 321.6867469879518,247.04819277108427" fill="none" stroke="hsl(48, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-2.0475,-1.39 0.3774999999999997,-1.39" data-type="line" data-label="" points="117.16867469879517,390.4216867469879 321.6867469879518,390.4216867469879" fill="none" stroke="hsl(312, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.3774999999999995,-2.7900000000000005 0.3774999999999997,-0.1899999999999995" data-type="line" data-label="" points="574.6987951807228,508.49397590361446 321.6867469879518,289.21686746987945" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.3774999999999995,-2.7900000000000005 3.3774999999999995,-2.5900000000000003" data-type="line" data-label="" points="574.6987951807228,508.49397590361446 574.6987951807228,491.6265060240964" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.3774999999999995,-2.7900000000000005 3.3774999999999995,-2.3900000000000006" data-type="line" data-label="" points="574.6987951807228,508.49397590361446 574.6987951807228,474.7590361445783" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.3774999999999995,-2.7900000000000005 -0.3225000000000006,0.6600000000000018" data-type="line" data-label="" points="574.6987951807228,508.49397590361446 262.6506024096385,217.53012048192753" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.3774999999999995,-2.7900000000000005 -2.4125,-0.9399999999999997" data-type="line" data-label="" points="574.6987951807228,508.49397590361446 86.38554216867468,352.4698795180722" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.3774999999999997,-0.1899999999999995 3.3774999999999995,-2.5900000000000003" data-type="line" data-label="" points="321.6867469879518,289.21686746987945 574.6987951807228,491.6265060240964" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.3774999999999997,-0.1899999999999995 3.3774999999999995,-2.3900000000000006" data-type="line" data-label="" points="321.6867469879518,289.21686746987945 574.6987951807228,474.7590361445783" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.3774999999999997,-0.1899999999999995 -0.3225000000000006,0.6600000000000018" data-type="line" data-label="" points="321.6867469879518,289.21686746987945 262.6506024096385,217.53012048192753" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.3774999999999997,-0.1899999999999995 -2.4125,-0.9399999999999997" data-type="line" data-label="" points="321.6867469879518,289.21686746987945 86.38554216867468,352.4698795180722" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.3774999999999995,-2.5900000000000003 3.3774999999999995,-2.3900000000000006" data-type="line" data-label="" points="574.6987951807228,491.6265060240964 574.6987951807228,474.7590361445783" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.3774999999999995,-2.5900000000000003 -0.3225000000000006,0.6600000000000018" data-type="line" data-label="" points="574.6987951807228,491.6265060240964 262.6506024096385,217.53012048192753" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.3774999999999995,-2.5900000000000003 -2.4125,-0.9399999999999997" data-type="line" data-label="" points="574.6987951807228,491.6265060240964 86.38554216867468,352.4698795180722" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.3774999999999995,-2.3900000000000006 -0.3225000000000006,0.6600000000000018" data-type="line" data-label="" points="574.6987951807228,474.7590361445783 262.6506024096385,217.53012048192753" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.3774999999999995,-2.3900000000000006 -2.4125,-0.9399999999999997" data-type="line" data-label="" points="574.6987951807228,474.7590361445783 86.38554216867468,352.4698795180722" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.3225000000000006,0.6600000000000018 -2.4125,-0.9399999999999997" data-type="line" data-label="" points="262.6506024096385,217.53012048192753 86.38554216867468,352.4698795180722" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.2225000000000006,0.6600000000000018 -2.4125,-1.84" data-type="line" data-label="" points="186.74698795180717,217.53012048192753 86.38554216867468,428.37349397590356" fill="none" stroke="hsl(186, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.3774999999999995,1.5100000000000002 3.5774999999999997,1.5100000000000002 3.5774999999999997,1.7100000000000004 3.3774999999999995,1.7100000000000004" data-type="line" data-label="" points="574.6987951807228,145.84337349397586 591.566265060241,145.84337349397586 591.566265060241,128.97590361445776 574.6987951807228,128.97590361445776" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-0.7725000000000006,0.2950000000000018 -0.7725000000000006,0.09500000000000186 0.17749999999999966,0.09500000000000186 0.17749999999999966,0.3100000000000005 0.3774999999999997,0.3100000000000005" data-type="line" data-label="" points="224.6987951807228,248.31325301204802 224.6987951807228,265.18072289156606 304.8192771084337,265.18072289156606 304.8192771084337,247.04819277108427 321.6867469879518,247.04819277108427" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.3774999999999997,-0.1899999999999995 0.027499999999999553,-0.1899999999999995 0.027499999999999553,0.6600000000000018 -0.3225000000000006,0.6600000000000018" data-type="line" data-label="" points="321.6867469879518,289.21686746987945 292.16867469879514,289.21686746987945 292.16867469879514,217.53012048192753 262.6506024096385,217.53012048192753" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.3774999999999995,-2.3900000000000006 3.5774999999999997,-2.3900000000000006 3.5774999999999997,-2.5900000000000003 3.3774999999999995,-2.5900000000000003" data-type="line" data-label="" points="574.6987951807228,474.7590361445783 591.566265060241,474.7590361445783 591.566265060241,491.6265060240964 574.6987951807228,491.6265060240964" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.3774999999999995,-2.7900000000000005 3.5774999999999997,-2.7900000000000005 3.5774999999999997,-2.5900000000000003 3.3774999999999995,-2.5900000000000003" data-type="line" data-label="" points="574.6987951807228,508.49397590361446 591.566265060241,508.49397590361446 591.566265060241,491.6265060240964 574.6987951807228,491.6265060240964" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.0475,-1.39 0.3774999999999997,-1.39" data-type="line" data-label="" points="117.16867469879517,390.4216867469879 321.6867469879518,390.4216867469879" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.4125,-0.9399999999999997 -2.4125,-0.8899999999999997 -2.7125000000000004,-0.8899999999999997 -2.7125000000000004,-0.9909999999999998" data-type="line" data-label="" points="86.38554216867468,352.4698795180722 86.38554216867468,348.2530120481927 61.08433734939754,348.2530120481927 61.08433734939754,356.77108433734935" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.2225000000000006,0.6600000000000018 -1.3235000000000006,0.6600000000000018 -1.3235000000000006,0.8610000000000018" data-type="line" data-label="" points="186.74698795180717,217.53012048192753 178.22891566265054,217.53012048192753 178.22891566265054,200.57831325301186" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.4125,-1.84 -2.4125,-1.8900000000000001 -2.8625000000000003,-1.8900000000000001 -2.8625000000000003,-0.989" data-type="line" data-label="" points="86.38554216867468,428.37349397590356 86.38554216867468,432.5903614457831 48.433734939759006,432.5903614457831 48.433734939759006,356.6024096385542" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="1.8774999999999997" data-y="-0.43999999999999995" x="321.68674698795184" y="91.0240963855421" width="253.01204819277098" height="438.55421686746996" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.011857142857142858"/></g><g><rect data-type="rect" data-label="schematic_component_6" data-x="-0.7725000000000006" data-y="0.5600000000000018" x="186.74698795180714" y="203.61445783132513" width="75.90361445783134" height="44.6987951807229" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.011857142857142858"/></g><g><rect data-type="rect" data-label="schematic_component_7" data-x="-2.3125" data-y="-1.39" x="72.46987951807229" y="352.4698795180723" width="44.6987951807229" height="75.90361445783134" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.011857142857142858"/></g><g><rect data-type="rect" data-label="netId: GND
2
2
  globalConnNetId: connectivity_net3" data-x="3.5774999999999997" data-y="-3.0300000000000002" x="583.132530120482" y="508.49397590361446" width="16.867469879518126" height="40.481927710843365" fill="#00000066" stroke="#000000" stroke-width="0.011857142857142858"/></g><g><rect data-type="rect" data-label="netId: GND
3
- globalConnNetId: connectivity_net3" data-x="0.20249999999999962" data-y="-0.4299999999999995" x="298.49397590361446" y="289.21686746987945" width="16.86746987951807" height="40.481927710843365" fill="#00000066" stroke="#000000" stroke-width="0.011857142857142858"/></g><g><rect data-type="rect" data-label="netId: GND
3
+ globalConnNetId: connectivity_net3" data-x="0.027499999999999553" data-y="-0.4299999999999995" x="283.73493975903614" y="289.21686746987945" width="16.86746987951807" height="40.481927710843365" fill="#00000066" stroke="#000000" stroke-width="0.011857142857142858"/></g><g><rect data-type="rect" data-label="netId: GND
4
4
  globalConnNetId: connectivity_net3" data-x="-2.7125000000000004" data-y="-1.2309999999999999" x="52.650602409638495" y="356.77108433734935" width="16.867469879518097" height="40.481927710843365" fill="#00000066" stroke="#000000" stroke-width="0.011857142857142858"/></g><g><rect data-type="rect" data-label="netId: .J3 &gt; .pin2 to .U1 &gt; .pin7
5
5
  globalConnNetId: connectivity_net2" data-x="-0.8350000000000001" data-y="-1.1649999999999998" x="210.99397590361443" y="352.4698795180723" width="16.86746987951807" height="37.95180722891564" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.011857142857142858"/></g><g><rect data-type="rect" data-label="netId: .J2 &gt; .pin2 to .U1 &gt; .pin10
6
6
  globalConnNetId: connectivity_net1" data-x="-0.9975000000000006" data-y="0.09500000000000186" x="186.74698795180717" y="256.746987951807" width="37.95180722891564" height="16.86746987951807" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.011857142857142858"/></g><g><rect data-type="rect" data-label="netId: .U1 &gt; .VS2 to .U1 &gt; .pin22
@@ -22,7 +22,7 @@ y-" data-x="-2.4125" data-y="-1.84" cx="86.38554216867468" cy="428.3734939759035
22
22
  x+" data-x="-2.0475" data-y="-1.39" cx="117.16867469879517" cy="390.4216867469879" r="3" fill="hsl(341, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="J3.3
23
23
  y+" data-x="-2.4125" data-y="-0.9399999999999997" cx="86.38554216867468" cy="352.4698795180722" r="3" fill="hsl(342, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
24
24
  orientation: y-" data-x="3.5774999999999997" data-y="-2.7900000000000005" cx="591.566265060241" cy="508.49397590361446" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
25
- orientation: y-" data-x="0.20249999999999962" data-y="-0.1899999999999995" cx="306.92771084337346" cy="289.21686746987945" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
25
+ orientation: y-" data-x="0.027499999999999553" data-y="-0.1899999999999995" cx="292.16867469879514" cy="289.21686746987945" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
26
26
  orientation: y-" data-x="-2.7125000000000004" data-y="-0.9909999999999998" cx="61.08433734939754" cy="356.77108433734935" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
27
27
  orientation: y+" data-x="-0.8350000000000001" data-y="-1.39" cx="219.42771084337346" cy="390.4216867469879" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
28
28
  orientation: x-" data-x="-0.7725000000000006" data-y="0.09500000000000186" cx="224.6987951807228" cy="265.18072289156606" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
@@ -2,7 +2,7 @@
2
2
  globalConnNetId: connectivity_net0" data-x="8.359900000000001" data-y="14.7" x="59.59300000000002" y="169.86906275" width="33.60000000000002" height="14" fill="#00000066" stroke="#000000" stroke-width="0.014285714285714284"/></g><g><rect data-type="rect" data-label="netId: GND
3
3
  globalConnNetId: connectivity_net0" data-x="11.341" data-y="13.3" x="268.26999999999987" y="267.86906275" width="33.600000000000136" height="14" fill="#00000066" stroke="#000000" stroke-width="0.014285714285714284"/></g><g><rect data-type="rect" data-label="netId: VCC_3V3
4
4
  globalConnNetId: connectivity_net1" data-x="8.32" data-y="14.5" x="39.99999999999983" y="183.86906275" width="67.20000000000016" height="14" fill="#ef444466" stroke="#ef4444" stroke-width="0.014285714285714284"/></g><g><rect data-type="rect" data-label="netId: VCC_3V3
5
- globalConnNetId: connectivity_net1" data-x="11.7" data-y="13.18" x="303.19999999999993" y="249.66906275000008" width="14" height="67.20000000000005" fill="#ef444466" stroke="#ef4444" stroke-width="0.014285714285714284"/></g><g><rect data-type="rect" data-label="netId: FAULT
5
+ globalConnNetId: connectivity_net1" data-x="12.09" data-y="13.18" x="330.5" y="249.66906275000008" width="14" height="67.20000000000005" fill="#ef444466" stroke="#ef4444" stroke-width="0.014285714285714284"/></g><g><rect data-type="rect" data-label="netId: FAULT
6
6
  globalConnNetId: connectivity_net2" data-x="15.479999999999999" data-y="15.5" x="549.5999999999999" y="113.86906275000001" width="50.40000000000009" height="14" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.014285714285714284"/></g><g><circle data-type="point" data-label="U_MCU.1
7
7
  x-" data-x="8.9" data-y="15.5" cx="114.19999999999993" cy="120.86906275000001" r="3" fill="hsl(144, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.2
8
8
  x-" data-x="8.9" data-y="15.3" cx="114.19999999999993" cy="134.86906275" r="3" fill="hsl(145, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U_MCU.3
@@ -41,7 +41,7 @@ x+" data-x="14.92" data-y="10" cx="535.6000000000001" cy="505.8690627500001" r="
41
41
  orientation: x-" data-x="8.600000000000001" data-y="14.7" cx="93.20000000000005" cy="176.86906275" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
42
42
  orientation: x+" data-x="11.1" data-y="13.3" cx="268.19999999999993" cy="274.86906275" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
43
43
  orientation: x-" data-x="8.8" data-y="14.5" cx="107.20000000000005" cy="190.86906275" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
44
- orientation: y+" data-x="11.7" data-y="12.7" cx="310.19999999999993" cy="316.8690627500001" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
44
+ orientation: y+" data-x="12.09" data-y="12.7" cx="337.5" cy="316.8690627500001" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
45
45
  orientation: x+" data-x="15.12" data-y="15.5" cx="549.5999999999999" cy="120.86906275000001" 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[
46
46
  document.currentScript.parentElement.addEventListener('mousemove', (e) => {
47
47
  const svg = e.currentTarget;
@@ -1,7 +1,7 @@
1
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="13.45,16 8.9,14.5" data-type="line" data-label="" points="439.8389477922427,115.96732009126299 97.87142665414046,228.70386552140667" fill="none" stroke="hsl(16, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="14.55,16 8.9,15.1" data-type="line" data-label="" points="522.5124144410149,115.96732009126299 97.87142665414046,183.6092473493493" fill="none" stroke="hsl(16, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="13.45,14 11.1,13.1" data-type="line" data-label="" points="439.8389477922427,266.28271399812115 263.2183599516844,333.92464125620734" fill="none" stroke="hsl(160, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="8.9,15.1 8.9,14.7" data-type="line" data-label="" points="97.87142665414046,183.6092473493493 97.87142665414046,213.67232613072088" 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="97.87142665414046,183.6092473493493 263.2183599516844,318.89310186552143" 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 14.55,14" data-type="line" data-label="" points="97.87142665414046,183.6092473493493 522.5124144410149,266.28271399812115" 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 14.55,16" data-type="line" data-label="" points="97.87142665414046,183.6092473493493 522.5124144410149,115.96732009126299" 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="97.87142665414046,213.67232613072088 263.2183599516844,318.89310186552143" 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 14.55,14" data-type="line" data-label="" points="97.87142665414046,213.67232613072088 522.5124144410149,266.28271399812115" 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 14.55,16" data-type="line" data-label="" points="97.87142665414046,213.67232613072088 522.5124144410149,115.96732009126299" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="11.1,13.3 14.55,14" data-type="line" data-label="" points="263.2183599516844,318.89310186552143 522.5124144410149,266.28271399812115" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="11.1,13.3 14.55,16" data-type="line" data-label="" points="263.2183599516844,318.89310186552143 522.5124144410149,115.96732009126299" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="14.55,14 14.55,16" data-type="line" data-label="" points="522.5124144410149,266.28271399812115 522.5124144410149,115.96732009126299" 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="97.87142665414046,198.64078674003486 97.87142665414046,228.70386552140667" 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="97.87142665414046,198.64078674003486 263.2183599516844,363.98772003757904" 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.14,10" data-type="line" data-label="" points="97.87142665414046,198.64078674003486 416.54006173667983,566.9135018118375" 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.45,16" data-type="line" data-label="" points="97.87142665414046,198.64078674003486 439.8389477922427,115.96732009126299" 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="97.87142665414046,228.70386552140667 263.2183599516844,363.98772003757904" 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.14,10" data-type="line" data-label="" points="97.87142665414046,228.70386552140667 416.54006173667983,566.9135018118375" 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.45,16" data-type="line" data-label="" points="97.87142665414046,228.70386552140667 439.8389477922427,115.96732009126299" 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.14,10" data-type="line" data-label="" points="263.2183599516844,363.98772003757904 416.54006173667983,566.9135018118375" 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.45,16" data-type="line" data-label="" points="263.2183599516844,363.98772003757904 439.8389477922427,115.96732009126299" fill="none" stroke="hsl(23, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="13.14,10 13.45,16" data-type="line" data-label="" points="416.54006173667983,566.9135018118375 439.8389477922427,115.96732009126299" 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.86,10" data-type="line" data-label="" points="263.2183599516844,153.54616856797747 545.8113004965778,566.9135018118375" fill="none" stroke="hsl(50, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="8.9,14.5 8.600000000000001,14.5 8.600000000000001,14.9 8.9,14.9" data-type="line" data-label="" points="97.87142665414046,228.70386552140667 75.32411756811189,228.70386552140667 75.32411756811189,198.64078674003486 97.87142665414046,198.64078674003486" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="14.55,16 14.75,16 14.75,14 14.55,14" data-type="line" data-label="" points="522.5124144410149,115.96732009126299 537.5439538317005,115.96732009126299 537.5439538317005,266.28271399812115 522.5124144410149,266.28271399812115" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="8.9,14.7 8.8,14.7 8.8,15.1 8.9,15.1" data-type="line" data-label="" points="97.87142665414046,213.67232613072088 90.35565695879757,213.67232613072088 90.35565695879757,183.6092473493493 97.87142665414046,183.6092473493493" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="13.45,16 12.274999999999999,16 12.274999999999999,13.299999999999999 13.630999999999998,13.299999999999999 13.630999999999998,12.9 12.274999999999999,12.9 12.274999999999999,12.7 11.1,12.7" data-type="line" data-label="" points="439.8389477922427,115.96732009126299 351.52865387196346,115.96732009126299 351.52865387196346,318.89310186552154 453.4424909408133,318.89310186552154 453.4424909408133,348.95618064689313 351.52865387196346,348.95618064689313 351.52865387196346,363.98772003757904 263.2183599516844,363.98772003757904" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="14.75,14 15.010000000000002,14" data-type="line" data-label="" points="537.5439538317005,266.28271399812115 557.0849550395922,266.28271399812115" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="11.1,13.3 11.2,13.3 11.2,13.280000000000001 13.860999999999999,13.280000000000001 13.860999999999999,12.799000000000001" data-type="line" data-label="" points="263.2183599516844,318.89310186552143 270.7341296470273,318.89310186552143 270.7341296470273,320.39625580459006 470.72876124010213,320.39625580459006 470.72876124010213,356.5471080391894" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="8.600000000000001,14.5 8.34,14.5 8.34,14.501" data-type="line" data-label="" points="75.32411756811189,228.70386552140667 55.783116360220106,228.70386552140667 55.783116360220106,228.62870782445316" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="13.14,10 12.929,10 12.929,10.401" data-type="line" data-label="" points="416.54006173667983,566.9135018118375 400.6817876795062,566.9135018118375 400.6817876795062,536.7752653335124" 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="97.87142665414046" y="138.51462917729174" width="165.34693329754396" height="255.53616964165883" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="14" data-y="14" x="439.83894779224266" y="219.68494188699515" width="82.6734666487722" height="93.19554422225201" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="14" data-y="10" x="416.5400617366798" y="537.6429346396459" width="129.27123875989798" height="58.54113434438318" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="14" data-y="16" x="439.83894779224266" y="69.36954798013699" width="82.6734666487722" height="93.19554422225201" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="ATMEGA328P_AU" data-x="10.080000000000002" data-y="12.17" x="127.93450543551216" y="397.05710669708776" width="117.24600724734955" height="13.528385451617169" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="U_MCU" data-x="9.600000000000001" data-y="15.83" x="127.93450543551222" y="121.97993584753738" width="45.094618172057494" height="13.528385451617169" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="netId: GND
2
2
  globalConnNetId: connectivity_net1" data-x="15.010000000000002" data-y="13.76" x="541.301838679372" y="266.2827139981212" width="31.566232720440212" height="36.07569453764597" fill="#00000066" stroke="#000000" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="netId: GND
3
3
  globalConnNetId: connectivity_net1" data-x="13.860999999999999" data-y="12.559000000000001" x="454.945644879882" y="356.54710803918937" width="31.566232720440212" height="36.07569453764597" fill="#00000066" stroke="#000000" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="netId: VCC_3V3
4
- globalConnNetId: connectivity_net0" data-x="12.862499999999999" data-y="16.48" x="379.9006844718829" y="43.81593101597093" width="31.566232720440325" height="72.15138907529195" fill="#ef444466" stroke="#ef4444" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="netId: VCC_3V3
4
+ globalConnNetId: connectivity_net0" data-x="12.274999999999999" data-y="16.48" x="335.7455375117433" y="43.81593101597093" width="31.566232720440325" height="72.15138907529195" fill="#ef444466" stroke="#ef4444" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="netId: VCC_3V3
5
5
  globalConnNetId: connectivity_net0" data-x="8.34" data-y="14.981" x="39.99999999999994" y="156.47731874916133" width="31.566232720440325" height="72.15138907529195" fill="#ef444466" stroke="#ef4444" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="netId: VCC_3V3
6
6
  globalConnNetId: connectivity_net0" data-x="12.929" data-y="10.881" x="384.89867131928605" y="464.62387625822043" width="31.566232720440325" height="72.15138907529195" fill="#ef444466" stroke="#ef4444" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="netId: X_IN1
7
7
  globalConnNetId: connectivity_net3" data-x="8.539000000000001" data-y="13.9" x="43.68272715071822" y="266.28271399812115" width="54.11354180646879" height="15.031539390685793" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.013305357142857141"/></g><g><rect data-type="rect" data-label="netId: X_IN2
@@ -57,7 +57,7 @@ x-" data-x="13.45" data-y="16" cx="439.8389477922427" cy="115.96732009126299" r=
57
57
  x+" data-x="14.55" data-y="16" cx="522.5124144410149" cy="115.96732009126299" r="3" fill="hsl(64, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
58
58
  orientation: y-" data-x="15.010000000000002" data-y="14" cx="557.0849550395922" cy="266.28271399812115" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
59
59
  orientation: y-" data-x="13.860999999999999" data-y="12.799000000000001" cx="470.72876124010213" cy="356.5471080391894" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
60
- orientation: y+" data-x="12.862499999999999" data-y="16" cx="395.6838008321031" cy="115.96732009126299" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
60
+ orientation: y+" data-x="12.274999999999999" data-y="16" cx="351.52865387196346" cy="115.96732009126299" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
61
61
  orientation: y+" data-x="8.34" data-y="14.501" cx="55.783116360220106" cy="228.62870782445316" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
62
62
  orientation: y+" data-x="12.929" data-y="10.401" cx="400.6817876795062" cy="536.7752653335124" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
63
63
  orientation: x-" data-x="8.9" data-y="13.9" cx="97.87142665414046" cy="273.79848369346405" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
@@ -2,7 +2,7 @@
2
2
  globalConnNetId: connectivity_net1" data-x="-2.7249999999999996" data-y="-1.875" x="336.49869834590027" y="373.3212918006251" width="6.463186884924255" height="14.54217049107956" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.03094448660714286"/></g><g><rect data-type="rect" data-label="netId: J3.pin6 to U1.CE
3
3
  globalConnNetId: connectivity_net3" data-x="-6.49" data-y="-3.975" x="214.8292052372011" y="441.1847540923298" width="6.463186884924227" height="14.54217049107956" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.03094448660714286"/></g><g><rect data-type="rect" data-label="netId: R1.pin1 to U1.ILIM
4
4
  globalConnNetId: connectivity_net0" data-x="-1.9500000000000002" data-y="0.1750000000000001" x="361.5435475249817" y="307.0736262301515" width="6.463186884924255" height="14.54217049107956" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.03094448660714286"/></g><g><rect data-type="rect" data-label="netId: GND
5
- globalConnNetId: connectivity_net5" data-x="-3" data-y="-4.38" x="323.08758555968234" y="454.7574465506707" width="15.51164852381828" height="13.572692458340953" fill="#00000066" stroke="#000000" stroke-width="0.03094448660714286"/></g><g><rect data-type="rect" data-label="netId: VREF
5
+ globalConnNetId: connectivity_net5" data-x="-3.27" data-y="-4.38" x="314.36228326503465" y="454.7574465506707" width="15.511648523818167" height="13.572692458340953" fill="#00000066" stroke="#000000" stroke-width="0.03094448660714286"/></g><g><rect data-type="rect" data-label="netId: VREF
6
6
  globalConnNetId: connectivity_net6" data-x="-5.8" data-y="-1.6400000000000003" x="230.66401310526552" y="366.21178622720845" width="19.389560654772765" height="13.572692458340896" fill="#ef444466" stroke="#ef4444" stroke-width="0.03094448660714286"/></g><g><rect data-type="rect" data-label="netId: R5.pin1 to L1.pin2
7
7
  globalConnNetId: connectivity_net4" data-x="-4.65" data-y="-0.22399999999999995" x="274.29052457850423" y="319.9676840655754" width="6.463186884924255" height="14.54217049107956" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.03094448660714286"/></g><g><rect data-type="rect" data-label="netId: R5.pin1 to L1.pin2
8
8
  globalConnNetId: connectivity_net4" data-x="5.1039125" data-y="3.24737545" x="585.4578295089203" y="211.82643446321288" width="14.54217049107956" height="6.463186884924255" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.03094448660714286"/></g><g><circle data-type="point" data-label="schematic_port_0
@@ -52,7 +52,7 @@ x+" data-x="4.8779125" data-y="3.24737545" cx="585.4255135744958" cy="215.058027
52
52
  orientation: y+" data-x="-2.7249999999999996" data-y="-2.1" cx="339.73029178836236" cy="387.86346229170465" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
53
53
  orientation: y-" data-x="-6.49" data-y="-3.75" cx="218.0607986796632" cy="441.1847540923298" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
54
54
  orientation: y+" data-x="-1.9500000000000002" data-y="-0.04999999999999989" cx="364.7751409674438" cy="321.61579672123105" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
55
- orientation: y-" data-x="-3" data-y="-4.17" cx="330.8434098215915" cy="454.7574465506707" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
55
+ orientation: y-" data-x="-3.27" data-y="-4.17" cx="322.11810752694373" cy="454.7574465506707" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
56
56
  orientation: y+" data-x="-5.8" data-y="-1.8500000000000003" cx="240.3587934326519" cy="379.78447868554935" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
57
57
  orientation: y+" data-x="-4.65" data-y="-0.44999999999999996" cx="277.52211802096633" cy="334.54217049107956" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
58
58
  orientation: x+" data-x="4.8779125" data-y="3.24737545" cx="585.4255135744958" cy="215.058027905675" 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,20 +1,20 @@
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="11,8.399999999999999 9.1,6.8" data-type="line" data-label="" points="325.73834536676304,143.29021660173612 107.68122142976449,326.91726833815574" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="11,9 12.03,5.3500000000000005" data-type="line" data-label="" points="325.73834536676304,74.43007220057848 443.94825992208325,493.3292839742861" fill="none" stroke="hsl(87, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="9.700000000000001,6.8 8.93,5.3500000000000005" data-type="line" data-label="" points="176.54136583092213,326.91726833815574 88.17084718276988,493.3292839742861" fill="none" stroke="hsl(56, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="9.870000000000001,5.3500000000000005 12.97,5.3500000000000005" data-type="line" data-label="" points="196.05174007791675,493.3292839742861 551.8291528172301,493.3292839742861" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="9.700000000000001,6.8 9.900000000000002,6.8 9.900000000000002,6.075 8.73,6.075 8.73,5.3500000000000005 8.93,5.3500000000000005" data-type="line" data-label="" points="176.54136583092213,326.91726833815574 199.49474729797475,326.91726833815574 199.49474729797475,410.123276156221 65.2174657157176,410.123276156221 65.2174657157176,493.3292839742861 88.17084718276988,493.3292839742861" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="11,8.399999999999999 11,7.6 8.9,7.6 8.9,6.8 9.1,6.8" data-type="line" data-label="" points="325.73834536676304,143.29021660173612 325.73834536676304,235.10374246994593 84.72783996271221,235.10374246994593 84.72783996271221,326.91726833815574 107.68122142976449,326.91726833815574" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="11,9 11,9.2 11.84,9.2 11.84,5.3500000000000005 12.03,5.3500000000000005" data-type="line" data-label="" points="325.73834536676304,74.43007220057848 325.73834536676304,51.476690733526084 422.1425475283834,51.476690733526084 422.1425475283834,493.3292839742861 443.94825992208325,493.3292839742861" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="9.870000000000001,5.3500000000000005 10.07,5.3500000000000005 10.07,4.840544650000001 13.17,4.840544650000001 13.17,5.3500000000000005 12.97,5.3500000000000005" data-type="line" data-label="" points="196.05174007791675,493.3292839742861 219.00512154496914,493.3292839742861 219.00512154496914,551.7978989191897 574.7825342842825,551.7978989191897 574.7825342842825,493.3292839742861 551.8291528172301,493.3292839742861" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="11.095" data-y="8.7" x="274.0932370658952" y="74.43007220057848" width="125.09592899543577" height="68.86014440115764" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008713313124999997"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="9.4" data-y="6.8" x="107.6812214297646" y="287.89651984416656" width="68.86014440115764" height="78.04149698797835" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008713313124999997"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="9.4" data-y="5.4" x="88.17084718276999" y="446.3373597629089" width="107.88089289514687" height="82.50715768922839" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008713313124999997"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="12.5" data-y="5.4" x="443.94825992208314" y="446.3373597629089" width="107.88089289514687" height="82.50715768922839" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008713313124999997"/></g><g><rect data-type="rect" data-label="netId: V3V3
2
- globalConnNetId: connectivity_net0" data-x="9.95" data-y="7.81" x="170.80302046415875" y="186.9016413891357" width="68.86014440115764" height="48.202101080810166" fill="#ef444466" stroke="#ef4444" stroke-width="0.008713313124999997"/></g><g><rect data-type="rect" data-label="netId: RESET
3
- globalConnNetId: connectivity_net1" data-x="10.64" data-y="9.2" x="243.1061720853744" y="39.999999999999886" width="82.63217328138876" height="22.953381467052395" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008713313124999997"/></g><g><rect data-type="rect" data-label="netId: USBOOT
4
- globalConnNetId: connectivity_net2" data-x="10.320000000000002" data-y="6.8" x="199.49474729797487" y="315.44057760462954" width="96.40420216162033" height="22.953381467052395" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008713313124999997"/></g><g><rect data-type="rect" data-label="netId: GND
5
- globalConnNetId: connectivity_net3" data-x="10.07" data-y="4.630544650000001" x="191.46106378450622" y="551.7978989191897" width="55.08811552092584" height="48.20210108081028" fill="#00000066" stroke="#000000" stroke-width="0.008713313124999997"/></g><g><circle data-type="point" data-label="R3.1
6
- y-" data-x="11" data-y="8.399999999999999" cx="325.73834536676304" cy="143.29021660173612" r="3" fill="hsl(348, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R3.2
7
- y+" data-x="11" data-y="9" cx="325.73834536676304" cy="74.43007220057848" r="3" fill="hsl(349, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R2.1
8
- x-" data-x="9.1" data-y="6.8" cx="107.68122142976449" cy="326.91726833815574" r="3" fill="hsl(107, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R2.2
9
- x+" data-x="9.700000000000001" data-y="6.8" cx="176.54136583092213" cy="326.91726833815574" r="3" fill="hsl(108, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="SW3.1
10
- x-" data-x="8.93" data-y="5.3500000000000005" cx="88.17084718276988" cy="493.3292839742861" r="3" fill="hsl(226, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="SW3.2
11
- x+" data-x="9.870000000000001" data-y="5.3500000000000005" cx="196.05174007791675" cy="493.3292839742861" r="3" fill="hsl(227, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="SW2.1
12
- x-" data-x="12.03" data-y="5.3500000000000005" cx="443.94825992208325" cy="493.3292839742861" r="3" fill="hsl(345, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="SW2.2
13
- x+" data-x="12.97" data-y="5.3500000000000005" cx="551.8291528172301" cy="493.3292839742861" r="3" fill="hsl(346, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
14
- orientation: y+" data-x="9.95" data-y="7.6" cx="205.23309266473757" cy="235.10374246994593" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
15
- orientation: x-" data-x="11" data-y="9.2" cx="325.73834536676304" cy="51.476690733526084" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
16
- orientation: x+" data-x="9.900000000000002" data-y="6.8" cx="199.49474729797475" cy="326.91726833815574" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
17
- orientation: y-" data-x="10.07" data-y="4.840544650000001" cx="219.00512154496914" cy="551.7978989191897" 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="11,8.399999999999999 9.1,6.8" data-type="line" data-label="" points="333.1981943435551,143.29021660173612 115.14107040655654,326.91726833815574" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="11,9 12.03,5.3500000000000005" data-type="line" data-label="" points="333.1981943435551,74.43007220057848 451.4081088988753,493.3292839742861" fill="none" stroke="hsl(87, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="9.700000000000001,6.8 8.93,5.3500000000000005" data-type="line" data-label="" points="184.00121480771418,326.91726833815574 95.63069615956192,493.3292839742861" fill="none" stroke="hsl(56, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="9.870000000000001,5.3500000000000005 12.97,5.3500000000000005" data-type="line" data-label="" points="203.5115890547088,493.3292839742861 559.2890017940222,493.3292839742861" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="9.700000000000001,6.8 9.900000000000002,6.8 9.900000000000002,6.075 8.73,6.075 8.73,5.3500000000000005 8.93,5.3500000000000005" data-type="line" data-label="" points="184.00121480771418,326.91726833815574 206.9545962747668,326.91726833815574 206.9545962747668,410.123276156221 72.67731469250964,410.123276156221 72.67731469250964,493.3292839742861 95.63069615956192,493.3292839742861" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="11,8.399999999999999 11,7.6 8.9,7.6 8.9,6.8 9.1,6.8" data-type="line" data-label="" points="333.1981943435551,143.29021660173612 333.1981943435551,235.10374246994593 92.18768893950426,235.10374246994593 92.18768893950426,326.91726833815574 115.14107040655654,326.91726833815574" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="11,9 11,9.2 11.84,9.2 11.84,5.3500000000000005 12.03,5.3500000000000005" data-type="line" data-label="" points="333.1981943435551,74.43007220057848 333.1981943435551,51.476690733526084 429.6023965051754,51.476690733526084 429.6023965051754,493.3292839742861 451.4081088988753,493.3292839742861" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="9.870000000000001,5.3500000000000005 10.07,5.3500000000000005 10.07,4.840544650000001 13.17,4.840544650000001 13.17,5.3500000000000005 12.97,5.3500000000000005" data-type="line" data-label="" points="203.5115890547088,493.3292839742861 226.4649705217612,493.3292839742861 226.4649705217612,551.7978989191897 582.2423832610746,551.7978989191897 582.2423832610746,493.3292839742861 559.2890017940222,493.3292839742861" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="11.095" data-y="8.7" x="281.55308604268726" y="74.43007220057848" width="125.09592899543577" height="68.86014440115764" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008713313124999997"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="9.4" data-y="6.8" x="115.14107040655665" y="287.89651984416656" width="68.86014440115764" height="78.04149698797835" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008713313124999997"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="9.4" data-y="5.4" x="95.63069615956204" y="446.3373597629089" width="107.88089289514687" height="82.50715768922839" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008713313124999997"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="12.5" data-y="5.4" x="451.4081088988752" y="446.3373597629089" width="107.88089289514687" height="82.50715768922839" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008713313124999997"/></g><g><rect data-type="rect" data-label="netId: V3V3
2
+ globalConnNetId: connectivity_net0" data-x="8.9" data-y="7.81" x="57.757616738925435" y="186.9016413891357" width="68.86014440115764" height="48.202101080810166" fill="#ef444466" stroke="#ef4444" stroke-width="0.008713313124999997"/></g><g><rect data-type="rect" data-label="netId: RESET
3
+ globalConnNetId: connectivity_net1" data-x="10.64" data-y="9.2" x="250.56602106216644" y="39.999999999999886" width="82.63217328138876" height="22.953381467052395" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008713313124999997"/></g><g><rect data-type="rect" data-label="netId: USBOOT
4
+ globalConnNetId: connectivity_net2" data-x="10.320000000000002" data-y="6.8" x="206.9545962747669" y="315.44057760462954" width="96.40420216162033" height="22.953381467052395" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008713313124999997"/></g><g><rect data-type="rect" data-label="netId: GND
5
+ globalConnNetId: connectivity_net3" data-x="10.07" data-y="4.630544650000001" x="198.92091276129827" y="551.7978989191897" width="55.08811552092584" height="48.20210108081028" fill="#00000066" stroke="#000000" stroke-width="0.008713313124999997"/></g><g><circle data-type="point" data-label="R3.1
6
+ y-" data-x="11" data-y="8.399999999999999" cx="333.1981943435551" cy="143.29021660173612" r="3" fill="hsl(348, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R3.2
7
+ y+" data-x="11" data-y="9" cx="333.1981943435551" cy="74.43007220057848" r="3" fill="hsl(349, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R2.1
8
+ x-" data-x="9.1" data-y="6.8" cx="115.14107040655654" cy="326.91726833815574" r="3" fill="hsl(107, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R2.2
9
+ x+" data-x="9.700000000000001" data-y="6.8" cx="184.00121480771418" cy="326.91726833815574" r="3" fill="hsl(108, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="SW3.1
10
+ x-" data-x="8.93" data-y="5.3500000000000005" cx="95.63069615956192" cy="493.3292839742861" r="3" fill="hsl(226, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="SW3.2
11
+ x+" data-x="9.870000000000001" data-y="5.3500000000000005" cx="203.5115890547088" cy="493.3292839742861" r="3" fill="hsl(227, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="SW2.1
12
+ x-" data-x="12.03" data-y="5.3500000000000005" cx="451.4081088988753" cy="493.3292839742861" r="3" fill="hsl(345, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="SW2.2
13
+ x+" data-x="12.97" data-y="5.3500000000000005" cx="559.2890017940222" cy="493.3292839742861" r="3" fill="hsl(346, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
14
+ orientation: y+" data-x="8.9" data-y="7.6" cx="92.18768893950426" cy="235.10374246994593" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
15
+ orientation: x-" data-x="11" data-y="9.2" cx="333.1981943435551" cy="51.476690733526084" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
16
+ orientation: x+" data-x="9.900000000000002" data-y="6.8" cx="206.9545962747668" cy="326.91726833815574" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
17
+ orientation: y-" data-x="10.07" data-y="4.840544650000001" cx="226.4649705217612" cy="551.7978989191897" 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[
18
18
  document.currentScript.parentElement.addEventListener('mousemove', (e) => {
19
19
  const svg = e.currentTarget;
20
20
  const rect = svg.getBoundingClientRect();
@@ -36,7 +36,7 @@ orientation: y-" data-x="10.07" data-y="4.840544650000001" cx="219.0051215449691
36
36
  v.setAttribute('y2', '640');
37
37
 
38
38
  // Calculate real coordinates using inverse transformation
39
- const matrix = {"a":114.76690733526237,"c":0,"e":-936.697635321123,"b":0,"d":-114.76690733526237,"f":1107.33223821794};
39
+ const matrix = {"a":114.76690733526237,"c":0,"e":-929.237786344331,"b":0,"d":-114.76690733526237,"f":1107.33223821794};
40
40
  // Manually invert and apply the affine transform
41
41
  // Since we only use translate and scale, we can directly compute:
42
42
  // x' = (x - tx) / sx
@@ -1,6 +1,6 @@
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.475,2.9699999999999998 -2.38,3" data-type="line" data-label="" points="86.20462046204614,228.4378437843784 408.86688668866884,223.8173817381737" fill="none" stroke="hsl(192, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.5250000000000004,2.9699999999999998 -2.7,1.5" data-type="line" data-label="" points="232.5192519251924,228.4378437843784 359.5819581958195,454.8404840484048" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.62,3 -3.3,1.5" data-type="line" data-label="" points="525.9185918591859,223.8173817381737 267.17271727172715,454.8404840484048" fill="none" stroke="hsl(190, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.5250000000000004,2.9699999999999998 -2.5,2.9699999999999998 -2.5,1.5 -2.7,1.5" data-type="line" data-label="" points="232.5192519251924,228.4378437843784 390.38503850385035,228.4378437843784 390.38503850385035,454.8404840484048 359.5819581958195,454.8404840484048" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-4.475,2.9699999999999998 -4.675,2.9699999999999998 -4.675,3.45 -2.58,3.45 -2.58,3 -2.38,3" data-type="line" data-label="" points="86.20462046204614,228.4378437843784 55.401540154015265,228.4378437843784 55.401540154015265,154.51045104510433 378.063806380638,154.51045104510433 378.063806380638,223.8173817381737 408.86688668866884,223.8173817381737" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.62,3 -1.3790000000000002,3 -1.3790000000000002,3.251" data-type="line" data-label="" points="525.9185918591859,223.8173817381737 563.036303630363,223.8173817381737 563.036303630363,185.1595159515951" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.3,1.5 -3.541,1.5 -3.541,1.9509999999999998" data-type="line" data-label="" points="267.17271727172715,454.8404840484048 230.05500550055,454.8404840484048 230.05500550055,385.37953795379536" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-4" data-y="3" x="86.20462046204614" y="201.48514851485137" width="146.31463146314627" height="44.66446644664467" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.006492857142857141"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-2" data-y="3" x="408.86688668866884" y="185.31353135313518" width="117.05170517051704" height="77.00770077007707" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.006492857142857141"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="-3" data-y="1.5" x="267.17271727172715" y="390.15401540154005" width="92.40924092409233" height="129.37293729372942" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.006492857142857141"/></g><g><rect data-type="rect" data-label="netId: .B1 &gt; .pin1 to .SW1 &gt; .pin1
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.475,2.9699999999999998 -2.38,3" data-type="line" data-label="" points="86.20462046204614,228.4378437843784 408.86688668866884,223.8173817381737" fill="none" stroke="hsl(192, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.5250000000000004,2.9699999999999998 -2.7,1.5" data-type="line" data-label="" points="232.5192519251924,228.4378437843784 359.5819581958195,454.8404840484048" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.62,3 -3.3,1.5" data-type="line" data-label="" points="525.9185918591859,223.8173817381737 267.17271727172715,454.8404840484048" fill="none" stroke="hsl(190, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.5250000000000004,2.9699999999999998 -2.46,2.9699999999999998 -2.46,1.5 -2.7,1.5" data-type="line" data-label="" points="232.5192519251924,228.4378437843784 396.5456545654565,228.4378437843784 396.5456545654565,454.8404840484048 359.5819581958195,454.8404840484048" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-4.475,2.9699999999999998 -4.675,2.9699999999999998 -4.675,3.45 -2.58,3.45 -2.58,3 -2.38,3" data-type="line" data-label="" points="86.20462046204614,228.4378437843784 55.401540154015265,228.4378437843784 55.401540154015265,154.51045104510433 378.063806380638,154.51045104510433 378.063806380638,223.8173817381737 408.86688668866884,223.8173817381737" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.62,3 -1.3790000000000002,3 -1.3790000000000002,3.251" data-type="line" data-label="" points="525.9185918591859,223.8173817381737 563.036303630363,223.8173817381737 563.036303630363,185.1595159515951" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.3,1.5 -3.541,1.5 -3.541,1.9509999999999998" data-type="line" data-label="" points="267.17271727172715,454.8404840484048 230.05500550055,454.8404840484048 230.05500550055,385.37953795379536" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-4" data-y="3" x="86.20462046204614" y="201.48514851485137" width="146.31463146314627" height="44.66446644664467" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.006492857142857141"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-2" data-y="3" x="408.86688668866884" y="185.31353135313518" width="117.05170517051704" height="77.00770077007707" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.006492857142857141"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="-3" data-y="1.5" x="267.17271727172715" y="390.15401540154005" width="92.40924092409233" height="129.37293729372942" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.006492857142857141"/></g><g><rect data-type="rect" data-label="netId: .B1 &gt; .pin1 to .SW1 &gt; .pin1
2
2
  globalConnNetId: connectivity_net0" data-x="-4.675" data-y="2.7449999999999997" x="39.99999999999994" y="228.43784378437843" width="30.803080308030644" height="69.30693069306932" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.006492857142857141"/></g><g><rect data-type="rect" data-label="netId: GND
3
- globalConnNetId: connectivity_net1" data-x="-3.0125" data-y="2.76" x="274.4884488448844" y="228.4378437843784" width="73.92739273927401" height="64.68646864686468" fill="#00000066" stroke="#000000" stroke-width="0.006492857142857141"/></g><g><rect data-type="rect" data-label="netId: VCC
3
+ globalConnNetId: connectivity_net1" data-x="-2.46" data-y="1.29" x="359.58195819581954" y="454.84048404840473" width="73.92739273927401" height="64.68646864686474" fill="#00000066" stroke="#000000" stroke-width="0.006492857142857141"/></g><g><rect data-type="rect" data-label="netId: VCC
4
4
  globalConnNetId: connectivity_net2" data-x="-1.3790000000000002" data-y="3.461" x="526.072607260726" y="120.47304730473039" width="73.92739273927396" height="64.68646864686474" fill="#ef444466" stroke="#ef4444" stroke-width="0.006492857142857141"/></g><g><rect data-type="rect" data-label="netId: VCC
5
5
  globalConnNetId: connectivity_net2" data-x="-3.541" data-y="2.161" x="193.09130913091306" y="320.6930693069306" width="73.9273927392739" height="64.68646864686468" fill="#ef444466" stroke="#ef4444" stroke-width="0.006492857142857141"/></g><g><circle data-type="point" data-label="B1.1
6
6
  x-" data-x="-4.475" data-y="2.9699999999999998" cx="86.20462046204614" cy="228.4378437843784" r="3" fill="hsl(210, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="B1.2
@@ -10,7 +10,7 @@ x+" data-x="-1.62" data-y="3" cx="525.9185918591859" cy="223.8173817381737" r="3
10
10
  x-" data-x="-3.3" data-y="1.5" cx="267.17271727172715" cy="454.8404840484048" r="3" fill="hsl(243, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="C3.2
11
11
  x+" data-x="-2.7" data-y="1.5" cx="359.5819581958195" cy="454.8404840484048" r="3" fill="hsl(244, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
12
12
  orientation: y-" data-x="-4.675" data-y="2.9699999999999998" cx="55.401540154015265" cy="228.4378437843784" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
13
- orientation: y-" data-x="-3.0125" data-y="2.9699999999999998" cx="311.45214521452135" cy="228.4378437843784" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
13
+ orientation: y-" data-x="-2.46" data-y="1.5" cx="396.5456545654565" cy="454.8404840484048" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
14
14
  orientation: y+" data-x="-1.3790000000000002" data-y="3.251" cx="563.036303630363" cy="185.1595159515951" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
15
15
  orientation: y+" data-x="-3.541" data-y="1.9509999999999998" cx="230.05500550055" cy="385.37953795379536" 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[
16
16
  document.currentScript.parentElement.addEventListener('mousemove', (e) => {