@tscircuit/schematic-trace-solver 0.0.87 → 0.0.89

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 (118) hide show
  1. package/.agents/skills/schematic-trace-visualization/SKILL.md +115 -0
  2. package/.github/scripts/import-json-bug-report.ts +15 -1
  3. package/.github/workflows/json-bug-report.yml +3 -2
  4. package/AGENTS.md +22 -0
  5. package/dist/index.js +30 -22
  6. package/lib/solvers/Example28Solver/reroute.ts +10 -0
  7. package/lib/testing/PipelineStageDebugRunner.ts +344 -0
  8. package/package.json +3 -2
  9. package/scripts/debug-pipeline-stages.ts +146 -0
  10. package/site/bug-reports/bug-report-20260706T220324Z.page.tsx +4 -0
  11. package/site/bug-reports/bug-report-20260707T020342Z.page.tsx +4 -0
  12. package/site/bug-reports/bug-report-20260707T092615Z.page.tsx +4 -0
  13. package/site/bug-reports/bug-report-20260707T134549Z.page.tsx +4 -0
  14. package/site/bug-reports/bug-report-20260707T134722Z.page.tsx +4 -0
  15. package/site/bug-reports/bug-report-20260707T140410Z.page.tsx +4 -0
  16. package/site/bug-reports/bug-report-20260707T141025Z.page.tsx +4 -0
  17. package/site/bug-reports/bug-report-20260707T141421Z.page.tsx +4 -0
  18. package/tests/bug-reports/bug-report-20260706T213649Z/__snapshots__/bug-report-20260706T213649Z.snap.svg +386 -0
  19. package/tests/bug-reports/bug-report-20260706T213649Z/bug-report-20260706T213649Z.json +1471 -0
  20. package/tests/bug-reports/bug-report-20260706T213649Z/bug-report-20260706T213649Z.test.ts +12 -0
  21. package/tests/bug-reports/bug-report-20260706T220324Z/__snapshots__/bug-report-20260706T220324Z.snap.svg +357 -3448
  22. package/tests/bug-reports/bug-report-20260707T020342Z/__snapshots__/bug-report-20260707T020342Z.snap.svg +64 -0
  23. package/tests/bug-reports/bug-report-20260707T020342Z/bug-report-20260707T020342Z.json +233 -0
  24. package/tests/bug-reports/bug-report-20260707T020342Z/bug-report-20260707T020342Z.test.ts +12 -0
  25. package/tests/bug-reports/bug-report-20260707T092615Z/__snapshots__/bug-report-20260707T092615Z.snap.svg +252 -0
  26. package/tests/bug-reports/bug-report-20260707T092615Z/bug-report-20260707T092615Z.json +1392 -0
  27. package/tests/bug-reports/bug-report-20260707T092615Z/bug-report-20260707T092615Z.test.ts +12 -0
  28. package/tests/bug-reports/bug-report-20260707T134549Z/__snapshots__/bug-report-20260707T134549Z.snap.svg +124 -0
  29. package/tests/bug-reports/bug-report-20260707T134549Z/bug-report-20260707T134549Z.json +652 -0
  30. package/tests/bug-reports/bug-report-20260707T134549Z/bug-report-20260707T134549Z.test.ts +12 -0
  31. package/tests/bug-reports/bug-report-20260707T134722Z/__snapshots__/bug-report-20260707T134722Z.snap.svg +73 -0
  32. package/tests/bug-reports/bug-report-20260707T134722Z/bug-report-20260707T134722Z.json +265 -0
  33. package/tests/bug-reports/bug-report-20260707T134722Z/bug-report-20260707T134722Z.test.ts +12 -0
  34. package/tests/bug-reports/bug-report-20260707T140410Z/__snapshots__/bug-report-20260707T140410Z.snap.svg +154 -0
  35. package/tests/bug-reports/bug-report-20260707T140410Z/bug-report-20260707T140410Z.json +610 -0
  36. package/tests/bug-reports/bug-report-20260707T140410Z/bug-report-20260707T140410Z.test.ts +12 -0
  37. package/tests/bug-reports/bug-report-20260707T141025Z/__snapshots__/bug-report-20260707T141025Z.snap.svg +67 -0
  38. package/tests/bug-reports/bug-report-20260707T141025Z/bug-report-20260707T141025Z.json +185 -0
  39. package/tests/bug-reports/bug-report-20260707T141025Z/bug-report-20260707T141025Z.test.ts +12 -0
  40. package/tests/bug-reports/bug-report-20260707T141421Z/__snapshots__/bug-report-20260707T141421Z.snap.svg +114 -0
  41. package/tests/bug-reports/bug-report-20260707T141421Z/bug-report-20260707T141421Z.json +499 -0
  42. package/tests/bug-reports/bug-report-20260707T141421Z/bug-report-20260707T141421Z.test.ts +23 -0
  43. package/tests/examples/__snapshots__/example01.snap.svg +59 -162
  44. package/tests/examples/__snapshots__/example02.snap.svg +64 -273
  45. package/tests/examples/__snapshots__/example03.snap.svg +85 -290
  46. package/tests/examples/__snapshots__/example04.snap.svg +50 -94
  47. package/tests/examples/__snapshots__/example05.snap.svg +73 -191
  48. package/tests/examples/__snapshots__/example06.snap.svg +49 -95
  49. package/tests/examples/__snapshots__/example07.snap.svg +65 -218
  50. package/tests/examples/__snapshots__/example08.snap.svg +61 -143
  51. package/tests/examples/__snapshots__/example09.snap.svg +123 -493
  52. package/tests/examples/__snapshots__/example10.snap.svg +57 -136
  53. package/tests/examples/__snapshots__/example11.snap.svg +64 -173
  54. package/tests/examples/__snapshots__/example12.snap.svg +58 -159
  55. package/tests/examples/__snapshots__/example13.snap.svg +78 -348
  56. package/tests/examples/__snapshots__/example14.snap.svg +77 -293
  57. package/tests/examples/__snapshots__/example15.snap.svg +140 -984
  58. package/tests/examples/__snapshots__/example16.snap.svg +62 -162
  59. package/tests/examples/__snapshots__/example17.snap.svg +67 -198
  60. package/tests/examples/__snapshots__/example18.snap.svg +69 -249
  61. package/tests/examples/__snapshots__/example19.snap.svg +63 -202
  62. package/tests/examples/__snapshots__/example20.snap.svg +60 -148
  63. package/tests/examples/__snapshots__/example21.snap.svg +73 -298
  64. package/tests/examples/__snapshots__/example22.snap.svg +62 -156
  65. package/tests/examples/__snapshots__/example23.snap.svg +66 -172
  66. package/tests/examples/__snapshots__/example24.snap.svg +64 -164
  67. package/tests/examples/__snapshots__/example25.snap.svg +76 -299
  68. package/tests/examples/__snapshots__/example26.snap.svg +64 -164
  69. package/tests/examples/__snapshots__/example27.snap.svg +83 -300
  70. package/tests/examples/__snapshots__/example28.snap.svg +54 -115
  71. package/tests/examples/__snapshots__/example29.snap.svg +257 -1299
  72. package/tests/examples/__snapshots__/example30.snap.svg +91 -293
  73. package/tests/examples/__snapshots__/example31.snap.svg +47 -88
  74. package/tests/examples/__snapshots__/example32.snap.svg +107 -405
  75. package/tests/examples/__snapshots__/example33.snap.svg +71 -180
  76. package/tests/examples/__snapshots__/example34.snap.svg +55 -116
  77. package/tests/examples/__snapshots__/example35.snap.svg +69 -176
  78. package/tests/examples/__snapshots__/example36.snap.svg +65 -159
  79. package/tests/examples/__snapshots__/example37.snap.svg +75 -223
  80. package/tests/examples/__snapshots__/example38.snap.svg +46 -76
  81. package/tests/examples/__snapshots__/example39.snap.svg +51 -106
  82. package/tests/examples/__snapshots__/example40.snap.svg +83 -270
  83. package/tests/examples/__snapshots__/example41.snap.svg +54 -118
  84. package/tests/examples/__snapshots__/example42.snap.svg +67 -194
  85. package/tests/examples/__snapshots__/example43.snap.svg +62 -168
  86. package/tests/examples/__snapshots__/example44.snap.svg +86 -369
  87. package/tests/examples/__snapshots__/example45.snap.svg +60 -169
  88. package/tests/examples/__snapshots__/example46.snap.svg +80 -342
  89. package/tests/examples/__snapshots__/example47.snap.svg +82 -323
  90. package/tests/examples/__snapshots__/example48.snap.svg +64 -167
  91. package/tests/examples/__snapshots__/example49.snap.svg +120 -565
  92. package/tests/examples/__snapshots__/example50.snap.svg +71 -189
  93. package/tests/fixtures/getLastStepGraphicsObject.ts +38 -0
  94. package/tests/fixtures/getLastStepSvg.ts +9 -0
  95. package/tests/repros/__snapshots__/bugreport-001-gnd-overlap.snap.svg +67 -218
  96. package/tests/repros/__snapshots__/manufacturePartNumber-text-box.snap.svg +47 -87
  97. package/tests/repros/__snapshots__/netlabel-connector-through-rail-label.snap.svg +73 -272
  98. package/tests/repros/__snapshots__/repro-atmega328p-fault-pullup.snap.svg +88 -0
  99. package/tests/repros/__snapshots__/repro-atmega328p-missing-gnd-netlabel.snap.svg +118 -0
  100. package/tests/repros/__snapshots__/repro-bq24074-battery-charger.snap.svg +94 -395
  101. package/tests/repros/__snapshots__/repro-cc2340r5.snap.svg +88 -467
  102. package/tests/repros/__snapshots__/repro-ina237-current-monitor.snap.svg +109 -569
  103. package/tests/repros/__snapshots__/repro130-bq27441-fuel-gauge-trace-through-c1.snap.svg +95 -459
  104. package/tests/repros/__snapshots__/repro51-overlap-junction-crossing.snap.svg +64 -176
  105. package/tests/repros/__snapshots__/trace-overlap-box-resistor.snap.svg +51 -112
  106. package/tests/repros/assets/repro-atmega328p-fault-pullup.input.json +239 -0
  107. package/tests/repros/assets/repro-atmega328p-missing-gnd-netlabel.input.json +432 -0
  108. package/tests/repros/repro-atmega328p-fault-pullup.test.ts +11 -0
  109. package/tests/repros/repro-atmega328p-missing-gnd-netlabel.test.ts +16 -0
  110. package/tests/solvers/SchematicTraceSingleLineSolver2/__snapshots__/SchematicTraceSingleLineSolver2_01-example17-d1_1-u1_1.snap.svg +59 -159
  111. package/tests/solvers/TraceCleanupSolver/__snapshots__/TraceCleanupSolver.snap.svg +54 -118
  112. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/__snapshots__/TraceLabelOverlapAvoidanceSolver.snap.svg +58 -245
  113. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/renderComparisonView/__snapshots__/renderComparisonView01.snap.svg +73 -222
  114. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/renderComparisonView/__snapshots__/renderComparisonView02.snap.svg +65 -204
  115. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/renderComparisonView/__snapshots__/renderComparisonView03.snap.svg +65 -183
  116. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/__snapshots__/MergedNetLabelObstacles.snap.svg +54 -139
  117. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/__snapshots__/OverlapAvoidanceStepSolver.snap.svg +61 -215
  118. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/__snapshots__/SingleOverlapSolver.snap.svg +54 -124
