@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="-0.4458008,0.00006220000000001225 1.1458008,1.1899378" data-type="line" data-label="" points="82.08836873900444,385.92099171420324 305.38141882696914,218.98791502638952" fill="none" stroke="hsl(16, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.0458008,-0.08006219999999957 1.9058008000000002,1.1899378" data-type="line" data-label="" points="571.9410875073304,397.1620093548415 412.0052862991136,218.98791502638952" fill="none" stroke="hsl(16, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="2.4458008,-0.08006219999999949 0.4458008,-0.00006220000000001225" data-type="line" data-label="" points="487.7643500293216,397.1620093548415 207.1752251026255,385.9384443577737" fill="none" stroke="hsl(0, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="1.7458008,-0.00006219999999993796 1.9058008000000002,1.1899378" data-type="line" data-label="" points="389.55815630497796,385.9384443577737 412.0052862991136,218.98791502638952" fill="none" stroke="hsl(32, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="1.1458008,-0.00006219999999986448 0.4458008,-0.00006220000000001225" data-type="line" data-label="" points="305.38141882696914,385.9384443577737 207.1752251026255,385.9384443577737" fill="none" stroke="hsl(32, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-0.4458008,0.00006220000000001225 -0.6458008,0.00006220000000001225 -0.6458008,1.1899378 1.1458008,1.1899378" data-type="line" data-label="" points="82.08836873900444,385.92099171420324 54.029456246334846,385.92099171420324 54.029456246334846,218.98791502638952 305.38141882696914,218.98791502638952" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.9058008000000002,1.1899378 2.1058008000000004,1.1899378 2.1058008000000004,-0.00006219999999993796 1.7458008,-0.00006219999999993796" data-type="line" data-label="" points="412.0052862991136,218.98791502638952 440.06419879178327,218.98791502638952 440.06419879178327,385.9384443577737 389.55815630497796,385.9384443577737" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.4458008,-0.00006220000000001225 1.1458008,-0.00006219999999986448" data-type="line" data-label="" points="207.1752251026255,385.9384443577737 305.38141882696914,385.9384443577737" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.0458008,-0.08006219999999957 3.2458008,-0.08006219999999957 3.2458008,0.5949378000000001 2.1058008000000004,0.5949378000000001" data-type="line" data-label="" points="571.9410875073304,397.1620093548415 600,397.1620093548415 600,302.4631796920816 440.06419879178327,302.4631796920816" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.4458008,-0.08006219999999949 2.2458008,-0.08006219999999949 2.2458008,-0.7000621999999994 0.7958008,-0.7000621999999994 0.7958008,-0.00006219999999993836" data-type="line" data-label="" points="487.7643500293216,397.1620093548415 459.70543753665197,397.1620093548415 459.70543753665197,484.14463808211724 256.27832196479727,484.14463808211724 256.27832196479727,385.9384443577737" 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="82.08836873900444" y="323.3059010698864" width="125.08685636362105" height="125.24763393220417" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.007127860000000001"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="1.5258008" data-y="1.1899378" x="305.38141882696914" y="183.9142744105525" width="106.62386747214447" height="70.14728123167401" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.007127860000000001"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="2.7458008" data-y="-0.0800621999999995" x="487.7643500293216" y="338.2382931202353" width="84.17673747800882" height="117.84743246921232" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.007127860000000001"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="1.4458008" data-y="-0.00006219999999990122" x="305.38141882696914" y="338.2382931202353" width="84.17673747800882" height="95.40030247507667" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.007127860000000001"/></g><g><rect data-type="rect" data-label="netId: VS1.1 to SW1.1
1
+ <svg width="2416" height="1200" viewBox="0 0 2416 1200" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Solver debug visualization on the left and Circuit JSON schematic on the right">
2
+ <g transform="translate(0, 0) scale(1.875, 1.875) translate(0, 0)">
3
+ <rect width="100%" height="100%" fill="white"/><g><polyline data-points="-0.4458008,0.00006220000000001225 1.1458008,1.1899378" data-type="line" data-label="" points="82.08836873900444,385.92099171420324 305.38141882696914,218.98791502638952" fill="none" stroke="hsl(16, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.0458008,-0.08006219999999957 1.9058008000000002,1.1899378" data-type="line" data-label="" points="571.9410875073304,397.1620093548415 412.0052862991136,218.98791502638952" fill="none" stroke="hsl(16, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="2.4458008,-0.08006219999999949 0.4458008,-0.00006220000000001225" data-type="line" data-label="" points="487.7643500293216,397.1620093548415 207.1752251026255,385.9384443577737" fill="none" stroke="hsl(0, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="1.7458008,-0.00006219999999993796 1.9058008000000002,1.1899378" data-type="line" data-label="" points="389.55815630497796,385.9384443577737 412.0052862991136,218.98791502638952" fill="none" stroke="hsl(32, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="1.1458008,-0.00006219999999986448 0.4458008,-0.00006220000000001225" data-type="line" data-label="" points="305.38141882696914,385.9384443577737 207.1752251026255,385.9384443577737" fill="none" stroke="hsl(32, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-0.4458008,0.00006220000000001225 -0.6458008,0.00006220000000001225 -0.6458008,1.1899378 1.1458008,1.1899378" data-type="line" data-label="" points="82.08836873900444,385.92099171420324 54.029456246334846,385.92099171420324 54.029456246334846,218.98791502638952 305.38141882696914,218.98791502638952" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.9058008000000002,1.1899378 2.1058008000000004,1.1899378 2.1058008000000004,-0.00006219999999993796 1.7458008,-0.00006219999999993796" data-type="line" data-label="" points="412.0052862991136,218.98791502638952 440.06419879178327,218.98791502638952 440.06419879178327,385.9384443577737 389.55815630497796,385.9384443577737" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.4458008,-0.00006220000000001225 1.1458008,-0.00006219999999986448" data-type="line" data-label="" points="207.1752251026255,385.9384443577737 305.38141882696914,385.9384443577737" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.0458008,-0.08006219999999957 3.2458008,-0.08006219999999957 3.2458008,0.5949378000000001 2.1058008000000004,0.5949378000000001" data-type="line" data-label="" points="571.9410875073304,397.1620093548415 600,397.1620093548415 600,302.4631796920816 440.06419879178327,302.4631796920816" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.4458008,-0.08006219999999949 2.2458008,-0.08006219999999949 2.2458008,-0.7000621999999994 0.7958008,-0.7000621999999994 0.7958008,-0.00006219999999993836" data-type="line" data-label="" points="487.7643500293216,397.1620093548415 459.70543753665197,397.1620093548415 459.70543753665197,484.14463808211724 256.27832196479727,484.14463808211724 256.27832196479727,385.9384443577737" 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="82.08836873900444" y="323.3059010698864" width="125.08685636362105" height="125.24763393220417" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.007127860000000001"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="1.5258008" data-y="1.1899378" x="305.38141882696914" y="183.9142744105525" width="106.62386747214447" height="70.14728123167401" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.007127860000000001"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="2.7458008" data-y="-0.0800621999999995" x="487.7643500293216" y="338.2382931202353" width="84.17673747800882" height="117.84743246921232" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.007127860000000001"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="1.4458008" data-y="-0.00006219999999990122" x="305.38141882696914" y="338.2382931202353" width="84.17673747800882" height="95.40030247507667" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.007127860000000001"/></g><g><rect data-type="rect" data-label="netId: VS1.1 to SW1.1
2
4
  globalConnNetId: connectivity_net0" data-x="-0.6458008" data-y="-0.2249378" x="40.00000000000004" y="385.92099171420324" width="28.058912492669606" height="63.13255310850661" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.007127860000000001"/></g><g><rect data-type="rect" data-label="netId: .R1 &gt; .pin2 to VS1.2
3
5
  globalConnNetId: connectivity_net2" data-x="0.7958008" data-y="0.22493780000000008" x="242.24886571846247" y="322.80589124926706" width="28.058912492669577" height="63.13255310850661" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.007127860000000001"/></g><g><rect data-type="rect" data-label="netId: .R1 &gt; .pin1 to SW1.2
4
6
  globalConnNetId: connectivity_net1" data-x="2.1058008000000004" data-y="1.4149378000000001" x="426.03474254544847" y="155.85536191788287" width="28.058912492669606" height="63.13255310850664" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.007127860000000001"/></g><g><circle data-type="point" data-label="VS1.1
@@ -22,7 +24,7 @@ orientation: y+" data-x="2.1058008000000004" data-y="1.1899378" cx="440.06419879
22
24
  const h = svg.getElementById('crosshair-h');
23
25
  const v = svg.getElementById('crosshair-v');
24
26
  const coords = svg.getElementById('coordinates');
25
-
27
+
26
28
  crosshair.style.display = 'block';
27
29
  h.setAttribute('x1', '0');
28
30
  h.setAttribute('x2', '640');
@@ -41,13 +43,13 @@ orientation: y+" data-x="2.1058008000000004" data-y="1.1899378" cx="440.06419879
41
43
  // y' = (y - ty) / sy
42
44
  const sx = matrix.a;
43
45
  const sy = matrix.d;
44
- const tx = matrix.e;
46
+ const tx = matrix.e;
45
47
  const ty = matrix.f;
46
48
  const realPoint = {
47
49
  x: (x - tx) / sx,
48
50
  y: (y - ty) / sy // Flip y back since we used negative scale
49
51
  }
50
-
52
+
51
53
  coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
52
54
  coords.setAttribute('x', (x + 5).toString());
53
55
  coords.setAttribute('y', (y - 5).toString());
@@ -55,4 +57,41 @@ orientation: y+" data-x="2.1058008000000004" data-y="1.1899378" cx="440.06419879
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 190.41568060436208 499.57365929113297 L 142.81176045328206 499.57365929113297 L 142.81176045328206 216.35994403054093 L 569.2480579980179 216.35994403054093" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="38.083136120864005px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 190.41568060436208 499.57365929113297 L 142.81176045328206 499.57365929113297 L 142.81176045328206 216.35994403054093 L 569.2480579980179 216.35994403054093" stroke="rgb(0, 150, 0)" fill="none" stroke-width="4.760392015108001px" 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 750.142954572122 216.35994403054093 L 797.7468747232019 216.35994403054093 L 797.7468747232019 499.60326892946694 L 712.0598184512579 499.60326892946694" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="38.083136120864005px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 750.142954572122 216.35994403054093 L 797.7468747232019 216.35994403054093 L 797.7468747232019 499.60326892946694 L 712.0598184512579 499.60326892946694" stroke="rgb(0, 150, 0)" fill="none" stroke-width="4.760392015108001px" 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 402.6343374692379 499.603268929467 L 569.2480579980179 499.60326892946694" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="38.083136120864005px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 402.6343374692379 499.603268929467 L 569.2480579980179 499.60326892946694" stroke="rgb(0, 150, 0)" fill="none" stroke-width="4.760392015108001px" 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 1021.485299433278 518.6448369898989 L 1069.089219584358 518.6448369898989 L 1069.089219584358 357.98160648000396 L 797.7468747232019 357.98160648000396" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="38.083136120864005px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 1021.485299433278 518.6448369898989 L 1069.089219584358 518.6448369898989 L 1069.089219584358 357.98160648000396 L 797.7468747232019 357.98160648000396" stroke="rgb(0, 150, 0)" fill="none" stroke-width="4.760392015108001px" 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 878.6735389800381 518.6448369898989 L 831.069618828958 518.6448369898989 L 831.069618828958 666.2169894582469 L 485.9411977336279 666.2169894582469 L 485.9411977336279 499.60326892946694" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="38.083136120864005px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 878.6735389800381 518.6448369898989 L 831.069618828958 518.6448369898989 L 831.069618828958 666.2169894582469 L 485.9411977336279 666.2169894582469 L 485.9411977336279 499.60326892946694" stroke="rgb(0, 150, 0)" fill="none" stroke-width="4.760392015108001px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_0__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_1__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_2__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_3__stack1"/><g class="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-overlay sch-component-overlay" x="190.41568060436208" y="479.924625740144" width="212.20956235068138" height="51.08748723257139" fill="transparent"/><path class="sch-component-symbol-path" d="M 190.41568060436208 499.573659291133 L 237.57336112673573 497.60875593603413" stroke="rgb(132, 0, 0)" fill="none" stroke-width="4.760392015108001px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 353.5026590775709 497.60875593603413 L 402.62524295504346 497.60875593603413" stroke="rgb(132, 0, 0)" fill="none" stroke-width="4.760392015108001px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 316.1694953306918 479.924625740144 L 296.52046177970277 517.2577894870232 L 274.90652487361484 479.924625740144" stroke="rgb(132, 0, 0)" fill="none" stroke-width="4.760392015108001px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 296.52046177970277 531.0121129727154 L 310.27478526539505 527.0823062625176" stroke="rgb(132, 0, 0)" fill="none" stroke-width="4.760392015108001px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 310.27478526539505 527.0823062625176 L 324.0291087510874 531.0121129727154" stroke="rgb(132, 0, 0)" fill="none" stroke-width="4.760392015108001px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 267.04691145321925 531.0121129727154 L 282.7661382940105 527.0823062625176" stroke="rgb(132, 0, 0)" fill="none" stroke-width="4.760392015108001px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 282.7661382940105 527.0823062625176 L 296.52046177970277 531.0121129727154" stroke="rgb(132, 0, 0)" fill="none" stroke-width="4.760392015108001px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="296.52046177970277" y="425.0143502586103" stroke="rgb(245, 241, 237)" stroke-width="4.760392015108001px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="ideographic" font-size="42.843528135972px">VS1</text><text class="sch-component-text" x="296.52046177970277" y="585.9223884542491" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="42.843528135972px"></text><circle class="sch-component-symbol-circle" cx="296.52046177970277" cy="497.60875593603413" r="69.025684219066px" stroke-width="4.760392015108001px" fill="none" stroke="rgb(132, 0, 0)"/></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="569.2480579980179" y="183.03719992478491" width="180.894896574104" height="35.70294011331001" fill="transparent"/><path class="sch-component-symbol-path" d="M 569.2480579980179 216.35994403054093 L 631.1331541944219 218.74014003809492" stroke="rgb(132, 0, 0)" fill="none" stroke-width="4.760392015108001px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 643.0341342321918 213.97974802298694 L 683.4974663606099 183.03719992478491" stroke="rgb(132, 0, 0)" fill="none" stroke-width="4.760392015108001px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 688.2578583757179 218.74014003809492 L 750.1429545721219 216.35994403054093" stroke="rgb(132, 0, 0)" fill="none" stroke-width="4.760392015108001px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="659.6955062850699" y="156.85504384169093" stroke="rgb(245, 241, 237)" stroke-width="4.760392015108001px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="ideographic" font-size="42.843528135972px">SW1</text><text class="sch-component-text" x="659.6955062850699" y="275.86484421939093" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="42.843528135972px"></text><circle class="sch-component-symbol-circle" cx="683.4974663606099" cy="216.35994403054093" r="4.760392015108001px" stroke-width="4.760392015108001px" fill="none" stroke="rgb(132, 0, 0)"/><circle class="sch-component-symbol-circle" cx="635.8935462095299" cy="216.35994403054093" r="4.760392015108001px" stroke-width="4.760392015108001px" 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="878.6735389800381" y="480.5569404770198" width="142.8117604532399" height="76.17579302575814" fill="transparent"/><path class="sch-component-symbol-path" d="M 1021.485299433278 518.6448369898989 L 964.360595251982 518.6448369898989" stroke="rgb(132, 0, 0)" fill="none" stroke-width="4.760392015108001px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 935.7982431613341 518.6448369898989 L 878.6735389800381 518.6448369898989" stroke="rgb(132, 0, 0)" fill="none" stroke-width="4.760392015108001px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 964.360595251982 480.5569404770198 L 964.360595251982 556.7327335027779" stroke="rgb(132, 0, 0)" fill="none" stroke-width="4.760392015108001px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 935.7982431613341 480.5569404770198 L 935.7982431613341 556.7327335027779" stroke="rgb(132, 0, 0)" fill="none" stroke-width="4.760392015108001px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="950.079419206658" y="461.5201328086029" stroke="rgb(245, 241, 237)" stroke-width="4.760392015108001px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="ideographic" font-size="42.843528135972px">C1</text><text class="sch-component-text" x="950.079419206658" y="575.7695411711949" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="42.843528135972px"></text></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="569.2480579980179" y="480.56646126105005" width="142.8117604532399" height="38.073615336833825" fill="transparent"/><path class="sch-component-symbol-path" d="M 712.0598184512578 499.60326892946694 L 688.2530979837028 499.60326892946694" stroke="rgb(132, 0, 0)" fill="none" stroke-width="4.760392015108001px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 593.0547784655729 499.60326892946694 L 569.2480579980179 499.60326892946694" stroke="rgb(132, 0, 0)" fill="none" stroke-width="4.760392015108001px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 688.2530979837028 518.6400765978839 L 593.0547784655729 518.6400765978839 L 593.0547784655729 480.56646126105005 L 688.2530979837028 480.56646126105005 L 688.2530979837028 518.6400765978839" stroke="rgb(132, 0, 0)" fill="none" stroke-width="4.760392015108001px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="640.6539382246378" y="461.5201328086029" stroke="rgb(245, 241, 237)" stroke-width="4.760392015108001px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="ideographic" font-size="42.843528135972px">R1</text><text class="sch-component-text" x="640.6539382246378" y="537.6864050503309" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="42.843528135972px"></text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="167.98987737178675" cy="498.3277813337677" r="9.520784030216001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="380.20853423666256" cy="498.35739097210165" r="9.520784030216001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="569.2480579980179" cy="216.35994403054093" r="9.520784030216001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_1__stack1"><circle cx="750.142954572122" cy="216.35994403054093" r="9.520784030216001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_0__stack1"><circle cx="1021.485299433278" cy="518.6448369898989" r="9.520784030216001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_1__stack1"><circle cx="878.6735389800381" cy="518.6448369898989" r="9.520784030216001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_3_0__stack1"><circle cx="712.0598184512579" cy="499.60326892946694" r="9.520784030216001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_3_1__stack1"><circle cx="569.2480579980179" cy="499.60326892946694" r="9.520784030216001" 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 142.81176045328206,499.57365929113297
76
+ L 166.61372052882206,512.4267177319246
77
+ L 166.61372052882206,594.0515728176431
78
+ L 119.00980037774207,594.0515728176431
79
+ L 119.00980037774207,512.4267177319246
80
+ Z
81
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="4.760392015108001px"/><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="142.81176045328206" y="520.995423359119" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="42.843528135972px" transform="rotate(90 142.81176045328206 520.995423359119)">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 485.9411977336279,499.60326892946694
83
+ L 462.1392376580879,486.75021048867535
84
+ L 462.13923765808795,405.1253554029568
85
+ L 509.74315780916794,405.1253554029568
86
+ L 509.74315780916794,486.75021048867535
87
+ Z
88
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="4.760392015108001px"/><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="485.9411977336279" y="478.18150486148096" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="42.843528135972px" transform="rotate(-90 485.9411977336279 478.18150486148096)">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 797.7468747232019,216.35994403054093
90
+ L 773.9449146476619,203.50688558974932
91
+ L 773.9449146476619,121.88203050403082
92
+ L 821.548834798742,121.88203050403082
93
+ L 821.548834798742,203.50688558974934
94
+ Z
95
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="4.760392015108001px"/><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="797.7468747232019" y="194.93817996255493" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="42.843528135972px" transform="rotate(-90 797.7468747232019 194.93817996255493)">XX</text>
96
+ </g>
97
+ </svg>