@tscircuit/schematic-trace-solver 0.0.40 → 0.0.42

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 (57) hide show
  1. package/dist/index.d.ts +155 -9
  2. package/dist/index.js +998 -479
  3. package/lib/solvers/LongDistancePairSolver/LongDistancePairSolver.ts +238 -0
  4. package/lib/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver.ts +61 -26
  5. package/lib/solvers/TraceLabelOverlapAvoidanceSolver/TraceLabelOverlapAvoidanceSolver.ts +94 -192
  6. package/lib/solvers/TraceLabelOverlapAvoidanceSolver/rerouteCollidingTrace.ts +13 -24
  7. package/lib/solvers/TraceLabelOverlapAvoidanceSolver/sub-solvers/LabelMergingSolver/LabelMergingSolver.ts +205 -0
  8. package/lib/solvers/TraceLabelOverlapAvoidanceSolver/sub-solvers/OverlapAvoidanceStepSolver/OverlapAvoidanceStepSolver.ts +144 -0
  9. package/lib/solvers/TraceLabelOverlapAvoidanceSolver/sub-solvers/SingleOverlapSolver/SingleOverlapSolver.ts +117 -0
  10. package/lib/solvers/TraceLabelOverlapAvoidanceSolver/sub-solvers/TraceCleanupSolver/TraceCleanupSolver.ts +132 -0
  11. package/lib/solvers/TraceLabelOverlapAvoidanceSolver/{balanceLShapes.ts → sub-solvers/TraceCleanupSolver/balanceLShapes.ts} +12 -10
  12. package/lib/solvers/TraceLabelOverlapAvoidanceSolver/{hasCollisions.ts → sub-solvers/TraceCleanupSolver/hasCollisions.ts} +1 -1
  13. package/lib/solvers/TraceLabelOverlapAvoidanceSolver/{hasCollisionsWithLabels.ts → sub-solvers/TraceCleanupSolver/hasCollisionsWithLabels.ts} +1 -1
  14. package/lib/solvers/TraceLabelOverlapAvoidanceSolver/{minimizeTurnsWithFilteredLabels.ts → sub-solvers/TraceCleanupSolver/minimizeTurnsWithFilteredLabels.ts} +6 -6
  15. package/lib/solvers/TraceLabelOverlapAvoidanceSolver/{simplifyPath.ts → sub-solvers/TraceCleanupSolver/simplifyPath.ts} +1 -1
  16. package/lib/solvers/TraceLabelOverlapAvoidanceSolver/{turnMinimization.ts → sub-solvers/TraceCleanupSolver/turnMinimization.ts} +0 -2
  17. package/lib/solvers/TraceLabelOverlapAvoidanceSolver/tryFourPointDetour.ts +104 -0
  18. package/lib/solvers/TraceLabelOverlapAvoidanceSolver/trySnipAndReconnect.ts +24 -154
  19. package/lib/utils/does-trace-overlap-with-existing-traces.ts +33 -0
  20. package/package.json +1 -1
  21. package/site/examples/example25.page.tsx +4 -0
  22. package/tests/assets/1.input.json +379 -0
  23. package/tests/assets/2.input.json +330 -0
  24. package/tests/assets/3.input.json +388 -0
  25. package/tests/assets/MergedNetLabelObstacles.test.input.json +154 -0
  26. package/tests/assets/OverlapAvoidanceStepSolver.test.input.json +682 -0
  27. package/tests/assets/SingleOverlapSolver.test.input.json +170 -0
  28. package/tests/assets/TraceCleanupSolver.test.input.json +216 -0
  29. package/tests/assets/TraceLabelOverlapAvoidanceSolver.test.input.json +424 -0
  30. package/tests/assets/example25.json +96 -0
  31. package/tests/examples/__snapshots__/example03.snap.svg +67 -76
  32. package/tests/examples/__snapshots__/example10.snap.svg +24 -30
  33. package/tests/examples/__snapshots__/example13.snap.svg +81 -84
  34. package/tests/examples/__snapshots__/example15.snap.svg +5 -8
  35. package/tests/examples/__snapshots__/example21.snap.svg +68 -74
  36. package/tests/examples/__snapshots__/example25.snap.svg +3 -3
  37. package/tests/examples/__snapshots__/example26.snap.svg +3 -3
  38. package/tests/examples/__snapshots__/example28.snap.svg +273 -0
  39. package/tests/examples/example28.test.ts +13 -0
  40. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/TraceLabelOverlapAvoidanceSolver.test.ts +18 -0
  41. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/__snapshots__/TraceLabelOverlapAvoidanceSolver.snap.svg +243 -0
  42. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/renderComparisonView/__snapshots__/renderComparisonView01.snap.svg +223 -0
  43. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/renderComparisonView/__snapshots__/renderComparisonView02.snap.svg +205 -0
  44. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/renderComparisonView/__snapshots__/renderComparisonView03.snap.svg +184 -0
  45. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/renderComparisonView/renderComparisonView01.test.ts +29 -0
  46. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/renderComparisonView/renderComparisonView02.test.ts +27 -0
  47. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/renderComparisonView/renderComparisonView03.test.ts +39 -0
  48. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/MergedNetLabelObstacles.test.ts +14 -0
  49. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/OverlapAvoidanceStepSolver.test.ts +20 -0
  50. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/SingleOverlapSolver.test.ts +10 -0
  51. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/TraceCleanupSolver.test.ts +19 -0
  52. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/__snapshots__/MergedNetLabelObstacles.snap.svg +140 -0
  53. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/__snapshots__/OverlapAvoidanceStepSolver.snap.svg +216 -0
  54. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/__snapshots__/SingleOverlapSolver.snap.svg +125 -0
  55. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/__snapshots__/TraceCleanupSolver.snap.svg +119 -0
  56. /package/lib/solvers/TraceLabelOverlapAvoidanceSolver/{countTurns.ts → sub-solvers/TraceCleanupSolver/countTurns.ts} +0 -0
  57. /package/lib/solvers/TraceLabelOverlapAvoidanceSolver/{tryConnectPoints.ts → sub-solvers/TraceCleanupSolver/tryConnectPoints.ts} +0 -0