@@ -0,0 +1,67 @@
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 2.12979575625,0.7 2.12979575625,0.9000000000000004 2.6595915124999996,0.9000000000000004 2.6595915124999996,0.7000000000000004" data-type="line" data-label="" points="498.66721112713884,308.50531985994195 529.8971227048513,308.50531985994195 529.8971227048513,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
2
+ 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
+ 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
+ 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
5
+ globalConnNetId: connectivity_net1" data-x="-5.341" data-y="0" x="40" y="343.87356644473607" width="99.03109043742359" 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: V_ON.OUT to U1.ON
6
+ globalConnNetId: connectivity_net1" data-x="-2.441" data-y="0" x="210.94652515983842" y="343.87356644473607" width="99.03109043742359" 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: U1.QOD to U1.OUT
7
+ globalConnNetId: connectivity_net2" data-x="1.8" data-y="-0.9249999999999999" x="504.56191889127126" y="391.0312285577949" width="11.78941552826467" height="26.526184938595634" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.016964369397321426"/></g><g><circle data-type="point" data-label="U1.1
8
+ x-" data-x="-1.6" data-y="1" cx="310.03656267490334" cy="290.82119656754486" r="3" fill="hsl(319, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.2
9
+ x-" data-x="-1.6" data-y="-1" cx="310.03656267490334" cy="408.715351850192" r="3" fill="hsl(320, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.3
10
+ x-" data-x="-1.6" data-y="0" cx="310.03656267490334" cy="349.76827420886843" r="3" fill="hsl(321, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.5
11
+ x+" data-x="1.6" data-y="-0.7" cx="498.66721112713884" cy="391.0312285577949" r="3" fill="hsl(323, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.6
12
+ x+" data-x="1.6" data-y="0.7" cx="498.66721112713884" cy="308.50531985994195" r="3" fill="hsl(324, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="V_IN.1
13
+ y+" data-x="-2.5747276749999997" data-y="2.7300000000000004" cx="252.57921473753154" cy="188.842752248055" r="3" fill="hsl(97, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="V_IN.2
14
+ y-" data-x="-2.564727675" data-y="1.6500000000000004" cx="253.16868551394478" cy="252.5055961006845" r="3" fill="hsl(98, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="V_ON.1
15
+ x-" data-x="-4.5" data-y="0" cx="139.09003751506492" cy="349.76827420886843" r="3" fill="hsl(283, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="V_ON.2
16
+ x+" data-x="-2.3000000000000003" data-y="0" cx="268.77360832597685" cy="349.76827420886843" r="3" fill="hsl(284, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R_L.1
17
+ y+" data-x="2.6595915124999996" data-y="0.7000000000000004" cx="561.1270342825638" cy="308.5053198599419" r="3" fill="hsl(18, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R_L.2
18
+ y-" data-x="2.6595915124999996" data-y="-0.3999999999999997" cx="561.1270342825638" cy="373.34710526539783" r="3" fill="hsl(19, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
19
+ orientation: x-" data-x="-2.5747276749999997" data-y="2.9300000000000006" cx="252.57921473753154" cy="177.05333671979028" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
20
+ orientation: y-" data-x="-1.9500000000000002" data-y="-1" cx="289.40508550044007" cy="408.715351850192" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
21
+ orientation: y-" data-x="2.6595915124999996" data-y="-0.3999999999999997" cx="561.1270342825638" cy="373.34710526539783" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
22
+ orientation: x-" data-x="-4.5" data-y="0" cx="139.09003751506492" cy="349.76827420886843" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
23
+ orientation: x-" data-x="-1.6" data-y="0" cx="310.03656267490334" cy="349.76827420886843" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
24
+ orientation: y-" data-x="1.8" data-y="-0.7" cx="510.45662665540357" cy="391.0312285577949" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g id="crosshair" style="display: none"><line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5"/><line id="crosshair-v" x1="0" x2="640" stroke="#666" stroke-width="0.5"/><text id="coordinates" font-family="monospace" font-size="12" fill="#666"></text></g><script><![CDATA[
25
+ document.currentScript.parentElement.addEventListener('mousemove', (e) => {
26
+ const svg = e.currentTarget;
27
+ const rect = svg.getBoundingClientRect();
28
+ const x = e.clientX - rect.left;
29
+ const y = e.clientY - rect.top;
30
+ const crosshair = svg.getElementById('crosshair');
31
+ const h = svg.getElementById('crosshair-h');
32
+ const v = svg.getElementById('crosshair-v');
33
+ const coords = svg.getElementById('coordinates');
34
+
35
+ crosshair.style.display = 'block';
36
+ h.setAttribute('x1', '0');
37
+ h.setAttribute('x2', '640');
38
+ h.setAttribute('y1', y);
39
+ h.setAttribute('y2', y);
40
+ v.setAttribute('x1', x);
41
+ v.setAttribute('x2', x);
42
+ v.setAttribute('y1', '0');
43
+ v.setAttribute('y2', '640');
44
+
45
+ // Calculate real coordinates using inverse transformation
46
+ const matrix = {"a":58.94707764132359,"c":0,"e":404.3518869010211,"b":0,"d":-58.94707764132359,"f":349.76827420886843};
47
+ // Manually invert and apply the affine transform
48
+ // Since we only use translate and scale, we can directly compute:
49
+ // x' = (x - tx) / sx
50
+ // y' = (y - ty) / sy
51
+ const sx = matrix.a;
52
+ const sy = matrix.d;
53
+ const tx = matrix.e;
54
+ const ty = matrix.f;
55
+ const realPoint = {
56
+ x: (x - tx) / sx,
57
+ y: (y - ty) / sy // Flip y back since we used negative scale
58
+ }
59
+
60
+ coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
61
+ coords.setAttribute('x', (x + 5).toString());
62
+ coords.setAttribute('y', (y - 5).toString());
63
+ });
64
+ document.currentScript.parentElement.addEventListener('mouseleave', () => {
65
+ document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
66
+ });
67
+ ]]></script></svg>
@@ -0,0 +1,185 @@
1
+ {
2
+ "chips": [
3
+ {
4
+ "chipId": "schematic_component_0",
5
+ "center": {
6
+ "x": 0,
7
+ "y": 0
8
+ },
9
+ "width": 3.2,
10
+ "height": 3.6,
11
+ "pins": [
12
+ {
13
+ "pinId": "U1.1",
14
+ "x": -1.6,
15
+ "y": 1
16
+ },
17
+ {
18
+ "pinId": "U1.2",
19
+ "x": -1.6,
20
+ "y": -1
21
+ },
22
+ {
23
+ "pinId": "U1.3",
24
+ "x": -1.6,
25
+ "y": 0
26
+ },
27
+ {
28
+ "pinId": "U1.5",
29
+ "x": 1.6,
30
+ "y": -0.7
31
+ },
32
+ {
33
+ "pinId": "U1.6",
34
+ "x": 1.6,
35
+ "y": 0.7
36
+ }
37
+ ]
38
+ },
39
+ {
40
+ "chipId": "schematic_component_1",
41
+ "center": {
42
+ "x": -2.5697276749999998,
43
+ "y": 2.1900000000000004
44
+ },
45
+ "width": 0.6394553499999995,
46
+ "height": 1.08,
47
+ "pins": [
48
+ {
49
+ "pinId": "V_IN.1",
50
+ "x": -2.5747276749999997,
51
+ "y": 2.7300000000000004
52
+ },
53
+ {
54
+ "pinId": "V_IN.2",
55
+ "x": -2.564727675,
56
+ "y": 1.6500000000000004
57
+ }
58
+ ]
59
+ },
60
+ {
61
+ "chipId": "schematic_component_2",
62
+ "center": {
63
+ "x": -3.4000000000000004,
64
+ "y": 0
65
+ },
66
+ "width": 2.2,
67
+ "height": 1.2,
68
+ "pins": [
69
+ {
70
+ "pinId": "V_ON.1",
71
+ "x": -4.5,
72
+ "y": 0
73
+ },
74
+ {
75
+ "pinId": "V_ON.2",
76
+ "x": -2.3000000000000003,
77
+ "y": 0
78
+ }
79
+ ]
80
+ },
81
+ {
82
+ "chipId": "schematic_component_3",
83
+ "center": {
84
+ "x": 2.9094553499999996,
85
+ "y": 0.15000000000000036
86
+ },
87
+ "width": 0.8191830249999992,
88
+ "height": 1.1,
89
+ "pins": [
90
+ {
91
+ "pinId": "R_L.1",
92
+ "x": 2.6595915124999996,
93
+ "y": 0.7000000000000004
94
+ },
95
+ {
96
+ "pinId": "R_L.2",
97
+ "x": 2.6595915124999996,
98
+ "y": -0.3999999999999997
99
+ }
100
+ ]
101
+ }
102
+ ],
103
+ "directConnections": [
104
+ {
105
+ "pinIds": [
106
+ "V_IN.1",
107
+ "U1.1"
108
+ ],
109
+ "netId": "V_IN.pin1 to U1.IN"
110
+ },
111
+ {
112
+ "pinIds": [
113
+ "V_ON.1",
114
+ "U1.3"
115
+ ],
116
+ "netId": "V_ON.OUT to U1.ON",
117
+ "netLabelWidth": 1.68
118
+ },
119
+ {
120
+ "pinIds": [
121
+ "U1.6",
122
+ "R_L.1"
123
+ ],
124
+ "netId": "U1.OUT to R_L.pin1"
125
+ },
126
+ {
127
+ "pinIds": [
128
+ "U1.5",
129
+ "U1.6"
130
+ ],
131
+ "netId": "U1.QOD to U1.OUT"
132
+ }
133
+ ],
134
+ "netConnections": [
135
+ {
136
+ "netId": "GND",
137
+ "pinIds": [
138
+ "U1.2",
139
+ "V_IN.2",
140
+ "V_ON.2",
141
+ "R_L.2"
142
+ ],
143
+ "netLabelWidth": 0.48,
144
+ "netLabelHeight": 0.42
145
+ }
146
+ ],
147
+ "textBoxes": [
148
+ {
149
+ "chipId": "schematic_component_0",
150
+ "center": {
151
+ "x": -0.48,
152
+ "y": -1.9300000000000002
153
+ },
154
+ "width": 1.44,
155
+ "height": 0.17999999999999994,
156
+ "text": "TPS22919DCKR"
157
+ },
158
+ {
159
+ "chipId": "schematic_component_0",
160
+ "center": {
161
+ "x": -1.08,
162
+ "y": 1.9300000000000002
163
+ },
164
+ "width": 0.24,
165
+ "height": 0.17999999999999994,
166
+ "text": "U1"
167
+ },
168
+ {
169
+ "chipId": "schematic_component_2",
170
+ "center": {
171
+ "x": -3.8600000000000003,
172
+ "y": 0.73
173
+ },
174
+ "width": 0.48,
175
+ "height": 0.17999999999999994,
176
+ "text": "V_ON"
177
+ }
178
+ ],
179
+ "availableNetLabelOrientations": {
180
+ "GND": [
181
+ "y-"
182
+ ]
183
+ },
184
+ "maxMspPairDistance": 2.4
185
+ }
@@ -0,0 +1,12 @@
1
+ import { expect, test } from "bun:test"
2
+ import { SchematicTracePipelineSolver } from "lib/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver"
3
+ import inputProblem from "./bug-report-20260707T141025Z.json"
4
+ import "tests/fixtures/matcher"
5
+
6
+ test("bug-report-20260707T141025Z", () => {
7
+ const solver = new SchematicTracePipelineSolver(inputProblem as any)
8
+
9
+ solver.solve()
10
+
11
+ expect(solver).toMatchSolverSnapshot(import.meta.path)
12
+ })
@@ -0,0 +1,114 @@
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.34,5 0.4899999999999999,5.1" data-type="line" data-label="" points="101.08898371918147,165.62284700306606 265.9521320140203,159.79729405978554" fill="none" stroke="hsl(312, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.26,5 -0.5899999999999997,6.140000000000001" data-type="line" data-label="" points="164.0049555066111,165.62284700306606 203.03616022659065,99.21154344966806" fill="none" stroke="hsl(96, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.0739106999999986,3.4800000000000004 -0.56,3.5000000000000004" data-type="line" data-label="" points="58.33462733428084,254.17125174093002 204.78382610957482,253.0061411522739" fill="none" stroke="hsl(272, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.5700000000000002,6.13 1.2400000000000002,6.1394553499999995" data-type="line" data-label="" points="270.61257436864474,99.79409874399613 309.6437790886242,99.24327232377368" fill="none" stroke="hsl(224, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="2.3400000000000007,6.1394553499999995 1.69,5.1" data-type="line" data-label="" points="373.7248614647101,99.24327232377368 335.8587673333866,159.79729405978554" fill="none" stroke="hsl(312, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-0.56,3.5000000000000004 -1.9195915124999994,1.7000000000000004" data-type="line" data-label="" points="204.78382610957482,253.0061411522739 125.58010273653889,357.86609413132334" fill="none" stroke="hsl(240, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.9195915124999994,0.6000000000000003 -1.9195915124999994,-0.09999999999999987" data-type="line" data-label="" points="125.58010273653889,421.94717650740915 125.58010273653889,462.7260471103728" fill="none" stroke="hsl(88, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-0.56,3.5000000000000004 -0.56,2.3000000000000007" data-type="line" data-label="" points="204.78382610957482,253.0061411522739 204.78382610957482,322.9127764716402" fill="none" stroke="hsl(16, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-0.56,3.5000000000000004 -1.6795915124999996,3.500000000000001" data-type="line" data-label="" points="204.78382610957482,253.0061411522739 139.56142980041213,253.00614115227387" fill="none" stroke="hsl(240, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="2.7399999999999998,3.5 4.1595915125,5.3" data-type="line" data-label="" points="397.0270732378321,253.00614115227393 479.72612837683636,148.14618817322452" fill="none" stroke="hsl(80, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="4.1595915125,4.2 5.529183025,3.499999999999999" data-type="line" data-label="" points="479.72612837683636,212.22727054931025 559.5124070442004,253.00614115227398" fill="none" stroke="hsl(312, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="5.278774537499999,1.7000000000000004 2.7399999999999998,3.5" data-type="line" data-label="" points="544.9247280304198,357.86609413132334 397.0270732378321,253.00614115227393" fill="none" stroke="hsl(96, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="2.7399999999999998,3.5 3.9195915124999994,3.499999999999999" data-type="line" data-label="" points="397.0270732378321,253.00614115227393 465.7448013129631,253.00614115227398" fill="none" stroke="hsl(80, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="2.7399999999999998,2.3 -1.6795915124999996,2.4000000000000004" data-type="line" data-label="" points="397.0270732378321,322.9127764716402 139.56142980041213,317.0872235283597" fill="none" stroke="hsl(24, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="2.7399999999999998,1.1 5.278774537499999,0.6000000000000003" data-type="line" data-label="" points="397.0270732378321,392.81941179100653 544.9247280304198,421.94717650740915" fill="none" stroke="hsl(112, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="2.7399999999999998,1.1 3.7995915124999993,1.0999999999999999" data-type="line" data-label="" points="397.0270732378321,392.81941179100653 458.75413778102643,392.81941179100653" fill="none" stroke="hsl(112, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-0.56,2.3000000000000007 -0.56,3.5000000000000004" data-type="line" data-label="" points="204.78382610957482,322.9127764716402 204.78382610957482,253.0061411522739" fill="none" stroke="hsl(27, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.56,2.3000000000000007 -3.0739106999999986,3.4800000000000004" data-type="line" data-label="" points="204.78382610957482,322.9127764716402 58.33462733428084,254.17125174093002" fill="none" stroke="hsl(27, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.56,2.3000000000000007 -1.9195915124999994,1.7000000000000004" data-type="line" data-label="" points="204.78382610957482,322.9127764716402 125.58010273653889,357.86609413132334" fill="none" stroke="hsl(27, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.56,2.3000000000000007 -1.6795915124999996,3.500000000000001" data-type="line" data-label="" points="204.78382610957482,322.9127764716402 139.56142980041213,253.00614115227387" fill="none" stroke="hsl(27, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.56,3.5000000000000004 -3.0739106999999986,3.4800000000000004" data-type="line" data-label="" points="204.78382610957482,253.0061411522739 58.33462733428084,254.17125174093002" fill="none" stroke="hsl(27, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.56,3.5000000000000004 -1.9195915124999994,1.7000000000000004" data-type="line" data-label="" points="204.78382610957482,253.0061411522739 125.58010273653889,357.86609413132334" fill="none" stroke="hsl(27, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.56,3.5000000000000004 -1.6795915124999996,3.500000000000001" data-type="line" data-label="" points="204.78382610957482,253.0061411522739 139.56142980041213,253.00614115227387" fill="none" stroke="hsl(27, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.0739106999999986,3.4800000000000004 -1.9195915124999994,1.7000000000000004" data-type="line" data-label="" points="58.33462733428084,254.17125174093002 125.58010273653889,357.86609413132334" fill="none" stroke="hsl(27, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.0739106999999986,3.4800000000000004 -1.6795915124999996,3.500000000000001" data-type="line" data-label="" points="58.33462733428084,254.17125174093002 139.56142980041213,253.00614115227387" fill="none" stroke="hsl(27, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.9195915124999994,1.7000000000000004 -1.6795915124999996,3.500000000000001" data-type="line" data-label="" points="125.58010273653889,357.86609413132334 139.56142980041213,253.00614115227387" fill="none" stroke="hsl(27, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.56,1.1 2.7399999999999998,-0.09999999999999987" data-type="line" data-label="" points="204.78382610957482,392.81941179100653 397.0270732378321,462.7260471103728" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.56,1.1 -0.56,-0.10000000000000009" data-type="line" data-label="" points="204.78382610957482,392.81941179100653 204.78382610957482,462.7260471103728" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.56,1.1 -3.0639106999999988,2.4000000000000004" data-type="line" data-label="" points="204.78382610957482,392.81941179100653 58.917182628608884,317.0872235283597" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.56,1.1 -1.9195915124999994,-1.2" data-type="line" data-label="" points="204.78382610957482,392.81941179100653 125.58010273653889,526.8071294864586" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.56,1.1 5.529183025,2.3999999999999986" data-type="line" data-label="" points="204.78382610957482,392.81941179100653 559.5124070442004,317.0872235283598" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.56,1.1 3.7995915124999993,-2.220446049250313e-16" data-type="line" data-label="" points="204.78382610957482,392.81941179100653 458.75413778102643,456.9004941670923" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.56,1.1 3.9195915124999994,2.3999999999999995" data-type="line" data-label="" points="204.78382610957482,392.81941179100653 465.7448013129631,317.0872235283597" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.7399999999999998,-0.09999999999999987 -0.56,-0.10000000000000009" data-type="line" data-label="" points="397.0270732378321,462.7260471103728 204.78382610957482,462.7260471103728" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.7399999999999998,-0.09999999999999987 -3.0639106999999988,2.4000000000000004" data-type="line" data-label="" points="397.0270732378321,462.7260471103728 58.917182628608884,317.0872235283597" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.7399999999999998,-0.09999999999999987 -1.9195915124999994,-1.2" data-type="line" data-label="" points="397.0270732378321,462.7260471103728 125.58010273653889,526.8071294864586" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.7399999999999998,-0.09999999999999987 5.529183025,2.3999999999999986" data-type="line" data-label="" points="397.0270732378321,462.7260471103728 559.5124070442004,317.0872235283598" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.7399999999999998,-0.09999999999999987 3.7995915124999993,-2.220446049250313e-16" data-type="line" data-label="" points="397.0270732378321,462.7260471103728 458.75413778102643,456.9004941670923" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.7399999999999998,-0.09999999999999987 3.9195915124999994,2.3999999999999995" data-type="line" data-label="" points="397.0270732378321,462.7260471103728 465.7448013129631,317.0872235283597" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.56,-0.10000000000000009 -3.0639106999999988,2.4000000000000004" data-type="line" data-label="" points="204.78382610957482,462.7260471103728 58.917182628608884,317.0872235283597" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.56,-0.10000000000000009 -1.9195915124999994,-1.2" data-type="line" data-label="" points="204.78382610957482,462.7260471103728 125.58010273653889,526.8071294864586" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.56,-0.10000000000000009 5.529183025,2.3999999999999986" data-type="line" data-label="" points="204.78382610957482,462.7260471103728 559.5124070442004,317.0872235283598" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.56,-0.10000000000000009 3.7995915124999993,-2.220446049250313e-16" data-type="line" data-label="" points="204.78382610957482,462.7260471103728 458.75413778102643,456.9004941670923" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.56,-0.10000000000000009 3.9195915124999994,2.3999999999999995" data-type="line" data-label="" points="204.78382610957482,462.7260471103728 465.7448013129631,317.0872235283597" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.0639106999999988,2.4000000000000004 -1.9195915124999994,-1.2" data-type="line" data-label="" points="58.917182628608884,317.0872235283597 125.58010273653889,526.8071294864586" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.0639106999999988,2.4000000000000004 5.529183025,2.3999999999999986" data-type="line" data-label="" points="58.917182628608884,317.0872235283597 559.5124070442004,317.0872235283598" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.0639106999999988,2.4000000000000004 3.7995915124999993,-2.220446049250313e-16" data-type="line" data-label="" points="58.917182628608884,317.0872235283597 458.75413778102643,456.9004941670923" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.0639106999999988,2.4000000000000004 3.9195915124999994,2.3999999999999995" data-type="line" data-label="" points="58.917182628608884,317.0872235283597 465.7448013129631,317.0872235283597" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.9195915124999994,-1.2 5.529183025,2.3999999999999986" data-type="line" data-label="" points="125.58010273653889,526.8071294864586 559.5124070442004,317.0872235283598" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.9195915124999994,-1.2 3.7995915124999993,-2.220446049250313e-16" data-type="line" data-label="" points="125.58010273653889,526.8071294864586 458.75413778102643,456.9004941670923" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.9195915124999994,-1.2 3.9195915124999994,2.3999999999999995" data-type="line" data-label="" points="125.58010273653889,526.8071294864586 465.7448013129631,317.0872235283597" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="5.529183025,2.3999999999999986 3.7995915124999993,-2.220446049250313e-16" data-type="line" data-label="" points="559.5124070442004,317.0872235283598 458.75413778102643,456.9004941670923" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="5.529183025,2.3999999999999986 3.9195915124999994,2.3999999999999995" data-type="line" data-label="" points="559.5124070442004,317.0872235283598 465.7448013129631,317.0872235283597" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.7995915124999993,-2.220446049250313e-16 3.9195915124999994,2.3999999999999995" data-type="line" data-label="" points="458.75413778102643,456.9004941670923 465.7448013129631,317.0872235283597" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.7399999999999998,3.5 4.1595915125,5.3" data-type="line" data-label="" points="397.0270732378321,253.00614115227393 479.72612837683636,148.14618817322452" fill="none" stroke="hsl(64, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.7399999999999998,3.5 5.278774537499999,1.7000000000000004" data-type="line" data-label="" points="397.0270732378321,253.00614115227393 544.9247280304198,357.86609413132334" fill="none" stroke="hsl(64, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.7399999999999998,3.5 3.9195915124999994,3.499999999999999" data-type="line" data-label="" points="397.0270732378321,253.00614115227393 465.7448013129631,253.00614115227398" fill="none" stroke="hsl(64, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.1595915125,5.3 5.278774537499999,1.7000000000000004" data-type="line" data-label="" points="479.72612837683636,148.14618817322452 544.9247280304198,357.86609413132334" fill="none" stroke="hsl(64, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.1595915125,5.3 3.9195915124999994,3.499999999999999" data-type="line" data-label="" points="479.72612837683636,148.14618817322452 465.7448013129631,253.00614115227398" fill="none" stroke="hsl(64, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="5.278774537499999,1.7000000000000004 3.9195915124999994,3.499999999999999" data-type="line" data-label="" points="544.9247280304198,357.86609413132334 465.7448013129631,253.00614115227398" fill="none" stroke="hsl(64, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.26,5 -0.9249999999999998,5 -0.9249999999999998,6.140000000000001 -0.5899999999999997,6.140000000000001" data-type="line" data-label="" points="164.0049555066111,165.62284700306606 183.5205578666009,165.62284700306606 183.5205578666009,99.21154344966806 203.03616022659065,99.21154344966806" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-0.56,3.5000000000000004 -0.7600000000000002,3.5000000000000004 -0.7600000000000002,3.700000000000001 -1.6795915124999996,3.700000000000001 -1.6795915124999996,3.500000000000001" data-type="line" data-label="" points="204.78382610957482,253.0061411522739 193.13272022301373,253.0061411522739 193.13272022301373,241.35503526571281 139.56142980041213,241.35503526571281 139.56142980041213,253.00614115227387" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-0.56,2.3000000000000007 -0.76,2.3000000000000007 -0.76,3.5000000000000004 -0.56,3.5000000000000004" data-type="line" data-label="" points="204.78382610957482,322.9127764716402 193.13272022301376,322.9127764716402 193.13272022301376,253.0061411522739 204.78382610957482,253.0061411522739" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.0739106999999986,3.4800000000000004 -3.0739106999999986,3.700000000000001 -1.6795915124999996,3.700000000000001 -1.6795915124999996,3.500000000000001" data-type="line" data-label="" points="58.33462733428084,254.17125174093002 58.33462733428084,241.35503526571281 139.56142980041213,241.35503526571281 139.56142980041213,253.00614115227387" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.5700000000000002,6.13 1.2400000000000002,6.13 1.2400000000000002,6.1394553499999995" data-type="line" data-label="" points="270.61257436864474,99.79409874399613 309.6437790886242,99.79409874399613 309.6437790886242,99.24327232377368" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.9195915124999994,0.6000000000000003 -1.9195915124999994,-0.09999999999999987" data-type="line" data-label="" points="125.58010273653889,421.94717650740915 125.58010273653889,462.7260471103728" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.9195915124999994,3.499999999999999 3.9195915124999994,5.5 4.1595915125,5.5 4.1595915125,5.3" data-type="line" data-label="" points="465.7448013129631,253.00614115227398 465.7448013129631,136.49508228666343 479.72612837683636,136.49508228666343 479.72612837683636,148.14618817322452" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.7399999999999998,3.5 3.3297957562499994,3.5 3.3297957562499994,3.6999999999999993 3.9195915124999994,3.6999999999999993 3.9195915124999994,3.499999999999999" data-type="line" data-label="" points="397.0270732378321,253.00614115227393 431.3859372753976,253.00614115227393 431.3859372753976,241.35503526571293 465.7448013129631,241.35503526571293 465.7448013129631,253.00614115227398" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="4.1595915125,4.2 4.1595915125,3.8499999999999996 5.529183025,3.8499999999999996 5.529183025,3.499999999999999" data-type="line" data-label="" points="479.72612837683636,212.22727054931025 479.72612837683636,232.6167058507921 559.5124070442004,232.6167058507921 559.5124070442004,253.00614115227398" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.7995915124999993,1.0999999999999999 3.7995915124999993,1.3 4.539183024999999,1.3 4.539183024999999,0.40000000000000013 5.278774537499999,0.40000000000000013 5.278774537499999,0.6000000000000003" data-type="line" data-label="" points="458.75413778102643,392.81941179100653 458.75413778102643,381.16830590444545 501.83943290572313,381.16830590444545 501.83943290572313,433.5982823939702 544.9247280304198,433.5982823939702 544.9247280304198,421.94717650740915" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.7399999999999998,1.1 3.2697957562499997,1.1 3.2697957562499997,1.2999999999999998 3.7995915124999993,1.2999999999999998 3.7995915124999993,1.0999999999999999" data-type="line" data-label="" points="397.0270732378321,392.81941179100653 427.8906055094293,392.81941179100653 427.8906055094293,381.16830590444545 458.75413778102643,381.16830590444545 458.75413778102643,392.81941179100653" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.7399999999999998,-0.09999999999999987 3.7995915124999993,-0.09999999999999987 3.7995915124999993,-2.220446049250313e-16" data-type="line" data-label="" points="397.0270732378321,462.7260471103728 458.75413778102643,462.7260471103728 458.75413778102643,456.9004941670923" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-0.56,-0.10000000000000009 -0.6100680812499999,-0.10000000000000009 -0.6100680812499999,1.1 -0.56,1.1" data-type="line" data-label="" points="204.78382610957482,462.7260471103728 201.86708352867134,462.7260471103728 201.86708352867134,392.81941179100653 204.78382610957482,392.81941179100653" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.0639106999999988,2.4000000000000004 -3.0639106999999988,-1.4000000000000004 -1.9195915124999994,-1.4000000000000004 -1.9195915124999994,-1.2000000000000002" data-type="line" data-label="" points="58.917182628608884,317.0872235283597 58.917182628608884,538.4582353730196 125.58010273653889,538.4582353730196 125.58010273653889,526.8071294864586" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.9195915124999994,1.7000000000000004 -1.9195915124999994,2.3000000000000007 -0.56,2.3000000000000007" data-type="line" data-label="" points="125.58010273653889,357.86609413132334 125.58010273653889,322.9127764716402 204.78382610957482,322.9127764716402" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.9195915124999994,2.3999999999999995 3.9195915124999994,2.1999999999999984 5.529183025,2.1999999999999984 5.529183025,2.3999999999999986" data-type="line" data-label="" points="465.7448013129631,317.0872235283597 465.7448013129631,328.7383294149208 559.5124070442004,328.7383294149208 559.5124070442004,317.0872235283598" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-0.6100680812499999,-0.10000000000000009 -0.8700680812499999,-0.10000000000000009 -0.8700680812499999,-0.10100000000000009" data-type="line" data-label="" points="201.86708352867134,462.7260471103728 186.720645876142,462.7260471103728 186.720645876142,462.7843026398056" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="1.0899999999999999" data-y="1.7000000000000002" x="204.78382610957482" y="159.79729405978557" width="192.24324712825728" height="396.13760014307564" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-3.0689106999999987" data-y="2.9400000000000004" x="40" y="254.17125174093" width="37.25180996288975" height="62.91597178742967" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="-0.009999999999999787" data-y="6.16" x="203.03616022659065" y="74.16166579356178" width="67.57641414205409" height="47.76953413490037" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="-1.8" data-y="5" x="101.08898371918148" y="136.49508228666343" width="62.91597178742964" height="58.25552943280525" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="1.7900000000000005" data-y="6.1394553499999995" x="309.6437790886242" y="76.55534471908521" width="64.08108237608587" height="45.37585520937694" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="-1.8245915124999994" data-y="-0.6499999999999999" x="110.14238743684551" y="462.72604711037275" width="41.94398119161977" height="64.08108237608582" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="schematic_component_6" data-x="-1.3697276749999994" data-y="1.1500000000000004" x="116.27508246434287" y="357.8660941313233" width="82.67525848342504" height="64.08108237608582" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="schematic_component_7" data-x="5.744183025" data-y="2.949999999999999" x="544.0746917445069" y="253.006141152274" width="55.92530825549295" height="64.08108237608582" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="schematic_component_8" data-x="4.769455349999999" data-y="4.75" x="470.4211081046403" y="148.14618817322452" width="89.66592201536173" height="64.08108237608573" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="schematic_component_9" data-x="5.588638374999999" data-y="1.1500000000000004" x="535.6197077582239" y="357.8660941313233" width="54.71260435567842" height="64.08108237608582" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="schematic_component_10" data-x="4.04945535" data-y="0.5499999999999998" x="449.44911750883045" y="392.81941179100653" width="47.721940823741875" height="64.08108237608576" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="schematic_component_11" data-x="-1.3697276749999998" data-y="2.9500000000000006" x="130.25640952821607" y="253.0061411522739" width="54.71260435567851" height="64.08108237608582" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="schematic_component_12" data-x="4.289455349999999" data-y="2.9499999999999993" x="456.43978104076706" y="253.006141152274" width="61.7032678876152" height="64.0810823760857" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="U1" data-x="2.5599999999999996" data-y="5.25" x="379.5504144079905" y="145.81596699591225" width="13.981327063873323" height="10.485995297904935" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="netId: VIN
2
+ globalConnNetId: connectivity_net2" data-x="-1.21979575625" data-y="3.9400000000000013" x="154.11341383082384" y="213.39238113796628" width="24.4673223617782" height="27.962654127746532" fill="#ef444466" stroke="#ef4444" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="netId: GND
3
+ globalConnNetId: connectivity_net10" data-x="-0.8700680812499999" data-y="-0.3410000000000001" x="174.4869846952529" y="462.7843026398056" width="24.4673223617782" height="27.962654127746532" fill="#00000066" stroke="#000000" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="netId: GND
4
+ globalConnNetId: connectivity_net10" data-x="3.2697957562499997" data-y="-0.33999999999999986" x="415.6569443285402" y="462.7260471103728" width="24.4673223617782" height="27.962654127746532" fill="#00000066" stroke="#000000" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="netId: GND
5
+ globalConnNetId: connectivity_net10" data-x="-3.0639106999999988" data-y="-1.6400000000000003" x="46.683521447719784" y="538.4582353730195" width="24.4673223617782" height="27.962654127746532" fill="#00000066" stroke="#000000" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="netId: GND
6
+ globalConnNetId: connectivity_net10" data-x="3.9195915124999994" data-y="1.9599999999999984" x="453.511140132074" y="328.7383294149208" width="24.4673223617782" height="27.962654127746532" fill="#00000066" stroke="#000000" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="netId: U1.FB to R2.pin1
7
+ globalConnNetId: connectivity_net9" data-x="3.004897878125" data-y="1.895" x="406.63328643035015" y="300.19311999284616" width="11.651105886561083" height="92.62629179816037" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="netId: U1.PG to R3.pin2
8
+ globalConnNetId: connectivity_net8" data-x="3.5359999999999996" data-y="2.3" x="397.08532876726485" y="317.0872235283597" width="92.62629179816037" height="11.651105886561083" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="netId: U1.PG to R3.pin2
9
+ globalConnNetId: connectivity_net8" data-x="-1.6795915124999996" data-y="1.6040000000000005" x="133.7358768571316" y="317.1454790577925" width="11.651105886561083" height="92.62629179816031" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="netId: VOUT
10
+ globalConnNetId: connectivity_net6" data-x="3.9195915124999994" data-y="5.8" x="453.511140132074" y="101.54176462698032" width="24.4673223617782" height="34.95331765968314" fill="#ef444466" stroke="#ef4444" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="netId: VOUT
11
+ globalConnNetId: connectivity_net6" data-x="5.278774537499999" data-y="2.0010000000000003" x="539.0991750871393" y="322.8545209422074" width="11.651105886561027" height="34.953317659683194" fill="#ef444466" stroke="#ef4444" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="netId: R_L1_DCR.pin2 to U1.L2
12
+ globalConnNetId: connectivity_net4" data-x="2.5660000000000007" data-y="6.1394553499999995" x="373.78311699414286" y="93.41771938049317" width="26.214988244762367" height="11.651105886561027" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="netId: R_L1_DCR.pin2 to U1.L2
13
+ globalConnNetId: connectivity_net4" data-x="1.69" data-y="5.326" x="330.0332143901061" y="133.5240502855904" width="11.651105886561027" height="26.21498824476231" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="netId: .IL_PROBE &gt; .pos to U1.L1
14
+ globalConnNetId: connectivity_net0" data-x="-2.566" data-y="5" x="74.8157399449863" y="159.79729405978554" width="26.214988244762395" height="11.651105886561027" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="netId: .IL_PROBE &gt; .pos to U1.L1
15
+ globalConnNetId: connectivity_net0" data-x="0.4899999999999999" data-y="5.326" x="260.1265790707398" y="133.5240502855904" width="11.651105886561027" height="26.21498824476231" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="netId: .IL_PROBE &gt; .neg to L1.pin1
16
+ globalConnNetId: connectivity_net1" data-x="-1.0924999999999998" data-y="5.225" x="167.93720374332548" y="139.40785875830372" width="11.651105886561055" height="26.21498824476231" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="netId: L1.pin2 to R_L1_DCR.pin1
17
+ globalConnNetId: connectivity_net3" data-x="0.9050000000000002" data-y="6.3549999999999995" x="284.302623785354" y="73.57911049923379" width="11.651105886561027" height="26.21498824476231" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="netId: R_CIN_ESR.pin2 to C1.pin1
18
+ globalConnNetId: connectivity_net5" data-x="-1.6945915124999993" data-y="0.2500000000000002" x="125.58010273653889" y="436.51105886561044" width="26.214988244762367" height="11.651105886561027" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017165752499999996"/></g><g><rect data-type="rect" data-label="netId: R_COUT_ESR.pin2 to C2.pin1
19
+ globalConnNetId: connectivity_net7" data-x="4.384591512499999" data-y="4.025" x="479.7261283768364" y="216.59643525677063" width="26.21498824476231" height="11.651105886561055" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017165752499999996"/></g><g><circle data-type="point" data-label="U1.1
20
+ x-" data-x="-0.56" data-y="2.3000000000000007" cx="204.78382610957482" cy="322.9127764716402" r="3" fill="hsl(319, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.2
21
+ x-" data-x="-0.56" data-y="1.1" cx="204.78382610957482" cy="392.81941179100653" r="3" fill="hsl(320, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.3
22
+ x+" data-x="2.7399999999999998" data-y="-0.09999999999999987" cx="397.0270732378321" cy="462.7260471103728" r="3" fill="hsl(321, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.4
23
+ x+" data-x="2.7399999999999998" data-y="1.1" cx="397.0270732378321" cy="392.81941179100653" r="3" fill="hsl(322, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.5
24
+ x+" data-x="2.7399999999999998" data-y="2.3" cx="397.0270732378321" cy="322.9127764716402" r="3" fill="hsl(323, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.6
25
+ x+" data-x="2.7399999999999998" data-y="3.5" cx="397.0270732378321" cy="253.00614115227393" r="3" fill="hsl(324, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.7
26
+ y+" data-x="1.69" data-y="5.1" cx="335.8587673333866" cy="159.79729405978554" r="3" fill="hsl(325, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.8
27
+ x-" data-x="-0.56" data-y="-0.10000000000000009" cx="204.78382610957482" cy="462.7260471103728" r="3" fill="hsl(326, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.9
28
+ y+" data-x="0.4899999999999999" data-y="5.1" cx="265.9521320140203" cy="159.79729405978554" r="3" fill="hsl(327, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.10
29
+ x-" data-x="-0.56" data-y="3.5000000000000004" cx="204.78382610957482" cy="253.0061411522739" r="3" fill="hsl(217, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="V_IN.1
30
+ y+" data-x="-3.0739106999999986" data-y="3.4800000000000004" cx="58.33462733428084" cy="254.17125174093002" r="3" fill="hsl(97, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="V_IN.2
31
+ y-" data-x="-3.0639106999999988" data-y="2.4000000000000004" cx="58.917182628608884" cy="317.0872235283597" r="3" fill="hsl(98, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="L1.1
32
+ x-" data-x="-0.5899999999999997" data-y="6.140000000000001" cx="203.03616022659065" cy="99.21154344966806" r="3" fill="hsl(40, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="L1.2
33
+ x+" data-x="0.5700000000000002" data-y="6.13" cx="270.61257436864474" cy="99.79409874399613" r="3" fill="hsl(41, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="IL_PROBE.1
34
+ x-" data-x="-2.34" data-y="5" cx="101.08898371918147" cy="165.62284700306606" r="3" fill="hsl(55, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="IL_PROBE.2
35
+ x+" data-x="-1.26" data-y="5" cx="164.0049555066111" cy="165.62284700306606" r="3" fill="hsl(56, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R_L1_DCR.1
36
+ x-" data-x="1.2400000000000002" data-y="6.1394553499999995" cx="309.6437790886242" cy="99.24327232377368" r="3" fill="hsl(49, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R_L1_DCR.2
37
+ x+" data-x="2.3400000000000007" data-y="6.1394553499999995" cx="373.7248614647101" cy="99.24327232377368" r="3" fill="hsl(50, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="C1.1
38
+ y+" data-x="-1.9195915124999994" data-y="-0.09999999999999987" cx="125.58010273653889" cy="462.7260471103728" r="3" fill="hsl(121, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="C1.2
39
+ y-" data-x="-1.9195915124999994" data-y="-1.2" cx="125.58010273653889" cy="526.8071294864586" r="3" fill="hsl(122, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R_CIN_ESR.1
40
+ y+" data-x="-1.9195915124999994" data-y="1.7000000000000004" cx="125.58010273653889" cy="357.86609413132334" r="3" fill="hsl(336, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R_CIN_ESR.2
41
+ y-" data-x="-1.9195915124999994" data-y="0.6000000000000003" cx="125.58010273653889" cy="421.94717650740915" r="3" fill="hsl(336, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="C2.1
42
+ y+" data-x="5.529183025" data-y="3.499999999999999" cx="559.5124070442004" cy="253.00614115227398" r="3" fill="hsl(2, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="C2.2
43
+ y-" data-x="5.529183025" data-y="2.3999999999999986" cx="559.5124070442004" cy="317.0872235283598" r="3" fill="hsl(3, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R_COUT_ESR.1
44
+ y+" data-x="4.1595915125" data-y="5.3" cx="479.72612837683636" cy="148.14618817322452" r="3" fill="hsl(256, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R_COUT_ESR.2
45
+ y-" data-x="4.1595915125" data-y="4.2" cx="479.72612837683636" cy="212.22727054931025" r="3" fill="hsl(256, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R1.1
46
+ y+" data-x="5.278774537499999" data-y="1.7000000000000004" cx="544.9247280304198" cy="357.86609413132334" r="3" fill="hsl(226, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R1.2
47
+ y-" data-x="5.278774537499999" data-y="0.6000000000000003" cx="544.9247280304198" cy="421.94717650740915" r="3" fill="hsl(227, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R2.1
48
+ y+" data-x="3.7995915124999993" data-y="1.0999999999999999" cx="458.75413778102643" cy="392.81941179100653" r="3" fill="hsl(107, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R2.2
49
+ y-" data-x="3.7995915124999993" data-y="-2.220446049250313e-16" cx="458.75413778102643" cy="456.9004941670923" r="3" fill="hsl(108, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R3.1
50
+ y+" data-x="-1.6795915124999996" data-y="3.500000000000001" cx="139.56142980041213" cy="253.00614115227387" r="3" fill="hsl(348, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R3.2
51
+ y-" data-x="-1.6795915124999996" data-y="2.4000000000000004" cx="139.56142980041213" cy="317.0872235283597" r="3" fill="hsl(349, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R_LOAD.1
52
+ y+" data-x="3.9195915124999994" data-y="3.499999999999999" cx="465.7448013129631" cy="253.00614115227398" r="3" fill="hsl(110, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R_LOAD.2
53
+ y-" data-x="3.9195915124999994" data-y="2.3999999999999995" cx="465.7448013129631" cy="317.0872235283597" r="3" fill="hsl(111, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
54
+ orientation: y+" data-x="-1.21979575625" data-y="3.700000000000001" cx="166.34707501171295" cy="241.35503526571281" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
55
+ orientation: y-" data-x="-0.8700680812499999" data-y="-0.10100000000000009" cx="186.720645876142" cy="462.7843026398056" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
56
+ orientation: y-" data-x="3.2697957562499997" data-y="-0.09999999999999987" cx="427.8906055094293" cy="462.7260471103728" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
57
+ orientation: y-" data-x="-3.0639106999999988" data-y="-1.4000000000000004" cx="58.917182628608884" cy="538.4582353730196" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
58
+ orientation: y-" data-x="3.9195915124999994" data-y="2.1999999999999984" cx="465.7448013129631" cy="328.7383294149208" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
59
+ orientation: y+" data-x="3.004897878125" data-y="1.1" cx="412.4588393736307" cy="392.81941179100653" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
60
+ orientation: x+" data-x="2.7399999999999998" data-y="2.3" cx="397.0270732378321" cy="322.9127764716402" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
61
+ orientation: y-" data-x="-1.6795915124999996" data-y="2.4000000000000004" cx="139.56142980041213" cy="317.0872235283597" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
62
+ orientation: y+" data-x="3.9195915124999994" data-y="5.5" cx="465.7448013129631" cy="136.49508228666343" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
63
+ orientation: y+" data-x="5.278774537499999" data-y="1.7000000000000004" cx="544.9247280304198" cy="357.86609413132334" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
64
+ orientation: x+" data-x="2.3400000000000007" data-y="6.1394553499999995" cx="373.7248614647101" cy="99.24327232377368" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
65
+ orientation: y+" data-x="1.69" data-y="5.1" cx="335.8587673333866" cy="159.79729405978554" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
66
+ orientation: x-" data-x="-2.34" data-y="5" cx="101.08898371918147" cy="165.62284700306606" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
67
+ orientation: y+" data-x="0.4899999999999999" data-y="5.1" cx="265.9521320140203" cy="159.79729405978554" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
68
+ orientation: y+" data-x="-1.0924999999999998" data-y="5" cx="173.76275668660602" cy="165.62284700306606" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
69
+ orientation: y+" data-x="0.9050000000000002" data-y="6.13" cx="290.1281767286345" cy="99.79409874399613" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
70
+ orientation: x+" data-x="-1.9195915124999994" data-y="0.2500000000000002" cx="125.58010273653889" cy="442.33661180889095" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
71
+ orientation: x+" data-x="4.1595915125" data-y="4.025" cx="479.72612837683636" cy="222.42198820005115" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g id="crosshair" style="display: none"><line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5"/><line id="crosshair-v" x1="0" x2="640" stroke="#666" stroke-width="0.5"/><text id="coordinates" font-family="monospace" font-size="12" fill="#666"></text></g><script><![CDATA[
72
+ document.currentScript.parentElement.addEventListener('mousemove', (e) => {
73
+ const svg = e.currentTarget;
74
+ const rect = svg.getBoundingClientRect();
75
+ const x = e.clientX - rect.left;
76
+ const y = e.clientY - rect.top;
77
+ const crosshair = svg.getElementById('crosshair');
78
+ const h = svg.getElementById('crosshair-h');
79
+ const v = svg.getElementById('crosshair-v');
80
+ const coords = svg.getElementById('coordinates');
81
+
82
+ crosshair.style.display = 'block';
83
+ h.setAttribute('x1', '0');
84
+ h.setAttribute('x2', '640');
85
+ h.setAttribute('y1', y);
86
+ h.setAttribute('y2', y);
87
+ v.setAttribute('x1', x);
88
+ v.setAttribute('x2', x);
89
+ v.setAttribute('y1', '0');
90
+ v.setAttribute('y2', '640');
91
+
92
+ // Calculate real coordinates using inverse transformation
93
+ const matrix = {"a":58.25552943280525,"c":0,"e":237.40692259194574,"b":0,"d":-58.25552943280525,"f":456.9004941670923};
94
+ // Manually invert and apply the affine transform
95
+ // Since we only use translate and scale, we can directly compute:
96
+ // x' = (x - tx) / sx
97
+ // y' = (y - ty) / sy
98
+ const sx = matrix.a;
99
+ const sy = matrix.d;
100
+ const tx = matrix.e;
101
+ const ty = matrix.f;
102
+ const realPoint = {
103
+ x: (x - tx) / sx,
104
+ y: (y - ty) / sy // Flip y back since we used negative scale
105
+ }
106
+
107
+ coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
108
+ coords.setAttribute('x', (x + 5).toString());
109
+ coords.setAttribute('y', (y - 5).toString());
110
+ });
111
+ document.currentScript.parentElement.addEventListener('mouseleave', () => {
112
+ document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
113
+ });
114
+ ]]></script></svg>