@tscircuit/schematic-trace-solver 0.0.51 → 0.0.53

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 (30) hide show
  1. package/dist/index.d.ts +65 -6
  2. package/dist/index.js +835 -80
  3. package/lib/solvers/AvailableNetOrientationSolver/AvailableNetOrientationSolver.ts +3 -39
  4. package/lib/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver.ts +16 -0
  5. package/lib/solvers/SchematicTracePipelineSolver/colorAvailableNetOrientationLabels.ts +54 -0
  6. package/lib/solvers/TraceAnchoredNetLabelOverlapSolver/TraceAnchoredNetLabelOverlapSolver.ts +331 -0
  7. package/lib/solvers/TraceAnchoredNetLabelOverlapSolver/candidates.ts +387 -0
  8. package/lib/solvers/TraceAnchoredNetLabelOverlapSolver/geometry.ts +254 -0
  9. package/lib/solvers/TraceAnchoredNetLabelOverlapSolver/types.ts +47 -0
  10. package/lib/solvers/TraceAnchoredNetLabelOverlapSolver/visualize.ts +159 -0
  11. package/package.json +1 -1
  12. package/tests/assets/example30.json +4 -1
  13. package/tests/examples/__snapshots__/example01.snap.svg +6 -3
  14. package/tests/examples/__snapshots__/example02.snap.svg +8 -4
  15. package/tests/examples/__snapshots__/example04.snap.svg +4 -2
  16. package/tests/examples/__snapshots__/example07.snap.svg +10 -5
  17. package/tests/examples/__snapshots__/example12.snap.svg +8 -4
  18. package/tests/examples/__snapshots__/example13.snap.svg +16 -8
  19. package/tests/examples/__snapshots__/example14.snap.svg +16 -8
  20. package/tests/examples/__snapshots__/example15.snap.svg +18 -9
  21. package/tests/examples/__snapshots__/example16.snap.svg +8 -4
  22. package/tests/examples/__snapshots__/example17.snap.svg +9 -5
  23. package/tests/examples/__snapshots__/example18.snap.svg +10 -5
  24. package/tests/examples/__snapshots__/example20.snap.svg +6 -3
  25. package/tests/examples/__snapshots__/example21.snap.svg +17 -12
  26. package/tests/examples/__snapshots__/example22.snap.svg +8 -4
  27. package/tests/examples/__snapshots__/example25.snap.svg +18 -9
  28. package/tests/examples/__snapshots__/example30.snap.svg +74 -62
  29. package/tests/examples/__snapshots__/example31.snap.svg +2 -1
  30. package/tests/fixtures/matcher.ts +21 -0
@@ -167,23 +167,28 @@ orientation: x+" data-x="1.757519574999999" data-y="-2" cx="493.97982495355666"
167
167
  </g>
168
168
  <g>
169
169
  <rect data-type="rect" data-label="netId: V3_3
170
- globalConnNetId: connectivity_net0" data-x="-1.8574283249999997" data-y="0.9762093000000004" x="161.39522395803996" y="196.79342126794842" width="17.905209437554532" height="40.28672123449769" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.011169933571428573" />
170
+ globalConnNetId: connectivity_net0
171
+ available orientations: y+" data-x="-1.8574283249999997" data-y="0.9762093000000004" x="161.39522395803996" y="196.79342126794842" width="17.905209437554532" height="40.28672123449769" fill="#93c5fd66" stroke="#93c5fd" stroke-width="0.011169933571428573" />
171
172
  </g>
172
173
  <g>
173
174
  <rect data-type="rect" data-label="netId: V3_3
174
- globalConnNetId: connectivity_net0" data-x="1.5790330374999988" data-y="2.7275814000000005" x="469.0480260561722" y="40" width="17.90520943755456" height="40.28672123449769" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.011169933571428573" />
175
+ globalConnNetId: connectivity_net0
176
+ available orientations: y+" data-x="1.5790330374999988" data-y="2.7275814000000005" x="469.0480260561722" y="40" width="17.90520943755456" height="40.28672123449769" fill="#93c5fd66" stroke="#93c5fd" stroke-width="0.011169933571428573" />
175
177
  </g>
176
178
  <g>
177
179
  <rect data-type="rect" data-label="netId: GND
178
- globalConnNetId: connectivity_net1" data-x="-2.31430995" data-y="-0.9762093000000004" x="120.4924180390637" y="371.58574098183345" width="17.905209437554532" height="40.28672123449769" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.011169933571428573" />
180
+ globalConnNetId: connectivity_net1
181
+ available orientations: y-" data-x="-2.31430995" data-y="-0.9762093000000004" x="120.4924180390637" y="371.58574098183345" width="17.905209437554532" height="40.28672123449769" fill="#fca5a566" stroke="#fca5a5" stroke-width="0.011169933571428573" />
179
182
  </g>
180
183
  <g>
181
184
  <rect data-type="rect" data-label="netId: FLASH_N_CS
182
- globalConnNetId: connectivity_net2" data-x="1.982519574999999" data-y="0.85" x="493.97982495355666" y="219.2831969137558" width="40.28672123449769" height="17.905209437554532" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.011169933571428573" />
185
+ globalConnNetId: connectivity_net2
186
+ available orientations: any" data-x="1.982519574999999" data-y="0.85" x="493.97982495355666" y="219.2831969137558" width="40.28672123449769" height="17.905209437554532" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.011169933571428573" />
183
187
  </g>
184
188
  <g>
185
189
  <rect data-type="rect" data-label="netId: resistor.R11 &gt; port.pin1 to resistor.R12 &gt; port.pin1
186
- globalConnNetId: connectivity_net3" data-x="1.982519574999999" data-y="-2" x="493.97982495355666" y="474.43243139890774" width="40.28672123449769" height="17.90520943755456" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.011169933571428573" />
190
+ globalConnNetId: connectivity_net3
191
+ available orientations: any" data-x="1.982519574999999" data-y="-2" x="493.97982495355666" y="474.43243139890774" width="40.28672123449769" height="17.90520943755456" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.011169933571428573" />
187
192
  </g>
188
193
  <g id="crosshair" style="display: none">
189
194
  <line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5" />
@@ -79,15 +79,18 @@ orientation: y+" data-x="1.049" data-y="2.105" cx="291.88800000000003" cy="174.0
79
79
  </g>
80
80
  <g>
81
81
  <rect data-type="rect" data-label="netId: GND
82
- globalConnNetId: connectivity_net0" data-x="1.3010000000000002" data-y="-0.7260000000000001" x="308.91200000000003" y="465.93600000000004" width="22.400000000000034" height="50.39999999999998" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008928571428571428" />
82
+ globalConnNetId: connectivity_net0
83
+ available orientations: y-" data-x="1.3010000000000002" data-y="-0.7260000000000001" x="308.91200000000003" y="465.93600000000004" width="22.400000000000034" height="50.39999999999998" fill="#fca5a566" stroke="#fca5a5" stroke-width="0.008928571428571428" />
83
84
  </g>
84
85
  <g>
85
86
  <rect data-type="rect" data-label="netId: GND
