@tscircuit/schematic-trace-solver 0.0.178 → 0.0.180

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 (21) hide show
  1. package/dist/index.d.ts +8 -2
  2. package/dist/index.js +109 -4
  3. package/lib/solvers/AvailableNetOrientationSolver/AvailableNetOrientationSolver.ts +141 -6
  4. package/lib/solvers/AvailableNetOrientationSolver/traces.ts +36 -0
  5. package/lib/solvers/AvailableNetOrientationSolver/types.ts +1 -0
  6. package/package.json +1 -1
  7. package/site/bug-reports/bug-report-20260902T092101Z.page.tsx +4 -0
  8. package/site/bug-reports/bug-report-20260902T092425Z.page.tsx +4 -0
  9. package/tests/bug-reports/bug-report-20260902T092101Z/__snapshots__/bug-report-20260902T092101Z.snap.svg +117 -0
  10. package/tests/bug-reports/bug-report-20260902T092101Z/bug-report-20260902T092101Z.json +162 -0
  11. package/tests/bug-reports/bug-report-20260902T092101Z/bug-report-20260902T092101Z.test.ts +28 -0
  12. package/tests/bug-reports/bug-report-20260902T092425Z/__snapshots__/bug-report-20260902T092425Z.snap.svg +136 -0
  13. package/tests/bug-reports/bug-report-20260902T092425Z/bug-report-20260902T092425Z.json +238 -0
  14. package/tests/bug-reports/bug-report-20260902T092425Z/bug-report-20260902T092425Z.test.ts +12 -0
  15. package/tests/repros/__snapshots__/repro-hub-usb-sheet.snap.svg +545 -0
  16. package/tests/repros/__snapshots__/repro-pmp11282-isolated-dcdc.snap.svg +10 -10
  17. package/tests/repros/__snapshots__/repro-smartwatch-power-sheet.snap.svg +4 -4
  18. package/tests/repros/assets/repro-hub-usb-sheet.input.json +3967 -0
  19. package/tests/repros/repro-battery-management-bq24073.test.ts +17 -0
  20. package/tests/repros/repro-hub-usb-sheet.test.ts +56 -0
  21. package/tests/repros/repro-smartwatch-power-sheet.test.ts +31 -5