@@ -0,0 +1,682 @@
1
+ {
2
+ "problem": {
3
+ "chips": [
4
+ {
5
+ "chipId": "schematic_component_0",
6
+ "center": {
7
+ "x": 0,
8
+ "y": 0
9
+ },
10
+ "width": 2.4000000000000004,
11
+ "height": 1,
12
+ "pins": [
13
+ {
14
+ "pinId": "U1.1",
15
+ "x": 1.2000000000000002,
16
+ "y": -0.30000000000000004
17
+ },
18
+ {
19
+ "pinId": "U1.2",
20
+ "x": -1.2000000000000002,
21
+ "y": -0.30000000000000004
22
+ },
23
+ {
24
+ "pinId": "U1.3",
25
+ "x": 1.2000000000000002,
26
+ "y": 0.09999999999999998
27
+ },
28
+ {
29
+ "pinId": "U1.4",
30
+ "x": -1.2000000000000002,
31
+ "y": 0.30000000000000004
32
+ },
33
+ {
34
+ "pinId": "U1.5",
35
+ "x": -1.2000000000000002,
36
+ "y": 0.10000000000000003
37
+ },
38
+ {
39
+ "pinId": "U1.6",
40
+ "x": -1.2000000000000002,
41
+ "y": -0.09999999999999998
42
+ },
43
+ {
44
+ "pinId": "U1.7",
45
+ "x": 1.2000000000000002,
46
+ "y": -0.10000000000000003
47
+ },
48
+ {
49
+ "pinId": "U1.8",
50
+ "x": 1.2000000000000002,
51
+ "y": 0.30000000000000004
52
+ }
53
+ ]
54
+ },
55
+ {
56
+ "chipId": "schematic_component_1",
57
+ "center": {
58
+ "x": 2.45,
59
+ "y": -0.10000000000000009
60
+ },
61
+ "width": 1.0999999999999996,
62
+ "height": 0.388910699999999,
63
+ "pins": [
64
+ {
65
+ "pinId": "R1.1",
66
+ "x": 3,
67
+ "y": -0.10000000000000016
68
+ },
69
+ {
70
+ "pinId": "R1.2",
71
+ "x": 1.9000000000000004,
72
+ "y": -0.10000000000000002
73
+ }
74
+ ]
75
+ },
76
+ {
77
+ "chipId": "schematic_component_2",
78
+ "center": {
79
+ "x": 0.6500000000000001,
80
+ "y": -1.2944553500000002
81
+ },
82
+ "width": 1.1,
83
+ "height": 0.388910699999999,
84
+ "pins": [
85
+ {
86
+ "pinId": "R2.1",
87
+ "x": 1.2000000000000002,
88
+ "y": -1.2944553500000002
89
+ },
90
+ {
91
+ "pinId": "R2.2",
92
+ "x": 0.10000000000000009,
93
+ "y": -1.2944553500000002
94
+ }
95
+ ]
96
+ },
97
+ {
98
+ "chipId": "schematic_component_3",
99
+ "center": {
100
+ "x": -1.2000000000000002,
101
+ "y": -1.7000000000000002
102
+ },
103
+ "width": 1.06,
104
+ "height": 1.1,
105
+ "pins": [
106
+ {
107
+ "pinId": "C1.1",
108
+ "x": -1.2000000000000002,
109
+ "y": -1.1500000000000001
110
+ },
111
+ {
112
+ "pinId": "C1.2",
113
+ "x": -1.2000000000000002,
114
+ "y": -2.25
115
+ }
116
+ ]
117
+ },
118
+ {
119
+ "chipId": "schematic_component_4",
120
+ "center": {
121
+ "x": -2.45,
122
+ "y": 0.10000000000000009
123
+ },
124
+ "width": 1.0999999999999996,
125
+ "height": 0.84,
126
+ "pins": [
127
+ {
128
+ "pinId": "C2.1",
129
+ "x": -1.9000000000000004,
130
+ "y": 0.10000000000000002
131
+ },
132
+ {
133
+ "pinId": "C2.2",
134
+ "x": -3,
135
+ "y": 0.10000000000000016
136
+ }
137
+ ]
138
+ },
139
+ {
140
+ "chipId": "schematic_component_5",
141
+ "center": {
142
+ "x": 1.2000000000000002,
143
+ "y": 1.7000000000000002
144
+ },
145
+ "width": 1.06,
146
+ "height": 1.1,
147
+ "pins": [
148
+ {
149
+ "pinId": "R3.1",
150
+ "x": 1.2000000000000002,
151
+ "y": 1.1500000000000001
152
+ },
153
+ {
154
+ "pinId": "R3.2",
155
+ "x": 1.2000000000000002,
156
+ "y": 2.25
157
+ }
158
+ ]
159
+ }
160
+ ],
161
+ "directConnections": [
162
+ {
163
+ "pinIds": ["U1.5", "C2.1"],
164
+ "netId": "U1.CTRL to C2.pin1"
165
+ },
166
+ {
167
+ "pinIds": ["U1.6", "U1.2"],
168
+ "netId": "U1.THRES to U1.TRIG"
169
+ },
170
+ {
171
+ "pinIds": ["R1.2", "U1.7"],
172
+ "netId": "R1.pin2 to U1.DISCH"
173
+ },
174
+ {
175
+ "pinIds": ["U1.7", "R2.1"],
176
+ "netId": "U1.DISCH to R2.pin1"
177
+ },
178
+ {
179
+ "pinIds": ["R2.2", "U1.6"],
180
+ "netId": "R2.pin2 to U1.THRES"
181
+ },
182
+ {
183
+ "pinIds": ["U1.6", "C1.1"],
184
+ "netId": "U1.THRES to C1.pin1"
185
+ },
186
+ {
187
+ "pinIds": ["U1.3", "R3.1"],
188
+ "netId": "U1.OUT to R3.pin1"
189
+ }
190
+ ],
191
+ "netConnections": [
192
+ {
193
+ "netId": "GND",
194
+ "pinIds": ["U1.1", "C1.2", "C2.2"]
195
+ },
196
+ {
197
+ "netId": "VCC",
198
+ "pinIds": ["U1.4", "U1.8", "R1.1"]
199
+ }
200
+ ],
201
+ "availableNetLabelOrientations": {
202
+ "VCC": ["y+"],
203
+ "GND": ["y-"]
204
+ },
205
+ "maxMspPairDistance": 2.4
206
+ },
207
+ "traces": [
208
+ {
209
+ "mspPairId": "U1.5-C2.1",
210
+ "dcConnNetId": "connectivity_net0",
211
+ "globalConnNetId": "connectivity_net0",
212
+ "userNetId": "U1.CTRL to C2.pin1",
213
+ "pins": [
214
+ {
215
+ "pinId": "U1.5",
216
+ "x": -1.2000000000000002,
217
+ "y": 0.10000000000000003,
218
+ "chipId": "schematic_component_0",
219
+ "_facingDirection": "x-"
220
+ },
221
+ {
222
+ "pinId": "C2.1",
223
+ "x": -1.9000000000000004,
224
+ "y": 0.10000000000000002,
225
+ "chipId": "schematic_component_4",
226
+ "_facingDirection": "x+"
227
+ }
228
+ ],
229
+ "tracePath": [
230
+ {
231
+ "x": -1.2000000000000002,
232
+ "y": 0.10000000000000003
233
+ },
234
+ {
235
+ "x": -1.9000000000000004,
236
+ "y": 0.10000000000000002
237
+ }
238
+ ],
239
+ "mspConnectionPairIds": ["U1.5-C2.1"],
240
+ "pinIds": ["U1.5", "C2.1"]
241
+ },
242
+ {
243
+ "mspPairId": "U1.2-C1.1",
244
+ "dcConnNetId": "connectivity_net1",
245
+ "globalConnNetId": "connectivity_net1",
246
+ "userNetId": "U1.THRES to U1.TRIG",
247
+ "pins": [
248
+ {
249
+ "pinId": "U1.2",
250
+ "x": -1.2000000000000002,
251
+ "y": -0.30000000000000004,
252
+ "chipId": "schematic_component_0",
253
+ "_facingDirection": "x-"
254
+ },
255
+ {
256
+ "pinId": "C1.1",
257
+ "x": -1.2000000000000002,
258
+ "y": -1.1500000000000001,
259
+ "chipId": "schematic_component_3",
260
+ "_facingDirection": "y+"
261
+ }
262
+ ],
263
+ "tracePath": [
264
+ {
265
+ "x": -1.2000000000000002,
266
+ "y": -0.30000000000000004
267
+ },
268
+ {
269
+ "x": -1.4000000000000001,
270
+ "y": -0.30000000000000004
271
+ },
272
+ {
273
+ "x": -1.4000000000000001,
274
+ "y": -0.7250000000000001
275
+ },
276
+ {
277
+ "x": -1.2000000000000002,
278
+ "y": -0.7250000000000001
279
+ },
280
+ {
281
+ "x": -1.2000000000000002,
282
+ "y": -1.1500000000000001
283
+ }
284
+ ],
285
+ "mspConnectionPairIds": ["U1.2-C1.1"],
286
+ "pinIds": ["U1.2", "C1.1"]
287
+ },
288
+ {
289
+ "mspPairId": "U1.6-U1.2",
290
+ "dcConnNetId": "connectivity_net1",
291
+ "globalConnNetId": "connectivity_net1",
292
+ "userNetId": "U1.THRES to C1.pin1",
293
+ "pins": [
294
+ {
295
+ "pinId": "U1.6",
296
+ "x": -1.2000000000000002,
297
+ "y": -0.09999999999999998,
298
+ "chipId": "schematic_component_0",
299
+ "_facingDirection": "x-"
300
+ },
301
+ {
302
+ "pinId": "U1.2",
303
+ "x": -1.2000000000000002,
304
+ "y": -0.30000000000000004,
305
+ "chipId": "schematic_component_0",
306
+ "_facingDirection": "x-"
307
+ }
308
+ ],
309
+ "tracePath": [
310
+ {
311
+ "x": -1.2000000000000002,
312
+ "y": -0.09999999999999998
313
+ },
314
+ {
315
+ "x": -1.4000000000000001,
316
+ "y": -0.09999999999999998
317
+ },
318
+ {
319
+ "x": -1.4000000000000001,
320
+ "y": -0.30000000000000004
321
+ },
322
+ {
323
+ "x": -1.2000000000000002,
324
+ "y": -0.30000000000000004
325
+ }
326
+ ],
327
+ "mspConnectionPairIds": ["U1.6-U1.2"],
328
+ "pinIds": ["U1.6", "U1.2"]
329
+ },
330
+ {
331
+ "mspPairId": "R2.2-C1.1",
332
+ "dcConnNetId": "connectivity_net1",
333
+ "globalConnNetId": "connectivity_net1",
334
+ "userNetId": "R2.pin2 to U1.THRES",
335
+ "pins": [
336
+ {
337
+ "pinId": "R2.2",
338
+ "x": 0.10000000000000009,
339
+ "y": -1.2944553500000002,
340
+ "chipId": "schematic_component_2",
341
+ "_facingDirection": "x-"
342
+ },
343
+ {
344
+ "pinId": "C1.1",
345
+ "x": -1.2000000000000002,
346
+ "y": -1.1500000000000001,
347
+ "chipId": "schematic_component_3",
348
+ "_facingDirection": "y+"
349
+ }
350
+ ],
351
+ "tracePath": [
352
+ {
353
+ "x": 0.09999999999999987,
354
+ "y": -1.2944553500000002
355
+ },
356
+ {
357
+ "x": -0.55,
358
+ "y": -1.2944553500000002
359
+ },
360
+ {
361
+ "x": -0.55,
362
+ "y": -0.9500000000000002
363
+ },
364
+ {
365
+ "x": -1.2000000000000002,
366
+ "y": -0.9500000000000002
367
+ },
368
+ {
369
+ "x": -1.2000000000000002,
370
+ "y": -1.1500000000000001
371
+ }
372
+ ],
373
+ "mspConnectionPairIds": ["R2.2-C1.1"],
374
+ "pinIds": ["R2.2", "C1.1"]
375
+ },
376
+ {
377
+ "mspPairId": "U1.7-R1.2",
378
+ "dcConnNetId": "connectivity_net2",
379
+ "globalConnNetId": "connectivity_net2",
380
+ "userNetId": "U1.DISCH to R2.pin1",
381
+ "pins": [
382
+ {
383
+ "pinId": "U1.7",
384
+ "x": 1.2000000000000002,
385
+ "y": -0.10000000000000003,
386
+ "chipId": "schematic_component_0",
387
+ "_facingDirection": "x+"
388
+ },
389
+ {
390
+ "pinId": "R1.2",
391
+ "x": 1.9000000000000004,
392
+ "y": -0.10000000000000002,
393
+ "chipId": "schematic_component_1",
394
+ "_facingDirection": "x-"
395
+ }
396
+ ],
397
+ "tracePath": [
398
+ {
399
+ "x": 1.2000000000000002,
400
+ "y": -0.10000000000000003
401
+ },
402
+ {
403
+ "x": 1.9000000000000004,
404
+ "y": -0.10000000000000002
405
+ }
406
+ ],
407
+ "mspConnectionPairIds": ["U1.7-R1.2"],
408
+ "pinIds": ["U1.7", "R1.2"]
409
+ },
410
+ {
411
+ "mspPairId": "R2.1-U1.7",
412
+ "dcConnNetId": "connectivity_net2",
413
+ "globalConnNetId": "connectivity_net2",
414
+ "userNetId": "U1.DISCH to R2.pin1",
415
+ "pins": [
416
+ {
417
+ "pinId": "R2.1",
418
+ "x": 1.2000000000000002,
419
+ "y": -1.2944553500000002,
420
+ "chipId": "schematic_component_2",
421
+ "_facingDirection": "x+"
422
+ },
423
+ {
424
+ "pinId": "U1.7",
425
+ "x": 1.2000000000000002,
426
+ "y": -0.10000000000000003,
427
+ "chipId": "schematic_component_0",
428
+ "_facingDirection": "x+"
429
+ }
430
+ ],
431
+ "tracePath": [
432
+ {
433
+ "x": 1.2000000000000002,
434
+ "y": -1.2944553500000002
435
+ },
436
+ {
437
+ "x": 1.4000000000000001,
438
+ "y": -1.2944553500000002
439
+ },
440
+ {
441
+ "x": 1.4000000000000001,
442
+ "y": -0.10000000000000003
443
+ },
444
+ {
445
+ "x": 1.2000000000000002,
446
+ "y": -0.10000000000000003
447
+ }
448
+ ],
449
+ "mspConnectionPairIds": ["R2.1-U1.7"],
450
+ "pinIds": ["R2.1", "U1.7"]
451
+ },
452
+ {
453
+ "mspPairId": "U1.3-R3.1",
454
+ "dcConnNetId": "connectivity_net3",
455
+ "globalConnNetId": "connectivity_net3",
456
+ "userNetId": "U1.OUT to R3.pin1",
457
+ "pins": [
458
+ {
459
+ "pinId": "U1.3",
460
+ "x": 1.2000000000000002,
461
+ "y": 0.09999999999999998,
462
+ "chipId": "schematic_component_0",
463
+ "_facingDirection": "x+"
464
+ },
465
+ {
466
+ "pinId": "R3.1",
467
+ "x": 1.2000000000000002,
468
+ "y": 1.1500000000000001,
469
+ "chipId": "schematic_component_5",
470
+ "_facingDirection": "y-"
471
+ }
472
+ ],
473
+ "tracePath": [
474
+ {
475
+ "x": 1.2000000000000002,
476
+ "y": 0.09999999999999998
477
+ },
478
+ {
479
+ "x": 1.4000000000000001,
480
+ "y": 0.09999999999999998
481
+ },
482
+ {
483
+ "x": 1.4000000000000001,
484
+ "y": 0.625
485
+ },
486
+ {
487
+ "x": 1.2000000000000002,
488
+ "y": 0.625
489
+ },
490
+ {
491
+ "x": 1.2000000000000002,
492
+ "y": 1.1500000000000001
493
+ }
494
+ ],
495
+ "mspConnectionPairIds": ["U1.3-R3.1"],
496
+ "pinIds": ["U1.3", "R3.1"]
497
+ },
498
+ {
499
+ "mspPairId": "U1.8-R1.1",
500
+ "dcConnNetId": "connectivity_net5",
501
+ "globalConnNetId": "connectivity_net5",
502
+ "userNetId": "VCC",
503
+ "pins": [
504
+ {
505
+ "pinId": "U1.8",
506
+ "x": 1.2000000000000002,
507
+ "y": 0.30000000000000004,
508
+ "chipId": "schematic_component_0",
509
+ "_facingDirection": "x+"
510
+ },
511
+ {
512
+ "pinId": "R1.1",
513
+ "x": 3,
514
+ "y": -0.10000000000000016,
515
+ "chipId": "schematic_component_1",
516
+ "_facingDirection": "x+"
517
+ }
518
+ ],
519
+ "tracePath": [
520
+ {
521
+ "x": 1.2000000000000002,
522
+ "y": 0.30000000000000004
523
+ },
524
+ {
525
+ "x": 3.2,
526
+ "y": 0.30000000000000004
527
+ },
528
+ {
529
+ "x": 3.2,
530
+ "y": -0.10000000000000016
531
+ },
532
+ {
533
+ "x": 3,
534
+ "y": -0.10000000000000016
535
+ }
536
+ ],
537
+ "mspConnectionPairIds": ["U1.8-R1.1"],
538
+ "pinIds": ["U1.8", "R1.1"]
539
+ },
540
+ {
541
+ "mspPairId": "C1.2-C2.2",
542
+ "dcConnNetId": "connectivity_net4",
543
+ "globalConnNetId": "connectivity_net4",
544
+ "pins": [
545
+ {
546
+ "pinId": "C1.2",
547
+ "x": -1.2000000000000002,
548
+ "y": -2.25,
549
+ "chipId": "schematic_component_3",
550
+ "_facingDirection": "y-"
551
+ },
552
+ {
553
+ "pinId": "C2.2",
554
+ "x": -3,
555
+ "y": 0.10000000000000016,
556
+ "chipId": "schematic_component_4",
557
+ "_facingDirection": "x-"
558
+ }
559
+ ],
560
+ "tracePath": [
561
+ {
562
+ "x": -1.2000000000000002,
563
+ "y": -2.25
564
+ },
565
+ {
566
+ "x": -1.2000000000000002,
567
+ "y": -2.45
568
+ },
569
+ {
570
+ "x": -3.2,
571
+ "y": -2.45
572
+ },
573
+ {
574
+ "x": -3.2,
575
+ "y": 0.10000000000000016
576
+ },
577
+ {
578
+ "x": -3,
579
+ "y": 0.10000000000000016
580
+ }
581
+ ],
582
+ "mspConnectionPairIds": ["C1.2-C2.2"],
583
+ "pinIds": ["C1.2", "C2.2"]
584
+ }
585
+ ],
586
+ "netLabelPlacements": [
587
+ {
588
+ "globalConnNetId": "merged-group-U1-x+",
589
+ "netId": "GND",
590
+ "mspConnectionPairIds": ["U1.3-R3.1"],
591
+ "pinIds": ["U1.1", "U1.3", "R3.1"],
592
+ "orientation": "x+",
593
+ "anchorPoint": {
594
+ "x": 1.2000000000000002,
595
+ "y": -0.30000000000000004
596
+ },
597
+ "width": 0.6490000000000002,
598
+ "height": 0.6,
599
+ "center": {
600
+ "x": 1.5255,
601
+ "y": -0.10000000000000003
602
+ }
603
+ },
604
+ {
605
+ "globalConnNetId": "connectivity_net4",
606
+ "dcConnNetId": "connectivity_net4",
607
+ "netId": "GND",
608
+ "mspConnectionPairIds": ["C1.2-C2.2"],
609
+ "pinIds": ["C1.2", "C2.2"],
610
+ "orientation": "y-",
611
+ "anchorPoint": {
612
+ "x": -1.2000000000000002,
613
+ "y": -2.45
614
+ },
615
+ "width": 0.2,
616
+ "height": 0.45,
617
+ "center": {
618
+ "x": -1.2000000000000002,
619
+ "y": -2.6750000000000003
620
+ }
621
+ },
622
+ {
623
+ "globalConnNetId": "merged-group-U1-x-",
624
+ "dcConnNetId": "connectivity_net1",
625
+ "netId": "U1.THRES to U1.TRIG",
626
+ "mspConnectionPairIds": ["U1.2-C1.1"],
627
+ "pinIds": ["U1.2", "C1.1", "U1.4"],
628
+ "orientation": "x-",
629
+ "anchorPoint": {
630
+ "x": -1.4000000000000001,
631
+ "y": -0.30000000000000004
632
+ },
633
+ "width": 0.6490000000000002,
634
+ "height": 0.8,
635
+ "center": {
636
+ "x": -1.5255,
637
+ "y": 0
638
+ }
639
+ },
640
+ {
641
+ "globalConnNetId": "merged-group-U1-y+",
642
+ "dcConnNetId": "connectivity_net5",
643
+ "netId": "VCC",
644
+ "mspConnectionPairIds": ["U1.8-R1.1", "U1.5-C2.1"],
645
+ "pinIds": ["U1.8", "R1.1", "U1.5", "C2.1"],
646
+ "orientation": "y+",
647
+ "anchorPoint": {
648
+ "x": 2.2,
649
+ "y": 0.30000000000000004
650
+ },
651
+ "width": 3.9500000000000006,
652
+ "height": 0.6499999999999999,
653
+ "center": {
654
+ "x": 0.32499999999999996,
655
+ "y": 0.42500000000000004
656
+ }
657
+ },
658
+ {
659
+ "globalConnNetId": "connectivity_net2",
660
+ "dcConnNetId": "connectivity_net2",
661
+ "netId": "U1.DISCH to R2.pin1",
662
+ "mspConnectionPairIds": ["R2.1-U1.7"],
663
+ "pinIds": ["R2.1", "U1.7"],
664
+ "orientation": "y-",
665
+ "anchorPoint": {
666
+ "x": 1.4000000000000001,
667
+ "y": -1.2944553500000002
668
+ },
669
+ "width": 0.2,
670
+ "height": 0.45,
671
+ "center": {
672
+ "x": 1.4000000000000001,
673
+ "y": -1.5194553500000003
674
+ }
675
+ }
676
+ ],
677
+ "mergedLabelNetIdMap": {
678
+ "merged-group-U1-x+": ["connectivity_net4", "connectivity_net3"],
679
+ "merged-group-U1-x-": ["connectivity_net1", "connectivity_net5"],
680
+ "merged-group-U1-y+": ["connectivity_net5", "connectivity_net0"]
681
+ }
682
+ }