86
- globalConnNetId: connectivity_net0" data-x="1.499" data-y="1.279" x="331.088" y="241.376" width="22.400000000000034" height="50.40000000000006" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008928571428571428" />
87
+ globalConnNetId: connectivity_net0
88
+ available orientations: y-" data-x="1.499" data-y="1.279" x="331.088" y="241.376" width="22.400000000000034" height="50.40000000000006" fill="#fca5a566" stroke="#fca5a5" stroke-width="0.008928571428571428" />
87
89
  </g>
88
90
  <g>
89
91
  <rect data-type="rect" data-label="netId: VCC
90
- globalConnNetId: connectivity_net1" data-x="1.049" data-y="2.33" x="280.68800000000005" y="123.66399999999999" width="22.399999999999977" height="50.400000000000034" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008928571428571428" />
92
+ globalConnNetId: connectivity_net1
93
+ available orientations: y+" data-x="1.049" data-y="2.33" x="280.68800000000005" y="123.66399999999999" width="22.399999999999977" height="50.400000000000034" fill="#93c5fd66" stroke="#93c5fd" stroke-width="0.008928571428571428" />
91
94
  </g>
92
95
  <g id="crosshair" style="display: none">
93
96
  <line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5" />
@@ -86,7 +86,7 @@ orientation: y+" data-x="1.501" data-y="1.001" cx="250.94227697923793" cy="211.3
86
86
  </g>
87
87
  <g>
88
88
  <circle data-type="point" data-label="anchorPoint
89
- orientation: x-" data-x="2.9742723250000007" data-y="-0.7009999999999998" cx="345.05960552133246" cy="320.0958247775496" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
89
+ orientation: x-" data-x="2.9752723250000006" data-y="-0.5999999999999999" cx="345.1234887063655" cy="313.6436230892083" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
90
90
  </g>
91
91
  <g>
92
92
  <polyline data-points="6.7,-0.39999999999999925 5.785,-0.3999999999999999" data-type="line" data-label="" points="583.0709559662332,300.8669860825918 524.6178416609628,300.86698608259184" fill="none" stroke="hsl(176, 100%, 50%, 0.8)" stroke-width="1" />
@@ -184,9 +184,6 @@ orientation: x-" data-x="2.9742723250000007" data-y="-0.7009999999999998" cx="34
184
184
  <g>
185
185
  <polyline data-points="1.4,0.6 1.501,0.6 1.501,1.001" data-type="line" data-label="" points="244.49007529089664,236.98380104950945 250.94227697923793,236.98380104950945 250.94227697923793,211.36664385124342" fill="none" stroke="purple" stroke-width="1" />
186
186
  </g>
187
- <g>
188
- <polyline data-points="2.9752723250000006,-0.5999999999999999 2.9752723250000006,-0.7009999999999998 2.9742723250000007,-0.7009999999999998" data-type="line" data-label="" points="345.1234887063655,313.6436230892083 345.1234887063655,320.0958247775496 345.05960552133246,320.0958247775496" fill="none" stroke="purple" stroke-width="1" />
189
- </g>
190
187
  <g>
191
188
  <rect data-type="rect" data-label="schematic_component_0" data-x="0" data-y="0" x="65.61715719826601" y="211.43052703627652" width="178.87291809263064" height="127.76637006616474" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01565357142857143" />
192
189
  </g>
@@ -204,35 +201,43 @@ orientation: x-" data-x="2.9742723250000007" data-y="-0.7009999999999998" cx="34
204
201
  </g>
205
202
  <g>
206
203
  <rect data-type="rect" data-label="netId: GND
207
- globalConnNetId: connectivity_net3" data-x="-1.551" data-y="-0.801" x="49.58247775496234" y="316.9016655258955" width="12.776637006616482" height="19.16495550992471" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01565357142857143" />
204
+ globalConnNetId: connectivity_net3
205
+ available orientations: y-" data-x="-1.551" data-y="-0.801" x="49.58247775496234" y="316.9016655258955" width="12.776637006616482" height="19.16495550992471" fill="#fca5a566" stroke="#fca5a5" stroke-width="0.01565357142857143" />
208
206
  </g>
209
207
  <g>
210
208
  <rect data-type="rect" data-label="netId: GND
211
- globalConnNetId: connectivity_net3" data-x="1.551" data-y="-0.801" x="247.7481177275838" y="316.9016655258955" width="12.776637006616511" height="19.16495550992471" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01565357142857143" />
209
+ globalConnNetId: connectivity_net3
210
+ available orientations: y-" data-x="1.551" data-y="-0.801" x="247.7481177275838" y="316.9016655258955" width="12.776637006616511" height="19.16495550992471" fill="#fca5a566" stroke="#fca5a5" stroke-width="0.01565357142857143" />
212
211
  </g>
213
212
  <g>
214
213
  <rect data-type="rect" data-label="netId: GND
215
- globalConnNetId: connectivity_net3" data-x="2.8699999999999997" data-y="-2.65" x="332.0100387862194" y="435.0216746520648" width="12.776637006616511" height="19.164955509924653" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01565357142857143" />
214
+ globalConnNetId: connectivity_net3
215
+ available orientations: y-" data-x="2.8699999999999997" data-y="-2.65" x="332.0100387862194" y="435.0216746520648" width="12.776637006616511" height="19.164955509924653" fill="#fca5a566" stroke="#fca5a5" stroke-width="0.01565357142857143" />
216
216
  </g>
217
217
  <g>
218
218
  <rect data-type="rect" data-label="netId: VIN
219
- globalConnNetId: connectivity_net1" data-x="-1.6004999999999998" data-y="0.75" x="46.42026009582477" y="217.81884553958474" width="12.776637006616482" height="19.16495550992471" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01565357142857143" />
219
+ globalConnNetId: connectivity_net1
220
+ available orientations: y+" data-x="-1.6004999999999998" data-y="0.75" x="46.42026009582477" y="217.81884553958474" width="12.776637006616482" height="19.16495550992471" fill="#93c5fd66" stroke="#93c5fd" stroke-width="0.01565357142857143" />
220
221
  </g>
221
222
  <g>
222
223
  <rect data-type="rect" data-label="netId: VIN
223
- globalConnNetId: connectivity_net1" data-x="2.9752723250000006" data-y="0.9500000000000005" x="338.7351702030573" y="205.04220853296823" width="12.776637006616454" height="19.16495550992471" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01565357142857143" />
224
+ globalConnNetId: connectivity_net1
225
+ available orientations: y+" data-x="2.9752723250000006" data-y="0.9500000000000005" x="338.7351702030573" y="205.04220853296823" width="12.776637006616454" height="19.16495550992471" fill="#93c5fd66" stroke="#93c5fd" stroke-width="0.01565357142857143" />
224
226
  </g>
225
227
  <g>
226
228
  <rect data-type="rect" data-label="netId: VOUT
227
- globalConnNetId: connectivity_net0" data-x="6.2425" data-y="7.771561172376096e-16" x="547.4560803102897" y="262.53707506274236" width="12.776637006616397" height="25.553274013232908" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01565357142857143" />
229
+ globalConnNetId: connectivity_net0
230
+ available orientations: y+" data-x="6.2425" data-y="7.771561172376096e-16" x="547.4560803102897" y="262.53707506274236" width="12.776637006616397" height="25.553274013232908" fill="#93c5fd66" stroke="#93c5fd" stroke-width="0.01565357142857143" />
228
231
  </g>
229
232
  <g>