@@ -0,0 +1,136 @@
1
+ <svg width="1200" height="2016" viewBox="0 0 1200 2016" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Solver debug visualization on top and Circuit JSON schematic on the bottom">
2
+ <g transform="translate(0, 0) scale(1.875, 1.875) translate(0, 0)">
3
+ <rect width="100%" height="100%" fill="white"/><g><polyline data-points="5,-0.11999999999999988 1.9,-0.2999999999999998" data-type="line" data-label="" points="452.60010678056597,333.1852642819007 267.2290443139348,343.94874532835024" fill="none" stroke="hsl(128, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="6.75,-0.11999999999999988 1.9,0.10000000000000009" data-type="line" data-label="" points="557.2450613988254,333.1852642819007 267.2290443139348,320.0298985584623" fill="none" stroke="hsl(128, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="1.9,-0.4999999999999998 1.9,1.0999999999999999" data-type="line" data-label="" points="267.2290443139348,355.9081687132942 267.2290443139348,260.23278163374266" fill="none" stroke="hsl(211, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.9,-0.2999999999999998 5,-0.11999999999999988" data-type="line" data-label="" points="267.2290443139348,343.94874532835024 452.60010678056597,333.1852642819007" fill="none" stroke="hsl(118, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.9,-0.09999999999999987 1.9,0.30000000000000004" data-type="line" data-label="" points="267.2290443139348,331.98932194340625 267.2290443139348,308.0704751735184" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.9,-0.09999999999999987 1.9,0.5" data-type="line" data-label="" points="267.2290443139348,331.98932194340625 267.2290443139348,296.11105178857446" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.9,-0.09999999999999987 5,-0.8800000000000001" data-type="line" data-label="" points="267.2290443139348,331.98932194340625 452.60010678056597,378.63107314468766" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.9,-0.09999999999999987 6.75,-0.8800000000000001" data-type="line" data-label="" points="267.2290443139348,331.98932194340625 557.2450613988254,378.63107314468766" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.9,0.30000000000000004 1.9,0.5" data-type="line" data-label="" points="267.2290443139348,308.0704751735184 267.2290443139348,296.11105178857446" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.9,0.30000000000000004 5,-0.8800000000000001" data-type="line" data-label="" points="267.2290443139348,308.0704751735184 452.60010678056597,378.63107314468766" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.9,0.30000000000000004 6.75,-0.8800000000000001" data-type="line" data-label="" points="267.2290443139348,308.0704751735184 557.2450613988254,378.63107314468766" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.9,0.5 5,-0.8800000000000001" data-type="line" data-label="" points="267.2290443139348,296.11105178857446 452.60010678056597,378.63107314468766" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.9,0.5 6.75,-0.8800000000000001" data-type="line" data-label="" points="267.2290443139348,296.11105178857446 557.2450613988254,378.63107314468766" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="5,-0.8800000000000001 6.75,-0.8800000000000001" data-type="line" data-label="" points="452.60010678056597,378.63107314468766 557.2450613988254,378.63107314468766" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.9,0.10000000000000009 6.75,-0.11999999999999988" data-type="line" data-label="" points="267.2290443139348,320.0298985584623 557.2450613988254,333.1852642819007" fill="none" stroke="hsl(117, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.9,0.5 2.421,0.5 2.421,0.30000000000000004 1.9,0.30000000000000004" data-type="line" data-label="" points="267.2290443139348,296.11105178857446 298.3833422317138,296.11105178857446 298.3833422317138,308.0704751735184 267.2290443139348,308.0704751735184" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="5,-0.8800000000000001 5,-1.0800000000000003 6.75,-1.0800000000000003 6.75,-0.8800000000000001" data-type="line" data-label="" points="452.60010678056597,378.63107314468766 452.60010678056597,390.5904965296316 557.2450613988254,390.5904965296316 557.2450613988254,378.63107314468766" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.9,0.30000000000000004 2.421,0.3000000000000001 2.421,-0.09999999999999992 1.9,-0.09999999999999987" data-type="line" data-label="" points="267.2290443139348,308.0704751735184 298.3833422317138,308.0704751735184 298.3833422317138,331.98932194340625 267.2290443139348,331.98932194340625" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.9,-0.4999999999999998 1.9,-0.5499999999999998 2.7509999999999994,-0.5499999999999998 2.7509999999999994,-0.09899999999999981" data-type="line" data-label="" points="267.2290443139348,355.9081687132942 267.2290443139348,358.89802455953014 318.1163908168713,358.89802455953014 318.1163908168713,331.92952482648155" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.9,1.0999999999999999 2.2009999999999996,1.0999999999999999 2.2009999999999996,1.5009999999999997" data-type="line" data-label="" points="267.2290443139348,260.23278163374266 285.22797650827545,260.23278163374266 285.22797650827545,236.25413774693004" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="0" data-y="0" x="40" y="236.3139348638548" width="227.22904431393482" height="179.39135077415906" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016723214285714286"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="5.1325" data-y="-0.5" x="425.69140416444213" y="333.1852642819007" width="69.66364121729839" height="45.445808862786976" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016723214285714286"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="6.8825" data-y="-0.5" x="530.3363587827016" y="333.1852642819007" width="69.66364121729839" height="45.445808862786976" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016723214285714286"/></g><g><rect data-type="rect" data-label="T113-S3" data-x="-1.08" data-y="-1.63" x="63.918846769887864" y="418.09717031500264" width="50.22957821676454" height="10.763481046449556" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.016723214285714286"/></g><g><rect data-type="rect" data-label="U3" data-x="-1.38" data-y="1.6150000000000002" x="60.33101975440467" y="221.962626801922" width="21.526962092899126" height="14.949279231179958" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.016723214285714286"/></g><g><rect data-type="rect" data-label="netId: P1V8
4
+ globalConnNetId: connectivity_net2" data-x="2.7509999999999994" data-y="0.11100000000000018" x="300.1772557394554" y="306.81473571809926" width="35.87827015483174" height="25.114789108382297" fill="#ef444466" stroke="#ef4444" stroke-width="0.016723214285714286"/></g><g><rect data-type="rect" data-label="netId: P1V8
5
+ globalConnNetId: connectivity_net2" data-x="2.2009999999999996" data-y="1.7109999999999996" x="267.2888414308595" y="211.1393486385478" width="35.87827015483185" height="25.11478910838224" fill="#ef444466" stroke="#ef4444" stroke-width="0.016723214285714286"/></g><g><rect data-type="rect" data-label="netId: AUDIO_VRA2
6
+ globalConnNetId: connectivity_net0" data-x="5" data-y="0.09100000000000011" x="413.134009610251" y="308.01067805659375" width="78.93219434062996" height="25.11478910838224" fill="#ef444466" stroke="#ef4444" stroke-width="0.016723214285714286"/></g><g><rect data-type="rect" data-label="netId: AUDIO_VRA2
7
+ globalConnNetId: connectivity_net0" data-x="2.1109999999999998" data-y="-0.2999999999999998" x="267.2888414308595" y="337.9690336358783" width="25.114789108382297" height="11.959423384943932" fill="#ef444466" stroke="#ef4444" stroke-width="0.016723214285714286"/></g><g><rect data-type="rect" data-label="netId: GND
8
+ globalConnNetId: connectivity_net3" data-x="2.421" data-y="-0.30999999999999994" x="284.0320341697811" y="331.98932194340625" width="28.70261612386537" height="25.11478910838224" fill="#00000066" stroke="#000000" stroke-width="0.016723214285714286"/></g><g><rect data-type="rect" data-label="netId: GND
9
+ globalConnNetId: connectivity_net3" data-x="5" data-y="-1.2900000000000003" x="438.2487987186332" y="390.5904965296316" width="28.702616123865482" height="25.114789108382297" fill="#00000066" stroke="#000000" stroke-width="0.016723214285714286"/></g><g><rect data-type="rect" data-label="netId: AUDIO_VRA1
10
+ globalConnNetId: connectivity_net1" data-x="6.75" data-y="0.09100000000000011" x="517.7789642285104" y="308.01067805659375" width="78.93219434062996" height="25.11478910838224" fill="#ef444466" stroke="#ef4444" stroke-width="0.016723214285714286"/></g><g><rect data-type="rect" data-label="netId: AUDIO_VRA1
11
+ globalConnNetId: connectivity_net1" data-x="2.1109999999999998" data-y="0.10000000000000009" x="267.2888414308595" y="314.0501868659903" width="25.114789108382297" height="11.959423384943932" fill="#ef444466" stroke="#ef4444" stroke-width="0.016723214285714286"/></g><g><circle data-type="point" data-label="PB2
12
+ x+" data-x="1.9" data-y="-1.0999999999999999" cx="267.2290443139348" cy="391.78643886812597" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="MICIN3P
13
+ x+" data-x="1.9" data-y="-0.8999999999999999" cx="267.2290443139348" cy="379.82701548318204" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="MICIN3N
14
+ x+" data-x="1.9" data-y="-0.6999999999999998" cx="267.2290443139348" cy="367.8675920982381" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="AVCC
15
+ x+" data-x="1.9" data-y="-0.4999999999999998" cx="267.2290443139348" cy="355.9081687132942" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="VRA2
16
+ x+" data-x="1.9" data-y="-0.2999999999999998" cx="267.2290443139348" cy="343.94874532835024" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="AGND
17
+ x+" data-x="1.9" data-y="-0.09999999999999987" cx="267.2290443139348" cy="331.98932194340625" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="VRA1
18
+ x+" data-x="1.9" data-y="0.10000000000000009" cx="267.2290443139348" cy="320.0298985584623" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="FMINR
19
+ x+" data-x="1.9" data-y="0.30000000000000004" cx="267.2290443139348" cy="308.0704751735184" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="FMINL
20
+ x+" data-x="1.9" data-y="0.5" cx="267.2290443139348" cy="296.11105178857446" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="LINEINR
21
+ x+" data-x="1.9" data-y="0.7" cx="267.2290443139348" cy="284.1516284036305" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="LINEINL
22
+ x+" data-x="1.9" data-y="0.8999999999999999" cx="267.2290443139348" cy="272.1922050186866" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="HPVCC
23
+ x+" data-x="1.9" data-y="1.0999999999999999" cx="267.2290443139348" cy="260.23278163374266" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="1
24
+ y+" data-x="5" data-y="-0.11999999999999988" cx="452.60010678056597" cy="333.1852642819007" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="2
25
+ y-" data-x="5" data-y="-0.8800000000000001" cx="452.60010678056597" cy="378.63107314468766" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="1
26
+ y+" data-x="6.75" data-y="-0.11999999999999988" cx="557.2450613988254" cy="333.1852642819007" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="2
27
+ y-" data-x="6.75" data-y="-0.8800000000000001" cx="557.2450613988254" cy="378.63107314468766" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
28
+ orientation: y+" data-x="2.7509999999999994" data-y="-0.09899999999999981" cx="318.1163908168713" cy="331.92952482648155" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
29
+ orientation: y+" data-x="2.2009999999999996" data-y="1.5009999999999997" cx="285.22797650827545" cy="236.25413774693004" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
30
+ orientation: y+" data-x="5" data-y="-0.11999999999999988" cx="452.60010678056597" cy="333.1852642819007" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
31
+ orientation: x+" data-x="1.9" data-y="-0.2999999999999998" cx="267.2290443139348" cy="343.94874532835024" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
32
+ orientation: y-" data-x="2.421" data-y="-0.09999999999999992" cx="298.3833422317138" cy="331.98932194340625" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
33
+ orientation: y-" data-x="5" data-y="-1.0800000000000003" cx="452.60010678056597" cy="390.5904965296316" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
34
+ orientation: y+" data-x="6.75" data-y="-0.11999999999999988" cx="557.2450613988254" cy="333.1852642819007" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
35
+ orientation: x+" data-x="1.9" data-y="0.10000000000000009" cx="267.2290443139348" cy="320.0298985584623" 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[
36
+ document.currentScript.parentElement.addEventListener('mousemove', (e) => {
37
+ const svg = e.currentTarget;
38
+ const rect = svg.getBoundingClientRect();
39
+ const x = e.clientX - rect.left;
40
+ const y = e.clientY - rect.top;
41
+ const crosshair = svg.getElementById('crosshair');
42
+ const h = svg.getElementById('crosshair-h');
43
+ const v = svg.getElementById('crosshair-v');
44
+ const coords = svg.getElementById('coordinates');
45
+
46
+ crosshair.style.display = 'block';
47
+ h.setAttribute('x1', '0');
48
+ h.setAttribute('x2', '640');
49
+ h.setAttribute('y1', y);
50
+ h.setAttribute('y2', y);
51
+ v.setAttribute('x1', x);
52
+ v.setAttribute('x2', x);
53
+ v.setAttribute('y1', '0');
54
+ v.setAttribute('y2', '640');
55
+
56
+ // Calculate real coordinates using inverse transformation
57
+ const matrix = {"a":59.7971169247197,"c":0,"e":153.6145221569674,"b":0,"d":-59.7971169247197,"f":326.0096102509343};
58
+ // Manually invert and apply the affine transform
59
+ // Since we only use translate and scale, we can directly compute:
60
+ // x' = (x - tx) / sx
61
+ // y' = (y - ty) / sy
62
+ const sx = matrix.a;
63
+ const sy = matrix.d;
64
+ const tx = matrix.e;
65
+ const ty = matrix.f;
66
+ const realPoint = {
67
+ x: (x - tx) / sx,
68
+ y: (y - ty) / sy // Flip y back since we used negative scale
69
+ }
70
+
71
+ coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
72
+ coords.setAttribute('x', (x + 5).toString());
73
+ coords.setAttribute('y', (y - 5).toString());
74
+ });
75
+ document.currentScript.parentElement.addEventListener('mouseleave', () => {
76
+ document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
77
+ });
78
+ ]]></script>
79
+ </g>
80
+ <g transform="translate(0, 1216)">
81
+ <style>
82
+ .boundary { fill: rgb(245, 241, 237); }
83
+ .schematic-boundary { fill: none; stroke: #fff; }
84
+ .component { fill: none; stroke: rgb(132, 0, 0); }
85
+ .chip { fill: rgb(255, 255, 194); stroke: rgb(132, 0, 0); }
86
+ .component-pin { fill: none; stroke: rgb(132, 0, 0); }
87
+ .text { font-family: sans-serif; fill: rgb(0, 150, 0); }
88
+ .pin-number { fill: rgb(169, 0, 0); }
89
+ .port-label { fill: rgb(0, 100, 100); }
90
+ .component-name { fill: rgb(0, 100, 100); }
91
+
92
+ </style><rect class="boundary" x="0" y="0" width="1200" height="800"/><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_0__stack1"><path d="M 484.71744471739 351.52432432435 L 546.1621621620981 351.52432432435 L 546.1621621620981 375.11154791157 L 484.71744471739 375.11154791157" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="18.869778869776002px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 484.71744471739 351.52432432435 L 546.1621621620981 351.52432432435 L 546.1621621620981 375.11154791157 L 484.71744471739 375.11154791157" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.3587223587220003px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_1__stack1"><path d="M 850.3194103193 514.276167076168 L 850.3194103193 537.863390663388 L 1056.7076167074752 537.863390663388 L 1056.7076167074752 514.276167076168" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="18.869778869776002px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 850.3194103193 514.276167076168 L 850.3194103193 537.863390663388 L 1056.7076167074752 537.863390663388 L 1056.7076167074752 514.276167076168" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.3587223587220003px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_2__stack1"><path d="M 484.71744471739 375.11154791157 L 546.1621621620981 375.11154791156997 L 546.1621621620981 422.28599508601 L 484.71744471739 422.28599508601" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="18.869778869776002px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 484.71744471739 375.11154791157 L 546.1621621620981 375.11154791156997 L 546.1621621620981 422.28599508601 L 484.71744471739 422.28599508601" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.3587223587220003px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_3__stack1"><path d="M 484.71744471739 469.46044226045 L 484.71744471739 475.35724815725496 L 585.081081081011 475.35724815725496 L 585.081081081011 422.16805896807386" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="18.869778869776002px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 484.71744471739 469.46044226045 L 484.71744471739 475.35724815725496 L 585.081081081011 475.35724815725496 L 585.081081081011 422.16805896807386" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.3587223587220003px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_4__stack1"><path d="M 484.71744471739 280.76265356269005 L 520.216216216156 280.76265356269005 L 520.216216216156 233.47027027031393" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="18.869778869776002px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 484.71744471739 280.76265356269005 L 520.216216216156 280.76265356269005 L 520.216216216156 233.47027027031393" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.3587223587220003px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_0__stack1"><circle cx="546.1621621620981" cy="375.11154791157" r="3.538083538083" class="trace-junction sch-trace-junction" fill="rgb(0, 150, 0)"/><circle cx="484.71744471739" cy="375.11154791157" r="3.538083538083" class="trace-junction sch-trace-junction" fill="rgb(0, 150, 0)"/></g><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_1__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_2__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_3__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_4__stack1"/><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_0__stack1"><rect class="component chip sch-component-body" x="83.73464373464998" y="233.58820638825" width="353.8083538083" height="353.8083538083" stroke-width="2.3587223587220003px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="83.73464373464998" y="233.58820638825" width="353.8083538083" height="353.8083538083" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="437.54299754295" y1="540.22211302211" x2="482.358722358668" y2="540.22211302211" stroke-width="2.3587223587220003px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="484.71744471739" cy="540.22211302211" r="2.3587223587220003" stroke-width="2.3587223587220003px"/><rect x="482.358722358668" y="537.8633906633879" width="4.717444717444001" height="4.717444717444001" opacity="0"/></g><text class="pin-number sch-pin-number" x="461.13022113016996" y="537.863390663388" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="17.690417690415px" transform=""></text><text class="pin-number sch-pin-label" x="425.74938574934" y="540.22211302211" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="17.690417690415px" transform="">PB2</text><line class="component-pin sch-component-pin sch-port-line" x1="437.54299754295" y1="516.63488943489" x2="482.358722358668" y2="516.63488943489" stroke-width="2.3587223587220003px"/><g class="sch-port" data-schematic-port-id="source_port_0_1__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="484.71744471739" cy="516.63488943489" r="2.3587223587220003" stroke-width="2.3587223587220003px"/><rect x="482.358722358668" y="514.276167076168" width="4.717444717444001" height="4.717444717444001" opacity="0"/></g><text class="pin-number sch-pin-number" x="461.13022113016996" y="514.276167076168" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="17.690417690415px" transform=""></text><text class="pin-number sch-pin-label" x="425.74938574934" y="516.63488943489" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="17.690417690415px" transform="">MICIN3P</text><line class="component-pin sch-component-pin sch-port-line" x1="437.54299754295" y1="493.04766584767" x2="482.358722358668" y2="493.04766584767" stroke-width="2.3587223587220003px"/><g class="sch-port" data-schematic-port-id="source_port_0_2__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="484.71744471739" cy="493.04766584767" r="2.3587223587220003" stroke-width="2.3587223587220003px"/><rect x="482.358722358668" y="490.688943488948" width="4.717444717444001" height="4.717444717444001" opacity="0"/></g><text class="pin-number sch-pin-number" x="461.13022113016996" y="490.688943488948" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="17.690417690415px" transform=""></text><text class="pin-number sch-pin-label" x="425.74938574934" y="493.04766584767" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="17.690417690415px" transform="">MICIN3N</text><line class="component-pin sch-component-pin sch-port-line" x1="437.54299754295" y1="469.46044226045" x2="484.71744471739" y2="469.46044226045" stroke-width="2.3587223587220003px"/><g class="sch-port" data-schematic-port-id="source_port_0_3__stack1"><rect x="482.358722358668" y="467.101719901728" width="4.717444717444001" height="4.717444717444001" opacity="0"/></g><text class="pin-number sch-pin-number" x="461.13022113016996" y="467.10171990172796" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="17.690417690415px" transform=""></text><text class="pin-number sch-pin-label" x="425.74938574934" y="469.46044226045" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="17.690417690415px" transform="">AVCC</text><line class="component-pin sch-component-pin sch-port-line" x1="437.54299754295" y1="445.87321867323" x2="482.358722358668" y2="445.87321867323" stroke-width="2.3587223587220003px"/><g class="sch-port" data-schematic-port-id="source_port_0_4__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="484.71744471739" cy="445.87321867323" r="2.3587223587220003" stroke-width="2.3587223587220003px"/><rect x="482.358722358668" y="443.514496314508" width="4.717444717444001" height="4.717444717444001" opacity="0"/></g><text class="pin-number sch-pin-number" x="461.13022113016996" y="443.514496314508" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="17.690417690415px" transform=""></text><text class="pin-number sch-pin-label" x="425.74938574934" y="445.87321867323" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="17.690417690415px" transform="">VRA2</text><line class="component-pin sch-component-pin sch-port-line" x1="437.54299754295" y1="422.28599508601" x2="484.71744471739" y2="422.28599508601" stroke-width="2.3587223587220003px"/><g class="sch-port" data-schematic-port-id="source_port_0_5__stack1"><rect x="482.358722358668" y="419.927272727288" width="4.717444717444001" height="4.717444717444001" opacity="0"/></g><text class="pin-number sch-pin-number" x="461.13022113016996" y="419.92727272728797" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="17.690417690415px" transform=""></text><text class="pin-number sch-pin-label" x="425.74938574934" y="422.28599508601" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="17.690417690415px" transform="">AGND</text><line class="component-pin sch-component-pin sch-port-line" x1="437.54299754295" y1="398.69877149879" x2="482.358722358668" y2="398.69877149879" stroke-width="2.3587223587220003px"/><g class="sch-port" data-schematic-port-id="source_port_0_6__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="484.71744471739" cy="398.69877149879" r="2.3587223587220003" stroke-width="2.3587223587220003px"/><rect x="482.358722358668" y="396.340049140068" width="4.717444717444001" height="4.717444717444001" opacity="0"/></g><text class="pin-number sch-pin-number" x="461.13022113016996" y="396.340049140068" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="17.690417690415px" transform=""></text><text class="pin-number sch-pin-label" x="425.74938574934" y="398.69877149879" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="17.690417690415px" transform="">VRA1</text><line class="component-pin sch-component-pin sch-port-line" x1="437.54299754295" y1="375.11154791157" x2="484.71744471739" y2="375.11154791157" stroke-width="2.3587223587220003px"/><g class="sch-port" data-schematic-port-id="source_port_0_7__stack1"><rect x="482.358722358668" y="372.75282555284804" width="4.717444717444001" height="4.717444717444001" opacity="0"/></g><text class="pin-number sch-pin-number" x="461.13022113016996" y="372.752825552848" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="17.690417690415px" transform=""></text><text class="pin-number sch-pin-label" x="425.74938574934" y="375.11154791157" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="17.690417690415px" transform="">FMINR</text><line class="component-pin sch-component-pin sch-port-line" x1="437.54299754295" y1="351.52432432435" x2="484.71744471739" y2="351.52432432435" stroke-width="2.3587223587220003px"/><g class="sch-port" data-schematic-port-id="source_port_0_8__stack1"><rect x="482.358722358668" y="349.165601965628" width="4.717444717444001" height="4.717444717444001" opacity="0"/></g><text class="pin-number sch-pin-number" x="461.13022113016996" y="349.165601965628" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="17.690417690415px" transform=""></text><text class="pin-number sch-pin-label" x="425.74938574934" y="351.52432432435" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="17.690417690415px" transform="">FMINL</text><line class="component-pin sch-component-pin sch-port-line" x1="437.54299754295" y1="327.93710073713" x2="482.358722358668" y2="327.93710073713" stroke-width="2.3587223587220003px"/><g class="sch-port" data-schematic-port-id="source_port_0_9__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="484.71744471739" cy="327.93710073713" r="2.3587223587220003" stroke-width="2.3587223587220003px"/><rect x="482.358722358668" y="325.578378378408" width="4.717444717444001" height="4.717444717444001" opacity="0"/></g><text class="pin-number sch-pin-number" x="461.13022113016996" y="325.578378378408" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="17.690417690415px" transform=""></text><text class="pin-number sch-pin-label" x="425.74938574934" y="327.93710073713" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="17.690417690415px" transform="">LINEINR</text><line class="component-pin sch-component-pin sch-port-line" x1="437.54299754295" y1="304.34987714991" x2="482.358722358668" y2="304.34987714991" stroke-width="2.3587223587220003px"/><g class="sch-port" data-schematic-port-id="source_port_0_10__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="484.71744471739" cy="304.34987714991" r="2.3587223587220003" stroke-width="2.3587223587220003px"/><rect x="482.358722358668" y="301.991154791188" width="4.717444717444001" height="4.717444717444001" opacity="0"/></g><text class="pin-number sch-pin-number" x="461.13022113016996" y="301.991154791188" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="17.690417690415px" transform=""></text><text class="pin-number sch-pin-label" x="425.74938574934" y="304.34987714991" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="17.690417690415px" transform="">LINEINL</text><line class="component-pin sch-component-pin sch-port-line" x1="437.54299754295" y1="280.76265356269005" x2="484.71744471739" y2="280.76265356269005" stroke-width="2.3587223587220003px"/><g class="sch-port" data-schematic-port-id="source_port_0_11__stack1"><rect x="482.358722358668" y="278.40393120396806" width="4.717444717444001" height="4.717444717444001" opacity="0"/></g><text class="pin-number sch-pin-number" x="461.13022113016996" y="278.403931203968" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="17.690417690415px" transform=""></text><text class="pin-number sch-pin-label" x="425.74938574934" y="280.76265356269005" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="17.690417690415px" transform="">HPVCC</text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_1__stack1"><rect class="component chip sch-component-body" x="797.2481572480551" y="463.563636363645" width="137.39557739555642" height="11.793611793610012" stroke-width="2.3587223587220003px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="797.2481572480551" y="463.563636363645" width="137.39557739555642" height="11.793611793610012" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="850.3194103193" y1="463.563636363645" x2="850.3194103193" y2="427.003439803454" stroke-width="2.3587223587220003px"/><g class="sch-port" data-schematic-port-id="source_port_1_0__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="850.3194103193" cy="424.644717444732" r="2.3587223587220003" stroke-width="2.3587223587220003px"/><rect x="847.960687960578" y="422.28599508601" width="4.717444717444001" height="4.717444717444001" opacity="0"/></g><text class="pin-number sch-pin-number" x="847.9606879605781" y="444.1041769041885" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="17.690417690415px" transform="rotate(-90 847.9606879605781 444.1041769041885)">1</text><line class="component-pin sch-component-pin sch-port-line" x1="850.3194103193" y1="475.357248157255" x2="850.3194103193" y2="514.276167076168" stroke-width="2.3587223587220003px"/><g class="sch-port" data-schematic-port-id="source_port_1_1__stack1"><rect x="847.960687960578" y="511.917444717446" width="4.717444717444001" height="4.717444717444001" opacity="0"/></g><text class="pin-number sch-pin-number" x="847.9606879605781" y="494.81670761671154" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="17.690417690415px" transform="rotate(-90 847.9606879605781 494.81670761671154)">2</text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_2__stack1"><rect class="component chip sch-component-body" x="1003.63636363623" y="463.563636363645" width="137.39557739555653" height="11.793611793610012" stroke-width="2.3587223587220003px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="1003.63636363623" y="463.563636363645" width="137.39557739555653" height="11.793611793610012" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="1056.7076167074752" y1="463.563636363645" x2="1056.7076167074752" y2="427.003439803454" stroke-width="2.3587223587220003px"/><g class="sch-port" data-schematic-port-id="source_port_2_0__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="1056.7076167074752" cy="424.644717444732" r="2.3587223587220003" stroke-width="2.3587223587220003px"/><rect x="1054.3488943487532" y="422.28599508601" width="4.717444717444001" height="4.717444717444001" opacity="0"/></g><text class="pin-number sch-pin-number" x="1054.3488943487532" y="444.1041769041885" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="17.690417690415px" transform="rotate(-90 1054.3488943487532 444.1041769041885)">1</text><line class="component-pin sch-component-pin sch-port-line" x1="1056.7076167074752" y1="475.357248157255" x2="1056.7076167074752" y2="514.276167076168" stroke-width="2.3587223587220003px"/><g class="sch-port" data-schematic-port-id="source_port_2_1__stack1"><rect x="1054.3488943487532" y="511.917444717446" width="4.717444717444001" height="4.717444717444001" opacity="0"/></g><text class="pin-number sch-pin-number" x="1054.3488943487532" y="494.81670761671154" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="17.690417690415px" transform="rotate(-90 1054.3488943487532 494.81670761671154)">2</text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="484.71744471739" cy="540.22211302211" r="4.717444717444001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="484.71744471739" cy="516.63488943489" r="4.717444717444001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_2__stack1"><circle cx="484.71744471739" cy="493.04766584767" r="4.717444717444001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_3__stack1"><circle cx="484.71744471739" cy="469.46044226045" r="4.717444717444001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_4__stack1"><circle cx="484.71744471739" cy="445.87321867323" r="4.717444717444001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_5__stack1"><circle cx="484.71744471739" cy="422.28599508601" r="4.717444717444001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_6__stack1"><circle cx="484.71744471739" cy="398.69877149879" r="4.717444717444001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_7__stack1"><circle cx="484.71744471739" cy="375.11154791157" r="4.717444717444001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_8__stack1"><circle cx="484.71744471739" cy="351.52432432435" r="4.717444717444001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_9__stack1"><circle cx="484.71744471739" cy="327.93710073713" r="4.717444717444001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_10__stack1"><circle cx="484.71744471739" cy="304.34987714991" r="4.717444717444001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_11__stack1"><circle cx="484.71744471739" cy="280.76265356269005" r="4.717444717444001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="850.3194103193" cy="424.644717444732" r="4.717444717444001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_1__stack1"><circle cx="850.3194103193" cy="514.276167076168" r="4.717444717444001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_0__stack1"><circle cx="1056.7076167074752" cy="424.644717444732" r="4.717444717444001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_1__stack1"><circle cx="1056.7076167074752" cy="514.276167076168" r="4.717444717444001" fill="red" opacity="0"/></g><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_0__stack1" d="
93
+ M 585.081081081011,422.16805896807386
94
+ L 573.287469287401,415.7995085995245
95
+ L 573.287469287401,375.3552825553046
96
+ L 596.874692874621,375.3552825553046
97
+ L 596.874692874621,415.7995085995245
98
+ Z
99
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.3587223587220003px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_0__stack1" x="585.081081081011" y="411.5538083538249" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="21.228501228498px" transform="rotate(-90 585.081081081011 411.5538083538249)">XX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_1__stack1" d="
100
+ M 520.216216216156,233.47027027031393
101
+ L 508.422604422546,227.10171990176454
102
+ L 508.422604422546,186.65749385754464
103
+ L 532.009828009766,186.65749385754464
104
+ L 532.009828009766,227.10171990176454
105
+ Z
106
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.3587223587220003px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_1__stack1" x="520.216216216156" y="222.85601965606494" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="21.228501228498px" transform="rotate(-90 520.216216216156 222.85601965606494)">XX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_2__stack1" d="
107
+ M 850.3194103193,424.644717444732
108
+ L 838.52579852569,418.2761670761826
109
+ L 838.52579852569,377.83194103196274
110
+ L 862.11302211291,377.83194103196274
111
+ L 862.11302211291,418.2761670761826
112
+ Z
113
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.3587223587220003px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_2__stack1" x="850.3194103193" y="414.030466830483" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="21.228501228498px" transform="rotate(-90 850.3194103193 414.030466830483)">XX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_3__stack1" d="
114
+ M 484.71744471739,445.87321867323
115
+ L 491.0859950859394,434.07960687962
116
+ L 531.5302211301592,434.07960687962
117
+ L 531.5302211301592,457.66683046684
118
+ L 491.0859950859394,457.66683046684
119
+ Z
120
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.3587223587220003px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_3__stack1" x="495.33169533163897" y="445.87321867323" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="21.228501228498px" transform="">XX</text><rect class="component-overlay sch-component-overlay sch-net-label-overlay" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_4__stack1" x="532.0098280097661" y="422.28599508601" width="28.304668304663892" height="21.228501228497976" fill="transparent"/><path class="sch-net-label-symbol-path" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_4__stack1" d="M 532.0098280097661 443.514496314508 L 560.31449631443 443.514496314508" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.3587223587220003px" stroke-linecap="round"/><path class="sch-net-label-symbol-path" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_4__stack1" d="M 546.1621621620981 443.514496314508 L 546.1621621620981 422.28599508601" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.3587223587220003px" stroke-linecap="round"/><text class="sch-net-label-symbol-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_4__stack1" x="546.1621621620981" y="449.411302211313" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="21.228501228498px">XX</text><rect class="component-overlay sch-component-overlay sch-net-label-overlay" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_5__stack1" x="836.1670761669681" y="537.863390663388" width="28.304668304663892" height="21.22850122849809" fill="transparent"/><path class="sch-net-label-symbol-path" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_5__stack1" d="M 836.1670761669681 559.0918918918861 L 864.471744471632 559.0918918918861" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.3587223587220003px" stroke-linecap="round"/><path class="sch-net-label-symbol-path" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_5__stack1" d="M 850.3194103193 559.0918918918861 L 850.3194103193 537.863390663388" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.3587223587220003px" stroke-linecap="round"/><text class="sch-net-label-symbol-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_5__stack1" x="850.3194103193" y="564.9886977886911" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="21.228501228498px">XX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_6__stack1" d="
121
+ M 1056.7076167074752,424.644717444732
122
+ L 1044.9140049138653,418.2761670761826
123
+ L 1044.9140049138653,377.83194103196274
124
+ L 1068.501228501085,377.83194103196274
125
+ L 1068.501228501085,418.2761670761826
126
+ Z
127
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.3587223587220003px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_6__stack1" x="1056.7076167074752" y="414.030466830483" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="21.228501228498px" transform="rotate(-90 1056.7076167074752 414.030466830483)">XX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_7__stack1" d="
128
+ M 484.71744471739,398.69877149879
129
+ L 491.0859950859394,386.90515970518
130
+ L 531.5302211301592,386.90515970518
131
+ L 531.5302211301592,410.4923832924
132
+ L 491.0859950859394,410.4923832924
133
+ Z
134
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.3587223587220003px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_7__stack1" x="495.33169533163897" y="398.69877149879" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="21.228501228498px" transform="">XX</text><text class="sch-text" x="133.26781326781196" y="602.728255528243" fill="#7e22ce" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="21.228501228498px" transform="rotate(0, 133.26781326781196, 602.728255528243)">T113-S3</text><text class="sch-text" x="97.88697788698198" y="220.02555282559848" fill="#7e22ce" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="21.228501228498px" transform="rotate(0, 97.88697788698198, 220.02555282559848)">U3</text><rect class="schematic-box sch-box" x="83.73464373464998" y="592.114004913994" width="99.06633906632402" height="21.228501228497976" stroke-width="2.3587223587220003px" stroke="rgb(132, 0, 0)" fill="transparent" stroke-dasharray="18.869778869776002 9.434889434888001"/><rect class="schematic-box sch-box" x="76.65847665848398" y="205.28353808358594" width="42.45700245699601" height="29.48402948402503" stroke-width="2.3587223587220003px" stroke="rgb(132, 0, 0)" fill="transparent" stroke-dasharray="18.869778869776002 9.434889434888001"/>
135
+ </g>
136
+ </svg>
@@ -0,0 +1,238 @@
1
+ {
2
+ "chips": [
3
+ {
4
+ "chipId": "schematic_component_0",
5
+ "center": {
6
+ "x": 0,
7
+ "y": 0
8
+ },
9
+ "width": 3.8,
10
+ "height": 3,
11
+ "pins": [
12
+ {
13
+ "pinId": "schematic_port_0",
14
+ "displayName": "PB2",
15
+ "x": 1.9,
16
+ "y": -1.0999999999999999
17
+ },
18
+ {
19
+ "pinId": "schematic_port_1",
20
+ "displayName": "MICIN3P",
21
+ "x": 1.9,
22
+ "y": -0.8999999999999999
23
+ },
24
+ {
25
+ "pinId": "schematic_port_2",
26
+ "displayName": "MICIN3N",
27
+ "x": 1.9,
28
+ "y": -0.6999999999999998
29
+ },
30
+ {
31
+ "pinId": "schematic_port_3",
32
+ "displayName": "AVCC",
33
+ "x": 1.9,
34
+ "y": -0.4999999999999998
35
+ },
36
+ {
37
+ "pinId": "schematic_port_4",
38
+ "displayName": "VRA2",
39
+ "x": 1.9,
40
+ "y": -0.2999999999999998
41
+ },
42
+ {
43
+ "pinId": "schematic_port_5",
44
+ "displayName": "AGND",
45
+ "x": 1.9,
46
+ "y": -0.09999999999999987
47
+ },
48
+ {
49
+ "pinId": "schematic_port_6",
50
+ "displayName": "VRA1",
51
+ "x": 1.9,
52
+ "y": 0.10000000000000009
53
+ },
54
+ {
55
+ "pinId": "schematic_port_7",
56
+ "displayName": "FMINR",
57
+ "x": 1.9,
58
+ "y": 0.30000000000000004
59
+ },
60
+ {
61
+ "pinId": "schematic_port_8",
62
+ "displayName": "FMINL",
63
+ "x": 1.9,
64
+ "y": 0.5
65
+ },
66
+ {
67
+ "pinId": "schematic_port_9",
68
+ "displayName": "LINEINR",
69
+ "x": 1.9,
70
+ "y": 0.7
71
+ },
72
+ {
73
+ "pinId": "schematic_port_10",
74
+ "displayName": "LINEINL",
75
+ "x": 1.9,
76
+ "y": 0.8999999999999999
77
+ },
78
+ {
79
+ "pinId": "schematic_port_11",
80
+ "displayName": "HPVCC",
81
+ "x": 1.9,
82
+ "y": 1.0999999999999999
83
+ }
84
+ ]
85
+ },
86
+ {
87
+ "chipId": "schematic_component_1",
88
+ "center": {
89
+ "x": 5.1325,
90
+ "y": -0.5
91
+ },
92
+ "width": 1.165,
93
+ "height": 0.7600000000000001,
94
+ "pins": [
95
+ {
96
+ "pinId": "schematic_port_12",
97
+ "displayName": "1",
98
+ "x": 5,
99
+ "y": -0.11999999999999994,
100
+ "_facingDirection": "y+"
101
+ },
102
+ {
103
+ "pinId": "schematic_port_13",
104
+ "displayName": "2",
105
+ "x": 5,
106
+ "y": -0.8800000000000001,
107
+ "_facingDirection": "y-"
108
+ }
109
+ ]
110
+ },
111
+ {
112
+ "chipId": "schematic_component_2",
113
+ "center": {
114
+ "x": 6.8825,
115
+ "y": -0.5
116
+ },
117
+ "width": 1.165,
118
+ "height": 0.7600000000000001,
119
+ "pins": [
120
+ {
121
+ "pinId": "schematic_port_14",
122
+ "displayName": "1",
123
+ "x": 6.75,
124
+ "y": -0.11999999999999994,
125
+ "_facingDirection": "y+"
126
+ },
127
+ {
128
+ "pinId": "schematic_port_15",
129
+ "displayName": "2",
130
+ "x": 6.75,
131
+ "y": -0.8800000000000001,
132
+ "_facingDirection": "y-"
133
+ }
134
+ ]
135
+ }
136
+ ],
137
+ "directConnections": [
138
+ {
139
+ "netId": "capacitor.C38 > port.1 to .U3 > .VRA2",
140
+ "netLabelWidth": 1.32,
141
+ "pinIds": [
142
+ "schematic_port_12",
143
+ "schematic_port_4"
144
+ ]
145
+ },
146
+ {
147
+ "netId": "capacitor.C39 > port.1 to .U3 > .VRA1",
148
+ "netLabelWidth": 1.32,
149
+ "pinIds": [
150
+ "schematic_port_14",
151
+ "schematic_port_6"
152
+ ]
153
+ }
154
+ ],
155
+ "netConnections": [
156
+ {
157
+ "netId": "P1V8",
158
+ "isGround": false,
159
+ "netLabelWidth": 0.42,
160
+ "netLabelHeight": 0.6,
161
+ "pinIds": [
162
+ "schematic_port_3",
163
+ "schematic_port_11"
164
+ ]
165
+ },
166
+ {
167
+ "netId": "AUDIO_VRA2",
168
+ "isGround": false,
169
+ "netLabelWidth": 0.42,
170
+ "netLabelHeight": 1.32,
171
+ "pinIds": [
172
+ "schematic_port_4",
173
+ "schematic_port_12"
174
+ ]
175
+ },
176
+ {
177
+ "netId": "GND",
178
+ "isGround": true,
179
+ "netLabelWidth": 0.42,
180
+ "netLabelHeight": 0.48,
181
+ "pinIds": [
182
+ "schematic_port_5",
183
+ "schematic_port_7",
184
+ "schematic_port_8",
185
+ "schematic_port_13",
186
+ "schematic_port_15"
187
+ ]
188
+ },
189
+ {
190
+ "netId": "AUDIO_VRA1",
191
+ "isGround": false,
192
+ "netLabelWidth": 0.42,
193
+ "netLabelHeight": 1.32,
194
+ "pinIds": [
195
+ "schematic_port_6",
196
+ "schematic_port_14"
197
+ ]
198
+ }
199
+ ],
200
+ "textBoxes": [
201
+ {
202
+ "chipId": "schematic_component_0",
203
+ "center": {
204
+ "x": -1.08,
205
+ "y": -1.63
206
+ },
207
+ "width": 0.84,
208
+ "height": 0.18000000000000016,
209
+ "text": "T113-S3"
210
+ },
211
+ {
212
+ "chipId": "schematic_component_0",
213
+ "center": {
214
+ "x": -1.38,
215
+ "y": 1.6150000000000002
216
+ },
217
+ "width": 0.3600000000000001,
218
+ "height": 0.2500000000000002,
219
+ "text": "U3"
220
+ }
221
+ ],
222
+ "availableNetLabelOrientations": {
223
+ "P1V8": [
224
+ "y+"
225
+ ],
226
+ "GND": [
227
+ "y-"
228
+ ],
229
+ "AUDIO_VRA2": [
230
+ "y+"
231
+ ],
232
+ "AUDIO_VRA1": [
233
+ "y+"
234
+ ]
235
+ },
236
+ "maxMspPairDistance": 0.8,
237
+ "_hideRatsNet": false
238
+ }
@@ -0,0 +1,12 @@
1
+ import { expect, test } from "bun:test"
2
+ import { SchematicTracePipelineSolver } from "lib/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver"
3
+ import inputProblem from "./bug-report-20260902T092425Z.json"
4
+ import "tests/fixtures/matcher"
5
+
6
+ test("bug-report-20260902T092425Z", () => {
7
+ const solver = new SchematicTracePipelineSolver(inputProblem as any)
8
+
9
+ solver.solve()
10
+
11
+ expect(solver).toMatchSolverSnapshot(import.meta.path)
12
+ })