@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="1.05,0.2 -1.05,-0.1" data-type="line" data-label="" points="331.8763479511143,334.0570333093698 190.9705248023005,354.1864366163432" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.05,0.2 -2.7,-2" data-type="line" data-label="" points="331.8763479511143,334.0570333093698 80.2588066139468,481.672657560508" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.05,0.2 3.3,-1.5" data-type="line" data-label="" points="331.8763479511143,334.0570333093698 482.8468727534148,448.1236520488857" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.05,0.2 3.3,0" data-type="line" data-label="" points="331.8763479511143,334.0570333093698 482.8468727534148,347.4766355140187" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.05,0.2 4.565,3" data-type="line" data-label="" points="331.8763479511143,334.0570333093698 567.7258566978194,146.18260244428473" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.05,-0.1 -2.7,-2" data-type="line" data-label="" points="190.9705248023005,354.1864366163432 80.2588066139468,481.672657560508" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.05,-0.1 3.3,-1.5" data-type="line" data-label="" points="190.9705248023005,354.1864366163432 482.8468727534148,448.1236520488857" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.05,-0.1 3.3,0" data-type="line" data-label="" points="190.9705248023005,354.1864366163432 482.8468727534148,347.4766355140187" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.05,-0.1 4.565,3" data-type="line" data-label="" points="190.9705248023005,354.1864366163432 567.7258566978194,146.18260244428473" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.7,-2 3.3,-1.5" data-type="line" data-label="" points="80.2588066139468,481.672657560508 482.8468727534148,448.1236520488857" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.7,-2 3.3,0" data-type="line" data-label="" points="80.2588066139468,481.672657560508 482.8468727534148,347.4766355140187" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.7,-2 4.565,3" data-type="line" data-label="" points="80.2588066139468,481.672657560508 567.7258566978194,146.18260244428473" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.3,-1.5 3.3,0" data-type="line" data-label="" points="482.8468727534148,448.1236520488857 482.8468727534148,347.4766355140187" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.3,-1.5 4.565,3" data-type="line" data-label="" points="482.8468727534148,448.1236520488857 567.7258566978194,146.18260244428473" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.3,0 4.565,3" data-type="line" data-label="" points="482.8468727534148,347.4766355140187 567.7258566978194,146.18260244428473" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.3,0 3.5,0 3.5,-1.5 3.3,-1.5" data-type="line" data-label="" points="482.8468727534148,347.4766355140187 496.2664749580637,347.4766355140187 496.2664749580637,448.1236520488857 482.8468727534148,448.1236520488857" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.0500000000000005,0.2 1.2500000000000007,0.2 1.2500000000000007,0.7 -1.25,0.7 -1.25,-0.1 -1.05,-0.1" data-type="line" data-label="" points="331.8763479511143,334.0570333093698 345.2959501557633,334.0570333093698 345.2959501557633,300.50802779774745 177.55092259765155,300.50802779774745 177.55092259765155,354.1864366163432 190.9705248023005,354.1864366163432" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.2500000000000007,0.2 1.5400000000000007,0.2 1.5400000000000007,0.199" data-type="line" data-label="" points="345.2959501557633,334.0570333093698 364.7543733525042,334.0570333093698 364.7543733525042,334.124131320393" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.7,-2 -2.459,-2 -2.459,-2.351" data-type="line" data-label="" points="80.2588066139468,481.672657560508 96.42942727054876,481.672657560508 96.42942727054876,505.2240594296669" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.5,-1.5 3.79,-1.5" data-type="line" data-label="" points="496.2664749580637,448.1236520488857 515.7248981548047,448.1236520488857" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="4.565,3 4.806000000000001,3 4.806000000000001,2.649" data-type="line" data-label="" points="567.7258566978194,146.18260244428473 583.8964773544213,146.18260244428473 583.8964773544213,169.7340043134436" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="PWR1" data-x="0" data-y="0" x="190.97052480230047" y="313.92763000239637" width="140.90582314881382" height="67.09801102324468" fill="hsl(238, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01490357142857143"/></g><g><rect data-type="rect" data-label="R7" data-x="-3" data-y="-2" x="40.000000000000014" y="458.85933381260486" width="40.2588066139468" height="45.62664749580637" fill="hsl(77, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01490357142857143"/></g><g><rect data-type="rect" data-label="C6" data-x="3" data-y="-1.5" x="442.58806613946797" y="419.9424874191229" width="40.25880661394683" height="56.36232925952555" fill="hsl(331, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01490357142857143"/></g><g><rect data-type="rect" data-label="C7" data-x="3" data-y="0" x="442.58806613946797" y="319.29547088425596" width="40.25880661394683" height="56.362329259525495" fill="hsl(332, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01490357142857143"/></g><g><rect data-type="rect" data-label="LED1" data-x="4" data-y="3.1325" x="491.90510424155275" y="106.59477594057037" width="75.82075245626658" height="61.39468008626886" fill="hsl(142, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01490357142857143"/></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.05,0.2 -1.05,-0.1" data-type="line" data-label="" points="331.8763479511143,334.0570333093698 190.9705248023005,354.1864366163432" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.05,0.2 -2.7,-2" data-type="line" data-label="" points="331.8763479511143,334.0570333093698 80.2588066139468,481.672657560508" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.05,0.2 3.3,-1.5" data-type="line" data-label="" points="331.8763479511143,334.0570333093698 482.8468727534148,448.1236520488857" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.05,0.2 3.3,0" data-type="line" data-label="" points="331.8763479511143,334.0570333093698 482.8468727534148,347.4766355140187" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.05,0.2 4.565,3" data-type="line" data-label="" points="331.8763479511143,334.0570333093698 567.7258566978194,146.18260244428473" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.05,-0.1 -2.7,-2" data-type="line" data-label="" points="190.9705248023005,354.1864366163432 80.2588066139468,481.672657560508" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.05,-0.1 3.3,-1.5" data-type="line" data-label="" points="190.9705248023005,354.1864366163432 482.8468727534148,448.1236520488857" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.05,-0.1 3.3,0" data-type="line" data-label="" points="190.9705248023005,354.1864366163432 482.8468727534148,347.4766355140187" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.05,-0.1 4.565,3" data-type="line" data-label="" points="190.9705248023005,354.1864366163432 567.7258566978194,146.18260244428473" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.7,-2 3.3,-1.5" data-type="line" data-label="" points="80.2588066139468,481.672657560508 482.8468727534148,448.1236520488857" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.7,-2 3.3,0" data-type="line" data-label="" points="80.2588066139468,481.672657560508 482.8468727534148,347.4766355140187" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.7,-2 4.565,3" data-type="line" data-label="" points="80.2588066139468,481.672657560508 567.7258566978194,146.18260244428473" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.3,-1.5 3.3,0" data-type="line" data-label="" points="482.8468727534148,448.1236520488857 482.8468727534148,347.4766355140187" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.3,-1.5 4.565,3" data-type="line" data-label="" points="482.8468727534148,448.1236520488857 567.7258566978194,146.18260244428473" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.3,0 4.565,3" data-type="line" data-label="" points="482.8468727534148,347.4766355140187 567.7258566978194,146.18260244428473" fill="none" stroke="hsl(253, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.3,0 3.5,0 3.5,-1.5 3.3,-1.5" data-type="line" data-label="" points="482.8468727534148,347.4766355140187 496.2664749580637,347.4766355140187 496.2664749580637,448.1236520488857 482.8468727534148,448.1236520488857" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.0500000000000005,0.2 1.2500000000000007,0.2 1.2500000000000007,0.7 -1.25,0.7 -1.25,-0.1 -1.05,-0.1" data-type="line" data-label="" points="331.8763479511143,334.0570333093698 345.2959501557633,334.0570333093698 345.2959501557633,300.50802779774745 177.55092259765155,300.50802779774745 177.55092259765155,354.1864366163432 190.9705248023005,354.1864366163432" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.2500000000000007,0.2 1.5400000000000007,0.2 1.5400000000000007,0.199" data-type="line" data-label="" points="345.2959501557633,334.0570333093698 364.7543733525042,334.0570333093698 364.7543733525042,334.124131320393" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.7,-2 -2.459,-2 -2.459,-2.351" data-type="line" data-label="" points="80.2588066139468,481.672657560508 96.42942727054876,481.672657560508 96.42942727054876,505.2240594296669" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.5,-1.5 3.79,-1.5" data-type="line" data-label="" points="496.2664749580637,448.1236520488857 515.7248981548047,448.1236520488857" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="4.565,3 4.806000000000001,3 4.806000000000001,2.649" data-type="line" data-label="" points="567.7258566978194,146.18260244428473 583.8964773544213,146.18260244428473 583.8964773544213,169.7340043134436" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="PWR1" data-x="0" data-y="0" x="190.97052480230047" y="313.92763000239637" width="140.90582314881382" height="67.09801102324468" fill="hsl(238, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01490357142857143"/></g><g><rect data-type="rect" data-label="R7" data-x="-3" data-y="-2" x="40.000000000000014" y="458.85933381260486" width="40.2588066139468" height="45.62664749580637" fill="hsl(77, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01490357142857143"/></g><g><rect data-type="rect" data-label="C6" data-x="3" data-y="-1.5" x="442.58806613946797" y="419.9424874191229" width="40.25880661394683" height="56.36232925952555" fill="hsl(331, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01490357142857143"/></g><g><rect data-type="rect" data-label="C7" data-x="3" data-y="0" x="442.58806613946797" y="319.29547088425596" width="40.25880661394683" height="56.362329259525495" fill="hsl(332, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01490357142857143"/></g><g><rect data-type="rect" data-label="LED1" data-x="4" data-y="3.1325" x="491.90510424155275" y="106.59477594057037" width="75.82075245626658" height="61.39468008626886" fill="hsl(142, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01490357142857143"/></g><g><rect data-type="rect" data-label="netId: gnd
2
4
  globalConnNetId: connectivity_net0" data-x="1.5400000000000007" data-y="-0.010999999999999982" x="348.6508507069255" y="334.124131320393" width="32.20704529115744" height="28.181164629762748" fill="#00000066" stroke="#000000" stroke-width="0.01490357142857143"/></g><g><rect data-type="rect" data-label="netId: gnd
3
5
  globalConnNetId: connectivity_net0" data-x="-2.459" data-y="-2.561" x="80.32590462497005" y="505.22405942966685" width="32.207045291157414" height="28.181164629762748" fill="#00000066" stroke="#000000" stroke-width="0.01490357142857143"/></g><g><rect data-type="rect" data-label="netId: gnd
4
6
  globalConnNetId: connectivity_net0" data-x="3.79" data-y="-1.71" x="499.62137550922597" y="448.1236520488857" width="32.20704529115744" height="28.181164629762804" fill="#00000066" stroke="#000000" stroke-width="0.01490357142857143"/></g><g><rect data-type="rect" data-label="netId: gnd
@@ -55,4 +57,48 @@ orientation: y-" data-x="4.806000000000001" data-y="2.649" cx="583.8964773544213
55
57
  document.currentScript.parentElement.addEventListener('mouseleave', () => {
56
58
  document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
57
59
  });
58
- ]]></script></svg>
60
+ ]]></script>
61
+ </g>
62
+ <g transform="translate(1216, 200)">
63
+ <style>
64
+ .boundary { fill: rgb(245, 241, 237); }
65
+ .schematic-boundary { fill: none; stroke: #fff; }
66
+ .component { fill: none; stroke: rgb(132, 0, 0); }
67
+ .chip { fill: rgb(255, 255, 194); stroke: rgb(132, 0, 0); }
68
+ .component-pin { fill: none; stroke: rgb(132, 0, 0); }
69
+ .text { font-family: sans-serif; fill: rgb(0, 150, 0); }
70
+ .pin-number { fill: rgb(169, 0, 0); }
71
+ .port-label { fill: rgb(0, 100, 100); }
72
+ .component-name { fill: rgb(0, 100, 100); }
73
+
74
+ </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 865.68788668943 445.9021159455 L 887.49239113665 445.9021159455 L 887.49239113665 609.4358992996499 L 865.68788668943 609.4358992996499" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.443603557776px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 865.68788668943 445.9021159455 L 887.49239113665 445.9021159455 L 887.49239113665 609.4358992996499 L 865.68788668943 609.4358992996499" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.180450444722px" 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 620.387211658205 424.09761149828 L 642.191716105425 424.09761149828 L 642.191716105425 369.58635038023 L 369.63541051517495 369.58635038023 L 369.63541051517495 456.80436816911 L 391.439914962395 456.80436816911" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.443603557776px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 620.387211658205 424.09761149828 L 642.191716105425 424.09761149828 L 642.191716105425 369.58635038023 L 369.63541051517495 369.58635038023 L 369.63541051517495 456.80436816911 L 391.439914962395 456.80436816911" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.180450444722px" 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 642.191716105425 424.09761149828 L 673.808247553894 424.09761149828 L 673.808247553894 424.2066340205161" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.443603557776px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 642.191716105425 424.09761149828 L 673.808247553894 424.09761149828 L 673.808247553894 424.2066340205161" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.180450444722px" 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 211.55275327283 663.9471604176999 L 237.82718113173007 663.9471604176999 L 237.82718113173007 702.2140657225711" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.443603557776px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 211.55275327283 663.9471604176999 L 237.82718113173007 663.9471604176999 L 237.82718113173007 702.2140657225711" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.180450444722px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_4__stack1"><path d="M 887.49239113665 609.4358992996499 L 919.108922585119 609.4358992996499" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.443603557776px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 887.49239113665 609.4358992996499 L 919.108922585119 609.4358992996499" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.180450444722px" 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_5__stack1"><path d="M 1003.6013773180965 118.83454923720001 L 1029.8758051769967 118.83454923720001 L 1029.8758051769967 157.10145454207105" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.443603557776px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 1003.6013773180965 118.83454923720001 L 1029.8758051769967 118.83454923720001 L 1029.8758051769967 157.10145454207105" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.180450444722px" 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="887.49239113665" cy="609.4358992996499" r="3.2706756670829997" 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"><circle cx="642.191716105425" cy="424.09761149828" r="3.2706756670829997" 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_2__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_3__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_4__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_5__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="435.048923856835" y="391.39085482744997" width="141.72927890692995" height="109.02252223610003" stroke-width="2.180450444722px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="435.048923856835" y="391.39085482744997" width="141.72927890692995" height="109.02252223610003" fill="transparent"/><text class="sch-text" x="505.9135633103" y="445.9021159455" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="19.624054002498px" transform="rotate(0, 505.9135633103, 445.9021159455)">PWR1</text><line class="component-pin sch-component-pin sch-port-line" x1="576.778202763765" y1="424.09761149828" x2="620.387211658205" y2="424.09761149828" stroke-width="2.180450444722px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><rect x="618.206761213483" y="421.917161053558" width="4.360900889444" height="4.360900889444" opacity="0"/></g><text class="pin-number sch-pin-number" x="598.5827072109851" y="421.917161053558" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.353378335414998px" transform=""></text><text class="pin-number sch-pin-label" x="565.875950540155" y="424.09761149828" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.353378335414998px" transform="">EP</text><line class="component-pin sch-component-pin sch-port-line" x1="435.048923856835" y1="456.80436816911" x2="391.439914962395" y2="456.80436816911" stroke-width="2.180450444722px"/><g class="sch-port" data-schematic-port-id="source_port_0_1__stack1"><rect x="389.259464517673" y="454.623917724388" width="4.360900889444" height="4.360900889444" opacity="0"/></g><text class="pin-number sch-pin-number" x="413.244419409615" y="454.623917724388" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.353378335414998px" transform=""></text><text class="pin-number sch-pin-label" x="445.951176080445" y="456.80436816911" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.353378335414998px" transform="">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="173.394870490195" y="626.879502857426" width="10.902252223609992" height="74.13531512054794" stroke-width="2.180450444722px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="173.394870490195" y="626.879502857426" width="10.902252223609992" height="74.13531512054794" fill="transparent"/><text class="sch-text" x="178.845996602" y="663.9471604176999" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="19.624054002498px" transform="rotate(0, 178.845996602, 663.9471604176999)">R7</text><line class="component-pin sch-component-pin sch-port-line" x1="184.29712271380498" y1="663.9471604176999" x2="211.55275327283" y2="663.9471604176999" stroke-width="2.180450444722px"/><g class="sch-port" data-schematic-port-id="source_port_1_0__stack1"><rect x="209.372302828108" y="661.7667099729779" width="4.360900889444" height="4.360900889444" opacity="0"/></g><text class="pin-number sch-pin-number" x="197.92493799331749" y="661.766709972978" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.353378335414998px" transform="">2</text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_2__stack1"><rect class="component chip sch-component-body" x="827.530003906795" y="563.646439960488" width="10.902252223610049" height="91.57891867832393" stroke-width="2.180450444722px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="827.530003906795" y="563.646439960488" width="10.902252223610049" height="91.57891867832393" fill="transparent"/><text class="sch-text" x="832.9811300186" y="609.4358992996499" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="19.624054002498px" transform="rotate(0, 832.9811300186, 609.4358992996499)">C6</text><line class="component-pin sch-component-pin sch-port-line" x1="838.432256130405" y1="609.4358992996499" x2="865.68788668943" y2="609.4358992996499" stroke-width="2.180450444722px"/><g class="sch-port" data-schematic-port-id="source_port_2_0__stack1"><rect x="863.507436244708" y="607.2554488549279" width="4.360900889444" height="4.360900889444" opacity="0"/></g><text class="pin-number sch-pin-number" x="852.0600714099176" y="607.255448854928" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.353378335414998px" transform=""></text><text class="pin-number sch-pin-label" x="827.530003906795" y="609.4358992996499" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.353378335414998px" transform="">neg</text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_3__stack1"><rect class="component chip sch-component-body" x="827.530003906795" y="400.11265660633796" width="10.902252223610049" height="91.57891867832404" stroke-width="2.180450444722px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="827.530003906795" y="400.11265660633796" width="10.902252223610049" height="91.57891867832404" fill="transparent"/><text class="sch-text" x="832.9811300186" y="445.9021159455" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="19.624054002498px" transform="rotate(0, 832.9811300186, 445.9021159455)">C7</text><line class="component-pin sch-component-pin sch-port-line" x1="838.432256130405" y1="445.9021159455" x2="865.68788668943" y2="445.9021159455" stroke-width="2.180450444722px"/><g class="sch-port" data-schematic-port-id="source_port_3_0__stack1"><rect x="863.507436244708" y="443.721665500778" width="4.360900889444" height="4.360900889444" opacity="0"/></g><text class="pin-number sch-pin-number" x="852.0600714099176" y="443.721665500778" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.353378335414998px" transform=""></text><text class="pin-number sch-pin-label" x="827.530003906795" y="445.9021159455" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.353378335414998px" transform="">neg</text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_4__stack1"><rect class="component chip sch-component-body" x="924.0149360857434" y="54.51126111790097" width="35.977432337913" height="99.75560784603152" stroke-width="2.180450444722px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="924.0149360857434" y="54.51126111790097" width="35.977432337913" height="99.75560784603152" fill="transparent"/><text class="sch-text" x="942.0036522547" y="104.38906504091676" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="19.624054002498px" transform="rotate(0, 942.0036522547, 104.38906504091676)">LED1</text><line class="component-pin sch-component-pin sch-port-line" x1="959.9923684236564" y1="118.83454923720001" x2="1003.6013773180965" y2="118.83454923720001" stroke-width="2.180450444722px"/><g class="sch-port" data-schematic-port-id="source_port_4_0__stack1"><rect x="1001.4209268733745" y="116.65409879247801" width="4.360900889444" height="4.360900889444" opacity="0"/></g><text class="pin-number sch-pin-number" x="981.7968728708765" y="116.65409879247795" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.353378335414998px" transform=""></text><text class="pin-number sch-pin-label" x="949.0901162000466" y="118.83454923720001" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.353378335414998px" transform="">neg</text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="620.387211658205" cy="424.09761149828" r="4.360900889444" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="391.439914962395" cy="456.80436816911" r="4.360900889444" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="211.55275327283" cy="663.9471604176999" r="4.360900889444" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_0__stack1"><circle cx="865.68788668943" cy="609.4358992996499" r="4.360900889444" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_3_0__stack1"><circle cx="865.68788668943" cy="445.9021159455" r="4.360900889444" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_4_0__stack1"><circle cx="1003.6013773180965" cy="118.83454923720001" r="4.360900889444" 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="
75
+ M 673.808247553894,424.2066340205161
76
+ L 684.7104997775041,430.0938502212655
77
+ L 684.7104997775041,467.4813071800987
78
+ L 662.905995330284,467.4813071800987
79
+ L 662.905995330284,430.0938502212655
80
+ Z
81
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.180450444722px"/><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="673.808247553894" y="434.0186610217651" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="19.624054002498px" transform="rotate(90 673.808247553894 434.0186610217651)">XX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_1__stack1" d="
82
+ M 237.82718113173007,702.2140657225711
83
+ L 248.72943335534006,708.1012819233206
84
+ L 248.72943335534006,745.4887388821538
85
+ L 226.92492890812008,745.4887388821538
86
+ L 226.92492890812008,708.1012819233206
87
+ Z
88
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.180450444722px"/><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="237.82718113173007" y="712.0260927238202" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="19.624054002498px" transform="rotate(90 237.82718113173007 712.0260927238202)">XX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_2__stack1" d="
89
+ M 919.108922585119,609.4358992996499
90
+ L 930.011174808729,615.3231155003994
91
+ L 930.011174808729,652.7105724592326
92
+ L 908.2066703615089,652.7105724592326
93
+ L 908.2066703615089,615.3231155003994
94
+ Z
95
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.180450444722px"/><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="919.108922585119" y="619.2479263008989" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="19.624054002498px" transform="rotate(90 919.108922585119 619.2479263008989)">XX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_3__stack1" d="
96
+ M 1029.8758051769967,157.10145454207105
97
+ L 1040.7780574006067,162.98867074282046
98
+ L 1040.7780574006067,200.37612770165367
99
+ L 1018.9735529533866,200.37612770165367
100
+ L 1018.9735529533866,162.98867074282046
101
+ Z
102
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.180450444722px"/><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="1029.8758051769967" y="166.91348154332005" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="19.624054002498px" transform="rotate(90 1029.8758051769967 166.91348154332005)">XX</text>
103
+ </g>
104
+ </svg>