@tscircuit/schematic-trace-solver 0.0.105 → 0.0.107

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 (20) hide show
  1. package/dist/index.js +403 -166
  2. package/lib/solvers/TraceCleanupSolver/minimizeTurnsWithFilteredLabels.ts +78 -27
  3. package/lib/solvers/TraceCleanupSolver/sameNetRailAlignment/geometry.ts +40 -20
  4. package/lib/solvers/TraceCleanupSolver/sub-solver/UntangleTraceSubsolver.ts +178 -9
  5. package/lib/solvers/TraceCleanupSolver/sub-solver/findIntersectionsWithObstacles.ts +59 -0
  6. package/lib/solvers/TraceCleanupSolver/sub-solver/generateLShapeRerouteCandidates.ts +64 -1
  7. package/package.json +1 -1
  8. package/tests/bug-reports/bug-report-20260707T140410Z/__snapshots__/bug-report-20260707T140410Z.snap.svg +3 -3
  9. package/tests/bug-reports/bug-report-20260721T221026Z/__snapshots__/bug-report-20260721T221026Z.snap.svg +1 -1
  10. package/tests/examples/__snapshots__/example13.snap.svg +3 -3
  11. package/tests/examples/__snapshots__/example29.snap.svg +23 -23
  12. package/tests/examples/example19.test.ts +4 -0
  13. package/tests/repros/__snapshots__/repro-example35-minimize-trace-crossing.snap.svg +256 -0
  14. package/tests/repros/__snapshots__/repro-tps61222-trace-intersection.snap.svg +221 -0
  15. package/tests/repros/__snapshots__/repro47-endpoint-obstacle-detour.snap.svg +1 -1
  16. package/tests/repros/assets/repro-example35-minimize-trace-crossing.input.json +1561 -0
  17. package/tests/repros/assets/repro-tps61222-trace-intersection.input.json +200 -0
  18. package/tests/repros/repro-example35-minimize-trace-crossing.test.ts +22 -0
  19. package/tests/repros/repro-tps61222-trace-intersection.test.ts +14 -0
  20. package/tests/repros/repro47-endpoint-obstacle-detour.test.ts +6 -0