230
233
  <rect data-type="rect" data-label="netId: VOUT
231
- globalConnNetId: connectivity_net0" data-x="1.501" data-y="1.2009999999999998" x="244.5539584759297" y="185.8133698380105" width="12.776637006616482" height="25.553274013232937" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01565357142857143" />
234
+ globalConnNetId: connectivity_net0
235
+ available orientations: y+" data-x="1.501" data-y="1.2009999999999998" x="244.5539584759297" y="185.8133698380105" width="12.776637006616482" height="25.553274013232937" fill="#93c5fd66" stroke="#93c5fd" stroke-width="0.01565357142857143" />
232
236
  </g>
233
237
  <g>
234
238
  <rect data-type="rect" data-label="netId: LDO_EN
235
- globalConnNetId: connectivity_net2" data-x="2.674272325000001" data-y="-0.7009999999999998" x="306.72969450148304" y="313.7075062742414" width="38.32991101984942" height="12.776637006616454" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01565357142857143" />
239
+ globalConnNetId: connectivity_net2
240
+ available orientations: x-, x+" data-x="2.675272325000001" data-y="-0.5999999999999999" x="306.79357768651613" y="307.25530458590003" width="38.32991101984936" height="12.776637006616511" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01565357142857143" />
236
241
  </g>
237
242
  <g id="crosshair" style="display: none">
238
243
  <line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5" />
@@ -83,19 +83,23 @@ orientation: x-" data-x="1.6" data-y="-2.095" cx="353.6" cy="454.176" r="3" fill
83
83
  </g>
84
84
  <g>
85
85
  <rect data-type="rect" data-label="netId: GND
86
- globalConnNetId: connectivity_net0" data-x="1.049" data-y="-2.5200000000000005" x="280.68800000000005" y="476.576" width="22.399999999999977" height="50.39999999999998" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008928571428571428" />
86
+ globalConnNetId: connectivity_net0
87
+ available orientations: y-" data-x="1.049" data-y="-2.5200000000000005" x="280.68800000000005" y="476.576" width="22.399999999999977" height="50.39999999999998" fill="#fca5a566" stroke="#fca5a5" stroke-width="0.008928571428571428" />
87
88
  </g>
88
89
  <g>
89
90
  <rect data-type="rect" data-label="netId: VCC
90
- globalConnNetId: connectivity_net1" data-x="1.3010000000000002" data-y="0.7260000000000001" x="308.91200000000003" y="113.02399999999997" width="22.400000000000034" height="50.400000000000006" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008928571428571428" />
91
+ globalConnNetId: connectivity_net1
92
+ available orientations: y+" data-x="1.3010000000000002" data-y="0.7260000000000001" x="308.91200000000003" y="113.02399999999997" width="22.400000000000034" height="50.400000000000006" fill="#93c5fd66" stroke="#93c5fd" stroke-width="0.008928571428571428" />
91
93
  </g>
92
94
  <g>
93
95
  <rect data-type="rect" data-label="netId: VCC
94
- globalConnNetId: connectivity_net1" data-x="1.499" data-y="-1.469" x="331.088" y="358.864" width="22.400000000000034" height="50.400000000000034" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008928571428571428" />
96
+ globalConnNetId: connectivity_net1
97
+ available orientations: y+" data-x="1.499" data-y="-1.469" x="331.088" y="358.864" width="22.400000000000034" height="50.400000000000034" fill="#93c5fd66" stroke="#93c5fd" stroke-width="0.008928571428571428" />
95
98
  </g>
96
99
  <g>
97
100
  <rect data-type="rect" data-label="netId: MMM
98
- globalConnNetId: connectivity_net2" data-x="1.374" data-y="-2.095" x="303.088" y="442.976" width="50.400000000000034" height="22.399999999999977" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008928571428571428" />
101
+ globalConnNetId: connectivity_net2
102
+ available orientations: x+, x-" data-x="1.374" data-y="-2.095" x="303.088" y="442.976" width="50.400000000000034" height="22.399999999999977" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008928571428571428" />
99
103
  </g>
100
104
  <g id="crosshair" style="display: none">
101
105
  <line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5" />
@@ -197,39 +197,48 @@ orientation: y+" data-x="-1.08373445" data-y="-0.09999999999999987" cx="246.6436
197
197
  </g>
198
198
  <g>
199
199
  <rect data-type="rect" data-label="netId: .V1 &gt; .pin1 to .L1 &gt; .pin1
200
- globalConnNetId: connectivity_net0" data-x="-4.78" data-y="2.7600000000000002" x="55.35329792453959" y="238.288806271632" width="21.95226100165104" height="9.75656044517828" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020499027410714285" />
200
+ globalConnNetId: connectivity_net0
201
+ available orientations: any" data-x="-4.78" data-y="2.7600000000000002" x="55.35329792453959" y="238.288806271632" width="21.95226100165104" height="9.75656044517828" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020499027410714285" />
201
202
  </g>
202
203
  <g>
203
204
  <rect data-type="rect" data-label="netId: GND
204
- globalConnNetId: connectivity_net3" data-x="3" data-y="-0.93" x="440.9813495202105" y="415.85820637387644" width="9.756560445178309" height="14.634840667767435" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020499027410714285" />
205
+ globalConnNetId: connectivity_net3
206
+ available orientations: y-" data-x="3" data-y="-0.93" x="440.9813495202105" y="415.85820637387644" width="9.756560445178309" height="14.634840667767435" fill="#fca5a566" stroke="#fca5a5" stroke-width="0.020499027410714285" />
205
207
  </g>
206
208
  <g>
207
209
  <rect data-type="rect" data-label="netId: GND
208
- globalConnNetId: connectivity_net3" data-x="6" data-y="-0.7010000000000001" x="587.3297561978845" y="404.68694466414735" width="9.756560445178138" height="14.634840667767378" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020499027410714285" />
210
+ globalConnNetId: connectivity_net3
211
+ available orientations: y-" data-x="6" data-y="-0.7010000000000001" x="587.3297561978845" y="404.68694466414735" width="9.756560445178138" height="14.634840667767378" fill="#fca5a566" stroke="#fca5a5" stroke-width="0.020499027410714285" />
209
212
  </g>
210
213
  <g>
211
214
  <rect data-type="rect" data-label="netId: GND
212
- globalConnNetId: connectivity_net3" data-x="-4.995" data-y="-0.7958008" x="50.96284572420936" y="409.31159334140364" width="9.756560445178224" height="14.634840667767378" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020499027410714285" />
215
+ globalConnNetId: connectivity_net3
216
+ available orientations: y-" data-x="-4.995" data-y="-0.7958008" x="50.96284572420936" y="409.31159334140364" width="9.756560445178224" height="14.634840667767378" fill="#fca5a566" stroke="#fca5a5" stroke-width="0.020499027410714285" />
213
217
  </g>
214
218
  <g>
215
219
  <rect data-type="rect" data-label="netId: .L1 &gt; .pin2 to .M1 &gt; .drain
216
- globalConnNetId: connectivity_net1" data-x="1.055" data-y="3.1950000000000003" x="346.0987991908519" y="210.97043702513287" width="9.756560445178252" height="21.952261001651124" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020499027410714285" />
220
+ globalConnNetId: connectivity_net1
221
+ available orientations: any" data-x="1.055" data-y="3.1950000000000003" x="346.0987991908519" y="210.97043702513287" width="9.756560445178252" height="21.952261001651124" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020499027410714285" />
217
222
  </g>
