@tscircuit/schematic-trace-solver 0.0.148 → 0.0.150

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 (164) hide show
  1. package/.agents/skills/schematic-trace-visualization/SKILL.md +7 -2
  2. package/dist/index.d.ts +31 -2
  3. package/dist/index.js +127 -46
  4. package/lib/solvers/InlineNetLabelSolver/InlineNetLabelSolver.ts +115 -6
  5. package/lib/solvers/NetLabelPlacementSolver/NetLabelPlacementSolver.ts +17 -1
  6. package/lib/solvers/NetLabelPlacementSolver/SingleNetLabelPlacementSolver/SingleNetLabelPlacementSolver.ts +2 -0
  7. package/lib/solvers/NetLabelPlacementSolver/SingleNetLabelPlacementSolver/solvePortOnlyPin.ts +2 -0
  8. package/lib/types/InputProblem.ts +27 -1
  9. package/package.json +8 -1
  10. package/site/examples/example51.page.tsx +4 -0
  11. package/tests/assets/example51.json +5102 -0
  12. package/tests/bug-reports/bug-report-20260706T213649Z/__snapshots__/bug-report-20260706T213649Z.snap.svg +751 -5
  13. package/tests/bug-reports/bug-report-20260706T220324Z/__snapshots__/bug-report-20260706T220324Z.snap.svg +660 -5
  14. package/tests/bug-reports/bug-report-20260707T020342Z/__snapshots__/bug-report-20260707T020342Z.snap.svg +44 -5
  15. package/tests/bug-reports/bug-report-20260707T092615Z/__snapshots__/bug-report-20260707T092615Z.snap.svg +394 -5
  16. package/tests/bug-reports/bug-report-20260707T134549Z/__snapshots__/bug-report-20260707T134549Z.snap.svg +170 -5
  17. package/tests/bug-reports/bug-report-20260707T134722Z/__snapshots__/bug-report-20260707T134722Z.snap.svg +79 -5
  18. package/tests/bug-reports/bug-report-20260707T140410Z/__snapshots__/bug-report-20260707T140410Z.snap.svg +219 -5
  19. package/tests/bug-reports/bug-report-20260707T141025Z/__snapshots__/bug-report-20260707T141025Z.snap.svg +65 -5
  20. package/tests/bug-reports/bug-report-20260707T141421Z/__snapshots__/bug-report-20260707T141421Z.snap.svg +142 -5
  21. package/tests/bug-reports/bug-report-20260707T230831Z/__snapshots__/bug-report-20260707T230831Z.snap.svg +100 -5
  22. package/tests/bug-reports/bug-report-20260708T053736Z/__snapshots__/bug-report-20260708T053736Z.snap.svg +23 -5
  23. package/tests/bug-reports/bug-report-20260708T055430Z/__snapshots__/bug-report-20260708T055430Z.snap.svg +58 -5
  24. package/tests/bug-reports/bug-report-20260708T095725Z/__snapshots__/bug-report-20260708T095725Z.snap.svg +86 -5
  25. package/tests/bug-reports/bug-report-20260716T144856Z/__snapshots__/bug-report-20260716T144856Z.snap.svg +226 -5
  26. package/tests/bug-reports/bug-report-20260717T022934Z/__snapshots__/bug-report-20260717T022934Z.snap.svg +191 -5
  27. package/tests/bug-reports/bug-report-20260717T031704Z/__snapshots__/bug-report-20260717T031704Z.snap.svg +30 -5
  28. package/tests/bug-reports/bug-report-20260717T042845Z/__snapshots__/bug-report-20260717T042845Z.snap.svg +37 -5
  29. package/tests/bug-reports/bug-report-20260721T221026Z/__snapshots__/bug-report-20260721T221026Z.snap.svg +580 -2
  30. package/tests/bug-reports/bug-report-20260724T175257Z/__snapshots__/bug-report-20260724T175257Z.snap.svg +44 -5
  31. package/tests/bug-reports/bug-report-20260728T144234Z/__snapshots__/bug-report-20260728T144234Z.snap.svg +107 -5
  32. package/tests/bug-reports/bug-report-20260728T225606Z/__snapshots__/bug-report-20260728T225606Z.snap.svg +114 -5
  33. package/tests/bug-reports/bug-report-20260730T061837Z/__snapshots__/bug-report-20260730T061837Z.snap.svg +121 -5
  34. package/tests/bug-reports/bug-report-20260731T052229Z/__snapshots__/bug-report-20260731T052229Z.snap.svg +51 -5
  35. package/tests/bug-reports/bug-report-20260804T095800Z/__snapshots__/bug-report-20260804T095800Z.snap.svg +212 -5
  36. package/tests/bug-reports/bug-report-20260804T171919Z/__snapshots__/bug-report-20260804T171919Z.snap.svg +569 -5
  37. package/tests/bug-reports/bug-report-20260804T225912Z/__snapshots__/bug-report-20260804T225912Z.snap.svg +37 -5
  38. package/tests/bug-reports/bug-report-20260805T061316Z/__snapshots__/bug-report-20260805T061316Z.snap.svg +289 -5
  39. package/tests/bug-reports/bug-report-20260806T061548Z/__snapshots__/bug-report-20260806T061548Z.snap.svg +289 -5
  40. package/tests/bug-reports/bug-report-20260806T093501Z/__snapshots__/bug-report-20260806T093501Z.snap.svg +149 -5
  41. package/tests/bug-reports/bug-report-20260811T075142Z/__snapshots__/bug-report-20260811T075142Z.snap.svg +93 -5
  42. package/tests/bug-reports/bug-report-20260815T073240Z/__snapshots__/bug-report-20260815T073240Z.snap.svg +79 -5
  43. package/tests/bug-reports/bug-report-20260819T091818Z/__snapshots__/bug-report-20260819T091818Z.snap.svg +244 -2
  44. package/tests/examples/__snapshots__/example01.snap.svg +44 -5
  45. package/tests/examples/__snapshots__/example02.snap.svg +51 -5
  46. package/tests/examples/__snapshots__/example03.snap.svg +86 -5
  47. package/tests/examples/__snapshots__/example04.snap.svg +30 -5
  48. package/tests/examples/__snapshots__/example05.snap.svg +30 -5
  49. package/tests/examples/__snapshots__/example06.snap.svg +30 -5
  50. package/tests/examples/__snapshots__/example07.snap.svg +58 -5
  51. package/tests/examples/__snapshots__/example08.snap.svg +37 -5
  52. package/tests/examples/__snapshots__/example09.snap.svg +149 -5
  53. package/tests/examples/__snapshots__/example10.snap.svg +65 -5
  54. package/tests/examples/__snapshots__/example11.snap.svg +51 -5
  55. package/tests/examples/__snapshots__/example12.snap.svg +51 -5
  56. package/tests/examples/__snapshots__/example13.snap.svg +72 -5
  57. package/tests/examples/__snapshots__/example14.snap.svg +79 -5
  58. package/tests/examples/__snapshots__/example15.snap.svg +86 -5
  59. package/tests/examples/__snapshots__/example16.snap.svg +51 -5
  60. package/tests/examples/__snapshots__/example17.snap.svg +51 -5
  61. package/tests/examples/__snapshots__/example18.snap.svg +58 -5
  62. package/tests/examples/__snapshots__/example19.snap.svg +44 -5
  63. package/tests/examples/__snapshots__/example20.snap.svg +44 -5
  64. package/tests/examples/__snapshots__/example21.snap.svg +72 -5
  65. package/tests/examples/__snapshots__/example22.snap.svg +51 -5
  66. package/tests/examples/__snapshots__/example23.snap.svg +51 -5
  67. package/tests/examples/__snapshots__/example24.snap.svg +51 -5
  68. package/tests/examples/__snapshots__/example25.snap.svg +86 -5
  69. package/tests/examples/__snapshots__/example26.snap.svg +51 -5
  70. package/tests/examples/__snapshots__/example27.snap.svg +72 -5
  71. package/tests/examples/__snapshots__/example28.snap.svg +44 -5
  72. package/tests/examples/__snapshots__/example29.snap.svg +324 -5
  73. package/tests/examples/__snapshots__/example30.snap.svg +107 -5
  74. package/tests/examples/__snapshots__/example31.snap.svg +37 -5
  75. package/tests/examples/__snapshots__/example32.snap.svg +149 -5
  76. package/tests/examples/__snapshots__/example33.snap.svg +93 -5
  77. package/tests/examples/__snapshots__/example34.snap.svg +51 -5
  78. package/tests/examples/__snapshots__/example35.snap.svg +58 -5
  79. package/tests/examples/__snapshots__/example36.snap.svg +44 -5
  80. package/tests/examples/__snapshots__/example37.snap.svg +72 -5
  81. package/tests/examples/__snapshots__/example38.snap.svg +30 -5
  82. package/tests/examples/__snapshots__/example39.snap.svg +37 -5
  83. package/tests/examples/__snapshots__/example40.snap.svg +100 -5
  84. package/tests/examples/__snapshots__/example41.snap.svg +44 -5
  85. package/tests/examples/__snapshots__/example42.snap.svg +65 -5
  86. package/tests/examples/__snapshots__/example43.snap.svg +58 -5
  87. package/tests/examples/__snapshots__/example44.snap.svg +107 -5
  88. package/tests/examples/__snapshots__/example45.snap.svg +51 -5
  89. package/tests/examples/__snapshots__/example46.snap.svg +93 -5
  90. package/tests/examples/__snapshots__/example47.snap.svg +93 -5
  91. package/tests/examples/__snapshots__/example48.snap.svg +65 -5
  92. package/tests/examples/__snapshots__/example49.snap.svg +177 -5
  93. package/tests/examples/__snapshots__/example50.snap.svg +93 -5
  94. package/tests/examples/__snapshots__/example51.snap.svg +952 -0
  95. package/tests/examples/example51.test.ts +12 -0
  96. package/tests/fixtures/convertSolverOutputToCircuitJson.test.ts +219 -0
  97. package/tests/fixtures/convertSolverOutputToCircuitJson.ts +1058 -0
  98. package/tests/fixtures/matcher.ts +45 -8
  99. package/tests/repros/__snapshots__/board-1273-trace-overlap-cycle.snap.svg +762 -2
  100. package/tests/repros/__snapshots__/board-15984-same-net-junction.snap.svg +111 -2
  101. package/tests/repros/__snapshots__/board1096-usb-label-overlap-iteration.snap.svg +167 -2
  102. package/tests/repros/__snapshots__/bugreport-001-gnd-overlap.snap.svg +65 -5
  103. package/tests/repros/__snapshots__/manufacturePartNumber-text-box.snap.svg +30 -5
  104. package/tests/repros/__snapshots__/netlabel-connector-through-rail-label.snap.svg +79 -5
  105. package/tests/repros/__snapshots__/repro-atmega328p-fault-pullup.snap.svg +65 -5
  106. package/tests/repros/__snapshots__/repro-atmega328p-missing-gnd-netlabel.snap.svg +149 -5
  107. package/tests/repros/__snapshots__/repro-board-589-regulator-section.snap.svg +55 -2
  108. package/tests/repros/__snapshots__/repro-board-648-esp12f-section.snap.svg +160 -2
  109. package/tests/repros/__snapshots__/repro-bq24074-battery-charger.snap.svg +135 -5
  110. package/tests/repros/__snapshots__/repro-bq25895-cross-net-trace-overlap.snap.svg +69 -2
  111. package/tests/repros/__snapshots__/repro-cc2340r5.snap.svg +86 -5
  112. package/tests/repros/__snapshots__/repro-core-555-power-cross-net-overlap.snap.svg +44 -5
  113. package/tests/repros/__snapshots__/repro-core-subcircuit-missing-ground.snap.svg +44 -5
  114. package/tests/repros/__snapshots__/repro-core-tb67s579ftg-inline-label-routing.snap.svg +260 -0
  115. package/tests/repros/__snapshots__/repro-example35-minimize-trace-crossing.snap.svg +335 -2
  116. package/tests/repros/__snapshots__/repro-ground-label-on-lower-rail-end.snap.svg +48 -2
  117. package/tests/repros/__snapshots__/repro-ina237-current-monitor.snap.svg +149 -5
  118. package/tests/repros/__snapshots__/repro-missing-trace-netlabel.snap.svg +72 -5
  119. package/tests/repros/__snapshots__/repro-netlabel-collision-687.snap.svg +100 -5
  120. package/tests/repros/__snapshots__/repro-netlabel-overlap-trace.snap.svg +51 -5
  121. package/tests/repros/__snapshots__/repro-nrf52810-clock-routing.snap.svg +90 -2
  122. package/tests/repros/__snapshots__/repro-power-group-rail-labels.snap.svg +37 -5
  123. package/tests/repros/__snapshots__/repro-rectifier-trace-overlap.snap.svg +44 -5
  124. package/tests/repros/__snapshots__/repro-rp2040-gamepad-trace-alignment.snap.svg +237 -2
  125. package/tests/repros/__snapshots__/repro-rp2040-usb-cc2-ground-overlap.snap.svg +72 -5
  126. package/tests/repros/__snapshots__/repro-rp2040-v3v3-label-placement.snap.svg +51 -5
  127. package/tests/repros/__snapshots__/repro-rp2040-zero-crystal-fallback-netlabels.snap.svg +30 -5
  128. package/tests/repros/__snapshots__/repro-ti-power-output-section.snap.svg +79 -5
  129. package/tests/repros/__snapshots__/repro-tida010076-j4-ground-bus.snap.svg +27 -2
  130. package/tests/repros/__snapshots__/repro-tida010076-page02.snap.svg +1150 -5
  131. package/tests/repros/__snapshots__/repro-tps61222-trace-intersection.snap.svg +51 -5
  132. package/tests/repros/__snapshots__/repro-type-c-16pin-self-connection.snap.svg +30 -5
  133. package/tests/repros/__snapshots__/repro-type-c-16pin-to-resistor.snap.svg +30 -5
  134. package/tests/repros/__snapshots__/repro-type-c-vbus-led-ground-label.snap.svg +44 -5
  135. package/tests/repros/__snapshots__/repro-usb-power-vbus-label-detour.snap.svg +685 -2
  136. package/tests/repros/__snapshots__/repro-vcc-pin1-detour.snap.svg +27 -2
  137. package/tests/repros/__snapshots__/repro129-host-custom-symbol-passives.snap.svg +51 -5
  138. package/tests/repros/__snapshots__/repro130-bq27441-fuel-gauge-trace-through-c1.snap.svg +100 -5
  139. package/tests/repros/__snapshots__/repro161-power-section-autolayout.snap.svg +107 -5
  140. package/tests/repros/__snapshots__/repro47-endpoint-obstacle-detour.snap.svg +51 -5
  141. package/tests/repros/__snapshots__/repro48-555-timer-vcc-rail-label.snap.svg +104 -2
  142. package/tests/repros/__snapshots__/repro5-escape-padded-text-obstacles.snap.svg +30 -5
  143. package/tests/repros/__snapshots__/repro51-overlap-junction-crossing.snap.svg +65 -5
  144. package/tests/repros/__snapshots__/repro84-stacked-gnd-label-orientation.snap.svg +27 -2
  145. package/tests/repros/__snapshots__/small-variant-resistor-facing-direction.snap.svg +58 -5
  146. package/tests/repros/__snapshots__/trace-overlap-box-resistor.snap.svg +37 -5
  147. package/tests/repros/assets/repro-core-tb67s579ftg-inline-label-routing.input.json +900 -0
  148. package/tests/repros/repro-core-tb67s579ftg-inline-label-routing.test.ts +40 -0
  149. package/tests/solvers/InlineNetLabelSolver/__snapshots__/fallback-net-label-width.snap.svg +25 -7
  150. package/tests/solvers/InlineNetLabelSolver/__snapshots__/inline-net-label-anchored-label-clearance.snap.svg +34 -2
  151. package/tests/solvers/InlineNetLabelSolver/__snapshots__/inline-net-label-port-stub.snap.svg +23 -5
  152. package/tests/solvers/InlineNetLabelSolver/__snapshots__/inline-net-label-two-pin-net.snap.svg +23 -5
  153. package/tests/solvers/InlineNetLabelSolver/__snapshots__/inline-net-label01.snap.svg +23 -5
  154. package/tests/solvers/InlineNetLabelSolver/__snapshots__/inline-net-label02.snap.svg +23 -5
  155. package/tests/solvers/InlineNetLabelSolver/__snapshots__/terminal-stub-trace-clearance.snap.svg +71 -0
  156. package/tests/solvers/InlineNetLabelSolver/fallback-net-label-width.test.ts +10 -1
  157. package/tests/solvers/InlineNetLabelSolver/terminal-stub-trace-clearance.test.ts +102 -0
  158. package/tests/solvers/SchematicTraceSingleLineSolver2/__snapshots__/SchematicTraceSingleLineSolver2_01-example17-d1_1-u1_1.snap.svg +23 -5
  159. package/tests/solvers/SchematicTraceSingleLineSolver2/__snapshots__/SchematicTraceSingleLineSolver2_repro47-short-opposing-pins.snap.svg +20 -2
  160. package/tests/solvers/TraceCleanupSolver/__snapshots__/TraceCleanupSolver.snap.svg +44 -5
  161. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/__snapshots__/TraceLabelOverlapAvoidanceSolver.snap.svg +79 -5
  162. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/__snapshots__/MergedNetLabelObstacles.snap.svg +44 -5
  163. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/__snapshots__/OverlapAvoidanceStepSolver.snap.svg +23 -5
  164. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/__snapshots__/SingleOverlapSolver.snap.svg +30 -5