@@ -0,0 +1,1561 @@
1
+ {
2
+ "chips": [
3
+ {
4
+ "chipId": "schematic_component_0",
5
+ "center": {
6
+ "x": -5,
7
+ "y": 0
8
+ },
9
+ "width": 0.5999999999999996,
10
+ "height": 0.6799999999999999,
11
+ "pins": [
12
+ {
13
+ "pinId": "R2.1",
14
+ "x": -5.3,
15
+ "y": 0,
16
+ "_facingDirection": "x-"
17
+ },
18
+ {
19
+ "pinId": "R2.2",
20
+ "x": -4.7,
21
+ "y": 0,
22
+ "_facingDirection": "x+"
23
+ }
24
+ ]
25
+ },
26
+ {
27
+ "chipId": "schematic_component_1",
28
+ "center": {
29
+ "x": -2.8674999999999997,
30
+ "y": -1
31
+ },
32
+ "width": 1.1650000000000005,
33
+ "height": 0.7599999999999998,
34
+ "pins": [
35
+ {
36
+ "pinId": "C4.1",
37
+ "x": -3,
38
+ "y": -0.7,
39
+ "_facingDirection": "y+"
40
+ },
41
+ {
42
+ "pinId": "C4.2",
43
+ "x": -3,
44
+ "y": -1.3,
45
+ "_facingDirection": "y-"
46
+ }
47
+ ]
48
+ },
49
+ {
50
+ "chipId": "schematic_component_2",
51
+ "center": {
52
+ "x": -5,
53
+ "y": -2
54
+ },
55
+ "width": 0.5999999999999996,
56
+ "height": 0.6800000000000002,
57
+ "pins": [
58
+ {
59
+ "pinId": "R3.1",
60
+ "x": -5.3,
61
+ "y": -2,
62
+ "_facingDirection": "x-"
63
+ },
64
+ {
65
+ "pinId": "R3.2",
66
+ "x": -4.7,
67
+ "y": -2,
68
+ "_facingDirection": "x+"
69
+ }
70
+ ]
71
+ },
72
+ {
73
+ "chipId": "schematic_component_3",
74
+ "center": {
75
+ "x": -3.8674999999999997,
76
+ "y": -3
77
+ },
78
+ "width": 1.1650000000000005,
79
+ "height": 0.7600000000000007,
80
+ "pins": [
81
+ {
82
+ "pinId": "C5.1",
83
+ "x": -4,
84
+ "y": -2.7,
85
+ "_facingDirection": "y+"
86
+ },
87
+ {
88
+ "pinId": "C5.2",
89
+ "x": -4,
90
+ "y": -3.3,
91
+ "_facingDirection": "y-"
92
+ }
93
+ ]
94
+ },
95
+ {
96
+ "chipId": "schematic_component_4",
97
+ "center": {
98
+ "x": -5,
99
+ "y": -4
100
+ },
101
+ "width": 0.5999999999999996,
102
+ "height": 0.6800000000000002,
103
+ "pins": [
104
+ {
105
+ "pinId": "R4.1",
106
+ "x": -5.3,
107
+ "y": -4,
108
+ "_facingDirection": "x-"
109
+ },
110
+ {
111
+ "pinId": "R4.2",
112
+ "x": -4.7,
113
+ "y": -4,
114
+ "_facingDirection": "x+"
115
+ }
116
+ ]
117
+ },
118
+ {
119
+ "chipId": "schematic_component_5",
120
+ "center": {
121
+ "x": -2.8674999999999997,
122
+ "y": -5
123
+ },
124
+ "width": 1.1650000000000005,
125
+ "height": 0.7599999999999998,
126
+ "pins": [
127
+ {
128
+ "pinId": "C6.1",
129
+ "x": -3,
130
+ "y": -4.7,
131
+ "_facingDirection": "y+"
132
+ },
133
+ {
134
+ "pinId": "C6.2",
135
+ "x": -3,
136
+ "y": -5.3,
137
+ "_facingDirection": "y-"
138
+ }
139
+ ]
140
+ },
141
+ {
142
+ "chipId": "schematic_component_6",
143
+ "center": {
144
+ "x": -5,
145
+ "y": -6
146
+ },
147
+ "width": 0.5999999999999996,
148
+ "height": 0.6799999999999997,
149
+ "pins": [
150
+ {
151
+ "pinId": "R7.1",
152
+ "x": -5.3,
153
+ "y": -6,
154
+ "_facingDirection": "x-"
155
+ },
156
+ {
157
+ "pinId": "R7.2",
158
+ "x": -4.7,
159
+ "y": -6,
160
+ "_facingDirection": "x+"
161
+ }
162
+ ]
163
+ },
164
+ {
165
+ "chipId": "schematic_component_7",
166
+ "center": {
167
+ "x": -3.8674999999999997,
168
+ "y": -7
169
+ },
170
+ "width": 1.1650000000000005,
171
+ "height": 0.7599999999999998,
172
+ "pins": [
173
+ {
174
+ "pinId": "C7.1",
175
+ "x": -4,
176
+ "y": -6.7,
177
+ "_facingDirection": "y+"
178
+ },
179
+ {
180
+ "pinId": "C7.2",
181
+ "x": -4,
182
+ "y": -7.3,
183
+ "_facingDirection": "y-"
184
+ }
185
+ ]
186
+ },
187
+ {
188
+ "chipId": "schematic_component_8",
189
+ "center": {
190
+ "x": -5,
191
+ "y": -8
192
+ },
193
+ "width": 0.5999999999999996,
194
+ "height": 0.6799999999999997,
195
+ "pins": [
196
+ {
197
+ "pinId": "R8.1",
198
+ "x": -5.3,
199
+ "y": -8,
200
+ "_facingDirection": "x-"
201
+ },
202
+ {
203
+ "pinId": "R8.2",
204
+ "x": -4.7,
205
+ "y": -8,
206
+ "_facingDirection": "x+"
207
+ }
208
+ ]
209
+ },
210
+ {
211
+ "chipId": "schematic_component_9",
212
+ "center": {
213
+ "x": -2.8674999999999997,
214
+ "y": -9
215
+ },
216
+ "width": 1.1650000000000005,
217
+ "height": 0.759999999999998,
218
+ "pins": [
219
+ {
220
+ "pinId": "C8.1",
221
+ "x": -3,
222
+ "y": -8.7,
223
+ "_facingDirection": "y+"
224
+ },
225
+ {
226
+ "pinId": "C8.2",
227
+ "x": -3,
228
+ "y": -9.3,
229
+ "_facingDirection": "y-"
230
+ }
231
+ ]
232
+ },
233
+ {
234
+ "chipId": "schematic_component_10",
235
+ "center": {
236
+ "x": -5,
237
+ "y": -10
238
+ },
239
+ "width": 0.5999999999999996,
240
+ "height": 0.6799999999999997,
241
+ "pins": [
242
+ {
243
+ "pinId": "R11.1",
244
+ "x": -5.3,
245
+ "y": -10,
246
+ "_facingDirection": "x-"
247
+ },
248
+ {
249
+ "pinId": "R11.2",
250
+ "x": -4.7,
251
+ "y": -10,
252
+ "_facingDirection": "x+"
253
+ }
254
+ ]
255
+ },
256
+ {
257
+ "chipId": "schematic_component_11",
258
+ "center": {
259
+ "x": -3.8674999999999997,
260
+ "y": -11
261
+ },
262
+ "width": 1.1650000000000005,
263
+ "height": 0.759999999999998,
264
+ "pins": [
265
+ {
266
+ "pinId": "C9.1",
267
+ "x": -4,
268
+ "y": -10.7,
269
+ "_facingDirection": "y+"
270
+ },
271
+ {
272
+ "pinId": "C9.2",
273
+ "x": -4,
274
+ "y": -11.3,
275
+ "_facingDirection": "y-"
276
+ }
277
+ ]
278
+ },
279
+ {
280
+ "chipId": "schematic_component_12",
281
+ "center": {
282
+ "x": -5,
283
+ "y": -12
284
+ },
285
+ "width": 0.5999999999999996,
286
+ "height": 0.6799999999999997,
287
+ "pins": [
288
+ {
289
+ "pinId": "R12.1",
290
+ "x": -5.3,
291
+ "y": -12,
292
+ "_facingDirection": "x-"
293
+ },
294
+ {
295
+ "pinId": "R12.2",
296
+ "x": -4.7,
297
+ "y": -12,
298
+ "_facingDirection": "x+"
299
+ }
300
+ ]
301
+ },
302
+ {
303
+ "chipId": "schematic_component_13",
304
+ "center": {
305
+ "x": -2.8674999999999997,
306
+ "y": -13
307
+ },
308
+ "width": 1.1650000000000005,
309
+ "height": 0.759999999999998,
310
+ "pins": [
311
+ {
312
+ "pinId": "C10.1",
313
+ "x": -3,
314
+ "y": -12.7,
315
+ "_facingDirection": "y+"
316
+ },
317
+ {
318
+ "pinId": "C10.2",
319
+ "x": -3,
320
+ "y": -13.3,
321
+ "_facingDirection": "y-"
322
+ }
323
+ ]
324
+ },
325
+ {
326
+ "chipId": "schematic_component_14",
327
+ "center": {
328
+ "x": -5,
329
+ "y": -14
330
+ },
331
+ "width": 0.5999999999999996,
332
+ "height": 0.6799999999999997,
333
+ "pins": [
334
+ {
335
+ "pinId": "R13.1",
336
+ "x": -5.3,
337
+ "y": -14,
338
+ "_facingDirection": "x-"
339
+ },
340
+ {
341
+ "pinId": "R13.2",
342
+ "x": -4.7,
343
+ "y": -14,
344
+ "_facingDirection": "x+"
345
+ }
346
+ ]
347
+ },
348
+ {
349
+ "chipId": "schematic_component_15",
350
+ "center": {
351
+ "x": -3.8674999999999997,
352
+ "y": -15
353
+ },
354
+ "width": 1.1650000000000005,
355
+ "height": 0.759999999999998,
356
+ "pins": [
357
+ {
358
+ "pinId": "C11.1",
359
+ "x": -4,
360
+ "y": -14.7,
361
+ "_facingDirection": "y+"
362
+ },
363
+ {
364
+ "pinId": "C11.2",
365
+ "x": -4,
366
+ "y": -15.3,
367
+ "_facingDirection": "y-"
368
+ }
369
+ ]
370
+ },
371
+ {
372
+ "chipId": "schematic_component_16",
373
+ "center": {
374
+ "x": -5,
375
+ "y": -16
376
+ },
377
+ "width": 0.5999999999999996,
378
+ "height": 0.6799999999999997,
379
+ "pins": [
380
+ {
381
+ "pinId": "R14.1",
382
+ "x": -5.3,
383
+ "y": -16,
384
+ "_facingDirection": "x-"
385
+ },
386
+ {
387
+ "pinId": "R14.2",
388
+ "x": -4.7,
389
+ "y": -16,
390
+ "_facingDirection": "x+"
391
+ }
392
+ ]
393
+ },
394
+ {
395
+ "chipId": "schematic_component_17",
396
+ "center": {
397
+ "x": -2.8674999999999997,
398
+ "y": -17
399
+ },
400
+ "width": 1.1650000000000005,
401
+ "height": 0.759999999999998,
402
+ "pins": [
403
+ {
404
+ "pinId": "C14.1",
405
+ "x": -3,
406
+ "y": -16.7,
407
+ "_facingDirection": "y+"
408
+ },
409
+ {
410
+ "pinId": "C14.2",
411
+ "x": -3,
412
+ "y": -17.3,
413
+ "_facingDirection": "y-"
414
+ }
415
+ ]
416
+ },
417
+ {
418
+ "chipId": "schematic_component_18",
419
+ "center": {
420
+ "x": -5,
421
+ "y": -18
422
+ },
423
+ "width": 0.5999999999999996,
424
+ "height": 0.6799999999999997,
425
+ "pins": [
426
+ {
427
+ "pinId": "R16.1",
428
+ "x": -5.3,
429
+ "y": -18,
430
+ "_facingDirection": "x-"
431
+ },
432
+ {
433
+ "pinId": "R16.2",
434
+ "x": -4.7,
435
+ "y": -18,
436
+ "_facingDirection": "x+"
437
+ }
438
+ ]
439
+ },
440
+ {
441
+ "chipId": "schematic_component_19",
442
+ "center": {
443
+ "x": -3.8674999999999997,
444
+ "y": -19
445
+ },
446
+ "width": 1.1650000000000005,
447
+ "height": 0.759999999999998,
448
+ "pins": [
449
+ {
450
+ "pinId": "C16.1",
451
+ "x": -4,
452
+ "y": -18.7,
453
+ "_facingDirection": "y+"
454
+ },
455
+ {
456
+ "pinId": "C16.2",
457
+ "x": -4,
458
+ "y": -19.3,
459
+ "_facingDirection": "y-"
460
+ }
461
+ ]
462
+ },
463
+ {
464
+ "chipId": "schematic_component_20",
465
+ "center": {
466
+ "x": -5,
467
+ "y": -20
468
+ },
469
+ "width": 0.5999999999999996,
470
+ "height": 0.6799999999999997,
471
+ "pins": [
472
+ {
473
+ "pinId": "R17.1",
474
+ "x": -5.3,
475
+ "y": -20,
476
+ "_facingDirection": "x-"
477
+ },
478
+ {
479
+ "pinId": "R17.2",
480
+ "x": -4.7,
481
+ "y": -20,
482
+ "_facingDirection": "x+"
483
+ }
484
+ ]
485
+ },
486
+ {
487
+ "chipId": "schematic_component_21",
488
+ "center": {
489
+ "x": -2.8674999999999997,
490
+ "y": -21
491
+ },
492
+ "width": 1.1650000000000005,
493
+ "height": 0.759999999999998,
494
+ "pins": [
495
+ {
496
+ "pinId": "C17.1",
497
+ "x": -3,
498
+ "y": -20.7,
499
+ "_facingDirection": "y+"
500
+ },
501
+ {
502
+ "pinId": "C17.2",
503
+ "x": -3,
504
+ "y": -21.3,
505
+ "_facingDirection": "y-"
506
+ }
507
+ ]
508
+ },
509
+ {
510
+ "chipId": "schematic_component_22",
511
+ "center": {
512
+ "x": -5,
513
+ "y": -22
514
+ },
515
+ "width": 0.5999999999999996,
516
+ "height": 0.6799999999999997,
517
+ "pins": [
518
+ {
519
+ "pinId": "R18.1",
520
+ "x": -5.3,
521
+ "y": -22,
522
+ "_facingDirection": "x-"
523
+ },
524
+ {
525
+ "pinId": "R18.2",
526
+ "x": -4.7,
527
+ "y": -22,
528
+ "_facingDirection": "x+"
529
+ }
530
+ ]
531
+ },
532
+ {
533
+ "chipId": "schematic_component_23",
534
+ "center": {
535
+ "x": -3.8674999999999997,
536
+ "y": -23
537
+ },
538
+ "width": 1.1650000000000005,
539
+ "height": 0.759999999999998,
540
+ "pins": [
541
+ {
542
+ "pinId": "C18.1",
543
+ "x": -4,
544
+ "y": -22.7,
545
+ "_facingDirection": "y+"
546
+ },
547
+ {
548
+ "pinId": "C18.2",
549
+ "x": -4,
550
+ "y": -23.3,
551
+ "_facingDirection": "y-"
552
+ }
553
+ ]
554
+ },
555
+ {
556
+ "chipId": "schematic_component_24",
557
+ "center": {
558
+ "x": -5,
559
+ "y": -24
560
+ },
561
+ "width": 0.5999999999999996,
562
+ "height": 0.6799999999999997,
563
+ "pins": [
564
+ {
565
+ "pinId": "R19.1",
566
+ "x": -5.3,
567
+ "y": -24,
568
+ "_facingDirection": "x-"
569
+ },
570
+ {
571
+ "pinId": "R19.2",
572
+ "x": -4.7,
573
+ "y": -24,
574
+ "_facingDirection": "x+"
575
+ }
576
+ ]
577
+ },
578
+ {
579
+ "chipId": "schematic_component_25",
580
+ "center": {
581
+ "x": -2.8674999999999997,
582
+ "y": -25
583
+ },
584
+ "width": 1.1650000000000005,
585
+ "height": 0.759999999999998,
586
+ "pins": [
587
+ {
588
+ "pinId": "C19.1",
589
+ "x": -3,
590
+ "y": -24.7,
591
+ "_facingDirection": "y+"
592
+ },
593
+ {
594
+ "pinId": "C19.2",
595
+ "x": -3,
596
+ "y": -25.3,
597
+ "_facingDirection": "y-"
598
+ }
599
+ ]
600
+ },
601
+ {
602
+ "chipId": "schematic_component_26",
603
+ "center": {
604
+ "x": -5,
605
+ "y": -26
606
+ },
607
+ "width": 0.5999999999999996,
608
+ "height": 0.6799999999999997,
609
+ "pins": [
610
+ {
611
+ "pinId": "R21.1",
612
+ "x": -5.3,
613
+ "y": -26,
614
+ "_facingDirection": "x-"
615
+ },
616
+ {
617
+ "pinId": "R21.2",
618
+ "x": -4.7,
619
+ "y": -26,
620
+ "_facingDirection": "x+"
621
+ }
622
+ ]
623
+ },
624
+ {
625
+ "chipId": "schematic_component_27",
626
+ "center": {
627
+ "x": -3.8674999999999997,
628
+ "y": -27
629
+ },
630
+ "width": 1.1650000000000005,
631
+ "height": 0.759999999999998,
632
+ "pins": [
633
+ {
634
+ "pinId": "C21.1",
635
+ "x": -4,
636
+ "y": -26.7,
637
+ "_facingDirection": "y+"
638
+ },
639
+ {
640
+ "pinId": "C21.2",
641
+ "x": -4,
642
+ "y": -27.3,
643
+ "_facingDirection": "y-"
644
+ }
645
+ ]
646
+ },
647
+ {
648
+ "chipId": "schematic_component_28",
649
+ "center": {
650
+ "x": -5,
651
+ "y": -28
652
+ },
653
+ "width": 0.5999999999999996,
654
+ "height": 0.6799999999999997,
655
+ "pins": [
656
+ {
657
+ "pinId": "R22.1",
658
+ "x": -5.3,
659
+ "y": -28,
660
+ "_facingDirection": "x-"
661
+ },
662
+ {
663
+ "pinId": "R22.2",
664
+ "x": -4.7,
665
+ "y": -28,
666
+ "_facingDirection": "x+"
667
+ }
668
+ ]
669
+ },
670
+ {
671
+ "chipId": "schematic_component_29",
672
+ "center": {
673
+ "x": 5,
674
+ "y": 0
675
+ },
676
+ "width": 2,
677
+ "height": 6.200000000000003,
678
+ "pins": [
679
+ {
680
+ "pinId": "U1.1",
681
+ "x": 3.6,
682
+ "y": 1.7000000000000013,
683
+ "_facingDirection": "x-"
684
+ },
685
+ {
686
+ "pinId": "U1.2",
687
+ "x": 3.6,
688
+ "y": 1.5000000000000013,
689
+ "_facingDirection": "x-"
690
+ },
691
+ {
692
+ "pinId": "U1.3",
693
+ "x": 3.6,
694
+ "y": 1.3000000000000014,
695
+ "_facingDirection": "x-"
696
+ },
697
+ {
698
+ "pinId": "U1.4",
699
+ "x": 3.6,
700
+ "y": 1.1000000000000014,
701
+ "_facingDirection": "x-"
702
+ },
703
+ {
704
+ "pinId": "U1.5",
705
+ "x": 3.6,
706
+ "y": 0.9000000000000015,
707
+ "_facingDirection": "x-"
708
+ },
709
+ {
710
+ "pinId": "U1.6",
711
+ "x": 3.6,
712
+ "y": 0.7000000000000015,
713
+ "_facingDirection": "x-"
714
+ },
715
+ {
716
+ "pinId": "U1.7",
717
+ "x": 3.6,
718
+ "y": 0.5000000000000013,
719
+ "_facingDirection": "x-"
720
+ },
721
+ {
722
+ "pinId": "U1.8",
723
+ "x": 3.6,
724
+ "y": 0.30000000000000115,
725
+ "_facingDirection": "x-"
726
+ },
727
+ {
728
+ "pinId": "U1.9",
729
+ "x": 3.6,
730
+ "y": 0.10000000000000098,
731
+ "_facingDirection": "x-"
732
+ },
733
+ {
734
+ "pinId": "U1.10",
735
+ "x": 3.6,
736
+ "y": -0.0999999999999992,
737
+ "_facingDirection": "x-"
738
+ },
739
+ {
740
+ "pinId": "U1.11",
741
+ "x": 3.6,
742
+ "y": -0.2999999999999994,
743
+ "_facingDirection": "x-"
744
+ },
745
+ {
746
+ "pinId": "U1.12",
747
+ "x": 3.6,
748
+ "y": -0.49999999999999956,
749
+ "_facingDirection": "x-"
750
+ },
751
+ {
752
+ "pinId": "U1.13",
753
+ "x": 3.6,
754
+ "y": -0.6999999999999997,
755
+ "_facingDirection": "x-"
756
+ },
757
+ {
758
+ "pinId": "U1.14",
759
+ "x": 3.6,
760
+ "y": -0.8999999999999999,
761
+ "_facingDirection": "x-"
762
+ },
763
+ {
764
+ "pinId": "U1.15",
765
+ "x": 3.6,
766
+ "y": -1.0999999999999996,
767
+ "_facingDirection": "x-"
768
+ },
769
+ {
770
+ "pinId": "U1.16",
771
+ "x": 3.6,
772
+ "y": -1.2999999999999998,
773
+ "_facingDirection": "x-"
774
+ },
775
+ {
776
+ "pinId": "U1.17",
777
+ "x": 6.4,
778
+ "y": -2.600000000000001,
779
+ "_facingDirection": "x+"
780
+ },
781
+ {
782
+ "pinId": "U1.18",
783
+ "x": 3.6,
784
+ "y": -1.7000000000000002,
785
+ "_facingDirection": "x-"
786
+ },
787
+ {
788
+ "pinId": "U1.19",
789
+ "x": 3.6,
790
+ "y": -1.9000000000000004,
791
+ "_facingDirection": "x-"
792
+ },
793
+ {
794
+ "pinId": "U1.20",
795
+ "x": 3.6,
796
+ "y": -2.1000000000000005,
797
+ "_facingDirection": "x-"
798
+ },
799
+ {
800
+ "pinId": "U1.21",
801
+ "x": 3.6,
802
+ "y": -2.3000000000000007,
803
+ "_facingDirection": "x-"
804
+ },
805
+ {
806
+ "pinId": "U1.22",
807
+ "x": 3.6,
808
+ "y": -2.500000000000001,
809
+ "_facingDirection": "x-"
810
+ },
811
+ {
812
+ "pinId": "U1.23",
813
+ "x": 3.6,
814
+ "y": -2.700000000000001,
815
+ "_facingDirection": "x-"
816
+ },
817
+ {
818
+ "pinId": "U1.24",
819
+ "x": 3.6,
820
+ "y": -2.9000000000000012,
821
+ "_facingDirection": "x-"
822
+ },
823
+ {
824
+ "pinId": "U1.25",
825
+ "x": 6.4,
826
+ "y": -2.200000000000001,
827
+ "_facingDirection": "x+"
828
+ },
829
+ {
830
+ "pinId": "U1.26",
831
+ "x": 6.4,
832
+ "y": -2.000000000000001,
833
+ "_facingDirection": "x+"
834
+ },
835
+ {
836
+ "pinId": "U1.27",
837
+ "x": 6.4,
838
+ "y": -1.800000000000001,
839
+ "_facingDirection": "x+"
840
+ },
841
+ {
842
+ "pinId": "U1.28",
843
+ "x": 6.4,
844
+ "y": -1.400000000000001,
845
+ "_facingDirection": "x+"
846
+ },
847
+ {
848
+ "pinId": "U1.29",
849
+ "x": 6.4,
850
+ "y": -1.000000000000001,
851
+ "_facingDirection": "x+"
852
+ },
853
+ {
854
+ "pinId": "U1.30",
855
+ "x": 6.4,
856
+ "y": -0.6000000000000012,
857
+ "_facingDirection": "x+"
858
+ },
859
+ {
860
+ "pinId": "U1.31",
861
+ "x": 6.4,
862
+ "y": -0.20000000000000107,
863
+ "_facingDirection": "x+"
864
+ },
865
+ {
866
+ "pinId": "U1.32",
867
+ "x": 6.4,
868
+ "y": -8.881784197001252e-16,
869
+ "_facingDirection": "x+"
870
+ },
871
+ {
872
+ "pinId": "U1.33",
873
+ "x": 6.4,
874
+ "y": 0.1999999999999993,
875
+ "_facingDirection": "x+"
876
+ },
877
+ {
878
+ "pinId": "U1.34",
879
+ "x": 6.4,
880
+ "y": 0.39999999999999947,
881
+ "_facingDirection": "x+"
882
+ },
883
+ {
884
+ "pinId": "U1.35",
885
+ "x": 6.4,
886
+ "y": 0.5999999999999996,
887
+ "_facingDirection": "x+"
888
+ },
889
+ {
890
+ "pinId": "U1.36",
891
+ "x": 6.4,
892
+ "y": 0.7999999999999998,
893
+ "_facingDirection": "x+"
894
+ },
895
+ {
896
+ "pinId": "U1.37",
897
+ "x": 6.4,
898
+ "y": 1,
899
+ "_facingDirection": "x+"
900
+ },
901
+ {
902
+ "pinId": "U1.38",
903
+ "x": 6.4,
904
+ "y": 1.2000000000000002,
905
+ "_facingDirection": "x+"
906
+ },
907
+ {
908
+ "pinId": "U1.39",
909
+ "x": 6.4,
910
+ "y": 1.4,
911
+ "_facingDirection": "x+"
912
+ },
913
+ {
914
+ "pinId": "U1.40",
915
+ "x": 6.4,
916
+ "y": 1.6,
917
+ "_facingDirection": "x+"
918
+ },
919
+ {
920
+ "pinId": "U1.41",
921
+ "x": 6.4,
922
+ "y": 1.8000000000000003,
923
+ "_facingDirection": "x+"
924
+ },
925
+ {
926
+ "pinId": "U1.42",
927
+ "x": 6.4,
928
+ "y": 2.0000000000000004,
929
+ "_facingDirection": "x+"
930
+ },
931
+ {
932
+ "pinId": "U1.43",
933
+ "x": 6.4,
934
+ "y": 2.2000000000000006,
935
+ "_facingDirection": "x+"
936
+ },
937
+ {
938
+ "pinId": "U1.45",
939
+ "x": 6.4,
940
+ "y": 2.600000000000001,
941
+ "_facingDirection": "x+"
942
+ },
943
+ {
944
+ "pinId": "U1.46",
945
+ "x": 3.6,
946
+ "y": 2.700000000000001,
947
+ "_facingDirection": "x-"
948
+ },
949
+ {
950
+ "pinId": "U1.47",
951
+ "x": 3.6,
952
+ "y": 2.300000000000001,
953
+ "_facingDirection": "x-"
954
+ },
955
+ {
956
+ "pinId": "U1.48",
957
+ "x": 3.6,
958
+ "y": 1.9000000000000012,
959
+ "_facingDirection": "x-"
960
+ }
961
+ ]
962
+ },
963
+ {
964
+ "chipId": "schematic_component_30",
965
+ "center": {
966
+ "x": -9,
967
+ "y": -4
968
+ },
969
+ "width": 0.3999999999999986,
970
+ "height": 1.4000000000000004,
971
+ "pins": [
972
+ {
973
+ "pinId": "J1.1",
974
+ "x": -8.4,
975
+ "y": -3.5,
976
+ "_facingDirection": "x+"
977
+ },
978
+ {
979
+ "pinId": "J1.2",
980
+ "x": -8.4,
981
+ "y": -3.7,
982
+ "_facingDirection": "x+"
983
+ },
984
+ {
985
+ "pinId": "J1.3",
986
+ "x": -8.4,
987
+ "y": -3.9,
988
+ "_facingDirection": "x+"
989
+ },
990
+ {
991
+ "pinId": "J1.4",
992
+ "x": -8.4,
993
+ "y": -4.1,
994
+ "_facingDirection": "x+"
995
+ },
996
+ {
997
+ "pinId": "J1.5",
998
+ "x": -8.4,
999
+ "y": -4.3,
1000
+ "_facingDirection": "x+"
1001
+ },
1002
+ {
1003
+ "pinId": "J1.6",
1004
+ "x": -8.4,
1005
+ "y": -4.5,
1006
+ "_facingDirection": "x+"
1007
+ }
1008
+ ]
1009
+ },
1010
+ {
1011
+ "chipId": "schematic_component_31",
1012
+ "center": {
1013
+ "x": -9,
1014
+ "y": -10
1015
+ },
1016
+ "width": 0.3999999999999986,
1017
+ "height": 1.1999999999999993,
1018
+ "pins": [
1019
+ {
1020
+ "pinId": "J3.1",
1021
+ "x": -8.4,
1022
+ "y": -9.6,
1023
+ "_facingDirection": "x+"
1024
+ },
1025
+ {
1026
+ "pinId": "J3.2",
1027
+ "x": -8.4,
1028
+ "y": -9.8,
1029
+ "_facingDirection": "x+"
1030
+ },
1031
+ {
1032
+ "pinId": "J3.3",
1033
+ "x": -8.4,
1034
+ "y": -10,
1035
+ "_facingDirection": "x+"
1036
+ },
1037
+ {
1038
+ "pinId": "J3.4",
1039
+ "x": -8.4,
1040
+ "y": -10.2,
1041
+ "_facingDirection": "x+"
1042
+ },
1043
+ {
1044
+ "pinId": "J3.5",
1045
+ "x": -8.4,
1046
+ "y": -10.4,
1047
+ "_facingDirection": "x+"
1048
+ }
1049
+ ]
1050
+ },
1051
+ {
1052
+ "chipId": "schematic_component_32",
1053
+ "center": {
1054
+ "x": -9,
1055
+ "y": -16
1056
+ },
1057
+ "width": 0.3999999999999986,
1058
+ "height": 1.3999999999999986,
1059
+ "pins": [
1060
+ {
1061
+ "pinId": "J4.1",
1062
+ "x": -8.4,
1063
+ "y": -15.5,
1064
+ "_facingDirection": "x+"
1065
+ },
1066
+ {
1067
+ "pinId": "J4.2",
1068
+ "x": -8.4,
1069
+ "y": -15.7,
1070
+ "_facingDirection": "x+"
1071
+ },
1072
+ {
1073
+ "pinId": "J4.3",
1074
+ "x": -8.4,
1075
+ "y": -15.9,
1076
+ "_facingDirection": "x+"
1077
+ },
1078
+ {
1079
+ "pinId": "J4.4",
1080
+ "x": -8.4,
1081
+ "y": -16.1,
1082
+ "_facingDirection": "x+"
1083
+ },
1084
+ {
1085
+ "pinId": "J4.5",
1086
+ "x": -8.4,
1087
+ "y": -16.3,
1088
+ "_facingDirection": "x+"
1089
+ },
1090
+ {
1091
+ "pinId": "J4.6",
1092
+ "x": -8.4,
1093
+ "y": -16.5,
1094
+ "_facingDirection": "x+"
1095
+ }
1096
+ ]
1097
+ }
1098
+ ],
1099
+ "directConnections": [
1100
+ {
1101
+ "pinIds": [
1102
+ "R2.1",
1103
+ "J1.1"
1104
+ ],
1105
+ "netId": ".R2 > .pin1 to J1.pin1"
1106
+ },
1107
+ {
1108
+ "pinIds": [
1109
+ "R2.2",
1110
+ "C4.1"
1111
+ ],
1112
+ "netId": ".R2 > .pin2 to C4.pin1"
1113
+ },
1114
+ {
1115
+ "pinIds": [
1116
+ "C4.1",
1117
+ "U1.48"
1118
+ ],
1119
+ "netId": ".C4 > .pin1 to U1.VC16"
1120
+ },
1121
+ {
1122
+ "pinIds": [
1123
+ "C4.2",
1124
+ "C5.1"
1125
+ ],
1126
+ "netId": ".C4 > .pin2 to C5.pin1"
1127
+ },
1128
+ {
1129
+ "pinIds": [
1130
+ "R3.1",
1131
+ "J1.2"
1132
+ ],
1133
+ "netId": ".R3 > .pin1 to J1.pin2"
1134
+ },
1135
+ {
1136
+ "pinIds": [
1137
+ "R3.2",
1138
+ "C5.1"
1139
+ ],
1140
+ "netId": ".R3 > .pin2 to C5.pin1"
1141
+ },
1142
+ {
1143
+ "pinIds": [
1144
+ "C5.1",
1145
+ "U1.1"
1146
+ ],
1147
+ "netId": ".C5 > .pin1 to U1.VC15"
1148
+ },
1149
+ {
1150
+ "pinIds": [
1151
+ "C5.2",
1152
+ "C6.1"
1153
+ ],
1154
+ "netId": ".C5 > .pin2 to C6.pin1"
1155
+ },
1156
+ {
1157
+ "pinIds": [
1158
+ "R4.1",
1159
+ "J1.3"
1160
+ ],
1161
+ "netId": ".R4 > .pin1 to J1.pin3"
1162
+ },
1163
+ {
1164
+ "pinIds": [
1165
+ "R4.2",
1166
+ "C6.1"
1167
+ ],
1168
+ "netId": ".R4 > .pin2 to C6.pin1"
1169
+ },
1170
+ {
1171
+ "pinIds": [
1172
+ "C6.1",
1173
+ "U1.2"
1174
+ ],
1175
+ "netId": ".C6 > .pin1 to U1.VC14"
1176
+ },
1177
+ {
1178
+ "pinIds": [
1179
+ "C6.2",
1180
+ "C7.1"
1181
+ ],
1182
+ "netId": ".C6 > .pin2 to C7.pin1"
1183
+ },
1184
+ {
1185
+ "pinIds": [
1186
+ "R7.1",
1187
+ "J1.4"
1188
+ ],
1189
+ "netId": ".R7 > .pin1 to J1.pin4"
1190
+ },
1191
+ {
1192
+ "pinIds": [
1193
+ "R7.2",
1194
+ "C7.1"
1195
+ ],
1196
+ "netId": ".R7 > .pin2 to C7.pin1"
1197
+ },
1198
+ {
1199
+ "pinIds": [
1200
+ "C7.1",
1201
+ "U1.3"
1202
+ ],
1203
+ "netId": ".C7 > .pin1 to U1.VC13"
1204
+ },
1205
+ {
1206
+ "pinIds": [
1207
+ "C7.2",
1208
+ "C8.1"
1209
+ ],
1210
+ "netId": ".C7 > .pin2 to C8.pin1"
1211
+ },
1212
+ {
1213
+ "pinIds": [
1214
+ "R8.1",
1215
+ "J1.5"
1216
+ ],
1217
+ "netId": ".R8 > .pin1 to J1.pin5"
1218
+ },
1219
+ {
1220
+ "pinIds": [
1221
+ "R8.2",
1222
+ "C8.1"
1223
+ ],
1224
+ "netId": ".R8 > .pin2 to C8.pin1"
1225
+ },
1226
+ {
1227
+ "pinIds": [
1228
+ "C8.1",
1229
+ "U1.4"
1230
+ ],
1231
+ "netId": ".C8 > .pin1 to U1.VC12"
1232
+ },
1233
+ {
1234
+ "pinIds": [
1235
+ "C8.2",
1236
+ "C9.1"
1237
+ ],
1238
+ "netId": ".C8 > .pin2 to C9.pin1"
1239
+ },
1240
+ {
1241
+ "pinIds": [
1242
+ "R11.1",
1243
+ "J1.6"
1244
+ ],
1245
+ "netId": ".R11 > .pin1 to J1.pin6"
1246
+ },
1247
+ {
1248
+ "pinIds": [
1249
+ "R11.2",
1250
+ "C9.1"
1251
+ ],
1252
+ "netId": ".R11 > .pin2 to C9.pin1"
1253
+ },
1254
+ {
1255
+ "pinIds": [
1256
+ "C9.1",
1257
+ "U1.6"
1258
+ ],
1259
+ "netId": ".C9 > .pin1 to U1.VC10"
1260
+ },
1261
+ {
1262
+ "pinIds": [
1263
+ "C9.2",
1264
+ "C10.1"
1265
+ ],
1266
+ "netId": ".C9 > .pin2 to C10.pin1"
1267
+ },
1268
+ {
1269
+ "pinIds": [
1270
+ "R12.1",
1271
+ "J3.1"
1272
+ ],
1273
+ "netId": ".R12 > .pin1 to J3.pin1"
1274
+ },
1275
+ {
1276
+ "pinIds": [
1277
+ "R12.2",
1278
+ "C10.1"
1279
+ ],
1280
+ "netId": ".R12 > .pin2 to C10.pin1"
1281
+ },
1282
+ {
1283
+ "pinIds": [
1284
+ "C10.1",
1285
+ "U1.7"
1286
+ ],
1287
+ "netId": ".C10 > .pin1 to U1.VC9"
1288
+ },
1289
+ {
1290
+ "pinIds": [
1291
+ "C10.2",
1292
+ "C11.1"
1293
+ ],
1294
+ "netId": ".C10 > .pin2 to C11.pin1"
1295
+ },
1296
+ {
1297
+ "pinIds": [
1298
+ "R13.1",
1299
+ "J3.2"
1300
+ ],
1301
+ "netId": ".R13 > .pin1 to J3.pin2"
1302
+ },
1303
+ {
1304
+ "pinIds": [
1305
+ "R13.2",
1306
+ "C11.1"
1307
+ ],
1308
+ "netId": ".R13 > .pin2 to C11.pin1"
1309
+ },
1310
+ {
1311
+ "pinIds": [
1312
+ "C11.1",
1313
+ "U1.8"
1314
+ ],
1315
+ "netId": ".C11 > .pin1 to U1.VC8"
1316
+ },
1317
+ {
1318
+ "pinIds": [
1319
+ "C11.2",
1320
+ "C14.1"
1321
+ ],
1322
+ "netId": ".C11 > .pin2 to C14.pin1"
1323
+ },
1324
+ {
1325
+ "pinIds": [
1326
+ "R14.1",
1327
+ "J3.3"
1328
+ ],
1329
+ "netId": ".R14 > .pin1 to J3.pin3"
1330
+ },
1331
+ {
1332
+ "pinIds": [
1333
+ "R14.2",
1334
+ "C14.1"
1335
+ ],
1336
+ "netId": ".R14 > .pin2 to C14.pin1"
1337
+ },
1338
+ {
1339
+ "pinIds": [
1340
+ "C14.1",
1341
+ "U1.10"
1342
+ ],
1343
+ "netId": ".C14 > .pin1 to U1.VC6"
1344
+ },
1345
+ {
1346
+ "pinIds": [
1347
+ "C14.2",
1348
+ "C16.1"
1349
+ ],
1350
+ "netId": ".C14 > .pin2 to C16.pin1"
1351
+ },
1352
+ {
1353
+ "pinIds": [
1354
+ "R16.1",
1355
+ "J3.4"
1356
+ ],
1357
+ "netId": ".R16 > .pin1 to J3.pin4"
1358
+ },
1359
+ {
1360
+ "pinIds": [
1361
+ "R16.2",
1362
+ "C16.1"
1363
+ ],
1364
+ "netId": ".R16 > .pin2 to C16.pin1"
1365
+ },
1366
+ {
1367
+ "pinIds": [
1368
+ "C16.1",
1369
+ "U1.11"
1370
+ ],
1371
+ "netId": ".C16 > .pin1 to U1.VC5"
1372
+ },
1373
+ {
1374
+ "pinIds": [
1375
+ "C16.2",
1376
+ "C17.1"
1377
+ ],
1378
+ "netId": ".C16 > .pin2 to C17.pin1"
1379
+ },
1380
+ {
1381
+ "pinIds": [
1382
+ "R17.1",
1383
+ "J3.5"
1384
+ ],
1385
+ "netId": ".R17 > .pin1 to J3.pin5"
1386
+ },
1387
+ {
1388
+ "pinIds": [
1389
+ "R17.2",
1390
+ "C17.1"
1391
+ ],
1392
+ "netId": ".R17 > .pin2 to C17.pin1"
1393
+ },
1394
+ {
1395
+ "pinIds": [
1396
+ "C17.1",
1397
+ "U1.12"
1398
+ ],
1399
+ "netId": ".C17 > .pin1 to U1.VC4"
1400
+ },
1401
+ {
1402
+ "pinIds": [
1403
+ "C17.2",
1404
+ "C18.1"
1405
+ ],
1406
+ "netId": ".C17 > .pin2 to C18.pin1"
1407
+ },
1408
+ {
1409
+ "pinIds": [
1410
+ "R18.1",
1411
+ "J4.1"
1412
+ ],
1413
+ "netId": ".R18 > .pin1 to J4.pin1"
1414
+ },
1415
+ {
1416
+ "pinIds": [
1417
+ "R18.2",
1418
+ "C18.1"
1419
+ ],
1420
+ "netId": ".R18 > .pin2 to C18.pin1"
1421
+ },
1422
+ {
1423
+ "pinIds": [
1424
+ "C18.1",
1425
+ "U1.13"
1426
+ ],
1427
+ "netId": ".C18 > .pin1 to U1.VC3"
1428
+ },
1429
+ {
1430
+ "pinIds": [
1431
+ "C18.2",
1432
+ "C19.1"
1433
+ ],
1434
+ "netId": ".C18 > .pin2 to C19.pin1"
1435
+ },
1436
+ {
1437
+ "pinIds": [
1438
+ "R19.1",
1439
+ "J4.2"
1440
+ ],
1441
+ "netId": ".R19 > .pin1 to J4.pin2"
1442
+ },
1443
+ {
1444
+ "pinIds": [
1445
+ "R19.2",
1446
+ "C19.1"
1447
+ ],
1448
+ "netId": ".R19 > .pin2 to C19.pin1"
1449
+ },
1450
+ {
1451
+ "pinIds": [
1452
+ "C19.1",
1453
+ "U1.14"
1454
+ ],
1455
+ "netId": ".C19 > .pin1 to U1.VC2"
1456
+ },
1457
+ {
1458
+ "pinIds": [
1459
+ "C19.2",
1460
+ "C21.1"
1461
+ ],
1462
+ "netId": ".C19 > .pin2 to C21.pin1"
1463
+ },
1464
+ {
1465
+ "pinIds": [
1466
+ "R21.1",
1467
+ "J4.3"
1468
+ ],
1469
+ "netId": ".R21 > .pin1 to J4.pin3"
1470
+ },
1471
+ {
1472
+ "pinIds": [
1473
+ "R21.2",
1474
+ "C21.1"
1475
+ ],
1476
+ "netId": ".R21 > .pin2 to C21.pin1"
1477
+ },
1478
+ {
1479
+ "pinIds": [
1480
+ "C21.1",
1481
+ "U1.15"
1482
+ ],
1483
+ "netId": ".C21 > .pin1 to U1.VC1"
1484
+ },
1485
+ {
1486
+ "pinIds": [
1487
+ "R22.1",
1488
+ "J4.4"
1489
+ ],
1490
+ "netId": ".R22 > .pin1 to J4.pin4"
1491
+ }
1492
+ ],
1493
+ "netConnections": [
1494
+ {
1495
+ "netId": "GND",
1496
+ "pinIds": [
1497
+ "U1.17"
1498
+ ],
1499
+ "netLabelWidth": 0.42,
1500
+ "netLabelHeight": 0.48
1501
+ }
1502
+ ],
1503
+ "textBoxes": [
1504
+ {
1505
+ "chipId": "schematic_component_29",
1506
+ "center": {
1507
+ "x": 4.66,
1508
+ "y": -3.2300000000000013
1509
+ },
1510
+ "width": 1.3200000000000003,
1511
+ "height": 0.17999999999999972,
1512
+ "text": "BQ76952PFBR"
1513
+ },
1514
+ {
1515
+ "chipId": "schematic_component_29",
1516
+ "center": {
1517
+ "x": 4.12,
1518
+ "y": 3.2150000000000016
1519
+ },
1520
+ "width": 0.3599999999999999,
1521
+ "height": 0.24999999999999956,
1522
+ "text": "U1"
1523
+ },
1524
+ {
1525
+ "chipId": "schematic_component_30",
1526
+ "center": {
1527
+ "x": -9.079999999999998,
1528
+ "y": -3.1849999999999996
1529
+ },
1530
+ "width": 0.3600000000000012,
1531
+ "height": 0.24999999999999956,
1532
+ "text": "J1"
1533
+ },
1534
+ {
1535
+ "chipId": "schematic_component_31",
1536
+ "center": {
1537
+ "x": -9.079999999999998,
1538
+ "y": -9.285
1539
+ },
1540
+ "width": 0.3600000000000012,
1541
+ "height": 0.25,
1542
+ "text": "J3"
1543
+ },
1544
+ {
1545
+ "chipId": "schematic_component_32",
1546
+ "center": {
1547
+ "x": -9.079999999999998,
1548
+ "y": -15.185
1549
+ },
1550
+ "width": 0.3600000000000012,
1551
+ "height": 0.25,
1552
+ "text": "J4"
1553
+ }
1554
+ ],
1555
+ "availableNetLabelOrientations": {
1556
+ "GND": [
1557
+ "y-"
1558
+ ]
1559
+ },
1560
+ "maxMspPairDistance": 10
1561
+ }