@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.5747276749999997,2.7300000000000004 -1.6,1" data-type="line" data-label="" points="252.57921473753154,188.842752248055 310.03656267490334,290.82119656754486" fill="none" stroke="hsl(16, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-4.5,0 -1.6,0" data-type="line" data-label="" points="139.09003751506492,349.76827420886843 310.03656267490334,349.76827420886843" fill="none" stroke="hsl(184, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="1.6,0.7 2.6595915124999996,0.7000000000000004" data-type="line" data-label="" points="498.66721112713884,308.50531985994195 561.1270342825638,308.5053198599419" fill="none" stroke="hsl(80, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="1.6,-0.7 1.6,0.7" data-type="line" data-label="" points="498.66721112713884,391.0312285577949 498.66721112713884,308.50531985994195" fill="none" stroke="hsl(144, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.6,-1 -2.564727675,1.6500000000000004" data-type="line" data-label="" points="310.03656267490334,408.715351850192 253.16868551394478,252.5055961006845" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.6,-1 -2.3000000000000003,0" data-type="line" data-label="" points="310.03656267490334,408.715351850192 268.77360832597685,349.76827420886843" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.6,-1 2.6595915124999996,-0.3999999999999997" data-type="line" data-label="" points="310.03656267490334,408.715351850192 561.1270342825638,373.34710526539783" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.564727675,1.6500000000000004 -2.3000000000000003,0" data-type="line" data-label="" points="253.16868551394478,252.5055961006845 268.77360832597685,349.76827420886843" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.564727675,1.6500000000000004 2.6595915124999996,-0.3999999999999997" data-type="line" data-label="" points="253.16868551394478,252.5055961006845 561.1270342825638,373.34710526539783" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.3000000000000003,0 2.6595915124999996,-0.3999999999999997" data-type="line" data-label="" points="268.77360832597685,349.76827420886843 561.1270342825638,373.34710526539783" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.6,0.7 1.8,0.7 1.8,0.9000000000000004 2.6595915124999996,0.9000000000000004 2.6595915124999996,0.7000000000000004" data-type="line" data-label="" points="498.66721112713884,308.50531985994195 510.45662665540357,308.50531985994195 510.45662665540357,296.71590433167717 561.1270342825638,296.71590433167717 561.1270342825638,308.5053198599419" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.6,-0.7 1.8,-0.7 1.8,0.7 1.6,0.7" data-type="line" data-label="" points="498.66721112713884,391.0312285577949 510.45662665540357,391.0312285577949 510.45662665540357,308.50531985994195 498.66721112713884,308.50531985994195" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.5747276749999997,2.7300000000000004 -2.5747276749999997,2.9300000000000006 -2.0873638375,2.9300000000000006 -2.0873638375,0.9999999999999996 -1.6,0.9999999999999996" data-type="line" data-label="" points="252.57921473753154,188.842752248055 252.57921473753154,177.05333671979028 281.30788870621745,177.05333671979028 281.30788870621745,290.82119656754486 310.03656267490334,290.82119656754486" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.3000000000000003,0 -1.9500000000000002,0 -1.9500000000000002,-1 -1.6,-1" data-type="line" data-label="" points="268.77360832597685,349.76827420886843 289.40508550044007,349.76827420886843 289.40508550044007,408.715351850192 310.03656267490334,408.715351850192" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.564727675,1.6500000000000004 -2.564727675,0.8250000000000002 -2.1000000000000005,0.8250000000000002 -2.1000000000000005,0 -2.3000000000000003,0" data-type="line" data-label="" points="253.16868551394478,252.5055961006845 253.16868551394478,301.13693515477644 280.5630238542415,301.13693515477644 280.5630238542415,349.76827420886843 268.77360832597685,349.76827420886843" 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="310.03656267490334" y="243.66353445448595" width="188.6306484522355" height="212.20947950876496" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016964369397321426"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-2.5697276749999998" data-y="2.1900000000000004" x="234.0269380434333" y="188.84275224805498" width="37.69402416460974" height="63.66284385262949" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016964369397321426"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="-3.4000000000000004" data-y="0" x="139.0900375150649" y="314.40002762407426" width="129.68357081091193" height="70.73649316958836" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016964369397321426"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="2.9094553499999996" data-y="0.15000000000000036" x="551.7115546228706" y="308.5053198599419" width="48.28844537712928" height="64.84178540545594" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016964369397321426"/></g><g><rect data-type="rect" data-label="TPS22919DCKR" data-x="-0.48" data-y="-1.9300000000000002" x="333.61539373143273" y="458.2308970689039" width="84.88379180350597" height="10.610473975438197" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.016964369397321426"/></g><g><rect data-type="rect" data-label="U1" data-x="-1.08" data-y="1.9300000000000002" x="333.6153937314328" y="230.69517737339476" width="14.147298633917671" height="10.610473975438225" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.016964369397321426"/></g><g><rect data-type="rect" data-label="V_ON" data-x="-3.8600000000000003" data-y="0.73" x="162.66886857159434" y="301.43167054298317" width="28.294597267835343" height="10.610473975438197" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.016964369397321426"/></g><g><rect data-type="rect" data-label="netId: V_IN.pin1 to U1.IN
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.5747276749999997,2.7300000000000004 -1.6,1" data-type="line" data-label="" points="252.57921473753154,188.842752248055 310.03656267490334,290.82119656754486" fill="none" stroke="hsl(16, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-4.5,0 -1.6,0" data-type="line" data-label="" points="139.09003751506492,349.76827420886843 310.03656267490334,349.76827420886843" fill="none" stroke="hsl(184, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="1.6,0.7 2.6595915124999996,0.7000000000000004" data-type="line" data-label="" points="498.66721112713884,308.50531985994195 561.1270342825638,308.5053198599419" fill="none" stroke="hsl(80, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="1.6,-0.7 1.6,0.7" data-type="line" data-label="" points="498.66721112713884,391.0312285577949 498.66721112713884,308.50531985994195" fill="none" stroke="hsl(144, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.6,-1 -2.564727675,1.6500000000000004" data-type="line" data-label="" points="310.03656267490334,408.715351850192 253.16868551394478,252.5055961006845" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.6,-1 -2.3000000000000003,0" data-type="line" data-label="" points="310.03656267490334,408.715351850192 268.77360832597685,349.76827420886843" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.6,-1 2.6595915124999996,-0.3999999999999997" data-type="line" data-label="" points="310.03656267490334,408.715351850192 561.1270342825638,373.34710526539783" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.564727675,1.6500000000000004 -2.3000000000000003,0" data-type="line" data-label="" points="253.16868551394478,252.5055961006845 268.77360832597685,349.76827420886843" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.564727675,1.6500000000000004 2.6595915124999996,-0.3999999999999997" data-type="line" data-label="" points="253.16868551394478,252.5055961006845 561.1270342825638,373.34710526539783" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.3000000000000003,0 2.6595915124999996,-0.3999999999999997" data-type="line" data-label="" points="268.77360832597685,349.76827420886843 561.1270342825638,373.34710526539783" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.5747276749999997,2.7300000000000004 -2.5747276749999997,2.9300000000000006 -2.0873638375,2.9300000000000006 -2.0873638375,0.9999999999999996 -1.6,0.9999999999999996" data-type="line" data-label="" points="252.57921473753154,188.842752248055 252.57921473753154,177.05333671979028 281.30788870621745,177.05333671979028 281.30788870621745,290.82119656754486 310.03656267490334,290.82119656754486" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.6,0.7 1.8,0.7 1.8,0.9000000000000004 2.6595915124999996,0.9000000000000004 2.6595915124999996,0.7000000000000004" data-type="line" data-label="" points="498.66721112713884,308.50531985994195 510.45662665540357,308.50531985994195 510.45662665540357,296.71590433167717 561.1270342825638,296.71590433167717 561.1270342825638,308.5053198599419" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.6,-0.7 1.8,-0.7 1.8,0.7 1.6,0.7" data-type="line" data-label="" points="498.66721112713884,391.0312285577949 510.45662665540357,391.0312285577949 510.45662665540357,308.50531985994195 498.66721112713884,308.50531985994195" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.3000000000000003,0 -1.9500000000000002,0 -1.9500000000000002,-1 -1.6,-1" data-type="line" data-label="" points="268.77360832597685,349.76827420886843 289.40508550044007,349.76827420886843 289.40508550044007,408.715351850192 310.03656267490334,408.715351850192" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.564727675,1.6500000000000004 -2.564727675,0.8250000000000002 -2.1000000000000005,0.8250000000000002 -2.1000000000000005,0 -2.3000000000000003,0" data-type="line" data-label="" points="253.16868551394478,252.5055961006845 253.16868551394478,301.13693515477644 280.5630238542415,301.13693515477644 280.5630238542415,349.76827420886843 268.77360832597685,349.76827420886843" 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="310.03656267490334" y="243.66353445448595" width="188.6306484522355" height="212.20947950876496" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016964369397321426"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-2.5697276749999998" data-y="2.1900000000000004" x="234.0269380434333" y="188.84275224805498" width="37.69402416460974" height="63.66284385262949" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016964369397321426"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="-3.4000000000000004" data-y="0" x="139.0900375150649" y="314.40002762407426" width="129.68357081091193" height="70.73649316958836" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016964369397321426"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="2.9094553499999996" data-y="0.15000000000000036" x="551.7115546228706" y="308.5053198599419" width="48.28844537712928" height="64.84178540545594" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.016964369397321426"/></g><g><rect data-type="rect" data-label="TPS22919DCKR" data-x="-0.48" data-y="-1.9300000000000002" x="333.61539373143273" y="458.2308970689039" width="84.88379180350597" height="10.610473975438197" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.016964369397321426"/></g><g><rect data-type="rect" data-label="U1" data-x="-1.08" data-y="1.9300000000000002" x="333.6153937314328" y="230.69517737339476" width="14.147298633917671" height="10.610473975438225" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.016964369397321426"/></g><g><rect data-type="rect" data-label="V_ON" data-x="-3.8600000000000003" data-y="0.73" x="162.66886857159434" y="301.43167054298317" width="28.294597267835343" height="10.610473975438197" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.016964369397321426"/></g><g><rect data-type="rect" data-label="netId: V_IN.pin1 to U1.IN
2
4
  globalConnNetId: connectivity_net0" data-x="-2.7997276749999997" data-y="2.9300000000000006" x="226.0530297989359" y="171.15862895565792" width="26.526184938595634" height="11.789415528264726" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.016964369397321426"/></g><g><rect data-type="rect" data-label="netId: GND
3
5
  globalConnNetId: connectivity_net3" data-x="-1.9500000000000002" data-y="-1.24" x="277.02619919576216" y="408.715351850192" width="24.757772609355868" height="28.294597267835343" fill="#00000066" stroke="#000000" stroke-width="0.016964369397321426"/></g><g><rect data-type="rect" data-label="netId: GND
4
6
  globalConnNetId: connectivity_net3" data-x="2.6595915124999996" data-y="-0.6409999999999997" x="548.748147977886" y="373.40605234303916" width="24.75777260935581" height="28.294597267835343" fill="#00000066" stroke="#000000" stroke-width="0.016964369397321426"/></g><g><rect data-type="rect" data-label="netId: V_ON.OUT to U1.ON
@@ -31,7 +33,7 @@ orientation: y-" data-x="1.8" data-y="-0.7" cx="510.45662665540357" cy="391.0312
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.8" data-y="-0.7" cx="510.45662665540357" cy="391.0312
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.8" data-y="-0.7" cx="510.45662665540357" cy="391.0312
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 462.55994965597205 149.85146093489396 L 462.55994965597205 127.36619899645399 L 517.352467383526 127.36619899645399 L 517.352467383526 344.3489767024001 L 572.14498511108 344.3489767024001" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.988209550752px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 462.55994965597205 149.85146093489396 L 462.55994965597205 127.36619899645399 L 517.352467383526 127.36619899645399 L 517.352467383526 344.3489767024001 L 572.14498511108 344.3489767024001" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.248526193844px" 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 931.9091761261201 378.07686961006004 L 954.3944380645601 378.07686961006004 L 954.3944380645601 355.59160767161995 L 1051.0351396576716 355.59160767161995 L 1051.0351396576716 378.07686961006" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.988209550752px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 931.9091761261201 378.07686961006004 L 954.3944380645601 378.07686961006004 L 954.3944380645601 355.59160767161995 L 1051.0351396576716 355.59160767161995 L 1051.0351396576716 378.07686961006" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.248526193844px" 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 931.9091761261201 535.47370317914 L 954.3944380645601 535.47370317914 L 954.3944380645601 378.07686961006004 L 931.9091761261201 378.07686961006004" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.988209550752px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 931.9091761261201 535.47370317914 L 954.3944380645601 535.47370317914 L 954.3944380645601 378.07686961006004 L 931.9091761261201 378.07686961006004" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.248526193844px" 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 493.44656832654005 456.7752863946 L 532.79577671881 456.7752863946 L 532.79577671881 569.2015960868 L 572.14498511108 569.2015960868" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.988209550752px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 493.44656832654005 456.7752863946 L 532.79577671881 456.7752863946 L 532.79577671881 569.2015960868 L 572.14498511108 569.2015960868" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.248526193844px" 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 463.68421275289404 271.27187540246996 L 463.68421275289404 364.023580898535 L 515.93183026498 364.023580898535 L 515.93183026498 456.7752863946 L 493.44656832654005 456.7752863946" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.988209550752px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 463.68421275289404 271.27187540246996 L 463.68421275289404 364.023580898535 L 515.93183026498 364.023580898535 L 515.93183026498 456.7752863946 L 493.44656832654005 456.7752863946" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.248526193844px" 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"><circle cx="931.9091761261201" cy="378.07686961006004" r="3.3727892907659998" class="trace-junction sch-trace-junction" fill="rgb(0, 150, 0)"/><circle cx="954.3944380645601" cy="378.07686961006004" r="3.3727892907659998" 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"><circle cx="493.44656832654005" cy="456.7752863946" r="3.3727892907659998" 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_4__stack1"/><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_0__stack1"><rect class="component chip sch-component-body" x="617.1155089879601" y="254.40792894864003" width="269.82314326127994" height="404.73471489192" stroke-width="2.248526193844px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="617.1155089879601" y="254.40792894864003" width="269.82314326127994" height="404.73471489192" fill="transparent"/><text class="sch-text" x="752.0270806186" y="456.7752863946" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="20.236735744595997px" transform="rotate(0, 752.0270806186, 456.7752863946)">U1</text><line class="component-pin sch-component-pin sch-port-line" x1="617.1155089879601" y1="344.3489767024" x2="572.14498511108" y2="344.3489767024" stroke-width="2.248526193844px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><rect x="569.896458917236" y="342.10045050855604" width="4.497052387688" height="4.497052387688" opacity="0"/></g><text class="pin-number sch-pin-number" x="594.63024704952" y="342.10045050855604" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.86394645383px" transform="">1</text><line class="component-pin sch-component-pin sch-port-line" x1="617.1155089879601" y1="569.2015960868" x2="572.14498511108" y2="569.2015960868" stroke-width="2.248526193844px"/><g class="sch-port" data-schematic-port-id="source_port_0_1__stack1"><rect x="569.896458917236" y="566.953069892956" width="4.497052387688" height="4.497052387688" opacity="0"/></g><text class="pin-number sch-pin-number" x="594.63024704952" y="566.953069892956" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.86394645383px" transform="">2</text><line class="component-pin sch-component-pin sch-port-line" x1="617.1155089879601" y1="456.7752863946" x2="574.393511304924" y2="456.7752863946" stroke-width="2.248526193844px"/><g class="sch-port" data-schematic-port-id="source_port_0_2__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="572.14498511108" cy="456.7752863946" r="2.248526193844" stroke-width="2.248526193844px"/><rect x="569.896458917236" y="454.52676020075603" width="4.497052387688" height="4.497052387688" opacity="0"/></g><text class="pin-number sch-pin-number" x="594.63024704952" y="454.52676020075603" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.86394645383px" transform="">3</text><line class="component-pin sch-component-pin sch-port-line" x1="886.93865224924" y1="535.47370317914" x2="931.9091761261201" y2="535.47370317914" stroke-width="2.248526193844px"/><g class="sch-port" data-schematic-port-id="source_port_0_3__stack1"><rect x="929.6606499322761" y="533.225176985296" width="4.497052387688" height="4.497052387688" opacity="0"/></g><text class="pin-number sch-pin-number" x="909.4239141876801" y="533.225176985296" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.86394645383px" transform="">5</text><line class="component-pin sch-component-pin sch-port-line" x1="886.93865224924" y1="378.07686961006004" x2="931.9091761261201" y2="378.07686961006004" stroke-width="2.248526193844px"/><g class="sch-port" data-schematic-port-id="source_port_0_4__stack1"><rect x="929.6606499322761" y="375.82834341621606" width="4.497052387688" height="4.497052387688" opacity="0"/></g><text class="pin-number sch-pin-number" x="909.4239141876801" y="375.82834341621606" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.86394645383px" transform="">6</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="444.57174010522" y="149.851460934894" width="29.23084051997205" height="121.42041446757602" fill="transparent"/><path class="sch-component-symbol-path" d="M 462.559949655972 149.851460934894 L 463.68421275289404 176.833775261022" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.248526193844px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 463.68421275289404 243.16529797942 L 463.68421275289404 271.27187540247" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.248526193844px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 473.80258062519204 221.80429913790198 L 452.441581783674 210.561668168682 L 473.80258062519204 198.19477410254" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.248526193844px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 444.57174010522 210.561668168682 L 446.82026629906403 218.431509847136" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.248526193844px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 446.82026629906403 218.431509847136 L 444.57174010522 226.30135152559" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.248526193844px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 444.57174010522 193.697721714852 L 446.82026629906403 202.69182649022798" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.248526193844px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 446.82026629906403 202.69182649022798 L 444.57174010522 210.561668168682" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.248526193844px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="502.9721881555901" y="193.69772171485198" stroke="rgb(245, 241, 237)" stroke-width="2.248526193844px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="start" dominant-baseline="middle" font-size="20.236735744595997px">V_IN</text><text class="sch-component-text" x="502.9721881555901" y="227.425614622512" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="start" dominant-baseline="middle" font-size="20.236735744595997px"></text><circle class="sch-component-symbol-circle" cx="463.68421275289404" cy="210.561668168682" r="32.603629810738px" stroke-width="2.248526193844px" fill="none" stroke="rgb(132, 0, 0)"/></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_2__stack1"><rect class="component-overlay sch-component-overlay" x="246.11928894036552" y="436.1646797790854" width="247.32727938617452" height="59.54175244481985" fill="transparent"/><path class="sch-component-symbol-path" d="M 246.11928894036552 459.06535379632385 L 301.0809065817376 456.7752863946" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.248526193844px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 436.19488328344414 456.7752863946 L 493.44656832654005 456.7752863946" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.248526193844px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 392.68360265069117 436.1646797790854 L 369.7829286334528 479.6759604118384 L 344.5921872144906 436.1646797790854" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.248526193844px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 369.7829286334528 495.70643222390527 L 385.8134004455197 491.12629742045755" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.248526193844px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 385.8134004455197 491.12629742045755 L 401.84387225758655 495.70643222390527" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.248526193844px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 335.4319176075952 495.70643222390527 L 353.7524568213859 491.12629742045755" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.248526193844px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 353.7524568213859 491.12629742045755 L 369.7829286334528 495.70643222390527" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.248526193844px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="369.7829286334528" y="372.167521051853" stroke="rgb(245, 241, 237)" stroke-width="2.248526193844px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="ideographic" font-size="20.236735744595997px">V_ON</text><text class="sch-component-text" x="369.7829286334528" y="559.7035909511377" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="20.236735744595997px"></text><circle class="component-pin sch-component-pin" cx="246.11928894036552" cy="459.06535379632385" r="2.248526193844px" stroke-width="2.248526193844px" fill="none" stroke="rgb(132, 0, 0)"/><circle class="sch-component-symbol-circle" cx="369.7829286334528" cy="456.7752863946" r="32.603629810738px" stroke-width="2.248526193844px" fill="none" stroke="rgb(132, 0, 0)"/></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_3__stack1"><rect class="component-overlay sch-component-overlay" x="1034.5500698675044" y="378.07686961005993" width="32.97013958033449" height="123.66894066142004" fill="transparent"/><path class="sch-component-symbol-path" d="M 1051.0351396576716 378.07686961005993 L 1051.0351396576716 398.6924820183187" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.248526193844px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 1051.0351396576716 481.1301978632212 L 1051.0351396576716 501.74581027147997" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.248526193844px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 1067.5202094478389 398.6924820183187 L 1067.5202094478389 481.1301978632212 L 1034.5500698675044 481.1301978632212 L 1034.5500698675044 398.6924820183187 L 1067.5202094478389 398.6924820183187" stroke="rgb(132, 0, 0)" fill="none" stroke-width="2.248526193844px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="1084.0135238340504" y="406.9329557643913" stroke="rgb(245, 241, 237)" stroke-width="2.248526193844px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="start" dominant-baseline="middle" font-size="20.236735744595997px">R_L</text><text class="sch-component-text" x="1084.0135238340504" y="472.8897241171486" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="start" dominant-baseline="middle" font-size="20.236735744595997px"></text><circle class="component-pin sch-component-pin" cx="1051.0351396576716" cy="501.74581027147997" r="2.248526193844px" stroke-width="2.248526193844px" 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="572.14498511108" cy="344.3489767024" r="4.497052387688" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="572.14498511108" cy="569.2015960868" r="4.497052387688" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_2__stack1"><circle cx="572.14498511108" cy="456.7752863946" r="4.497052387688" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_3__stack1"><circle cx="931.9091761261201" cy="535.47370317914" r="4.497052387688" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_4__stack1"><circle cx="931.9091761261201" cy="378.07686961006004" r="4.497052387688" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="462.55994965597205" cy="149.85146093489396" r="4.497052387688" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_1__stack1"><circle cx="463.68421275289404" cy="271.27187540246996" r="4.497052387688" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_0__stack1"><circle cx="183.1552545444008" cy="461.43850361380737" r="4.497052387688" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_1__stack1"><circle cx="430.4931358672408" cy="461.43850361380737" r="4.497052387688" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_3_0__stack1"><circle cx="1051.0351396576716" cy="406.18344703311" r="4.497052387688" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_3_1__stack1"><circle cx="1051.0351396576716" cy="529.85238769453" r="4.497052387688" 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 462.55994965597205,127.36619899645399
85
+ L 456.48892893259324,138.60882996567398
86
+ L 417.93419979548145,138.60882996567398
87
+ L 417.93419979548145,116.12356802723399
88
+ L 456.48892893259324,116.12356802723399
89
+ Z
90
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.248526193844px"/><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="452.44158178367405" y="127.36619899645399" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="20.236735744595997px" transform="">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="
91
+ M 532.79577671881,569.2015960868
92
+ L 544.03840768803,575.2726168101788
93
+ L 544.03840768803,627.0336897924677
94
+ L 521.5531457495899,627.0336897924677
95
+ L 521.5531457495899,575.2726168101788
96
+ Z
97
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.248526193844px"/><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="532.79577671881" y="579.319963959098" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="20.236735744595997px" transform="rotate(90 532.79577671881 579.319963959098)">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 1051.0351396576716,501.74581027147997
99
+ L 1062.2777706268917,507.8168309948588
100
+ L 1062.2777706268917,559.5779039771477
101
+ L 1039.7925086884516,559.5779039771477
102
+ L 1039.7925086884516,507.8168309948588
103
+ Z
104
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.248526193844px"/><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="1051.0351396576716" y="511.86417814377796" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="20.236735744595997px" transform="rotate(90 1051.0351396576716 511.86417814377796)">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 246.10868700370008,456.7752863946
106
+ L 240.03766628032128,468.01791736382
107
+ L 56.21315484626149,468.01791736382
108
+ L 56.21315484626149,445.53265542537997
109
+ L 240.03766628032128,445.53265542538
110
+ Z
111
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.248526193844px"/><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="235.9903191314021" y="456.7752863946" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="20.236735744595997px" transform="">XXXXXXXXXXXXX</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 572.14498511108,456.7752863946
113
+ L 566.0739643877013,468.01791736382
114
+ L 382.2494529536414,468.01791736382
115
+ L 382.2494529536414,445.53265542537997
116
+ L 566.0739643877013,445.53265542538
117
+ Z
118
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.248526193844px"/><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="562.026617238782" y="456.7752863946" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="20.236735744595997px" transform="">XXXXXXXXXXXXX</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 954.3944380645601,535.47370317914
120
+ L 965.6370690337801,541.5447239025187
121
+ L 965.6370690337801,580.0994530396306
122
+ L 943.15180709534,580.0994530396306
123
+ L 943.15180709534,541.5447239025187
124
+ Z
125
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.248526193844px"/><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="954.3944380645601" y="545.592071051438" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="20.236735744595997px" transform="rotate(90 954.3944380645601 545.592071051438)">XX</text><text class="sch-text" x="698.062451966344" y="673.758064100546" fill="#7e22ce" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="20.236735744595993px" transform="rotate(0, 698.062451966344, 673.758064100546)">TPS22919DCKR</text><text class="sch-text" x="630.606666151024" y="239.792508688654" fill="#7e22ce" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="20.236735744595993px" transform="rotate(0, 630.606666151024, 239.792508688654)">U1</text><text class="sch-text" x="318.06152520670804" y="374.704080319294" fill="#7e22ce" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="20.236735744595993px" transform="rotate(0, 318.06152520670804, 374.704080319294)">V_ON</text><rect class="schematic-box sch-box" x="617.1155089879601" y="663.639696228248" width="161.89388595676792" height="20.23673574459599" stroke-width="2.248526193844px" stroke="rgb(132, 0, 0)" fill="transparent" stroke-dasharray="17.988209550752 8.994104775376"/><rect class="schematic-box sch-box" x="617.1155089879601" y="229.674140816356" width="26.98231432612795" height="20.236735744596018" stroke-width="2.248526193844px" stroke="rgb(132, 0, 0)" fill="transparent" stroke-dasharray="17.988209550752 8.994104775376"/><rect class="schematic-box sch-box" x="291.07921088058004" y="364.585712446996" width="53.96462865225595" height="20.23673574459599" stroke-width="2.248526193844px" stroke="rgb(132, 0, 0)" fill="transparent" stroke-dasharray="17.988209550752 8.994104775376"/>
126
+ </g>
127
+ </svg>