218
223
  <g>
219
224
  <rect data-type="rect" data-label="netId: .L1 &gt; .pin2 to .M1 &gt; .drain
220
- globalConnNetId: connectivity_net1" data-x="0.3" data-y="0.8059999999999999" x="309.2677835103039" y="327.51255154278726" width="9.756560445178309" height="21.952261001651095" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020499027410714285" />
225
+ globalConnNetId: connectivity_net1
226
+ available orientations: any" data-x="0.3" data-y="0.8059999999999999" x="309.2677835103039" y="327.51255154278726" width="9.756560445178309" height="21.952261001651095" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020499027410714285" />
221
227
  </g>
222
228
  <g>
223
229
  <rect data-type="rect" data-label="netId: .D1 &gt; .cathode to .R1 &gt; .pin1
224
- globalConnNetId: connectivity_net2" data-x="3.7199999999999998" data-y="3.225" x="476.10496712285226" y="209.50695295835615" width="9.756560445178252" height="21.952261001651095" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020499027410714285" />
230
+ globalConnNetId: connectivity_net2
231
+ available orientations: any" data-x="3.7199999999999998" data-y="3.225" x="476.10496712285226" y="209.50695295835615" width="9.756560445178252" height="21.952261001651095" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020499027410714285" />
225
232
  </g>
226
233
  <g>
227
234
  <rect data-type="rect" data-label="netId: .D1 &gt; .cathode to .R1 &gt; .pin1
228
- globalConnNetId: connectivity_net2" data-x="6" data-y="0.776" x="587.3297561978845" y="328.976035609564" width="9.756560445178138" height="21.952261001651095" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020499027410714285" />
235
+ globalConnNetId: connectivity_net2
236
+ available orientations: any" data-x="6" data-y="0.776" x="587.3297561978845" y="328.976035609564" width="9.756560445178138" height="21.952261001651095" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020499027410714285" />
229
237
  </g>
230
238
  <g>
231
239
  <rect data-type="rect" data-label="netId: .M1 &gt; .gate to .V2 &gt; .pin1
232
- globalConnNetId: connectivity_net4" data-x="-1.08373445" data-y="0.12500000000000014" x="241.7653395028014" y="360.73363985861926" width="9.75656044517828" height="21.952261001651095" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020499027410714285" />
240
+ globalConnNetId: connectivity_net4
241
+ available orientations: any" data-x="-1.08373445" data-y="0.12500000000000014" x="241.7653395028014" y="360.73363985861926" width="9.75656044517828" height="21.952261001651095" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020499027410714285" />
233
242
  </g>
234
243
  <g id="crosshair" style="display: none">
235
244
  <line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5" />
@@ -2,225 +2,237 @@
2
2
  <rect width="100%" height="100%" fill="white" />
3
3
  <g>
4
4
  <circle data-type="point" data-label="P.1
5
- x-" data-x="-0.6000000000000001" data-y="1.0999999999999999" cx="184.51612903225808" cy="112.25806451612902" r="3" fill="hsl(235, 100%, 50%, 0.8)" />
5
+ x-" data-x="-0.6000000000000001" data-y="1.0999999999999999" cx="222" cy="158.99999999999997" r="3" fill="hsl(235, 100%, 50%, 0.8)" />
6
6
  </g>
7
7
  <g>
8
8
  <circle data-type="point" data-label="P.2
9
- x-" data-x="-0.6000000000000001" data-y="0.8999999999999999" cx="184.51612903225808" cy="148.38709677419354" r="3" fill="hsl(236, 100%, 50%, 0.8)" />
9
+ x-" data-x="-0.6000000000000001" data-y="0.8999999999999999" cx="222" cy="186.99999999999994" r="3" fill="hsl(236, 100%, 50%, 0.8)" />
10
10
  </g>
11
11
  <g>
12
12
  <circle data-type="point" data-label="P.3
13
- x-" data-x="-0.6000000000000001" data-y="0.6999999999999998" cx="184.51612903225808" cy="184.51612903225805" r="3" fill="hsl(237, 100%, 50%, 0.8)" />
13
+ x-" data-x="-0.6000000000000001" data-y="0.6999999999999998" cx="222" cy="214.99999999999997" r="3" fill="hsl(237, 100%, 50%, 0.8)" />
14
14
  </g>
15
15
  <g>
16
16
  <circle data-type="point" data-label="P.4
17
- x-" data-x="-0.6000000000000001" data-y="0.4999999999999998" cx="184.51612903225808" cy="220.6451612903226" r="3" fill="hsl(238, 100%, 50%, 0.8)" />
17
+ x-" data-x="-0.6000000000000001" data-y="0.4999999999999998" cx="222" cy="242.99999999999997" r="3" fill="hsl(238, 100%, 50%, 0.8)" />
18
18
  </g>
19
19
  <g>
20
20
  <circle data-type="point" data-label="P.5
21
- x-" data-x="-0.6000000000000001" data-y="0.2999999999999998" cx="184.51612903225808" cy="256.7741935483871" r="3" fill="hsl(239, 100%, 50%, 0.8)" />
21
+ x-" data-x="-0.6000000000000001" data-y="0.2999999999999998" cx="222" cy="271" r="3" fill="hsl(239, 100%, 50%, 0.8)" />
22
22
  </g>
23
23
  <g>
24
24
  <circle data-type="point" data-label="P.6
25
- x-" data-x="-0.6000000000000001" data-y="0.09999999999999987" cx="184.51612903225808" cy="292.9032258064516" r="3" fill="hsl(240, 100%, 50%, 0.8)" />
25
+ x-" data-x="-0.6000000000000001" data-y="0.09999999999999987" cx="222" cy="298.99999999999994" r="3" fill="hsl(240, 100%, 50%, 0.8)" />
26
26
  </g>
27
27
  <g>
28
28
  <circle data-type="point" data-label="P.7
29
- x-" data-x="-0.6000000000000001" data-y="-0.10000000000000009" cx="184.51612903225808" cy="329.0322580645161" r="3" fill="hsl(241, 100%, 50%, 0.8)" />
29
+ x-" data-x="-0.6000000000000001" data-y="-0.10000000000000009" cx="222" cy="326.99999999999994" r="3" fill="hsl(241, 100%, 50%, 0.8)" />
30
30
  </g>
31
31
  <g>
32
32
  <circle data-type="point" data-label="P.8
33
- x-" data-x="-0.6000000000000001" data-y="-0.30000000000000004" cx="184.51612903225808" cy="365.1612903225806" r="3" fill="hsl(242, 100%, 50%, 0.8)" />
33
+ x-" data-x="-0.6000000000000001" data-y="-0.30000000000000004" cx="222" cy="354.99999999999994" r="3" fill="hsl(242, 100%, 50%, 0.8)" />
34
34
  </g>
35
35
  <g>
36
36
  <circle data-type="point" data-label="P.9
37
- x-" data-x="-0.6000000000000001" data-y="-0.5" cx="184.51612903225808" cy="401.2903225806451" r="3" fill="hsl(243, 100%, 50%, 0.8)" />
37
+ x-" data-x="-0.6000000000000001" data-y="-0.5" cx="222" cy="382.99999999999994" r="3" fill="hsl(243, 100%, 50%, 0.8)" />
38
38
  </g>