@@ -1,4 +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="2.52,1 -0.9,0.7999999999999999" data-type="line" data-label="" points="476.7266775777414,259.0507364975451 163.27332242225856,277.3813420621932" fill="none" stroke="hsl(248, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="2.5200000000000005,1 2.7200000000000006,1 2.7200000000000006,3.3900000000000006 -1.1,3.3900000000000006 -1.1,0.7999999999999999 -0.9,0.7999999999999999" data-type="line" data-label="" points="476.7266775777414,259.0507364975451 495.0572831423895,259.0507364975451 495.0572831423895,40 144.94271685761043,40 144.94271685761043,277.3813420621932 163.27332242225856,277.3813420621932" 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="163.27332242225856" y="121.57119476268417" width="164.97545008183306" height="458.26513911620293" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.010910714285714287"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="2" data-y="1.0699999999999998" x="381.40752864157116" y="221.4729950900164" width="95.31914893617022" height="62.324058919803605" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.010910714285714287"/></g><g><rect data-type="rect" data-label="part-number" data-x="0.15999999999999992" data-y="-2.63" x="199.93453355155478" y="583.5024549918166" width="120.98199672667755" height="16.49754500818335" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.010910714285714287"/></g><g><rect data-type="rect" data-label="U1" data-x="-0.38" data-y="2.615" x="194.43535188216038" y="99.57446808510645" width="32.99509001636659" height="22.91325695581014" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.010910714285714287"/></g><g><rect data-type="rect" data-label="netId: .LED1 &gt; port.right to .U1 &gt; .pin20
1
+ <svg width="2416" height="1200" viewBox="0 0 2416 1200" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Solver debug visualization on the left and Circuit JSON schematic on the right">
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="2.52,1 -0.9,0.7999999999999999" data-type="line" data-label="" points="476.7266775777414,259.0507364975451 163.27332242225856,277.3813420621932" fill="none" stroke="hsl(248, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="2.5200000000000005,1 2.7200000000000006,1 2.7200000000000006,3.3900000000000006 -1.1,3.3900000000000006 -1.1,0.7999999999999999 -0.9,0.7999999999999999" data-type="line" data-label="" points="476.7266775777414,259.0507364975451 495.0572831423895,259.0507364975451 495.0572831423895,40 144.94271685761043,40 144.94271685761043,277.3813420621932 163.27332242225856,277.3813420621932" 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="163.27332242225856" y="121.57119476268417" width="164.97545008183306" height="458.26513911620293" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.010910714285714287"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="2" data-y="1.0699999999999998" x="381.40752864157116" y="221.4729950900164" width="95.31914893617022" height="62.324058919803605" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.010910714285714287"/></g><g><rect data-type="rect" data-label="part-number" data-x="0.15999999999999992" data-y="-2.63" x="199.93453355155478" y="583.5024549918166" width="120.98199672667755" height="16.49754500818335" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.010910714285714287"/></g><g><rect data-type="rect" data-label="U1" data-x="-0.38" data-y="2.615" x="194.43535188216038" y="99.57446808510645" width="32.99509001636659" height="22.91325695581014" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.010910714285714287"/></g><g><rect data-type="rect" data-label="netId: .LED1 &gt; port.right to .U1 &gt; .pin20
2
4
  globalConnNetId: connectivity_net0" data-x="2.6200000000000006" data-y="0.775" x="476.7266775777414" y="259.0507364975451" width="18.330605564648124" height="41.243862520458265" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.010910714285714287"/></g><g><circle data-type="point" data-label="U1.1
