@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
@@ -1,494 +1,124 @@
1
- <svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg">
2
- <rect width="100%" height="100%" fill="white" />
3
- <g>
4
- <circle data-type="point" data-label="U1.1
5
- x-" data-x="-1.15" data-y="0.7" cx="255.6294907051284" cy="259.99039400089237" r="3" fill="hsl(319, 100%, 50%, 0.8)" />
6
- </g>
7
- <g>
8
- <circle data-type="point" data-label="U1.2
9
- x-" data-x="-1.15" data-y="0.49999999999999994" cx="255.6294907051284" cy="271.1852651826092" r="3" fill="hsl(320, 100%, 50%, 0.8)" />
10
- </g>
11
- <g>
12
- <circle data-type="point" data-label="U1.3
13
- x-" data-x="-1.15" data-y="0.29999999999999993" cx="255.6294907051284" cy="282.380136364326" r="3" fill="hsl(321, 100%, 50%, 0.8)" />
14
- </g>
15
- <g>
16
- <circle data-type="point" data-label="U1.4
17
- x-" data-x="-1.15" data-y="0.09999999999999987" cx="255.6294907051284" cy="293.5750075460428" r="3" fill="hsl(322, 100%, 50%, 0.8)" />
18
- </g>
19
- <g>
20
- <circle data-type="point" data-label="U1.5
21
- x-" data-x="-1.15" data-y="-0.10000000000000009" cx="255.6294907051284" cy="304.76987872775965" r="3" fill="hsl(323, 100%, 50%, 0.8)" />
22
- </g>
23
- <g>
24
- <circle data-type="point" data-label="U1.6
25
- x-" data-x="-1.15" data-y="-0.30000000000000004" cx="255.6294907051284" cy="315.96474990947644" r="3" fill="hsl(324, 100%, 50%, 0.8)" />
26
- </g>
27
- <g>
28
- <circle data-type="point" data-label="U1.7
29
- x-" data-x="-1.15" data-y="-0.5" cx="255.6294907051284" cy="327.15962109119323" r="3" fill="hsl(325, 100%, 50%, 0.8)" />
30
- </g>
31
- <g>
32
- <circle data-type="point" data-label="U1.8
33
- x-" data-x="-1.15" data-y="-0.7" cx="255.6294907051284" cy="338.3544922729101" r="3" fill="hsl(326, 100%, 50%, 0.8)" />
34
- </g>
35
- <g>
36
- <circle data-type="point" data-label="U1.9
37
- x+" data-x="1.15" data-y="-0.7" cx="384.3705092948717" cy="338.3544922729101" r="3" fill="hsl(327, 100%, 50%, 0.8)" />
38
- </g>
39
- <g>
40
- <circle data-type="point" data-label="U1.10
41
- x+" data-x="1.15" data-y="-0.49999999999999994" cx="384.3705092948717" cy="327.15962109119323" r="3" fill="hsl(217, 100%, 50%, 0.8)" />
42
- </g>
43
- <g>
44
- <circle data-type="point" data-label="U1.11
45
- x+" data-x="1.15" data-y="-0.29999999999999993" cx="384.3705092948717" cy="315.96474990947644" r="3" fill="hsl(218, 100%, 50%, 0.8)" />
46
- </g>
47
- <g>
48
- <circle data-type="point" data-label="U1.12
49
- x+" data-x="1.15" data-y="-0.09999999999999987" cx="384.3705092948717" cy="304.76987872775965" r="3" fill="hsl(219, 100%, 50%, 0.8)" />
50
- </g>
51
- <g>
52
- <circle data-type="point" data-label="U1.13
53
- x+" data-x="1.15" data-y="0.10000000000000009" cx="384.3705092948717" cy="293.5750075460428" r="3" fill="hsl(220, 100%, 50%, 0.8)" />
54
- </g>
55
- <g>
56
- <circle data-type="point" data-label="U1.14
57
- x+" data-x="1.15" data-y="0.30000000000000004" cx="384.3705092948717" cy="282.380136364326" r="3" fill="hsl(221, 100%, 50%, 0.8)" />
58
- </g>
59
- <g>
60
- <circle data-type="point" data-label="U1.15
61
- x+" data-x="1.15" data-y="0.5" cx="384.3705092948717" cy="271.1852651826092" r="3" fill="hsl(222, 100%, 50%, 0.8)" />
62
- </g>
63
- <g>
64
- <circle data-type="point" data-label="U1.16
65
- x+" data-x="1.15" data-y="0.7" cx="384.3705092948717" cy="259.99039400089237" r="3" fill="hsl(223, 100%, 50%, 0.8)" />
66
- </g>
67
- <g>
68
- <circle data-type="point" data-label="R1.1
69
- x-" data-x="-4.551290700000001" data-y="-2.9997267500000007" cx="65.2444345147714" cy="467.0802158699014" r="3" fill="hsl(226, 100%, 50%, 0.8)" />
70
- </g>
71
- <g>
72
- <circle data-type="point" data-label="R1.2
73
- x+" data-x="-3.448709299999999" data-y="-3.0002732499999993" cx="126.96071821655636" cy="467.1108058554054" r="3" fill="hsl(227, 100%, 50%, 0.8)" />
74
- </g>
75
- <g>
76
- <circle data-type="point" data-label="R2.1
77
- x-" data-x="-4.551290700000001" data-y="-1.9997267500000007" cx="65.2444345147714" cy="411.1058599613173" r="3" fill="hsl(107, 100%, 50%, 0.8)" />
78
- </g>
79
- <g>
80
- <circle data-type="point" data-label="R2.2
81
- x+" data-x="-3.448709299999999" data-y="-2.0002732499999993" cx="126.96071821655636" cy="411.1364499468213" r="3" fill="hsl(108, 100%, 50%, 0.8)" />
82
- </g>
83
- <g>
84
- <circle data-type="point" data-label="R3.1
85
- x-" data-x="-4.551290700000001" data-y="-0.9997267500000007" cx="65.2444345147714" cy="355.1315040527333" r="3" fill="hsl(348, 100%, 50%, 0.8)" />
86
- </g>
87
- <g>
88
- <circle data-type="point" data-label="R3.2
89
- x+" data-x="-3.448709299999999" data-y="-1.0002732499999993" cx="126.96071821655636" cy="355.1620940382372" r="3" fill="hsl(349, 100%, 50%, 0.8)" />
90
- </g>
91
- <g>
92
- <circle data-type="point" data-label="R4.1
93
- x-" data-x="-4.551290700000001" data-y="0.0002732499999993365" cx="65.2444345147714" cy="299.15714814414923" r="3" fill="hsl(229, 100%, 50%, 0.8)" />
94
- </g>
95
- <g>
96
- <circle data-type="point" data-label="R4.2
97
- x+" data-x="-3.448709299999999" data-y="-0.0002732499999993365" cx="126.96071821655636" cy="299.1877381296532" r="3" fill="hsl(230, 100%, 50%, 0.8)" />
98
- </g>
99
- <g>
100
- <circle data-type="point" data-label="R5.1
101
- x-" data-x="-4.551290700000001" data-y="1.0002732499999993" cx="65.2444345147714" cy="243.1827922355652" r="3" fill="hsl(110, 100%, 50%, 0.8)" />
102
- </g>
103
- <g>
104
- <circle data-type="point" data-label="R5.2
105
- x+" data-x="-3.448709299999999" data-y="0.9997267500000007" cx="126.96071821655636" cy="243.21338222106917" r="3" fill="hsl(111, 100%, 50%, 0.8)" />
106
- </g>
107
- <g>
108
- <circle data-type="point" data-label="R6.1
109
- x-" data-x="-4.551290700000001" data-y="2.0002732499999993" cx="65.2444345147714" cy="187.20843632698114" r="3" fill="hsl(351, 100%, 50%, 0.8)" />
110
- </g>
111
- <g>
112
- <circle data-type="point" data-label="R6.2
113
- x+" data-x="-3.448709299999999" data-y="1.9997267500000007" cx="126.96071821655636" cy="187.23902631248512" r="3" fill="hsl(352, 100%, 50%, 0.8)" />
114
- </g>
115
- <g>
116
- <circle data-type="point" data-label="R7.1
117
- x-" data-x="3.4487093" data-y="-2.9997267500000007" cx="513.0392817834438" cy="467.0802158699014" r="3" fill="hsl(232, 100%, 50%, 0.8)" />
118
- </g>
119
- <g>
120
- <circle data-type="point" data-label="R7.2
121
- x+" data-x="4.5512907" data-y="-3.0002732499999993" cx="574.7555654852287" cy="467.1108058554054" r="3" fill="hsl(233, 100%, 50%, 0.8)" />
122
- </g>
123
- <g>
124
- <circle data-type="point" data-label="R8.1
125
- x-" data-x="3.4487093" data-y="-1.9997267500000007" cx="513.0392817834438" cy="411.1058599613173" r="3" fill="hsl(113, 100%, 50%, 0.8)" />
126
- </g>
127
- <g>
128
- <circle data-type="point" data-label="R8.2
129
- x+" data-x="4.5512907" data-y="-2.0002732499999993" cx="574.7555654852287" cy="411.1364499468213" r="3" fill="hsl(114, 100%, 50%, 0.8)" />
130
- </g>
131
- <g>
132
- <circle data-type="point" data-label="R9.1
133
- x-" data-x="3.4487093" data-y="-0.9997267500000007" cx="513.0392817834438" cy="355.1315040527333" r="3" fill="hsl(354, 100%, 50%, 0.8)" />
134
- </g>
135
- <g>
136
- <circle data-type="point" data-label="R9.2
137
- x+" data-x="4.5512907" data-y="-1.0002732499999993" cx="574.7555654852287" cy="355.1620940382372" r="3" fill="hsl(355, 100%, 50%, 0.8)" />
138
- </g>
139
- <g>
140
- <circle data-type="point" data-label="R10.1
141
- x-" data-x="3.4487093" data-y="0.0002732499999993365" cx="513.0392817834438" cy="299.15714814414923" r="3" fill="hsl(244, 100%, 50%, 0.8)" />
142
- </g>
143
- <g>
144
- <circle data-type="point" data-label="R10.2
145
- x+" data-x="4.5512907" data-y="-0.0002732499999993365" cx="574.7555654852287" cy="299.1877381296532" r="3" fill="hsl(245, 100%, 50%, 0.8)" />
146
- </g>
147
- <g>
148
- <circle data-type="point" data-label="R11.1
149
- x-" data-x="3.4487093" data-y="1.0002732499999993" cx="513.0392817834438" cy="243.1827922355652" r="3" fill="hsl(125, 100%, 50%, 0.8)" />
150
- </g>
151
- <g>
152
- <circle data-type="point" data-label="R11.2
153
- x+" data-x="4.5512907" data-y="0.9997267500000007" cx="574.7555654852287" cy="243.21338222106917" r="3" fill="hsl(126, 100%, 50%, 0.8)" />
154
- </g>
155
- <g>
156
- <circle data-type="point" data-label="R12.1
157
- x-" data-x="3.4487093" data-y="2.0002732499999993" cx="513.0392817834438" cy="187.20843632698114" r="3" fill="hsl(6, 100%, 50%, 0.8)" />
158
- </g>
159
- <g>
160
- <circle data-type="point" data-label="R12.2
161
- x+" data-x="4.5512907" data-y="1.9997267500000007" cx="574.7555654852287" cy="187.23902631248512" r="3" fill="hsl(7, 100%, 50%, 0.8)" />
162
- </g>
163
- <g>
164
- <circle data-type="point" data-label="anchorPoint
165
- orientation: x+" data-x="-3.448709299999999" data-y="-3.0002732499999993" cx="126.96071821655636" cy="467.1108058554054" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
166
- </g>
167
- <g>
168
- <circle data-type="point" data-label="anchorPoint
169
- orientation: x-" data-x="-1.15" data-y="0.7" cx="255.6294907051284" cy="259.99039400089237" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
170
- </g>
171
- <g>
172
- <circle data-type="point" data-label="anchorPoint
173
- orientation: y+" data-x="-2.9740319749999995" data-y="-2.0002732499999993" cx="153.53047574784097" cy="411.1364499468213" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
174
- </g>
175
- <g>
176
- <circle data-type="point" data-label="anchorPoint
177
- orientation: y+" data-x="-2.9240319749999992" data-y="-1.0002732499999993" cx="156.32919354327018" cy="355.1620940382372" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
178
- </g>
179
- <g>
180
- <circle data-type="point" data-label="anchorPoint
181
- orientation: y+" data-x="-2.8240319749999996" data-y="-0.0002732499999993365" cx="161.92662913412858" cy="299.1877381296532" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
182
- </g>
183
- <g>
184
- <circle data-type="point" data-label="anchorPoint
185
- orientation: y+" data-x="-2.7740319749999993" data-y="0.9997267500000007" cx="164.7253469295578" cy="243.21338222106917" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
186
- </g>
187
- <g>
188
- <circle data-type="point" data-label="anchorPoint
189
- orientation: y+" data-x="-2.8740319749999994" data-y="1.9997267500000007" cx="159.12791133869936" cy="187.23902631248512" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
190
- </g>
191
- <g>
192
- <circle data-type="point" data-label="anchorPoint
193
- orientation: y+" data-x="2.874031975" data-y="2.0002732499999993" cx="480.8720886613008" cy="187.20843632698114" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
194
- </g>
195
- <g>
196
- <circle data-type="point" data-label="anchorPoint
197
- orientation: y+" data-x="2.974031975" data-y="1.0002732499999993" cx="486.4695242521592" cy="243.1827922355652" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
198
- </g>
199
- <g>
200
- <circle data-type="point" data-label="anchorPoint
201
- orientation: y+" data-x="2.924031975" data-y="0.0002732499999993365" cx="483.67080645673" cy="299.15714814414923" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
202
- </g>
203
- <g>
204
- <circle data-type="point" data-label="anchorPoint
205
- orientation: y+" data-x="2.8240319749999996" data-y="-0.9997267500000007" cx="478.07337086587154" cy="355.1315040527333" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
206
- </g>
207
- <g>
208
- <circle data-type="point" data-label="anchorPoint
209
- orientation: y+" data-x="2.7740319749999998" data-y="-1.9997267500000007" cx="475.27465307044235" cy="411.1058599613173" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
210
- </g>
211
- <g>
212
- <circle data-type="point" data-label="anchorPoint
213
- orientation: x-" data-x="3.4487093" data-y="-2.9997267500000007" cx="513.0392817834438" cy="467.0802158699014" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
214
- </g>
215
- <g>
216
- <circle data-type="point" data-label="anchorPoint
217
- orientation: x+" data-x="1.15" data-y="0.7" cx="384.3705092948717" cy="259.99039400089237" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
218
- </g>
219
- <g>
220
- <circle data-type="point" data-label="anchorPoint
221
- orientation: x-" data-x="-4.551290700000001" data-y="-2.9997267500000007" cx="65.2444345147714" cy="467.0802158699014" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
222
- </g>
223
- <g>
224
- <circle data-type="point" data-label="anchorPoint
225
- orientation: x+" data-x="4.5512907" data-y="1.9997267500000007" cx="574.7555654852287" cy="187.23902631248512" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
226
- </g>
227
- <g>
228
- <circle data-type="point" data-label="anchorPoint
229
- orientation: x-" data-x="-4.551290700000001" data-y="-0.9997267500000007" cx="65.2444345147714" cy="355.1315040527333" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
230
- </g>
231
- <g>
232
- <circle data-type="point" data-label="anchorPoint
233
- orientation: x+" data-x="4.5512907" data-y="-0.0002732499999993365" cx="574.7555654852287" cy="299.1877381296532" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
234
- </g>
235
- <g>
236
- <circle data-type="point" data-label="anchorPoint
237
- orientation: x-" data-x="-4.551290700000001" data-y="1.0002732499999993" cx="65.2444345147714" cy="243.1827922355652" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
238
- </g>
239
- <g>
240
- <circle data-type="point" data-label="anchorPoint
241
- orientation: x+" data-x="4.5512907" data-y="-2.0002732499999993" cx="574.7555654852287" cy="411.1364499468213" r="3" fill="hsl(80, 100%, 50%, 0.9)" />
242
- </g>
243
- <g>
244
- <polyline data-points="-3.448709299999999,-3.0002732499999993 -1.15,0.7" data-type="line" data-label="" points="126.96071821655636,467.1108058554054 255.6294907051284,259.99039400089237" fill="none" stroke="hsl(280, 100%, 50%, 0.8)" stroke-width="1" />
245
- </g>
246
- <g>
247
- <polyline data-points="-3.448709299999999,-2.0002732499999993 -1.15,0.29999999999999993" data-type="line" data-label="" points="126.96071821655636,411.1364499468213 255.6294907051284,282.380136364326" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1" />
248
- </g>
249
- <g>
250
- <polyline data-points="-3.448709299999999,-1.0002732499999993 -1.15,0.09999999999999987" data-type="line" data-label="" points="126.96071821655636,355.1620940382372 255.6294907051284,293.5750075460428" fill="none" stroke="hsl(248, 100%, 50%, 0.8)" stroke-width="1" />
251
- </g>
252
- <g>
253
- <polyline data-points="-3.448709299999999,-0.0002732499999993365 -1.15,-0.30000000000000004" data-type="line" data-label="" points="126.96071821655636,299.1877381296532 255.6294907051284,315.96474990947644" fill="none" stroke="hsl(320, 100%, 50%, 0.8)" stroke-width="1" />
254
- </g>
255
- <g>
256
- <polyline data-points="-3.448709299999999,0.9997267500000007 -1.15,-0.5" data-type="line" data-label="" points="126.96071821655636,243.21338222106917 255.6294907051284,327.15962109119323" fill="none" stroke="hsl(168, 100%, 50%, 0.8)" stroke-width="1" />
257
- </g>
258
- <g>
259
- <polyline data-points="-3.448709299999999,1.9997267500000007 -1.15,-0.7" data-type="line" data-label="" points="126.96071821655636,187.23902631248512 255.6294907051284,338.3544922729101" fill="none" stroke="hsl(240, 100%, 50%, 0.8)" stroke-width="1" />
260
- </g>
261
- <g>
262
- <polyline data-points="3.4487093,-2.9997267500000007 1.15,0.7" data-type="line" data-label="" points="513.0392817834438,467.0802158699014 384.3705092948717,259.99039400089237" fill="none" stroke="hsl(336, 100%, 50%, 0.8)" stroke-width="1" />
263
- </g>
264
- <g>
265
- <polyline data-points="3.4487093,-1.9997267500000007 1.15,0.30000000000000004" data-type="line" data-label="" points="513.0392817834438,411.1058599613173 384.3705092948717,282.380136364326" fill="none" stroke="hsl(128, 100%, 50%, 0.8)" stroke-width="1" />
266
- </g>
267
- <g>
268
- <polyline data-points="3.4487093,-0.9997267500000007 1.15,0.10000000000000009" data-type="line" data-label="" points="513.0392817834438,355.1315040527333 384.3705092948717,293.5750075460428" fill="none" stroke="hsl(280, 100%, 50%, 0.8)" stroke-width="1" />
269
- </g>
270
- <g>
271
- <polyline data-points="3.4487093,0.0002732499999993365 1.15,-0.09999999999999987" data-type="line" data-label="" points="513.0392817834438,299.15714814414923 384.3705092948717,304.76987872775965" fill="none" stroke="hsl(152, 100%, 50%, 0.8)" stroke-width="1" />
272
- </g>
273
- <g>
274
- <polyline data-points="3.4487093,1.0002732499999993 1.15,-0.49999999999999994" data-type="line" data-label="" points="513.0392817834438,243.1827922355652 384.3705092948717,327.15962109119323" fill="none" stroke="hsl(320, 100%, 50%, 0.8)" stroke-width="1" />
275
- </g>
276
- <g>
277
- <polyline data-points="3.4487093,2.0002732499999993 1.15,-0.7" data-type="line" data-label="" points="513.0392817834438,187.20843632698114 384.3705092948717,338.3544922729101" fill="none" stroke="hsl(184, 100%, 50%, 0.8)" stroke-width="1" />
278
- </g>
279
- <g>
280
- <polyline data-points="-4.551290700000001,-2.9997267500000007 4.5512907,1.9997267500000007" data-type="line" data-label="" points="65.2444345147714,467.0802158699014 574.7555654852287,187.23902631248512" fill="none" stroke="hsl(96, 100%, 50%, 0.8)" stroke-width="1" />
281
- </g>
282
- <g>
283
- <polyline data-points="-4.551290700000001,-0.9997267500000007 4.5512907,-0.0002732499999993365" data-type="line" data-label="" points="65.2444345147714,355.1315040527333 574.7555654852287,299.1877381296532" fill="none" stroke="hsl(128, 100%, 50%, 0.8)" stroke-width="1" />
284
- </g>
285
- <g>
286
- <polyline data-points="-4.551290700000001,1.0002732499999993 4.5512907,-2.0002732499999993" data-type="line" data-label="" points="65.2444345147714,243.1827922355652 574.7555654852287,411.1364499468213" fill="none" stroke="hsl(160, 100%, 50%, 0.8)" stroke-width="1" />
287
- </g>
288
- <g>
289
- <polyline data-points="-3.448709299999999,-2.0002732499999993 -2.49935465,-2.0002732499999993 -2.49935465,0.29999999999999993 -1.15,0.29999999999999993" data-type="line" data-label="" points="126.96071821655636,411.1364499468213 180.10023327912555,411.1364499468213 180.10023327912555,282.380136364326 255.6294907051284,282.380136364326" fill="none" stroke="purple" stroke-width="1" />
290
- </g>
291
- <g>
292
- <polyline data-points="-3.448709299999999,-1.0002732499999993 -2.39935465,-1.0002732499999993 -2.39935465,0.09999999999999987 -1.15,0.09999999999999987" data-type="line" data-label="" points="126.96071821655636,355.1620940382372 185.69766886998397,355.1620940382372 185.69766886998397,293.5750075460428 255.6294907051284,293.5750075460428" fill="none" stroke="purple" stroke-width="1" />
293
- </g>
294
- <g>
295
- <polyline data-points="-3.448709299999999,-0.0002732499999993365 -2.1993546499999996,-0.0002732499999993365 -2.1993546499999996,-0.30000000000000004 -1.15,-0.30000000000000004" data-type="line" data-label="" points="126.96071821655636,299.1877381296532 196.8925400517008,299.1877381296532 196.8925400517008,315.96474990947644 255.6294907051284,315.96474990947644" fill="none" stroke="purple" stroke-width="1" />
296
- </g>
297
- <g>
298
- <polyline data-points="-3.448709299999999,0.9997267500000007 -2.0993546499999995,0.9997267500000007 -2.0993546499999995,-0.5 -1.15,-0.5" data-type="line" data-label="" points="126.96071821655636,243.21338222106917 202.4899756425592,243.21338222106917 202.4899756425592,327.15962109119323 255.6294907051284,327.15962109119323" fill="none" stroke="purple" stroke-width="1" />
299
- </g>
300
- <g>
301
- <polyline data-points="-3.448709299999999,1.9997267500000007 -2.2993546499999997,1.9997267500000007 -2.2993546499999997,-0.7 -1.15,-0.7" data-type="line" data-label="" points="126.96071821655636,187.23902631248512 191.29510446084237,187.23902631248512 191.29510446084237,338.3544922729101 255.6294907051284,338.3544922729101" fill="none" stroke="purple" stroke-width="1" />
302
- </g>
303
- <g>
304
- <polyline data-points="3.4487093,-1.9997267500000007 2.0993546499999995,-1.9997267500000007 2.0993546499999995,0.30000000000000004 1.15,0.30000000000000004" data-type="line" data-label="" points="513.0392817834438,411.1058599613173 437.5100243574409,411.1058599613173 437.5100243574409,282.380136364326 384.3705092948717,282.380136364326" fill="none" stroke="purple" stroke-width="1" />
305
- </g>
306
- <g>
307
- <polyline data-points="3.4487093,-0.9997267500000007 2.1993546499999996,-0.9997267500000007 2.1993546499999996,0.10000000000000009 1.15,0.10000000000000009" data-type="line" data-label="" points="513.0392817834438,355.1315040527333 443.1074599482993,355.1315040527333 443.1074599482993,293.5750075460428 384.3705092948717,293.5750075460428" fill="none" stroke="purple" stroke-width="1" />
308
- </g>
309
- <g>
310
- <polyline data-points="3.4487093,0.0002732499999993365 2.39935465,0.0002732499999993365 2.39935465,-0.09999999999999987 1.15,-0.09999999999999987" data-type="line" data-label="" points="513.0392817834438,299.15714814414923 454.3023311300161,299.15714814414923 454.3023311300161,304.76987872775965 384.3705092948717,304.76987872775965" fill="none" stroke="purple" stroke-width="1" />
311
- </g>
312
- <g>
313
- <polyline data-points="3.4487093,1.0002732499999993 2.49935465,1.0002732499999993 2.49935465,-0.49999999999999994 1.15,-0.49999999999999994" data-type="line" data-label="" points="513.0392817834438,243.1827922355652 459.8997667208746,243.1827922355652 459.8997667208746,327.15962109119323 384.3705092948717,327.15962109119323" fill="none" stroke="purple" stroke-width="1" />
314
- </g>
315
- <g>
316
- <polyline data-points="3.4487093,2.0002732499999993 2.2993546499999997,2.0002732499999993 2.2993546499999997,-0.7 1.15,-0.7" data-type="line" data-label="" points="513.0392817834438,187.20843632698114 448.70489553915775,187.20843632698114 448.70489553915775,338.3544922729101 384.3705092948717,338.3544922729101" fill="none" stroke="purple" stroke-width="1" />
317
- </g>
318
- <g>
319
- <rect data-type="rect" data-label="schematic_component_0" data-x="0" data-y="0" x="255.6294907051284" y="248.79552281917557" width="128.74101858974328" height="100.7538406354513" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427" />
320
- </g>
321
- <g>
322
- <rect data-type="rect" data-label="schematic_component_1" data-x="-4" data-y="-3" x="65.2444345147714" y="456.2109978934251" width="61.71628370178496" height="21.769025938456537" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427" />
323
- </g>
324
- <g>
325
- <rect data-type="rect" data-label="schematic_component_2" data-x="-4" data-y="-2" x="65.2444345147714" y="400.23664198484107" width="61.71628370178496" height="21.76902593845648" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427" />
326
- </g>
327
- <g>
328
- <rect data-type="rect" data-label="schematic_component_3" data-x="-4" data-y="-1" x="65.2444345147714" y="344.262286076257" width="61.71628370178496" height="21.769025938456537" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427" />
329
- </g>
330
- <g>
331
- <rect data-type="rect" data-label="schematic_component_4" data-x="-4" data-y="0" x="65.2444345147714" y="288.287930167673" width="61.71628370178496" height="21.76902593845648" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427" />
332
- </g>
333
- <g>
334
- <rect data-type="rect" data-label="schematic_component_5" data-x="-4" data-y="1" x="65.2444345147714" y="232.3135742590889" width="61.71628370178496" height="21.769025938456508" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427" />
335
- </g>
336
- <g>
337
- <rect data-type="rect" data-label="schematic_component_6" data-x="-4" data-y="2" x="65.2444345147714" y="176.33921835050486" width="61.71628370178496" height="21.769025938456508" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427" />
338
- </g>
339
- <g>
340
- <rect data-type="rect" data-label="schematic_component_7" data-x="4" data-y="-3" x="513.0392817834438" y="456.2109978934251" width="61.716283701784846" height="21.769025938456537" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427" />
341
- </g>
342
- <g>
343
- <rect data-type="rect" data-label="schematic_component_8" data-x="4" data-y="-2" x="513.0392817834438" y="400.23664198484107" width="61.716283701784846" height="21.76902593845648" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427" />
344
- </g>
345
- <g>
346
- <rect data-type="rect" data-label="schematic_component_9" data-x="4" data-y="-1" x="513.0392817834438" y="344.262286076257" width="61.716283701784846" height="21.769025938456537" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427" />
347
- </g>
348
- <g>
349
- <rect data-type="rect" data-label="schematic_component_10" data-x="4" data-y="0" x="513.0392817834438" y="288.287930167673" width="61.716283701784846" height="21.76902593845648" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427" />
350
- </g>
351
- <g>
352
- <rect data-type="rect" data-label="schematic_component_11" data-x="4" data-y="1" x="513.0392817834438" y="232.3135742590889" width="61.716283701784846" height="21.769025938456508" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427" />
353
- </g>
354
- <g>
355
- <rect data-type="rect" data-label="schematic_component_12" data-x="4" data-y="2" x="513.0392817834438" y="176.33921835050486" width="61.716283701784846" height="21.769025938456508" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427" />
356
- </g>
357
- <g>
358
- <rect data-type="rect" data-label="netId: .R1 &gt; .pin2 to .U1 &gt; .IN1
359
- globalConnNetId: connectivity_net0" data-x="-3.222709299999999" data-y="-3.0002732499999993" x="127.01669257246493" y="461.5133702645469" width="25.188460158862824" height="11.194871181716849" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427" />
360
- </g>
361
- <g>
362
- <rect data-type="rect" data-label="netId: .R1 &gt; .pin2 to .U1 &gt; .IN1
363
- globalConnNetId: connectivity_net0" data-x="-1.376" data-y="0.7" x="230.385056190357" y="254.392958410034" width="25.188460158862824" height="11.194871181716792" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427" />
364
- </g>
365
- <g>
366
- <rect data-type="rect" data-label="netId: .R2 &gt; .pin2 to .U1 &gt; .IN3
367
- globalConnNetId: connectivity_net1" data-x="-2.9740319749999995" data-y="-1.7752732499999992" x="147.93304015698254" y="385.9479897879585" width="11.19487118171682" height="25.188460158862824" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427" />
368
- </g>
369
- <g>
370
- <rect data-type="rect" data-label="netId: .R3 &gt; .pin2 to .U1 &gt; .IN4
371
- globalConnNetId: connectivity_net2" data-x="-2.9240319749999992" data-y="-0.7752732499999994" x="150.73175795241175" y="329.97363387937446" width="11.19487118171682" height="25.188460158862767" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427" />
372
- </g>
373
- <g>
374
- <rect data-type="rect" data-label="netId: .R4 &gt; .pin2 to .U1 &gt; .IN6
375
- globalConnNetId: connectivity_net3" data-x="-2.8240319749999996" data-y="0.22472675000000067" x="156.32919354327015" y="273.9992779707904" width="11.19487118171682" height="25.188460158862824" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427" />
376
- </g>
377
- <g>
378
- <rect data-type="rect" data-label="netId: .R5 &gt; .pin2 to .U1 &gt; .IN7
379
- globalConnNetId: connectivity_net4" data-x="-2.7740319749999993" data-y="1.2247267500000008" x="159.12791133869936" y="218.02492206220631" width="11.19487118171682" height="25.188460158862824" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427" />
380
- </g>
381
- <g>
382
- <rect data-type="rect" data-label="netId: .R6 &gt; .pin2 to .U1 &gt; .IN8
383
- globalConnNetId: connectivity_net5" data-x="-2.8740319749999994" data-y="2.2247267500000008" x="153.53047574784097" y="162.0505661536223" width="11.19487118171682" height="25.188460158862824" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427" />
384
- </g>
385
- <g>
386
- <rect data-type="rect" data-label="netId: .R12 &gt; .pin1 to .U1 &gt; .OUT1
387
- globalConnNetId: connectivity_net11" data-x="2.874031975" data-y="2.2252732499999994" x="475.27465307044235" y="162.01997616811832" width="11.194871181716849" height="25.188460158862824" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427" />
388
- </g>
389
- <g>
390
- <rect data-type="rect" data-label="netId: .R11 &gt; .pin1 to .U1 &gt; .OUT2
391
- globalConnNetId: connectivity_net10" data-x="2.974031975" data-y="1.2252732499999994" x="480.8720886613008" y="217.99433207670236" width="11.194871181716792" height="25.188460158862824" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427" />
392
- </g>
393
- <g>
394
- <rect data-type="rect" data-label="netId: .R10 &gt; .pin1 to .U1 &gt; .OUT4
395
- globalConnNetId: connectivity_net9" data-x="2.924031975" data-y="0.22527324999999934" x="478.07337086587154" y="273.9686879852864" width="11.194871181716849" height="25.188460158862824" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427" />
396
- </g>
397
- <g>
398
- <rect data-type="rect" data-label="netId: .R9 &gt; .pin1 to .U1 &gt; .OUT5
399
- globalConnNetId: connectivity_net8" data-x="2.8240319749999996" data-y="-0.7747267500000007" x="472.47593527501317" y="329.9430438938705" width="11.194871181716792" height="25.188460158862824" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427" />
400
- </g>
401
- <g>
402
- <rect data-type="rect" data-label="netId: .R8 &gt; .pin1 to .U1 &gt; .OUT6
403
- globalConnNetId: connectivity_net7" data-x="2.7740319749999998" data-y="-1.7747267500000006" x="469.677217479584" y="385.9173998024545" width="11.194871181716792" height="25.188460158862824" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427" />
404
- </g>
405
- <g>
406
- <rect data-type="rect" data-label="netId: .R7 &gt; .pin1 to .U1 &gt; .OUT8
407
- globalConnNetId: connectivity_net6" data-x="3.2227093" data-y="-2.9997267500000007" x="487.79484726867236" y="461.48278027904297" width="25.18846015886288" height="11.194871181716792" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427" />
408
- </g>
409
- <g>
410
- <rect data-type="rect" data-label="netId: .R7 &gt; .pin1 to .U1 &gt; .OUT8
411
- globalConnNetId: connectivity_net6" data-x="1.376" data-y="0.7" x="384.42648365078026" y="254.392958410034" width="25.18846015886288" height="11.194871181716792" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427" />
412
- </g>
413
- <g>
414
- <rect data-type="rect" data-label="netId: .R1 &gt; .pin1 to .R12 &gt; .pin2
415
- globalConnNetId: connectivity_net12" data-x="-4.777290700000001" data-y="-2.9997267500000007" x="40" y="461.48278027904297" width="25.188460158862796" height="11.194871181716792" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427" />
416
- </g>
417
- <g>
418
- <rect data-type="rect" data-label="netId: .R1 &gt; .pin1 to .R12 &gt; .pin2
419
- globalConnNetId: connectivity_net12" data-x="4.7772907" data-y="1.9997267500000007" x="574.8115398411372" y="181.6415907216267" width="25.188460158862767" height="11.19487118171682" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427" />
420
- </g>
421
- <g>
422
- <rect data-type="rect" data-label="netId: .R3 &gt; .pin1 to .R10 &gt; .pin2
423
- globalConnNetId: connectivity_net13" data-x="-4.777290700000001" data-y="-0.9997267500000007" x="40" y="349.5340684618749" width="25.188460158862796" height="11.194871181716792" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427" />
424
- </g>
425
- <g>
426
- <rect data-type="rect" data-label="netId: .R3 &gt; .pin1 to .R10 &gt; .pin2
427
- globalConnNetId: connectivity_net13" data-x="4.7772907" data-y="-0.0002732499999993365" x="574.8115398411372" y="293.5903025387948" width="25.188460158862767" height="11.194871181716849" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427" />
428
- </g>
429
- <g>
430
- <rect data-type="rect" data-label="netId: .R5 &gt; .pin1 to .R8 &gt; .pin2
431
- globalConnNetId: connectivity_net14" data-x="-4.777290700000001" data-y="1.0002732499999993" x="40" y="237.5853566447068" width="25.188460158862796" height="11.194871181716792" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427" />
432
- </g>
433
- <g>
434
- <rect data-type="rect" data-label="netId: .R5 &gt; .pin1 to .R8 &gt; .pin2
435
- globalConnNetId: connectivity_net14" data-x="4.7772907" data-y="-2.0002732499999993" x="574.8115398411372" y="405.5390143559629" width="25.188460158862767" height="11.194871181716849" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427" />
436
- </g>
437
- <g id="crosshair" style="display: none">
438
- <line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5" />
439
- <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>
440
- </g>
441
- <script>
442
- <![CDATA[
443
- document.currentScript.parentElement.addEventListener('mousemove', (e) => {
444
- const svg = e.currentTarget;
445
- const rect = svg.getBoundingClientRect();
446
- const x = e.clientX - rect.left;
447
- const y = e.clientY - rect.top;
448
- const crosshair = svg.getElementById('crosshair');
449
- const h = svg.getElementById('crosshair-h');
450
- const v = svg.getElementById('crosshair-v');
451
- const coords = svg.getElementById('coordinates');
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="-3.448709299999999,-3.0002732499999993 -1.15,0.7" data-type="line" data-label="" points="126.96071821655636,467.1108058554054 255.6294907051284,259.99039400089237" fill="none" stroke="hsl(280, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.448709299999999,-2.0002732499999993 -1.15,0.29999999999999993" data-type="line" data-label="" points="126.96071821655636,411.1364499468213 255.6294907051284,282.380136364326" fill="none" stroke="hsl(264, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.448709299999999,-1.0002732499999993 -1.15,0.09999999999999987" data-type="line" data-label="" points="126.96071821655636,355.1620940382372 255.6294907051284,293.5750075460428" fill="none" stroke="hsl(248, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.448709299999999,-0.0002732499999993365 -1.15,-0.30000000000000004" data-type="line" data-label="" points="126.96071821655636,299.1877381296532 255.6294907051284,315.96474990947644" fill="none" stroke="hsl(320, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.448709299999999,0.9997267500000007 -1.15,-0.5" data-type="line" data-label="" points="126.96071821655636,243.21338222106917 255.6294907051284,327.15962109119323" fill="none" stroke="hsl(168, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.448709299999999,1.9997267500000007 -1.15,-0.7" data-type="line" data-label="" points="126.96071821655636,187.23902631248512 255.6294907051284,338.3544922729101" fill="none" stroke="hsl(240, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.4487093,-2.9997267500000007 1.15,0.7" data-type="line" data-label="" points="513.0392817834438,467.0802158699014 384.3705092948717,259.99039400089237" fill="none" stroke="hsl(336, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.4487093,-1.9997267500000007 1.15,0.30000000000000004" data-type="line" data-label="" points="513.0392817834438,411.1058599613173 384.3705092948717,282.380136364326" fill="none" stroke="hsl(128, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.4487093,-0.9997267500000007 1.15,0.10000000000000009" data-type="line" data-label="" points="513.0392817834438,355.1315040527333 384.3705092948717,293.5750075460428" fill="none" stroke="hsl(280, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.4487093,0.0002732499999993365 1.15,-0.09999999999999987" data-type="line" data-label="" points="513.0392817834438,299.15714814414923 384.3705092948717,304.76987872775965" fill="none" stroke="hsl(152, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.4487093,1.0002732499999993 1.15,-0.49999999999999994" data-type="line" data-label="" points="513.0392817834438,243.1827922355652 384.3705092948717,327.15962109119323" fill="none" stroke="hsl(320, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.4487093,2.0002732499999993 1.15,-0.7" data-type="line" data-label="" points="513.0392817834438,187.20843632698114 384.3705092948717,338.3544922729101" fill="none" stroke="hsl(184, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-4.551290700000001,-2.9997267500000007 4.5512907,1.9997267500000007" data-type="line" data-label="" points="65.2444345147714,467.0802158699014 574.7555654852287,187.23902631248512" fill="none" stroke="hsl(96, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-4.551290700000001,-0.9997267500000007 4.5512907,-0.0002732499999993365" data-type="line" data-label="" points="65.2444345147714,355.1315040527333 574.7555654852287,299.1877381296532" fill="none" stroke="hsl(128, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-4.551290700000001,1.0002732499999993 4.5512907,-2.0002732499999993" data-type="line" data-label="" points="65.2444345147714,243.1827922355652 574.7555654852287,411.1364499468213" fill="none" stroke="hsl(160, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.448709299999999,-2.0002732499999993 -2.49935465,-2.0002732499999993 -2.49935465,0.29999999999999993 -1.15,0.29999999999999993" data-type="line" data-label="" points="126.96071821655636,411.1364499468213 180.10023327912555,411.1364499468213 180.10023327912555,282.380136364326 255.6294907051284,282.380136364326" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.448709299999999,-1.0002732499999993 -2.39935465,-1.0002732499999993 -2.39935465,0.09999999999999987 -1.15,0.09999999999999987" data-type="line" data-label="" points="126.96071821655636,355.1620940382372 185.69766886998397,355.1620940382372 185.69766886998397,293.5750075460428 255.6294907051284,293.5750075460428" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.448709299999999,-0.0002732499999993365 -2.1993546499999996,-0.0002732499999993365 -2.1993546499999996,-0.30000000000000004 -1.15,-0.30000000000000004" data-type="line" data-label="" points="126.96071821655636,299.1877381296532 196.8925400517008,299.1877381296532 196.8925400517008,315.96474990947644 255.6294907051284,315.96474990947644" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.448709299999999,0.9997267500000007 -2.0993546499999995,0.9997267500000007 -2.0993546499999995,-0.5 -1.15,-0.5" data-type="line" data-label="" points="126.96071821655636,243.21338222106917 202.4899756425592,243.21338222106917 202.4899756425592,327.15962109119323 255.6294907051284,327.15962109119323" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.448709299999999,1.9997267500000007 -2.2993546499999997,1.9997267500000007 -2.2993546499999997,-0.7 -1.15,-0.7" data-type="line" data-label="" points="126.96071821655636,187.23902631248512 191.29510446084237,187.23902631248512 191.29510446084237,338.3544922729101 255.6294907051284,338.3544922729101" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.4487093,-1.9997267500000007 2.0993546499999995,-1.9997267500000007 2.0993546499999995,0.30000000000000004 1.15,0.30000000000000004" data-type="line" data-label="" points="513.0392817834438,411.1058599613173 437.5100243574409,411.1058599613173 437.5100243574409,282.380136364326 384.3705092948717,282.380136364326" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.4487093,-0.9997267500000007 2.1993546499999996,-0.9997267500000007 2.1993546499999996,0.10000000000000009 1.15,0.10000000000000009" data-type="line" data-label="" points="513.0392817834438,355.1315040527333 443.1074599482993,355.1315040527333 443.1074599482993,293.5750075460428 384.3705092948717,293.5750075460428" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.4487093,0.0002732499999993365 2.39935465,0.0002732499999993365 2.39935465,-0.09999999999999987 1.15,-0.09999999999999987" data-type="line" data-label="" points="513.0392817834438,299.15714814414923 454.3023311300161,299.15714814414923 454.3023311300161,304.76987872775965 384.3705092948717,304.76987872775965" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.4487093,1.0002732499999993 2.49935465,1.0002732499999993 2.49935465,-0.49999999999999994 1.15,-0.49999999999999994" data-type="line" data-label="" points="513.0392817834438,243.1827922355652 459.8997667208746,243.1827922355652 459.8997667208746,327.15962109119323 384.3705092948717,327.15962109119323" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.4487093,2.0002732499999993 2.2993546499999997,2.0002732499999993 2.2993546499999997,-0.7 1.15,-0.7" data-type="line" data-label="" points="513.0392817834438,187.20843632698114 448.70489553915775,187.20843632698114 448.70489553915775,338.3544922729101 384.3705092948717,338.3544922729101" 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="255.62949070512843" y="248.79552281917557" width="128.74101858974328" height="100.7538406354513" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-4" data-y="-3" x="65.2444345147714" y="456.2109978934251" width="61.71628370178496" height="21.769025938456537" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="-4" data-y="-2" x="65.2444345147714" y="400.23664198484107" width="61.71628370178496" height="21.76902593845648" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="-4" data-y="-1" x="65.2444345147714" y="344.26228607625706" width="61.71628370178496" height="21.769025938456537" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="-4" data-y="0" x="65.2444345147714" y="288.287930167673" width="61.71628370178496" height="21.76902593845648" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="-4" data-y="1" x="65.2444345147714" y="232.3135742590889" width="61.71628370178496" height="21.769025938456508" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="schematic_component_6" data-x="-4" data-y="2" x="65.2444345147714" y="176.3392183505049" width="61.71628370178496" height="21.769025938456508" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="schematic_component_7" data-x="4" data-y="-3" x="513.0392817834438" y="456.2109978934251" width="61.716283701784846" height="21.769025938456537" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="schematic_component_8" data-x="4" data-y="-2" x="513.0392817834438" y="400.23664198484107" width="61.716283701784846" height="21.76902593845648" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="schematic_component_9" data-x="4" data-y="-1" x="513.0392817834438" y="344.26228607625706" width="61.716283701784846" height="21.769025938456537" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="schematic_component_10" data-x="4" data-y="0" x="513.0392817834438" y="288.287930167673" width="61.716283701784846" height="21.76902593845648" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="schematic_component_11" data-x="4" data-y="1" x="513.0392817834438" y="232.3135742590889" width="61.716283701784846" height="21.769025938456508" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="schematic_component_12" data-x="4" data-y="2" x="513.0392817834438" y="176.3392183505049" width="61.716283701784846" height="21.769025938456508" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="netId: .R1 &gt; .pin2 to .U1 &gt; .IN1
2
+ globalConnNetId: connectivity_net0" data-x="-3.222709299999999" data-y="-3.0002732499999993" x="127.01669257246493" y="461.51337026454695" width="25.188460158862824" height="11.194871181716849" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="netId: .R1 &gt; .pin2 to .U1 &gt; .IN1
3
+ globalConnNetId: connectivity_net0" data-x="-1.376" data-y="0.7" x="230.385056190357" y="254.39295841003397" width="25.188460158862824" height="11.194871181716792" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="netId: .R2 &gt; .pin2 to .U1 &gt; .IN3
4
+ globalConnNetId: connectivity_net1" data-x="-2.9740319749999995" data-y="-1.7752732499999992" x="147.93304015698254" y="385.9479897879585" width="11.19487118171682" height="25.188460158862824" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="netId: .R3 &gt; .pin2 to .U1 &gt; .IN4
5
+ globalConnNetId: connectivity_net2" data-x="-2.9240319749999992" data-y="-0.7752732499999994" x="150.73175795241178" y="329.97363387937446" width="11.19487118171682" height="25.188460158862767" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="netId: .R4 &gt; .pin2 to .U1 &gt; .IN6
6
+ globalConnNetId: connectivity_net3" data-x="-2.8240319749999996" data-y="0.22472675000000067" x="156.32919354327015" y="273.99927797079033" width="11.19487118171682" height="25.188460158862824" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="netId: .R5 &gt; .pin2 to .U1 &gt; .IN7
7
+ globalConnNetId: connectivity_net4" data-x="-2.7740319749999993" data-y="1.2247267500000008" x="159.1279113386994" y="218.02492206220634" width="11.19487118171682" height="25.188460158862824" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="netId: .R6 &gt; .pin2 to .U1 &gt; .IN8
8
+ globalConnNetId: connectivity_net5" data-x="-2.8740319749999994" data-y="2.2247267500000008" x="153.53047574784097" y="162.05056615362227" width="11.19487118171682" height="25.188460158862824" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="netId: .R12 &gt; .pin1 to .U1 &gt; .OUT1
9
+ globalConnNetId: connectivity_net11" data-x="2.874031975" data-y="2.2252732499999994" x="475.27465307044235" y="162.01997616811832" width="11.194871181716849" height="25.188460158862824" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="netId: .R11 &gt; .pin1 to .U1 &gt; .OUT2
10
+ globalConnNetId: connectivity_net10" data-x="2.974031975" data-y="1.2252732499999994" x="480.87208866130084" y="217.99433207670236" width="11.194871181716792" height="25.188460158862824" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="netId: .R10 &gt; .pin1 to .U1 &gt; .OUT4
11
+ globalConnNetId: connectivity_net9" data-x="2.924031975" data-y="0.22527324999999934" x="478.0733708658716" y="273.96868798528646" width="11.194871181716849" height="25.188460158862824" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="netId: .R9 &gt; .pin1 to .U1 &gt; .OUT5
12
+ globalConnNetId: connectivity_net8" data-x="2.8240319749999996" data-y="-0.7747267500000007" x="472.47593527501317" y="329.9430438938705" width="11.194871181716792" height="25.188460158862824" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="netId: .R8 &gt; .pin1 to .U1 &gt; .OUT6
13
+ globalConnNetId: connectivity_net7" data-x="2.7740319749999998" data-y="-1.7747267500000006" x="469.677217479584" y="385.9173998024545" width="11.194871181716792" height="25.188460158862824" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="netId: .R7 &gt; .pin1 to .U1 &gt; .OUT8
14
+ globalConnNetId: connectivity_net6" data-x="3.2227093" data-y="-2.9997267500000007" x="487.79484726867236" y="461.482780279043" width="25.18846015886288" height="11.194871181716792" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="netId: .R7 &gt; .pin1 to .U1 &gt; .OUT8
15
+ globalConnNetId: connectivity_net6" data-x="1.376" data-y="0.7" x="384.42648365078026" y="254.39295841003397" width="25.18846015886288" height="11.194871181716792" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="netId: .R1 &gt; .pin1 to .R12 &gt; .pin2
16
+ globalConnNetId: connectivity_net12" data-x="-4.777290700000001" data-y="-2.9997267500000007" x="39.999999999999986" y="461.482780279043" width="25.188460158862796" height="11.194871181716792" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="netId: .R1 &gt; .pin1 to .R12 &gt; .pin2
17
+ globalConnNetId: connectivity_net12" data-x="4.7772907" data-y="1.9997267500000007" x="574.8115398411373" y="181.6415907216267" width="25.188460158862767" height="11.19487118171682" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="netId: .R3 &gt; .pin1 to .R10 &gt; .pin2
18
+ globalConnNetId: connectivity_net13" data-x="-4.777290700000001" data-y="-0.9997267500000007" x="39.999999999999986" y="349.5340684618749" width="25.188460158862796" height="11.194871181716792" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="netId: .R3 &gt; .pin1 to .R10 &gt; .pin2
19
+ globalConnNetId: connectivity_net13" data-x="4.7772907" data-y="-0.0002732499999993365" x="574.8115398411373" y="293.5903025387948" width="25.188460158862767" height="11.194871181716849" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="netId: .R5 &gt; .pin1 to .R8 &gt; .pin2
20
+ globalConnNetId: connectivity_net14" data-x="-4.777290700000001" data-y="1.0002732499999993" x="39.999999999999986" y="237.5853566447068" width="25.188460158862796" height="11.194871181716792" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427"/></g><g><rect data-type="rect" data-label="netId: .R5 &gt; .pin1 to .R8 &gt; .pin2
21
+ globalConnNetId: connectivity_net14" data-x="4.7772907" data-y="-2.0002732499999993" x="574.8115398411373" y="405.5390143559629" width="25.188460158862767" height="11.194871181716849" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.017865323928571427"/></g><g><circle data-type="point" data-label="U1.1
22
+ x-" data-x="-1.15" data-y="0.7" cx="255.6294907051284" cy="259.99039400089237" r="3" fill="hsl(319, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.2
23
+ x-" data-x="-1.15" data-y="0.49999999999999994" cx="255.6294907051284" cy="271.1852651826092" r="3" fill="hsl(320, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.3
24
+ x-" data-x="-1.15" data-y="0.29999999999999993" cx="255.6294907051284" cy="282.380136364326" r="3" fill="hsl(321, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.4
25
+ x-" data-x="-1.15" data-y="0.09999999999999987" cx="255.6294907051284" cy="293.5750075460428" r="3" fill="hsl(322, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.5
26
+ x-" data-x="-1.15" data-y="-0.10000000000000009" cx="255.6294907051284" cy="304.76987872775965" r="3" fill="hsl(323, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.6
27
+ x-" data-x="-1.15" data-y="-0.30000000000000004" cx="255.6294907051284" cy="315.96474990947644" r="3" fill="hsl(324, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.7
28
+ x-" data-x="-1.15" data-y="-0.5" cx="255.6294907051284" cy="327.15962109119323" r="3" fill="hsl(325, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.8
29
+ x-" data-x="-1.15" data-y="-0.7" cx="255.6294907051284" cy="338.3544922729101" r="3" fill="hsl(326, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.9
30
+ x+" data-x="1.15" data-y="-0.7" cx="384.3705092948717" cy="338.3544922729101" r="3" fill="hsl(327, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.10
31
+ x+" data-x="1.15" data-y="-0.49999999999999994" cx="384.3705092948717" cy="327.15962109119323" r="3" fill="hsl(217, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.11
32
+ x+" data-x="1.15" data-y="-0.29999999999999993" cx="384.3705092948717" cy="315.96474990947644" r="3" fill="hsl(218, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.12
33
+ x+" data-x="1.15" data-y="-0.09999999999999987" cx="384.3705092948717" cy="304.76987872775965" r="3" fill="hsl(219, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.13
34
+ x+" data-x="1.15" data-y="0.10000000000000009" cx="384.3705092948717" cy="293.5750075460428" r="3" fill="hsl(220, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.14
35
+ x+" data-x="1.15" data-y="0.30000000000000004" cx="384.3705092948717" cy="282.380136364326" r="3" fill="hsl(221, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.15
36
+ x+" data-x="1.15" data-y="0.5" cx="384.3705092948717" cy="271.1852651826092" r="3" fill="hsl(222, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.16
37
+ x+" data-x="1.15" data-y="0.7" cx="384.3705092948717" cy="259.99039400089237" r="3" fill="hsl(223, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R1.1
38
+ x-" data-x="-4.551290700000001" data-y="-2.9997267500000007" cx="65.2444345147714" cy="467.0802158699014" r="3" fill="hsl(226, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R1.2
39
+ x+" data-x="-3.448709299999999" data-y="-3.0002732499999993" cx="126.96071821655636" cy="467.1108058554054" r="3" fill="hsl(227, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R2.1
40
+ x-" data-x="-4.551290700000001" data-y="-1.9997267500000007" cx="65.2444345147714" cy="411.1058599613173" r="3" fill="hsl(107, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R2.2
41
+ x+" data-x="-3.448709299999999" data-y="-2.0002732499999993" cx="126.96071821655636" cy="411.1364499468213" r="3" fill="hsl(108, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R3.1
42
+ x-" data-x="-4.551290700000001" data-y="-0.9997267500000007" cx="65.2444345147714" cy="355.1315040527333" r="3" fill="hsl(348, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R3.2
43
+ x+" data-x="-3.448709299999999" data-y="-1.0002732499999993" cx="126.96071821655636" cy="355.1620940382372" r="3" fill="hsl(349, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R4.1
44
+ x-" data-x="-4.551290700000001" data-y="0.0002732499999993365" cx="65.2444345147714" cy="299.15714814414923" r="3" fill="hsl(229, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R4.2
45
+ x+" data-x="-3.448709299999999" data-y="-0.0002732499999993365" cx="126.96071821655636" cy="299.1877381296532" r="3" fill="hsl(230, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R5.1
46
+ x-" data-x="-4.551290700000001" data-y="1.0002732499999993" cx="65.2444345147714" cy="243.1827922355652" r="3" fill="hsl(110, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R5.2
47
+ x+" data-x="-3.448709299999999" data-y="0.9997267500000007" cx="126.96071821655636" cy="243.21338222106917" r="3" fill="hsl(111, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R6.1
48
+ x-" data-x="-4.551290700000001" data-y="2.0002732499999993" cx="65.2444345147714" cy="187.20843632698114" r="3" fill="hsl(351, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R6.2
49
+ x+" data-x="-3.448709299999999" data-y="1.9997267500000007" cx="126.96071821655636" cy="187.23902631248512" r="3" fill="hsl(352, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R7.1
50
+ x-" data-x="3.4487093" data-y="-2.9997267500000007" cx="513.0392817834438" cy="467.0802158699014" r="3" fill="hsl(232, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R7.2
51
+ x+" data-x="4.5512907" data-y="-3.0002732499999993" cx="574.7555654852287" cy="467.1108058554054" r="3" fill="hsl(233, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R8.1
52
+ x-" data-x="3.4487093" data-y="-1.9997267500000007" cx="513.0392817834438" cy="411.1058599613173" r="3" fill="hsl(113, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R8.2
53
+ x+" data-x="4.5512907" data-y="-2.0002732499999993" cx="574.7555654852287" cy="411.1364499468213" r="3" fill="hsl(114, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R9.1
54
+ x-" data-x="3.4487093" data-y="-0.9997267500000007" cx="513.0392817834438" cy="355.1315040527333" r="3" fill="hsl(354, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R9.2
55
+ x+" data-x="4.5512907" data-y="-1.0002732499999993" cx="574.7555654852287" cy="355.1620940382372" r="3" fill="hsl(355, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R10.1
56
+ x-" data-x="3.4487093" data-y="0.0002732499999993365" cx="513.0392817834438" cy="299.15714814414923" r="3" fill="hsl(244, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R10.2
57
+ x+" data-x="4.5512907" data-y="-0.0002732499999993365" cx="574.7555654852287" cy="299.1877381296532" r="3" fill="hsl(245, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R11.1
58
+ x-" data-x="3.4487093" data-y="1.0002732499999993" cx="513.0392817834438" cy="243.1827922355652" r="3" fill="hsl(125, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R11.2
59
+ x+" data-x="4.5512907" data-y="0.9997267500000007" cx="574.7555654852287" cy="243.21338222106917" r="3" fill="hsl(126, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R12.1
60
+ x-" data-x="3.4487093" data-y="2.0002732499999993" cx="513.0392817834438" cy="187.20843632698114" r="3" fill="hsl(6, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R12.2
61
+ x+" data-x="4.5512907" data-y="1.9997267500000007" cx="574.7555654852287" cy="187.23902631248512" r="3" fill="hsl(7, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
62
+ orientation: x+" data-x="-3.448709299999999" data-y="-3.0002732499999993" cx="126.96071821655636" cy="467.1108058554054" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
63
+ orientation: x-" data-x="-1.15" data-y="0.7" cx="255.6294907051284" cy="259.99039400089237" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
64
+ orientation: y+" data-x="-2.9740319749999995" data-y="-2.0002732499999993" cx="153.53047574784097" cy="411.1364499468213" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
65
+ orientation: y+" data-x="-2.9240319749999992" data-y="-1.0002732499999993" cx="156.32919354327018" cy="355.1620940382372" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
66
+ orientation: y+" data-x="-2.8240319749999996" data-y="-0.0002732499999993365" cx="161.92662913412858" cy="299.1877381296532" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
67
+ orientation: y+" data-x="-2.7740319749999993" data-y="0.9997267500000007" cx="164.7253469295578" cy="243.21338222106917" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
68
+ orientation: y+" data-x="-2.8740319749999994" data-y="1.9997267500000007" cx="159.12791133869936" cy="187.23902631248512" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
69
+ orientation: y+" data-x="2.874031975" data-y="2.0002732499999993" cx="480.8720886613008" cy="187.20843632698114" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
70
+ orientation: y+" data-x="2.974031975" data-y="1.0002732499999993" cx="486.4695242521592" cy="243.1827922355652" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
71
+ orientation: y+" data-x="2.924031975" data-y="0.0002732499999993365" cx="483.67080645673" cy="299.15714814414923" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
72
+ orientation: y+" data-x="2.8240319749999996" data-y="-0.9997267500000007" cx="478.07337086587154" cy="355.1315040527333" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
73
+ orientation: y+" data-x="2.7740319749999998" data-y="-1.9997267500000007" cx="475.27465307044235" cy="411.1058599613173" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
74
+ orientation: x-" data-x="3.4487093" data-y="-2.9997267500000007" cx="513.0392817834438" cy="467.0802158699014" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
75
+ orientation: x+" data-x="1.15" data-y="0.7" cx="384.3705092948717" cy="259.99039400089237" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
76
+ orientation: x-" data-x="-4.551290700000001" data-y="-2.9997267500000007" cx="65.2444345147714" cy="467.0802158699014" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
77
+ orientation: x+" data-x="4.5512907" data-y="1.9997267500000007" cx="574.7555654852287" cy="187.23902631248512" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
78
+ orientation: x-" data-x="-4.551290700000001" data-y="-0.9997267500000007" cx="65.2444345147714" cy="355.1315040527333" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
79
+ orientation: x+" data-x="4.5512907" data-y="-0.0002732499999993365" cx="574.7555654852287" cy="299.1877381296532" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
80
+ orientation: x-" data-x="-4.551290700000001" data-y="1.0002732499999993" cx="65.2444345147714" cy="243.1827922355652" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
81
+ orientation: x+" data-x="4.5512907" data-y="-2.0002732499999993" cx="574.7555654852287" cy="411.1364499468213" r="3" fill="hsl(80, 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[
82
+ document.currentScript.parentElement.addEventListener('mousemove', (e) => {
83
+ const svg = e.currentTarget;
84
+ const rect = svg.getBoundingClientRect();
85
+ const x = e.clientX - rect.left;
86
+ const y = e.clientY - rect.top;
87
+ const crosshair = svg.getElementById('crosshair');
88
+ const h = svg.getElementById('crosshair-h');
89
+ const v = svg.getElementById('crosshair-v');
90
+ const coords = svg.getElementById('coordinates');
91
+
92
+ crosshair.style.display = 'block';
93
+ h.setAttribute('x1', '0');
94
+ h.setAttribute('x2', '640');
95
+ h.setAttribute('y1', y);
96
+ h.setAttribute('y2', y);
97
+ v.setAttribute('x1', x);
98
+ v.setAttribute('x2', x);
99
+ v.setAttribute('y1', '0');
100
+ v.setAttribute('y2', '640');
452
101
 
453
- crosshair.style.display = 'block';
454
- h.setAttribute('x1', '0');
455
- h.setAttribute('x2', '640');
456
- h.setAttribute('y1', y);
457
- h.setAttribute('y2', y);
458
- v.setAttribute('x1', x);
459
- v.setAttribute('x2', x);
460
- v.setAttribute('y1', '0');
461
- v.setAttribute('y2', '640');
462
-
463
- // Calculate real coordinates using inverse transformation
464
- const matrix = {
465
- "a": 55.974355908584045,
466
- "c": 0,
467
- "e": 320.00000000000006,
468
- "b": 0,
469
- "d": -55.974355908584045,
470
- "f": 299.1724431369012
471
- };
472
- // Manually invert and apply the affine transform
473
- // Since we only use translate and scale, we can directly compute:
474
- // x' = (x - tx) / sx
475
- // y' = (y - ty) / sy
476
- const sx = matrix.a;
477
- const sy = matrix.d;
478
- const tx = matrix.e;
479
- const ty = matrix.f;
480
- const realPoint = {
481
- x: (x - tx) / sx,
482
- y: (y - ty) / sy // Flip y back since we used negative scale
483
- }
484
-
485
- coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
486
- coords.setAttribute('x', (x + 5).toString());
487
- coords.setAttribute('y', (y - 5).toString());
488
- });
489
- document.currentScript.parentElement.addEventListener('mouseleave', () => {
490
- document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
491
- });
492
- ]]>
493
- </script>
494
- </svg>
102
+ // Calculate real coordinates using inverse transformation
103
+ const matrix = {"a":55.974355908584045,"c":0,"e":320.00000000000006,"b":0,"d":-55.974355908584045,"f":299.1724431369012};
104
+ // Manually invert and apply the affine transform
105
+ // Since we only use translate and scale, we can directly compute:
106
+ // x' = (x - tx) / sx
107
+ // y' = (y - ty) / sy
108
+ const sx = matrix.a;
109
+ const sy = matrix.d;
110
+ const tx = matrix.e;
111
+ const ty = matrix.f;
112
+ const realPoint = {
113
+ x: (x - tx) / sx,
114
+ y: (y - ty) / sy // Flip y back since we used negative scale
115
+ }
116
+
117
+ coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
118
+ coords.setAttribute('x', (x + 5).toString());
119
+ coords.setAttribute('y', (y - 5).toString());
120
+ });
121
+ document.currentScript.parentElement.addEventListener('mouseleave', () => {
122
+ document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
123
+ });
124
+ ]]></script></svg>