39
39
  <g>
40
40
  <circle data-type="point" data-label="P.10
41
- x-" data-x="-0.6000000000000001" data-y="-0.7" cx="184.51612903225808" cy="437.41935483870964" r="3" fill="hsl(133, 100%, 50%, 0.8)" />
41
+ x-" data-x="-0.6000000000000001" data-y="-0.7" cx="222" cy="410.99999999999994" r="3" fill="hsl(133, 100%, 50%, 0.8)" />
42
42
  </g>
43
43
  <g>
44
44
  <circle data-type="point" data-label="P.11
45
- x-" data-x="-0.6000000000000001" data-y="-0.8999999999999999" cx="184.51612903225808" cy="473.54838709677415" r="3" fill="hsl(134, 100%, 50%, 0.8)" />
45
+ x-" data-x="-0.6000000000000001" data-y="-0.8999999999999999" cx="222" cy="438.99999999999994" r="3" fill="hsl(134, 100%, 50%, 0.8)" />
46
46
  </g>
47
47
  <g>
48
48
  <circle data-type="point" data-label="P.12
49
- x-" data-x="-0.6000000000000001" data-y="-1.0999999999999999" cx="184.51612903225808" cy="509.67741935483866" r="3" fill="hsl(135, 100%, 50%, 0.8)" />
49
+ x-" data-x="-0.6000000000000001" data-y="-1.0999999999999999" cx="222" cy="466.9999999999999" r="3" fill="hsl(135, 100%, 50%, 0.8)" />
50
50
  </g>
51
51
  <g>
52
52
  <circle data-type="point" data-label="P.13
53
- x+" data-x="0.6000000000000001" data-y="-1.0999999999999999" cx="401.29032258064524" cy="509.67741935483866" r="3" fill="hsl(136, 100%, 50%, 0.8)" />
53
+ x+" data-x="0.6000000000000001" data-y="-1.0999999999999999" cx="390" cy="466.9999999999999" r="3" fill="hsl(136, 100%, 50%, 0.8)" />
54
54
  </g>
55
55
  <g>
56
56
  <circle data-type="point" data-label="P.14
57
- x+" data-x="0.6000000000000001" data-y="-0.8999999999999999" cx="401.29032258064524" cy="473.54838709677415" r="3" fill="hsl(137, 100%, 50%, 0.8)" />
57
+ x+" data-x="0.6000000000000001" data-y="-0.8999999999999999" cx="390" cy="438.99999999999994" r="3" fill="hsl(137, 100%, 50%, 0.8)" />
58
58
  </g>
59
59
  <g>
60
60
  <circle data-type="point" data-label="P.15
61
- x+" data-x="0.6000000000000001" data-y="-0.6999999999999998" cx="401.29032258064524" cy="437.41935483870964" r="3" fill="hsl(138, 100%, 50%, 0.8)" />
61
+ x+" data-x="0.6000000000000001" data-y="-0.6999999999999998" cx="390" cy="410.9999999999999" r="3" fill="hsl(138, 100%, 50%, 0.8)" />
62
62
  </g>
63
63
  <g>
64
64
  <circle data-type="point" data-label="P.16
65
- x+" data-x="0.6000000000000001" data-y="-0.4999999999999998" cx="401.29032258064524" cy="401.2903225806451" r="3" fill="hsl(139, 100%, 50%, 0.8)" />
65
+ x+" data-x="0.6000000000000001" data-y="-0.4999999999999998" cx="390" cy="382.9999999999999" r="3" fill="hsl(139, 100%, 50%, 0.8)" />
66
66
  </g>
67
67
  <g>
68
68
  <circle data-type="point" data-label="P.17
69
- x+" data-x="0.6000000000000001" data-y="-0.2999999999999998" cx="401.29032258064524" cy="365.1612903225806" r="3" fill="hsl(140, 100%, 50%, 0.8)" />
69
+ x+" data-x="0.6000000000000001" data-y="-0.2999999999999998" cx="390" cy="354.9999999999999" r="3" fill="hsl(140, 100%, 50%, 0.8)" />
70
70
  </g>
71
71
  <g>
72
72
  <circle data-type="point" data-label="P.18
73
- x+" data-x="0.6000000000000001" data-y="-0.09999999999999987" cx="401.29032258064524" cy="329.0322580645161" r="3" fill="hsl(141, 100%, 50%, 0.8)" />
73
+ x+" data-x="0.6000000000000001" data-y="-0.09999999999999987" cx="390" cy="326.99999999999994" r="3" fill="hsl(141, 100%, 50%, 0.8)" />
74
74
  </g>
75
75
  <g>
76
76
  <circle data-type="point" data-label="P.19
77
- x+" data-x="0.6000000000000001" data-y="0.10000000000000009" cx="401.29032258064524" cy="292.9032258064516" r="3" fill="hsl(142, 100%, 50%, 0.8)" />
77
+ x+" data-x="0.6000000000000001" data-y="0.10000000000000009" cx="390" cy="298.99999999999994" r="3" fill="hsl(142, 100%, 50%, 0.8)" />
78
78
  </g>
79
79
  <g>
80
80
  <circle data-type="point" data-label="P.20
81
- x+" data-x="0.6000000000000001" data-y="0.30000000000000004" cx="401.29032258064524" cy="256.7741935483871" r="3" fill="hsl(164, 100%, 50%, 0.8)" />
81
+ x+" data-x="0.6000000000000001" data-y="0.30000000000000004" cx="390" cy="270.99999999999994" r="3" fill="hsl(164, 100%, 50%, 0.8)" />
82
82
  </g>
83
83
  <g>
84
84
  <circle data-type="point" data-label="P.21
85
- x+" data-x="0.6000000000000001" data-y="0.5" cx="401.29032258064524" cy="220.64516129032256" r="3" fill="hsl(165, 100%, 50%, 0.8)" />
85
+ x+" data-x="0.6000000000000001" data-y="0.5" cx="390" cy="242.99999999999994" r="3" fill="hsl(165, 100%, 50%, 0.8)" />
86
86
  </g>
87
87
  <g>
88
88
  <circle data-type="point" data-label="P.22
89
- x+" data-x="0.6000000000000001" data-y="0.7" cx="401.29032258064524" cy="184.51612903225805" r="3" fill="hsl(166, 100%, 50%, 0.8)" />
89
+ x+" data-x="0.6000000000000001" data-y="0.7" cx="390" cy="214.99999999999994" r="3" fill="hsl(166, 100%, 50%, 0.8)" />
90
90
  </g>
91
91
  <g>
92
92
  <circle data-type="point" data-label="P.23
93
- x+" data-x="0.6000000000000001" data-y="0.8999999999999999" cx="401.29032258064524" cy="148.38709677419354" r="3" fill="hsl(167, 100%, 50%, 0.8)" />
93
+ x+" data-x="0.6000000000000001" data-y="0.8999999999999999" cx="390" cy="186.99999999999994" r="3" fill="hsl(167, 100%, 50%, 0.8)" />
94
94
  </g>
95
95
  <g>
96
96
  <circle data-type="point" data-label="P.24