3
5
  x+" data-x="0.9" data-y="1.2" cx="328.2487725040916" cy="240.72013093289695" r="3" fill="hsl(319, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.2
4
6
  x+" data-x="0.9" data-y="0.3999999999999999" cx="328.2487725040916" cy="314.04255319148945" r="3" fill="hsl(320, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.3
@@ -38,7 +40,7 @@ orientation: y-" data-x="2.6200000000000006" data-y="1" cx="485.8919803600654" c
38
40
  const h = svg.getElementById('crosshair-h');
39
41
  const v = svg.getElementById('crosshair-v');
40
42
  const coords = svg.getElementById('coordinates');
41
-
43
+
42
44
  crosshair.style.display = 'block';
43
45
  h.setAttribute('x1', '0');
44
46
  h.setAttribute('x2', '640');
@@ -57,13 +59,13 @@ orientation: y-" data-x="2.6200000000000006" data-y="1" cx="485.8919803600654" c
57
59
  // y' = (y - ty) / sy
58
60
  const sx = matrix.a;
59
61
  const sy = matrix.d;
60
- const tx = matrix.e;
62
+ const tx = matrix.e;
61
63
  const ty = matrix.f;
62
64
  const realPoint = {
63
65
  x: (x - tx) / sx,
64
66
  y: (y - ty) / sy // Flip y back since we used negative scale
65
67
  }
66
-
68
+
67
69
  coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
68
70
  coords.setAttribute('x', (x + 5).toString());
69
71
  coords.setAttribute('y', (y - 5).toString());
@@ -71,4 +73,27 @@ orientation: y-" data-x="2.6200000000000006" data-y="1" cx="485.8919803600654" c
71
73
  document.currentScript.parentElement.addEventListener('mouseleave', () => {
72
74
  document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
73
75
  });
74
- ]]></script></svg>
76
+ ]]></script>
77
+ </g>
78
+ <g transform="translate(1216, 200)">
79
+ <style>
80
+ .boundary { fill: rgb(245, 241, 237); }
81
+ .schematic-boundary { fill: none; stroke: #fff; }
82
+ .component { fill: none; stroke: rgb(132, 0, 0); }
83
+ .chip { fill: rgb(255, 255, 194); stroke: rgb(132, 0, 0); }
84
+ .component-pin { fill: none; stroke: rgb(132, 0, 0); }
85
+ .text { font-family: sans-serif; fill: rgb(0, 150, 0); }
86
+ .pin-number { fill: rgb(169, 0, 0); }
87
+ .port-label { fill: rgb(0, 100, 100); }
88
+ .component-name { fill: rgb(0, 100, 100); }
89
+
90
+ </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 791.0614525139081 328.4916201118 L 813.407821228988 328.4916201118 L 813.407821228988 61.452513966593926 L 386.59217877096 61.452513966593926 L 386.59217877096 350.83798882688 L 408.93854748604 350.83798882688" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.877094972064px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 791.0614525139081 328.4916201118 L 813.407821228988 328.4916201118 L 813.407821228988 61.452513966593926 L 386.59217877096 61.452513966593926 L 386.59217877096 350.83798882688 L 408.93854748604 350.83798882688" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.234636871508px" 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"/><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="453.6312849162" y="160.8938547487" width="111.73184357540003" height="558.659217877" stroke-width="2.234636871508px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="453.6312849162" y="160.8938547487" width="111.73184357540003" height="558.659217877" fill="transparent"/><text class="sch-text" x="509.4972067039" y="440.2234636872" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="20.111731843572px" transform="rotate(0, 509.4972067039, 440.2234636872)">U1</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="306.14525139672" x2="607.821229050252" y2="306.14525139672" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="306.14525139672" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="303.91061452521205" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="303.91061452521205" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">1</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="395.53072625704004" x2="607.821229050252" y2="395.53072625704004" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_1__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="395.53072625704004" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="393.29608938553207" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="393.296089385532" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">2</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="373.18435754196" x2="607.821229050252" y2="373.18435754196" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_2__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="373.18435754196" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="370.94972067045205" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="370.94972067045205" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">3</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="395.53072625704004" x2="411.173184357548" y2="395.53072625704004" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_3__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="408.93854748604" cy="395.53072625704004" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="406.70391061453205" y="393.29608938553207" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="393.296089385532" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">4</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="328.49162011180005" x2="607.821229050252" y2="328.49162011180005" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_4__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="328.49162011180005" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="326.2569832402921" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="326.256983240292" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">5</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="462.56983240228004" x2="607.821229050252" y2="462.56983240228004" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_5__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="462.56983240228004" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="460.33519553077207" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="460.335195530772" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">6</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="529.60893854752" x2="411.173184357548" y2="529.60893854752" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_6__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="408.93854748604" cy="529.60893854752" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="406.70391061453205" y="527.374301676012" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="527.374301676012" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">7</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="417.87709497212" x2="607.821229050252" y2="417.87709497212" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_7__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="417.87709497212" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="415.64245810061203" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="415.64245810061203" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">9</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="440.2234636872" x2="607.821229050252" y2="440.2234636872" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_8__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="440.2234636872" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="437.98882681569205" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="437.98882681569205" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">10</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="350.83798882688006" x2="607.821229050252" y2="350.83798882688006" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_9__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="350.83798882688006" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="348.6033519553721" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="348.60335195537203" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">11</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="574.30167597768" x2="607.821229050252" y2="574.30167597768" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_10__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="574.30167597768" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="572.067039106172" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="572.067039106172" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">12</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="551.9553072626001" x2="607.821229050252" y2="551.9553072626001" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_11__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="551.9553072626001" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="549.7206703910921" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="549.720670391092" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">13</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="529.60893854752" x2="607.821229050252" y2="529.60893854752" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_12__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="529.60893854752" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="527.374301676012" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="527.374301676012" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">14</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="328.4916201118" x2="411.173184357548" y2="328.4916201118" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_13__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="408.93854748604" cy="328.4916201118" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="406.70391061453205" y="326.256983240292" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="326.256983240292" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">15</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="306.14525139672" x2="411.173184357548" y2="306.14525139672" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_14__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="408.93854748604" cy="306.14525139672" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="406.70391061453205" y="303.91061452521205" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="303.91061452521205" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">16</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="373.18435754196" x2="411.173184357548" y2="373.18435754196" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_15__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="408.93854748604" cy="373.18435754196" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="406.70391061453205" y="370.94972067045205" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="370.94972067045205" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">17</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="551.9553072626" x2="411.173184357548" y2="551.9553072626" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_16__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="408.93854748604" cy="551.9553072626" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="406.70391061453205" y="549.720670391092" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="549.720670391092" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">18</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="462.56983240228004" x2="411.173184357548" y2="462.56983240228004" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_17__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="408.93854748604" cy="462.56983240228004" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="406.70391061453205" y="460.33519553077207" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="460.335195530772" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">19</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="350.83798882688" x2="408.93854748604" y2="350.83798882688" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_18__stack1"><rect x="406.70391061453205" y="348.60335195537203" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="348.60335195537203" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">20</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="574.30167597768" x2="411.173184357548" y2="574.30167597768" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_19__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="408.93854748604" cy="574.30167597768" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="406.70391061453205" y="572.067039106172" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="572.067039106172" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">21</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="507.26256983244" x2="607.821229050252" y2="507.26256983244" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_20__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="507.26256983244" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="505.02793296093205" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="505.027932960932" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">22</text><line class="component-pin sch-component-pin sch-port-line" x1="565.3631284916" y1="484.91620111736" x2="607.821229050252" y2="484.91620111736" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_21__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="610.0558659217601" cy="484.91620111736" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="607.8212290502521" y="482.68156424585203" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="587.70949720668" y="482.68156424585203" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">23</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="507.26256983244" x2="411.173184357548" y2="507.26256983244" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_22__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="408.93854748604" cy="507.26256983244" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="406.70391061453205" y="505.02793296093205" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="505.027932960932" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">25</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="484.91620111736" x2="411.173184357548" y2="484.91620111736" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_23__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="408.93854748604" cy="484.91620111736" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="406.70391061453205" y="482.68156424585203" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="482.68156424585203" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">26</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="417.87709497212" x2="411.173184357548" y2="417.87709497212" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_24__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="408.93854748604" cy="417.87709497212" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="406.70391061453205" y="415.64245810061203" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="415.64245810061203" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">27</text><line class="component-pin sch-component-pin sch-port-line" x1="453.6312849162" y1="440.2234636872" x2="411.173184357548" y2="440.2234636872" stroke-width="2.234636871508px"/><g class="sch-port" data-schematic-port-id="source_port_0_25__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="408.93854748604" cy="440.2234636872" r="2.234636871508" stroke-width="2.234636871508px"/><rect x="406.70391061453205" y="437.98882681569205" width="4.469273743016" height="4.469273743016" opacity="0"/></g><text class="pin-number sch-pin-number" x="431.28491620112004" y="437.98882681569205" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.75977653631px" transform="">28</text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_1__stack1"><rect class="component-overlay sch-component-overlay" x="674.8603351954921" y="294.0616594248619" width="116.20111731841598" height="49.49306848747352" fill="transparent"/><path class="sch-component-symbol-path" d="M 748.0240016552355 328.4916201118 L 718.9737223256315 343.5547279123354" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.234636871508px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 746.9480653837687 328.4916201118 L 791.0614525139081 328.4916201118" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.234636871508px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 718.9737223256315 314.5044485827314 L 748.0240016552355 328.4916201118" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.234636871508px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 718.9737223256315 343.5547279123354 L 718.9737223256315 314.5044485827314" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.234636871508px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 748.0240016552355 314.5044485827314 L 748.0240016552355 343.5547279123354" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.234636871508px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 718.9737223256315 328.4916201118 L 674.8603351954921 328.4916201118" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.234636871508px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 750.1758741981691 297.28946823926236 L 759.8593006413705 296.2135319677956 L 756.63149182697 305.8969584109969" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.234636871508px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 741.5683840264346 310.20070349686415 L 742.6443202979015 310.20070349686415 L 755.5555555555032 299.441340782196 L 755.5555555555032 299.441340782196" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.234636871508px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 730.8090213117665 295.13759569632873 L 741.5683840264346 294.0616594248619 L 737.2646389405674 303.74508586806326" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.234636871508px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 722.201531140032 308.0488309539305 L 723.2774674114987 306.9728946824637 L 737.2646389405674 297.28946823926236 L 737.2646389405674 297.28946823926236" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.234636871508px" stroke-linecap="round"/><text class="sch-component-text" x="732.9608938547001" y="351.0862818126031" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="20.111731843572px"></text><text class="sch-component-name sch-component-text" x="732.9608938547001" y="284.3782329816606" stroke="rgb(245, 241, 237)" stroke-width="2.234636871508px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="ideographic" font-size="20.111731843572px">LED1</text><circle class="component-pin sch-component-pin" cx="674.8603351954921" cy="328.4916201118" r="2.234636871508px" stroke-width="2.234636871508px" fill="none" stroke="rgb(132, 0, 0)"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="610.0558659217601" cy="306.14525139672" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="610.0558659217601" cy="395.53072625704004" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_2__stack1"><circle cx="610.0558659217601" cy="373.18435754196" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_3__stack1"><circle cx="408.93854748604" cy="395.53072625704004" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_4__stack1"><circle cx="610.0558659217601" cy="328.49162011180005" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_5__stack1"><circle cx="610.0558659217601" cy="462.56983240228004" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_6__stack1"><circle cx="408.93854748604" cy="529.60893854752" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_7__stack1"><circle cx="610.0558659217601" cy="417.87709497212" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_8__stack1"><circle cx="610.0558659217601" cy="440.2234636872" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_9__stack1"><circle cx="610.0558659217601" cy="350.83798882688006" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_10__stack1"><circle cx="610.0558659217601" cy="574.30167597768" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_11__stack1"><circle cx="610.0558659217601" cy="551.9553072626001" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_12__stack1"><circle cx="610.0558659217601" cy="529.60893854752" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_13__stack1"><circle cx="408.93854748604" cy="328.4916201118" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_14__stack1"><circle cx="408.93854748604" cy="306.14525139672" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_15__stack1"><circle cx="408.93854748604" cy="373.18435754196" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_16__stack1"><circle cx="408.93854748604" cy="551.9553072626" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_17__stack1"><circle cx="408.93854748604" cy="462.56983240228004" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_18__stack1"><circle cx="408.93854748604" cy="350.83798882688" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_19__stack1"><circle cx="408.93854748604" cy="574.30167597768" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_20__stack1"><circle cx="610.0558659217601" cy="507.26256983244" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_21__stack1"><circle cx="610.0558659217601" cy="484.91620111736" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_22__stack1"><circle cx="408.93854748604" cy="507.26256983244" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_23__stack1"><circle cx="408.93854748604" cy="484.91620111736" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_24__stack1"><circle cx="408.93854748604" cy="417.87709497212" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_25__stack1"><circle cx="408.93854748604" cy="440.2234636872" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="672.625698323984" cy="328.4916201118" r="4.469273743016" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_1__stack1"><circle cx="788.8268156424001" cy="328.4916201118" r="4.469273743016" 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="
91
+ M 802.2346368714482,328.4916201118
92
+ L 813.4078212289882,334.5251396648716
93
+ L 813.4078212289882,372.8417132216621
94
+ L 791.0614525139082,372.8417132216621
95
+ L 791.0614525139082,334.5251396648716
96
+ Z
97
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.234636871508px"/><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="802.2346368714482" y="338.547486033586" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="20.111731843572px" transform="rotate(90 802.2346368714482 338.547486033586)">XX</text><text class="sch-text" x="527.374301675964" y="734.078212290502" fill="#7e22ce" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="20.11173184357197px" transform="rotate(0, 527.374301675964, 734.078212290502)">part-number</text><text class="sch-text" x="467.039106145248" y="148.04469273752898" fill="#7e22ce" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="20.111731843572px" transform="rotate(0, 467.039106145248, 148.04469273752898)">U1</text><rect class="schematic-box sch-box" x="453.6312849162" y="724.0223463687161" width="147.48603351952806" height="20.111731843571874" stroke-width="2.234636871508px" stroke="rgb(132, 0, 0)" fill="transparent" stroke-dasharray="17.877094972064 8.938547486032"/><rect class="schematic-box sch-box" x="446.927374301676" y="134.07821229060403" width="40.223463687143976" height="27.932960893849952" stroke-width="2.234636871508px" stroke="rgb(132, 0, 0)" fill="transparent" stroke-dasharray="17.877094972064 8.938547486032"/>
98
+ </g>
99
+ </svg>
@@ -1,4 +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="1.2000000000000002,-0.30000000000000004 1.6,2.1049999999999995" data-type="line" data-label="" points="308.80000000000007,477.08 353.6,207.72000000000003" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2000000000000002,0.09999999999999998 1.6,2.3049999999999997" data-type="line" data-label="" points="308.80000000000007,432.28 353.6,185.32" fill="none" stroke="hsl(158, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2000000000000002,0.30000000000000004 1.6,2.505" data-type="line" data-label="" points="308.80000000000007,409.87999999999994 353.6,162.91999999999996" fill="none" stroke="hsl(190, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2000000000000002,-0.30000000000000004 1.411,-0.30000000000000004 1.411,-0.5010000000000001" data-type="line" data-label="" points="308.80000000000007,477.08 332.432,477.08 332.432,499.592" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.6,2.1049999999999995 1.3890000000000002,2.1049999999999995 1.3890000000000002,1.9039999999999997" data-type="line" data-label="" points="353.6,207.72000000000003 329.9680000000001,207.72000000000003 329.9680000000001,230.232" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.2000000000000002,0.30000000000000004 1.411,0.30000000000000004 1.411,0.5010000000000001" data-type="line" data-label="" points="308.80000000000007,409.87999999999994 332.432,409.87999999999994 332.432,387.36799999999994" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.6,2.505 1.3890000000000002,2.505 1.3890000000000002,2.706" data-type="line" data-label="" points="353.6,162.91999999999996 329.9680000000001,162.91999999999996 329.9680000000001,140.40799999999996" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="0" data-y="0" x="40" y="387.47999999999996" width="268.80000000000007" height="112" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="2.7" data-y="2.3049999999999997" x="353.6000000000001" y="140.51999999999998" width="246.39999999999998" height="89.6" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="U1" data-x="-0.68" data-y="0.63" x="84.80000000000001" y="362.84" width="26.88000000000001" height="20.159999999999968" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="J1" data-x="2.12" data-y="2.835" x="398.4" y="115.88" width="26.880000000000052" height="20.159999999999968" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="netId: GND
1
+ <svg width="2416" height="1200" viewBox="0 0 2416 1200" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Solver debug visualization on the left and Circuit JSON schematic on the right">
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="1.2000000000000002,-0.30000000000000004 1.6,2.1049999999999995" data-type="line" data-label="" points="308.80000000000007,477.08 353.6,207.72000000000003" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2000000000000002,0.09999999999999998 1.6,2.3049999999999997" data-type="line" data-label="" points="308.80000000000007,432.28 353.6,185.32" fill="none" stroke="hsl(158, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2000000000000002,0.30000000000000004 1.6,2.505" data-type="line" data-label="" points="308.80000000000007,409.87999999999994 353.6,162.91999999999996" fill="none" stroke="hsl(190, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2000000000000002,-0.30000000000000004 1.411,-0.30000000000000004 1.411,-0.5010000000000001" data-type="line" data-label="" points="308.80000000000007,477.08 332.432,477.08 332.432,499.592" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.6,2.1049999999999995 1.3890000000000002,2.1049999999999995 1.3890000000000002,1.9039999999999997" data-type="line" data-label="" points="353.6,207.72000000000003 329.9680000000001,207.72000000000003 329.9680000000001,230.232" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.2000000000000002,0.30000000000000004 1.411,0.30000000000000004 1.411,0.5010000000000001" data-type="line" data-label="" points="308.80000000000007,409.87999999999994 332.432,409.87999999999994 332.432,387.36799999999994" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.6,2.505 1.3890000000000002,2.505 1.3890000000000002,2.706" data-type="line" data-label="" points="353.6,162.91999999999996 329.9680000000001,162.91999999999996 329.9680000000001,140.40799999999996" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="0" data-y="0" x="40" y="387.47999999999996" width="268.80000000000007" height="112" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="2.7" data-y="2.3049999999999997" x="353.6000000000001" y="140.51999999999998" width="246.39999999999998" height="89.6" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="U1" data-x="-0.68" data-y="0.63" x="84.80000000000001" y="362.84" width="26.88000000000001" height="20.159999999999968" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="J1" data-x="2.12" data-y="2.835" x="398.4" y="115.88" width="26.880000000000052" height="20.159999999999968" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="netId: GND
2
4
  globalConnNetId: connectivity_net0" data-x="1.411" data-y="-0.7410000000000001" x="308.91200000000003" y="499.592" width="47.039999999999964" height="53.75999999999999" fill="#00000066" stroke="#000000" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="netId: GND
3
5
  globalConnNetId: connectivity_net0" data-x="1.3890000000000002" data-y="1.6639999999999997" x="306.4480000000001" y="230.23199999999997" width="47.039999999999964" height="53.75999999999996" fill="#00000066" stroke="#000000" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="netId: OUT
4
6
  globalConnNetId: connectivity_net1" data-x="1.441" data-y="0.09999999999999998" x="308.91200000000003" y="421.08" width="53.75999999999999" height="22.399999999999977" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="netId: OUT
@@ -31,7 +33,7 @@ orientation: y+" data-x="1.3890000000000002" data-y="2.706" cx="329.968000000000
31
33
  const h = svg.getElementById('crosshair-h');
32
34
  const v = svg.getElementById('crosshair-v');
33
35
  const coords = svg.getElementById('coordinates');
34
-
36
+
35
37
  crosshair.style.display = 'block';
36
38
  h.setAttribute('x1', '0');
37
39
  h.setAttribute('x2', '640');
@@ -50,13 +52,13 @@ orientation: y+" data-x="1.3890000000000002" data-y="2.706" cx="329.968000000000
50
52
  // y' = (y - ty) / sy
51
53
  const sx = matrix.a;
52
54
  const sy = matrix.d;
53
- const tx = matrix.e;
55
+ const tx = matrix.e;
54
56
  const ty = matrix.f;
55
57
  const realPoint = {
56
58
  x: (x - tx) / sx,
57
59
  y: (y - ty) / sy // Flip y back since we used negative scale
58
60
  }
59
-
61
+
60
62
  coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
61
63
  coords.setAttribute('x', (x + 5).toString());
62
64
  coords.setAttribute('y', (y - 5).toString());
@@ -64,4 +66,62 @@ orientation: y+" data-x="1.3890000000000002" data-y="2.706" cx="329.968000000000
64
66
  document.currentScript.parentElement.addEventListener('mouseleave', () => {
65
67
  document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
66
68
  });
67
- ]]></script></svg>
69
+ ]]></script>
70
+ </g>
71
+ <g transform="translate(1216, 200)">
72
+ <style>
73
+ .boundary { fill: rgb(245, 241, 237); }
74
+ .schematic-boundary { fill: none; stroke: #fff; }
75
+ .component { fill: none; stroke: rgb(132, 0, 0); }
76
+ .chip { fill: rgb(255, 255, 194); stroke: rgb(132, 0, 0); }
77
+ .component-pin { fill: none; stroke: rgb(132, 0, 0); }
78
+ .text { font-family: sans-serif; fill: rgb(0, 150, 0); }
79
+ .pin-number { fill: rgb(169, 0, 0); }
80
+ .port-label { fill: rgb(0, 100, 100); }
81
+ .component-name { fill: rgb(0, 100, 100); }
82
+
83
+ </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 622.91913365676 614.2938996905899 L 655.1587150005813 614.2938996905899 L 655.1587150005813 645.0055387906283" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="24.447075900528px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 622.91913365676 614.2938996905899 L 655.1587150005813 614.2938996905899 L 655.1587150005813 645.0055387906283" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.055884487566px" 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 684.03682340808 246.82379006077855 L 651.7972420642587 246.82379006077855 L 651.7972420642587 277.5354291608168" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="24.447075900528px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 684.03682340808 246.82379006077855 L 651.7972420642587 246.82379006077855 L 651.7972420642587 277.5354291608168" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.055884487566px" 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 622.91913365676 522.61736506361 L 655.1587150005813 522.61736506361 L 655.1587150005813 491.9057259635716" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="24.447075900528px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 622.91913365676 522.61736506361 L 655.1587150005813 522.61736506361 L 655.1587150005813 491.9057259635716" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.055884487566px" 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 684.03682340808 185.70610030945852 L 651.7972420642587 185.70610030945852 L 651.7972420642587 154.9944612094202" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="24.447075900528px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 684.03682340808 185.70610030945852 L 651.7972420642587 185.70610030945852 L 651.7972420642587 154.9944612094202" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.055884487566px" 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"/><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="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_0__stack1"><rect class="component chip sch-component-body" x="317.33068490016" y="492.05852018794997" width="244.47075900528" height="152.7942243783" stroke-width="3.055884487566px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="317.33068490016" y="492.05852018794997" width="244.47075900528" height="152.7942243783" fill="transparent"/><text class="sch-text" x="439.5660644028" y="568.4556323771" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="27.502960388093996px" transform="rotate(0, 439.5660644028, 568.4556323771)">U1</text><line class="component-pin sch-component-pin sch-port-line" x1="561.80144390544" y1="614.2938996905899" x2="622.91913365676" y2="614.2938996905899" stroke-width="3.055884487566px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><rect x="619.863249169194" y="611.2380152030239" width="6.111768975132" height="6.111768975132" opacity="0"/></g><text class="pin-number sch-pin-number" x="592.3602887811" y="611.2380152030239" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.919133656744997px" transform="">1</text><line class="component-pin sch-component-pin sch-port-line" x1="317.33068490016" y1="614.2938996905899" x2="259.26887963640604" y2="614.2938996905899" stroke-width="3.055884487566px"/><g class="sch-port" data-schematic-port-id="source_port_0_1__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="256.21299514884004" cy="614.2938996905899" r="3.055884487566" stroke-width="3.055884487566px"/><rect x="253.15711066127403" y="611.2380152030239" width="6.111768975132" height="6.111768975132" opacity="0"/></g><text class="pin-number sch-pin-number" x="286.77184002449997" y="611.2380152030239" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.919133656744997px" transform="">2</text><line class="component-pin sch-component-pin sch-port-line" x1="561.80144390544" y1="553.1762099392699" x2="619.863249169194" y2="553.1762099392699" stroke-width="3.055884487566px"/><g class="sch-port" data-schematic-port-id="source_port_0_2__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="622.91913365676" cy="553.1762099392699" r="3.055884487566" stroke-width="3.055884487566px"/><rect x="619.863249169194" y="550.1203254517039" width="6.111768975132" height="6.111768975132" opacity="0"/></g><text class="pin-number sch-pin-number" x="592.3602887811" y="550.1203254517039" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.919133656744997px" transform="">3</text><line class="component-pin sch-component-pin sch-port-line" x1="317.33068490016" y1="522.61736506361" x2="259.26887963640604" y2="522.61736506361" stroke-width="3.055884487566px"/><g class="sch-port" data-schematic-port-id="source_port_0_3__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="256.21299514884004" cy="522.61736506361" r="3.055884487566" stroke-width="3.055884487566px"/><rect x="253.15711066127403" y="519.561480576044" width="6.111768975132" height="6.111768975132" opacity="0"/></g><text class="pin-number sch-pin-number" x="286.77184002449997" y="519.561480576044" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.919133656744997px" transform="">4</text><line class="component-pin sch-component-pin sch-port-line" x1="317.33068490016" y1="553.1762099392699" x2="259.26887963640604" y2="553.1762099392699" stroke-width="3.055884487566px"/><g class="sch-port" data-schematic-port-id="source_port_0_4__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="256.21299514884004" cy="553.1762099392699" r="3.055884487566" stroke-width="3.055884487566px"/><rect x="253.15711066127403" y="550.1203254517039" width="6.111768975132" height="6.111768975132" opacity="0"/></g><text class="pin-number sch-pin-number" x="286.77184002449997" y="550.1203254517039" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.919133656744997px" transform="">5</text><line class="component-pin sch-component-pin sch-port-line" x1="317.33068490016" y1="583.73505481493" x2="259.26887963640604" y2="583.73505481493" stroke-width="3.055884487566px"/><g class="sch-port" data-schematic-port-id="source_port_0_5__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="256.21299514884004" cy="583.73505481493" r="3.055884487566" stroke-width="3.055884487566px"/><rect x="253.15711066127403" y="580.679170327364" width="6.111768975132" height="6.111768975132" opacity="0"/></g><text class="pin-number sch-pin-number" x="286.77184002449997" y="580.679170327364" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.919133656744997px" transform="">6</text><line class="component-pin sch-component-pin sch-port-line" x1="561.80144390544" y1="583.73505481493" x2="619.863249169194" y2="583.73505481493" stroke-width="3.055884487566px"/><g class="sch-port" data-schematic-port-id="source_port_0_6__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="622.91913365676" cy="583.73505481493" r="3.055884487566" stroke-width="3.055884487566px"/><rect x="619.863249169194" y="580.679170327364" width="6.111768975132" height="6.111768975132" opacity="0"/></g><text class="pin-number sch-pin-number" x="592.3602887811" y="580.679170327364" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.919133656744997px" transform="">7</text><line class="component-pin sch-component-pin sch-port-line" x1="561.80144390544" y1="522.61736506361" x2="622.91913365676" y2="522.61736506361" stroke-width="3.055884487566px"/><g class="sch-port" data-schematic-port-id="source_port_0_7__stack1"><rect x="619.863249169194" y="519.561480576044" width="6.111768975132" height="6.111768975132" opacity="0"/></g><text class="pin-number sch-pin-number" x="592.3602887811" y="519.561480576044" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.919133656744997px" transform="">8</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="745.1545131594" y="155.14725543379853" width="213.91191412962007" height="122.23537950264" stroke-width="3.055884487566px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="745.1545131594" y="155.14725543379853" width="213.91191412962007" height="122.23537950264" fill="transparent"/><text class="sch-text" x="852.1104702242101" y="216.2649451851185" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="27.502960388093996px" transform="rotate(0, 852.1104702242101, 216.2649451851185)">J1</text><line class="component-pin sch-component-pin sch-port-line" x1="745.1545131594" y1="185.70610030945852" x2="684.03682340808" y2="185.70610030945852" stroke-width="3.055884487566px"/><g class="sch-port" data-schematic-port-id="source_port_1_0__stack1"><rect x="680.980938920514" y="182.65021582189252" width="6.111768975132" height="6.111768975132" opacity="0"/></g><text class="pin-number sch-pin-number" x="714.59566828374" y="182.65021582189252" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.919133656744997px" transform="">1</text><line class="component-pin sch-component-pin sch-port-line" x1="745.1545131594" y1="216.2649451851185" x2="687.0927078956461" y2="216.2649451851185" stroke-width="3.055884487566px"/><g class="sch-port" data-schematic-port-id="source_port_1_1__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="684.03682340808" cy="216.2649451851185" r="3.055884487566" stroke-width="3.055884487566px"/><rect x="680.980938920514" y="213.2090606975525" width="6.111768975132" height="6.111768975132" opacity="0"/></g><text class="pin-number sch-pin-number" x="714.59566828374" y="213.20906069755256" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.919133656744997px" transform="">2</text><line class="component-pin sch-component-pin sch-port-line" x1="745.1545131594" y1="246.82379006077855" x2="684.03682340808" y2="246.82379006077855" stroke-width="3.055884487566px"/><g class="sch-port" data-schematic-port-id="source_port_1_2__stack1"><rect x="680.980938920514" y="243.76790557321254" width="6.111768975132" height="6.111768975132" opacity="0"/></g><text class="pin-number sch-pin-number" x="714.59566828374" y="243.76790557321254" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.919133656744997px" transform="">3</text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="622.91913365676" cy="614.2938996905899" r="6.111768975132" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="256.21299514884004" cy="614.2938996905899" r="6.111768975132" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_2__stack1"><circle cx="622.91913365676" cy="553.1762099392699" r="6.111768975132" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_3__stack1"><circle cx="256.21299514884004" cy="522.61736506361" r="6.111768975132" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_4__stack1"><circle cx="256.21299514884004" cy="553.1762099392699" r="6.111768975132" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_5__stack1"><circle cx="256.21299514884004" cy="583.73505481493" r="6.111768975132" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_6__stack1"><circle cx="622.91913365676" cy="583.73505481493" r="6.111768975132" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_7__stack1"><circle cx="622.91913365676" cy="522.61736506361" r="6.111768975132" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="684.03682340808" cy="185.70610030945852" r="6.111768975132" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_1__stack1"><circle cx="684.03682340808" cy="216.2649451851185" r="6.111768975132" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_2__stack1"><circle cx="684.03682340808" cy="246.82379006077855" r="6.111768975132" 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="
84
+ M 655.1587150005813,645.0055387906283
85
+ L 670.4381374384113,653.2564269070565
86
+ L 670.4381374384113,723.6028878108258
87
+ L 639.8792925627513,723.6028878108258
88
+ L 639.8792925627513,653.2564269070565
89
+ Z
90
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.055884487566px"/><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="655.1587150005813" y="658.7570189846753" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="27.502960388093996px" transform="rotate(90 655.1587150005813 658.7570189846753)">XXX</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="
91
+ M 651.7972420642587,277.5354291608168
92
+ L 667.0766645020888,285.786317277245
93
+ L 667.0766645020888,356.1327781810143
94
+ L 636.5178196264287,356.1327781810143
95
+ L 636.5178196264287,285.786317277245
96
+ Z
97
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.055884487566px"/><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="651.7972420642587" y="291.28690935486384" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="27.502960388093996px" transform="rotate(90 651.7972420642587 291.28690935486384)">XXX</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="
98
+ M 622.91913365676,553.1762099392699
99
+ L 631.1700217731882,537.8967875014399
100
+ L 701.5164826769575,537.8967875014399
101
+ L 701.5164826769575,568.4556323771
102
+ L 631.1700217731882,568.4556323771
103
+ Z
104
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.055884487566px"/><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="636.670613850807" y="553.1762099392699" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="27.502960388093996px" transform="">XXX</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="
105
+ M 684.03682340808,216.2649451851185
106
+ L 675.7859352916518,231.5443676229485
107
+ L 605.4394743878825,231.5443676229485
108
+ L 605.4394743878825,200.98552274728848
109
+ L 675.7859352916518,200.9855227472885
110
+ Z
111
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.055884487566px"/><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="670.285343214033" y="216.2649451851185" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="27.502960388093996px" transform="">XXX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_4__stack1" d="
112
+ M 655.1587150005813,491.9057259635716
113
+ L 639.8792925627513,483.6548378471434
114
+ L 639.8792925627513,413.3083769433741
115
+ L 670.4381374384113,413.3083769433741
116
+ L 670.4381374384113,483.6548378471434
117
+ Z
118
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.055884487566px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_4__stack1" x="655.1587150005813" y="478.1542457695246" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="27.502960388093996px" transform="rotate(-90 655.1587150005813 478.1542457695246)">XXX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_5__stack1" d="
119
+ M 651.7972420642587,154.9944612094202
120
+ L 636.5178196264287,146.743573092992
121
+ L 636.5178196264287,76.39711218922268
122
+ L 667.0766645020888,76.39711218922268
123
+ L 667.0766645020888,146.743573092992
124
+ Z
125
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.055884487566px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_5__stack1" x="651.7972420642587" y="141.2429810153732" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="27.502960388093996px" transform="rotate(-90 651.7972420642587 141.2429810153732)">XXX</text><text class="sch-text" x="335.66599182555603" y="472.195271018771" fill="#7e22ce" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="27.50296038809399px" transform="rotate(0, 335.66599182555603, 472.195271018771)">U1</text><text class="sch-text" x="763.4898200847961" y="135.2840062646195" fill="#7e22ce" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="27.502960388093953px" transform="rotate(0, 763.4898200847961, 135.2840062646195)">J1</text><rect class="schematic-box sch-box" x="317.33068490016" y="458.443790824724" width="36.670613850791995" height="27.50296038809398" stroke-width="3.055884487566px" stroke="rgb(132, 0, 0)" fill="transparent" stroke-dasharray="24.447075900528 12.223537950264"/><rect class="schematic-box sch-box" x="745.1545131594" y="121.53252607057254" width="36.67061385079205" height="27.502960388093925" stroke-width="3.055884487566px" stroke="rgb(132, 0, 0)" fill="transparent" stroke-dasharray="24.447075900528 12.223537950264"/>
126
+ </g>
127
+ </svg>
@@ -1,4 +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="0.2,0.3 -0.2,-0.3999999999999999" data-type="line" data-label="" points="315.05882352941177,281.5686274509804 271.13725490196083,358.4313725490196" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.2,0.30000000000000004 0.2,-0.04999999999999993 -0.2,-0.04999999999999993 -0.2,-0.3999999999999999" data-type="line" data-label="" points="315.05882352941177,281.5686274509804 315.05882352941177,320 271.13725490196083,320 271.13725490196083,358.4313725490196" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.2,-0.04999999999999993 0.2,6.938893903907228e-17 0.65,6.938893903907228e-17 0.65,-0.10099999999999994" data-type="line" data-label="" points="315.05882352941177,320 315.05882352941177,314.5098039215686 364.47058823529414,314.5098039215686 364.47058823529414,325.59999999999997" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="TOP" data-x="0" data-y="1.4" x="249.1764705882353" y="40" width="87.84313725490199" height="241.5686274509804" fill="hsl(93, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009107142857142857"/></g><g><rect data-type="rect" data-label="BOTTOM" data-x="0" data-y="-1.5" x="249.1764705882353" y="358.43137254901967" width="87.84313725490199" height="241.5686274509804" fill="hsl(259, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009107142857142857"/></g><g><rect data-type="rect" data-label="netId: GND
1
+ <svg width="2416" height="1200" viewBox="0 0 2416 1200" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Solver debug visualization on the left and Circuit JSON schematic on the right">
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="0.2,0.3 -0.2,-0.3999999999999999" data-type="line" data-label="" points="315.05882352941177,281.5686274509804 271.13725490196083,358.4313725490196" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.2,0.30000000000000004 0.2,-0.04999999999999993 -0.2,-0.04999999999999993 -0.2,-0.3999999999999999" data-type="line" data-label="" points="315.05882352941177,281.5686274509804 315.05882352941177,320 271.13725490196083,320 271.13725490196083,358.4313725490196" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.2,-0.04999999999999993 0.2,6.938893903907228e-17 0.65,6.938893903907228e-17 0.65,-0.10099999999999994" data-type="line" data-label="" points="315.05882352941177,320 315.05882352941177,314.5098039215686 364.47058823529414,314.5098039215686 364.47058823529414,325.59999999999997" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="TOP" data-x="0" data-y="1.4" x="249.1764705882353" y="40" width="87.84313725490199" height="241.5686274509804" fill="hsl(93, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009107142857142857"/></g><g><rect data-type="rect" data-label="BOTTOM" data-x="0" data-y="-1.5" x="249.1764705882353" y="358.43137254901967" width="87.84313725490199" height="241.5686274509804" fill="hsl(259, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009107142857142857"/></g><g><rect data-type="rect" data-label="netId: GND
2
4
  globalConnNetId: connectivity_net0" data-x="0.65" data-y="-0.31099999999999994" x="338.11764705882354" y="325.59999999999997" width="52.70588235294122" height="46.117647058823536" fill="#00000066" stroke="#000000" stroke-width="0.009107142857142857"/></g><g><circle data-type="point" data-label="TOP.GND
3
5
  y-" data-x="0.2" data-y="0.3" cx="315.05882352941177" cy="281.5686274509804" r="3" fill="hsl(116, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="BOTTOM.GND
4
6
  y+" data-x="-0.2" data-y="-0.3999999999999999" cx="271.13725490196083" cy="358.4313725490196" r="3" fill="hsl(42, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
@@ -45,4 +47,27 @@ orientation: y-" data-x="0.65" data-y="-0.10099999999999994" cx="364.47058823529
45
47
  document.currentScript.parentElement.addEventListener('mouseleave', () => {
46
48
  document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
47
49
  });
48
- ]]></script></svg>
50
+ ]]></script>
51
+ </g>
52
+ <g transform="translate(1216, 200)">
53
+ <style>
54
+ .boundary { fill: rgb(245, 241, 237); }
55
+ .schematic-boundary { fill: none; stroke: #fff; }
56
+ .component { fill: none; stroke: rgb(132, 0, 0); }
57
+ .chip { fill: rgb(255, 255, 194); stroke: rgb(132, 0, 0); }
58
+ .component-pin { fill: none; stroke: rgb(132, 0, 0); }
59
+ .text { font-family: sans-serif; fill: rgb(0, 150, 0); }
60
+ .pin-number { fill: rgb(169, 0, 0); }
61
+ .port-label { fill: rgb(0, 100, 100); }
62
+ .component-name { fill: rgb(0, 100, 100); }
63
+
64
+ </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 614.33962264148 347.16981132077996 L 614.33962264148 400.00000000001995 L 553.96226415092 400.00000000001995 L 553.96226415092 452.83018867925995" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="24.150943396224px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 614.33962264148 347.16981132077996 L 614.33962264148 400.00000000001995 L 553.96226415092 400.00000000001995 L 553.96226415092 452.83018867925995" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.018867924528px" 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 614.33962264148 400.00000000001995 L 614.33962264148 392.4528301887 L 682.2641509433599 392.4528301887 L 682.2641509433599 407.6981132075664" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="24.150943396224px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 614.33962264148 400.00000000001995 L 614.33962264148 392.4528301887 L 682.2641509433599 392.4528301887 L 682.2641509433599 407.6981132075664" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.018867924528px" 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="614.33962264148" cy="400.00000000001995" r="4.528301886792" 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="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_0__stack1"><rect class="component chip sch-component-body" x="523.77358490564" y="75.47169811326" width="120.75471698112005" height="211.32075471695998" stroke-width="3.018867924528px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="523.77358490564" y="75.47169811326" width="120.75471698112005" height="211.32075471695998" fill="transparent"/><text class="sch-text" x="584.1509433962" y="181.13207547173997" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="27.169811320752px" transform="rotate(0, 584.1509433962, 181.13207547173997)">TOP</text><line class="component-pin sch-component-pin sch-port-line" x1="614.33962264148" y1="286.79245283022" x2="614.33962264148" y2="347.16981132077996" stroke-width="3.018867924528px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><rect x="611.320754716952" y="344.15094339625193" width="6.037735849056" height="6.037735849056" opacity="0"/></g><text class="pin-number sch-pin-number" x="611.320754716952" y="316.9811320755" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.64150943396px" transform="rotate(-90 611.320754716952 316.9811320755)"></text><text class="pin-number sch-pin-label" x="614.33962264148" y="271.69811320758" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="22.64150943396px" transform="rotate(-90 614.33962264148 271.69811320758)">GND</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="523.77358490564" y="513.2075471698199" width="120.75471698112005" height="211.3207547169601" stroke-width="3.018867924528px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="523.77358490564" y="513.2075471698199" width="120.75471698112005" height="211.3207547169601" fill="transparent"/><text class="sch-text" x="584.1509433962" y="618.8679245283" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="27.169811320752px" transform="rotate(0, 584.1509433962, 618.8679245283)">BOTTOM</text><line class="component-pin sch-component-pin sch-port-line" x1="553.96226415092" y1="513.2075471698199" x2="553.96226415092" y2="452.83018867925995" stroke-width="3.018867924528px"/><g class="sch-port" data-schematic-port-id="source_port_1_0__stack1"><rect x="550.943396226392" y="449.8113207547319" width="6.037735849056" height="6.037735849056" opacity="0"/></g><text class="pin-number sch-pin-number" x="550.943396226392" y="483.01886792453996" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="22.64150943396px" transform="rotate(-90 550.943396226392 483.01886792453996)"></text><text class="pin-number sch-pin-label" x="553.96226415092" y="528.30188679246" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="22.64150943396px" transform="rotate(-90 553.96226415092 528.30188679246)">GND</text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="614.33962264148" cy="347.16981132077996" r="6.037735849056" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="553.96226415092" cy="452.83018867925995" r="6.037735849056" 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="
65
+ M 682.2641509433599,407.6981132075664
66
+ L 697.3584905659999,415.849056603792
67
+ L 697.3584905659999,467.61257861636545
68
+ L 667.16981132072,467.61257861636545
69
+ L 667.16981132072,415.849056603792
70
+ Z
71
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.018867924528px"/><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="682.2641509433599" y="421.2830188679424" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="27.169811320752px" transform="rotate(90 682.2641509433599 421.2830188679424)">XX</text>
72
+ </g>
73
+ </svg>