97
- x+" data-x="0.6000000000000001" data-y="1.0999999999999999" cx="401.29032258064524" cy="112.25806451612902" r="3" fill="hsl(168, 100%, 50%, 0.8)" />
97
+ x+" data-x="0.6000000000000001" data-y="1.0999999999999999" cx="390" cy="158.99999999999997" r="3" fill="hsl(168, 100%, 50%, 0.8)" />
98
98
  </g>
99
99
  <g>
100
100
  <circle data-type="point" data-label="anchorPoint
101
- orientation: y-" data-x="-0.8" data-y="1.0999999999999999" cx="148.38709677419357" cy="112.25806451612902" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
101
+ orientation: y+" data-x="-0.8" data-y="1.4999999999999998" cx="194" cy="102.99999999999997" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
102
102
  </g>
103
103
  <g>
104
104
  <circle data-type="point" data-label="anchorPoint
105
- orientation: x-" data-x="-0.6000000000000001" data-y="0.8999999999999999" cx="184.51612903225808" cy="148.38709677419354" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
105
+ orientation: x-" data-x="-0.6000000000000001" data-y="0.8999999999999999" cx="222" cy="186.99999999999994" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
106
106
  </g>
107
107
  <g>
108
108
  <circle data-type="point" data-label="anchorPoint
109
- orientation: x+" data-x="0.6000000000000001" data-y="-0.2999999999999998" cx="401.29032258064524" cy="365.1612903225806" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
109
+ orientation: x+" data-x="0.6000000000000001" data-y="-0.2999999999999998" cx="390" cy="354.9999999999999" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
110
110
  </g>
111
111
  <g>
112
112
  <circle data-type="point" data-label="anchorPoint
113
- orientation: x-" data-x="-0.6000000000000001" data-y="0.6999999999999998" cx="184.51612903225808" cy="184.51612903225805" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
113
+ orientation: x-" data-x="-0.6000000000000001" data-y="0.6999999999999998" cx="222" cy="214.99999999999997" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
114
114
  </g>
115
115
  <g>
116
116
  <circle data-type="point" data-label="anchorPoint
117
- orientation: x+" data-x="0.6000000000000001" data-y="-0.4999999999999998" cx="401.29032258064524" cy="401.2903225806451" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
117
+ orientation: x+" data-x="0.6000000000000001" data-y="-0.4999999999999998" cx="390" cy="382.9999999999999" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
118
118
  </g>
119
119
  <g>
120
120
  <circle data-type="point" data-label="anchorPoint
121
- orientation: y+" data-x="-0.8755000000000002" data-y="0.4999999999999998" cx="134.7483870967742" cy="220.6451612903226" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
121
+ orientation: y-" data-x="-1.1510000000000002" data-y="-1.6" cx="144.85999999999996" cy="537" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
122
122
  </g>
123
123
  <g>
124
124
  <circle data-type="point" data-label="anchorPoint
125
- orientation: x-" data-x="-0.6000000000000001" data-y="0.2999999999999998" cx="184.51612903225808" cy="256.7741935483871" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
125
+ orientation: x-" data-x="-0.6000000000000001" data-y="0.2999999999999998" cx="222" cy="271" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
126
126
  </g>
127
127
  <g>
128
128
  <circle data-type="point" data-label="anchorPoint
129
- orientation: x+" data-x="0.6000000000000001" data-y="-0.8999999999999999" cx="401.29032258064524" cy="473.54838709677415" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
129
+ orientation: x+" data-x="0.6000000000000001" data-y="-0.8999999999999999" cx="390" cy="438.99999999999994" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
130
130
  </g>
131
131
  <g>
132
132
  <circle data-type="point" data-label="anchorPoint
133
- orientation: x-" data-x="-0.6000000000000001" data-y="0.09999999999999987" cx="184.51612903225808" cy="292.9032258064516" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
133
+ orientation: x-" data-x="-0.6000000000000001" data-y="0.09999999999999987" cx="222" cy="298.99999999999994" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
134
134
  </g>
135
135
  <g>
136
136
  <circle data-type="point" data-label="anchorPoint
137
- orientation: x+" data-x="0.6000000000000001" data-y="-1.0999999999999999" cx="401.29032258064524" cy="509.67741935483866" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
137
+ orientation: x+" data-x="0.6000000000000001" data-y="-1.0999999999999999" cx="390" cy="466.9999999999999" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
138
138
  </g>
139
139
  <g>
140
140
  <circle data-type="point" data-label="anchorPoint
141
- orientation: x-" data-x="-0.6000000000000001" data-y="-0.10000000000000009" cx="184.51612903225808" cy="329.0322580645161" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
141
+ orientation: x-" data-x="-0.6000000000000001" data-y="-0.10000000000000009" cx="222" cy="326.99999999999994" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
142
142
  </g>
143
143
  <g>
144
144
  <circle data-type="point" data-label="anchorPoint
145
- orientation: x+" data-x="0.6000000000000001" data-y="0.10000000000000009" cx="401.29032258064524" cy="292.9032258064516" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
145
+ orientation: x+" data-x="0.6000000000000001" data-y="0.10000000000000009" cx="390" cy="298.99999999999994" r="3" fill="hsl(40, 100%, 50%, 0.9)" />
146
146
  </g>
147
147
  <g>
148
- <polyline data-points="-0.6000000000000001,1.0999999999999999 0.6000000000000001,-0.09999999999999987" data-type="line" data-label="" points="184.51612903225808,112.25806451612902 401.29032258064524,329.0322580645161" fill="none" stroke="hsl(16, 100%, 50%, 0.8)" stroke-width="1" />
148
+ <polyline data-points="-0.6000000000000001,1.0999999999999999 0.6000000000000001,-0.09999999999999987" data-type="line" data-label="" points="222,158.99999999999997 390,326.99999999999994" fill="none" stroke="hsl(16, 100%, 50%, 0.8)" stroke-width="1" />
149
149
  </g>
150
150
  <g>
151
- <polyline data-points="-0.6000000000000001,0.8999999999999999 0.6000000000000001,-0.2999999999999998" data-type="line" data-label="" points="184.51612903225808,148.38709677419354 401.29032258064524,365.1612903225806" fill="none" stroke="hsl(128, 100%, 50%, 0.8)" stroke-width="1" />
151
+ <polyline data-points="-0.6000000000000001,0.8999999999999999 0.6000000000000001,-0.2999999999999998" data-type="line" data-label="" points="222,186.99999999999994 390,354.9999999999999" fill="none" stroke="hsl(128, 100%, 50%, 0.8)" stroke-width="1" />
152
152
  </g>
153
153
  <g>
154
- <polyline data-points="-0.6000000000000001,0.6999999999999998 0.6000000000000001,-0.4999999999999998" data-type="line" data-label="" points="184.51612903225808,184.51612903225805 401.29032258064524,401.2903225806451" fill="none" stroke="hsl(32, 100%, 50%, 0.8)" stroke-width="1" />
154
+ <polyline data-points="-0.6000000000000001,0.6999999999999998 0.6000000000000001,-0.4999999999999998" data-type="line" data-label="" points="222,214.99999999999997 390,382.9999999999999" fill="none" stroke="hsl(32, 100%, 50%, 0.8)" stroke-width="1" />
155
155
  </g>
156
156
  <g>
157
- <polyline data-points="-0.6000000000000001,0.4999999999999998 0.6000000000000001,-0.6999999999999998" data-type="line" data-label="" points="184.51612903225808,220.6451612903226 401.29032258064524,437.41935483870964" fill="none" stroke="hsl(144, 100%, 50%, 0.8)" stroke-width="1" />
157
+ <polyline data-points="-0.6000000000000001,0.4999999999999998 0.6000000000000001,-0.6999999999999998" data-type="line" data-label="" points="222,242.99999999999997 390,410.9999999999999" fill="none" stroke="hsl(144, 100%, 50%, 0.8)" stroke-width="1" />
158
158
  </g>
159
159
  <g>
160
- <polyline data-points="-0.6000000000000001,0.2999999999999998 0.6000000000000001,-0.8999999999999999" data-type="line" data-label="" points="184.51612903225808,256.7741935483871 401.29032258064524,473.54838709677415" fill="none" stroke="hsl(104, 100%, 50%, 0.8)" stroke-width="1" />
160
+ <polyline data-points="-0.6000000000000001,0.2999999999999998 0.6000000000000001,-0.8999999999999999" data-type="line" data-label="" points="222,271 390,438.99999999999994" fill="none" stroke="hsl(104, 100%, 50%, 0.8)" stroke-width="1" />
161
161
  </g>
162
162
  <g>
163
- <polyline data-points="-0.6000000000000001,0.09999999999999987 0.6000000000000001,-1.0999999999999999" data-type="line" data-label="" points="184.51612903225808,292.9032258064516 401.29032258064524,509.67741935483866" fill="none" stroke="hsl(160, 100%, 50%, 0.8)" stroke-width="1" />
163
+ <polyline data-points="-0.6000000000000001,0.09999999999999987 0.6000000000000001,-1.0999999999999999" data-type="line" data-label="" points="222,298.99999999999994 390,466.9999999999999" fill="none" stroke="hsl(160, 100%, 50%, 0.8)" stroke-width="1" />
164
164
  </g>
165
165
  <g>
166
- <polyline data-points="-0.6000000000000001,-0.10000000000000009 0.6000000000000001,0.10000000000000009" data-type="line" data-label="" points="184.51612903225808,329.0322580645161 401.29032258064524,292.9032258064516" fill="none" stroke="hsl(120, 100%, 50%, 0.8)" stroke-width="1" />
166
+ <polyline data-points="-0.6000000000000001,-0.10000000000000009 0.6000000000000001,0.10000000000000009" data-type="line" data-label="" points="222,326.99999999999994 390,298.99999999999994" fill="none" stroke="hsl(120, 100%, 50%, 0.8)" stroke-width="1" />
167
167
  </g>
168
168
  <g>
169
- <polyline data-points="-0.6000000000000001,1.0999999999999999 -0.8,1.0999999999999999 -0.8,1.4999999999999998 1.1510000000000002,1.4999999999999998 1.1510000000000002,-0.09999999999999992 0.6000000000000001,-0.09999999999999987" data-type="line" data-label="" points="184.51612903225808,112.25806451612902 148.38709677419357,112.25806451612902 148.38709677419357,40 500.82580645161295,40 500.82580645161295,329.0322580645161 401.29032258064524,329.0322580645161" fill="none" stroke="purple" stroke-width="1" />
169
+ <polyline data-points="-0.6000000000000001,1.0999999999999999 -0.8,1.0999999999999999 -0.8,1.4999999999999998 1.1510000000000002,1.4999999999999998 1.1510000000000002,-0.09999999999999992 0.6000000000000001,-0.09999999999999987" data-type="line" data-label="" points="222,158.99999999999997 194,158.99999999999997 194,102.99999999999997 467.14000000000004,102.99999999999997 467.14000000000004,326.99999999999994 390,326.99999999999994" fill="none" stroke="purple" stroke-width="1" />
170
170
  </g>
171
171
  <g>
172
- <polyline data-points="-0.6000000000000001,0.4999999999999998 -1.1510000000000002,0.4999999999999998 -1.1510000000000002,-1.6 1.451,-1.6 1.451,-0.6999999999999998 0.6000000000000001,-0.6999999999999998" data-type="line" data-label="" points="184.51612903225808,220.6451612903226 84.98064516129031,220.6451612903226 84.98064516129031,600 555.0193548387097,600 555.0193548387097,437.41935483870964 401.29032258064524,437.41935483870964" fill="none" stroke="purple" stroke-width="1" />
172
+ <polyline data-points="-0.6000000000000001,0.4999999999999998 -1.1510000000000002,0.4999999999999998 -1.1510000000000002,-1.6 1.451,-1.6 1.451,-0.6999999999999998 0.6000000000000001,-0.6999999999999998" data-type="line" data-label="" points="222,242.99999999999997 144.85999999999996,242.99999999999997 144.85999999999996,537 509.14,537 509.14,410.9999999999999 390,410.9999999999999" fill="none" stroke="purple" stroke-width="1" />
173
173
  </g>
174
174
  <g>
175
- <rect data-type="rect" data-label="schematic_component_0" data-x="0" data-y="0" x="184.51612903225808" y="76.12903225806451" width="216.77419354838716" height="469.67741935483866" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.005535714285714285" />
175
+ <rect data-type="rect" data-label="schematic_component_0" data-x="0" data-y="0" x="222" y="130.99999999999997" width="168" height="363.9999999999999" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.007142857142857143" />
176
176
  </g>
177
177
  <g>
178
178
  <rect data-type="rect" data-label="netId: P.pin1 to P.pin18
179
- globalConnNetId: connectivity_net0" data-x="-0.8" data-y="0.8749999999999999" x="130.3225806451613" y="112.25806451612902" width="36.12903225806451" height="81.29032258064515" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.005535714285714285" />
179
+ globalConnNetId: connectivity_net0
180
+ available orientations: y+" data-x="-0.8" data-y="1.7249999999999999" x="180" y="39.99999999999994" width="28" height="63.00000000000003" fill="#93c5fd66" stroke="#93c5fd" stroke-width="0.007142857142857143" />
180
181
  </g>
181
182
  <g>
182
183
  <rect data-type="rect" data-label="netId: P.pin2 to P.pin17
183
- globalConnNetId: connectivity_net1" data-x="-0.8260000000000001" data-y="0.8999999999999999" x="103.04516129032257" y="130.32258064516128" width="81.29032258064518" height="36.12903225806451" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.005535714285714285" />
184
+ globalConnNetId: connectivity_net1
185
+ available orientations: any" data-x="-0.8260000000000001" data-y="0.8999999999999999" x="158.85999999999999" y="172.99999999999997" width="63" height="27.99999999999997" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.007142857142857143" />
184
186
  </g>
185
187
  <g>
186
188
  <rect data-type="rect" data-label="netId: P.pin2 to P.pin17
187
- globalConnNetId: connectivity_net1" data-x="0.8260000000000001" data-y="-0.2999999999999998" x="401.4709677419355" y="347.0967741935483" width="81.29032258064524" height="36.12903225806451" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.005535714285714285" />
189
+ globalConnNetId: connectivity_net1
190
+ available orientations: any" data-x="0.8260000000000001" data-y="-0.2999999999999998" x="390.14" y="340.99999999999994" width="63" height="27.999999999999943" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.007142857142857143" />
188
191
  </g>
189
192
  <g>
190
193
  <rect data-type="rect" data-label="netId: P.pin3 to P.pin16
191
- globalConnNetId: connectivity_net2" data-x="-0.8260000000000001" data-y="0.6999999999999998" x="103.04516129032257" y="166.4516129032258" width="81.29032258064518" height="36.12903225806451" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.005535714285714285" />
194
+ globalConnNetId: connectivity_net2
195
+ available orientations: any" data-x="-0.8260000000000001" data-y="0.6999999999999998" x="158.85999999999999" y="200.99999999999997" width="63" height="27.99999999999997" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.007142857142857143" />
192
196
  </g>
193
197
  <g>
194
198
  <rect data-type="rect" data-label="netId: P.pin3 to P.pin16
195
- globalConnNetId: connectivity_net2" data-x="0.8260000000000001" data-y="-0.4999999999999998" x="401.4709677419355" y="383.2258064516128" width="81.29032258064524" height="36.12903225806451" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.005535714285714285" />
199
+ globalConnNetId: connectivity_net2
200
+ available orientations: any" data-x="0.8260000000000001" data-y="-0.4999999999999998" x="390.14" y="368.9999999999999" width="63" height="28" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.007142857142857143" />
196
201
  </g>
197
202
  <g>
198
203
  <rect data-type="rect" data-label="netId: P.pin4 to P.pin15
199
- globalConnNetId: connectivity_net3" data-x="-0.8755000000000002" data-y="0.7249999999999998" x="116.68387096774194" y="139.35483870967744" width="36.12903225806451" height="81.29032258064515" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.005535714285714285" />
204
+ globalConnNetId: connectivity_net3
205
+ available orientations: y-" data-x="-1.1510000000000002" data-y="-1.8250000000000002" x="130.85999999999996" y="537" width="28.00000000000003" height="63" fill="#fca5a566" stroke="#fca5a5" stroke-width="0.007142857142857143" />
200
206
  </g>
201
207
  <g>
202
208
  <rect data-type="rect" data-label="netId: P.pin5 to P.pin14
203
- globalConnNetId: connectivity_net4" data-x="-0.8260000000000001" data-y="0.2999999999999998" x="103.04516129032257" y="238.70967741935485" width="81.29032258064518" height="36.12903225806454" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.005535714285714285" />
209
+ globalConnNetId: connectivity_net4
210
+ available orientations: any" data-x="-0.8260000000000001" data-y="0.2999999999999998" x="158.85999999999999" y="257" width="63" height="27.999999999999943" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.007142857142857143" />
204
211
  </g>
205
212
  <g>
206
213
  <rect data-type="rect" data-label="netId: P.pin5 to P.pin14
207
- globalConnNetId: connectivity_net4" data-x="0.8260000000000001" data-y="-0.8999999999999999" x="401.4709677419355" y="455.4838709677419" width="81.29032258064524" height="36.12903225806451" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.005535714285714285" />
214
+ globalConnNetId: connectivity_net4
215
+ available orientations: any" data-x="0.8260000000000001" data-y="-0.8999999999999999" x="390.14" y="424.99999999999994" width="63" height="27.999999999999943" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.007142857142857143" />
208
216
  </g>
209
217
  <g>
210
218
  <rect data-type="rect" data-label="netId: P.pin6 to P.pin13
211
- globalConnNetId: connectivity_net5" data-x="-0.8260000000000001" data-y="0.09999999999999987" x="103.04516129032257" y="274.83870967741933" width="81.29032258064518" height="36.12903225806451" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.005535714285714285" />
219
+ globalConnNetId: connectivity_net5
220
+ available orientations: any" data-x="-0.8260000000000001" data-y="0.09999999999999987" x="158.85999999999999" y="284.99999999999994" width="63" height="28" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.007142857142857143" />
212
221
  </g>
213
222
  <g>
214
223
  <rect data-type="rect" data-label="netId: P.pin6 to P.pin13
215
- globalConnNetId: connectivity_net5" data-x="0.8260000000000001" data-y="-1.0999999999999999" x="401.4709677419355" y="491.6129032258064" width="81.29032258064524" height="36.12903225806457" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.005535714285714285" />
224
+ globalConnNetId: connectivity_net5
225
+ available orientations: any" data-x="0.8260000000000001" data-y="-1.0999999999999999" x="390.14" y="452.9999999999999" width="63" height="28.000000000000057" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.007142857142857143" />
216
226
  </g>
217
227
  <g>
218
228
  <rect data-type="rect" data-label="netId: P.pin7 to P.pin19
219
- globalConnNetId: connectivity_net6" data-x="-0.8260000000000001" data-y="-0.10000000000000009" x="103.04516129032257" y="310.96774193548384" width="81.29032258064518" height="36.12903225806451" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.005535714285714285" />
229
+ globalConnNetId: connectivity_net6
230
+ available orientations: any" data-x="-0.8260000000000001" data-y="-0.10000000000000009" x="158.85999999999999" y="312.99999999999994" width="63" height="28" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.007142857142857143" />
220
231
  </g>
221
232
  <g>
222
233
  <rect data-type="rect" data-label="netId: P.pin7 to P.pin19
223
- globalConnNetId: connectivity_net6" data-x="0.8260000000000001" data-y="0.10000000000000009" x="401.4709677419355" y="274.83870967741933" width="81.29032258064524" height="36.12903225806451" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.005535714285714285" />
234
+ globalConnNetId: connectivity_net6
235
+ available orientations: any" data-x="0.8260000000000001" data-y="0.10000000000000009" x="390.14" y="284.99999999999994" width="63" height="28" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.007142857142857143" />
224
236
  </g>
225
237
  <g id="crosshair" style="display: none">
226
238
  <line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5" />
@@ -250,12 +262,12 @@ globalConnNetId: connectivity_net6" data-x="0.8260000000000001" data-y="0.100000
250
262
 
251
263
  // Calculate real coordinates using inverse transformation
252
264
  const matrix = {
253
- "a": 180.6451612903226,
265
+ "a": 140,
254
266
  "c": 0,
255
- "e": 292.90322580645164,
267
+ "e": 306,
256
268
  "b": 0,
257
- "d": -180.6451612903226,
258
- "f": 310.96774193548384
269
+ "d": -140,
270
+ "f": 312.99999999999994
259
271
  };
260
272
  // Manually invert and apply the affine transform
261
273
  // Since we only use translate and scale, we can directly compute:
@@ -26,7 +26,8 @@ orientation: y+" data-x="3.2" data-y="0.30000000000000004" cx="587.5555555555557
26
26
  </g>
27
27
  <g>
28
28
  <rect data-type="rect" data-label="netId: VCC
29
- globalConnNetId: connectivity_net0" data-x="3.2" data-y="0.525" x="575.1111111111111" y="242.22222222222223" width="24.888888888888914" height="56" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.008035714285714287" />
29
+ globalConnNetId: connectivity_net0
30
+ available orientations: y+" data-x="3.2" data-y="0.525" x="575.1111111111111" y="242.22222222222223" width="24.888888888888914" height="56" fill="#93c5fd66" stroke="#93c5fd" stroke-width="0.008035714285714287" />
30
31
  </g>
31
32
  <g id="crosshair" style="display: none">
32
33
  <line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5" />