@tscircuit/schematic-trace-solver 0.0.87 → 0.0.88

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 (113) hide show
  1. package/.agents/skills/schematic-trace-visualization/SKILL.md +115 -0
  2. package/.github/scripts/import-json-bug-report.ts +15 -1
  3. package/.github/workflows/json-bug-report.yml +3 -2
  4. package/AGENTS.md +22 -0
  5. package/lib/testing/PipelineStageDebugRunner.ts +344 -0
  6. package/package.json +3 -2
  7. package/scripts/debug-pipeline-stages.ts +146 -0
  8. package/site/bug-reports/bug-report-20260706T220324Z.page.tsx +4 -0
  9. package/site/bug-reports/bug-report-20260707T020342Z.page.tsx +4 -0
  10. package/site/bug-reports/bug-report-20260707T092615Z.page.tsx +4 -0
  11. package/site/bug-reports/bug-report-20260707T134549Z.page.tsx +4 -0
  12. package/site/bug-reports/bug-report-20260707T134722Z.page.tsx +4 -0
  13. package/site/bug-reports/bug-report-20260707T140410Z.page.tsx +4 -0
  14. package/site/bug-reports/bug-report-20260707T141025Z.page.tsx +4 -0
  15. package/site/bug-reports/bug-report-20260707T141421Z.page.tsx +4 -0
  16. package/tests/bug-reports/bug-report-20260706T220324Z/__snapshots__/bug-report-20260706T220324Z.snap.svg +357 -3448
  17. package/tests/bug-reports/bug-report-20260707T020342Z/__snapshots__/bug-report-20260707T020342Z.snap.svg +64 -0
  18. package/tests/bug-reports/bug-report-20260707T020342Z/bug-report-20260707T020342Z.json +233 -0
  19. package/tests/bug-reports/bug-report-20260707T020342Z/bug-report-20260707T020342Z.test.ts +12 -0
  20. package/tests/bug-reports/bug-report-20260707T092615Z/__snapshots__/bug-report-20260707T092615Z.snap.svg +2098 -0
  21. package/tests/bug-reports/bug-report-20260707T092615Z/bug-report-20260707T092615Z.json +1392 -0
  22. package/tests/bug-reports/bug-report-20260707T092615Z/bug-report-20260707T092615Z.test.ts +12 -0
  23. package/tests/bug-reports/bug-report-20260707T134549Z/__snapshots__/bug-report-20260707T134549Z.snap.svg +857 -0
  24. package/tests/bug-reports/bug-report-20260707T134549Z/bug-report-20260707T134549Z.json +652 -0
  25. package/tests/bug-reports/bug-report-20260707T134549Z/bug-report-20260707T134549Z.test.ts +12 -0
  26. package/tests/bug-reports/bug-report-20260707T134722Z/__snapshots__/bug-report-20260707T134722Z.snap.svg +275 -0
  27. package/tests/bug-reports/bug-report-20260707T134722Z/bug-report-20260707T134722Z.json +265 -0
  28. package/tests/bug-reports/bug-report-20260707T134722Z/bug-report-20260707T134722Z.test.ts +12 -0
  29. package/tests/bug-reports/bug-report-20260707T140410Z/__snapshots__/bug-report-20260707T140410Z.snap.svg +950 -0
  30. package/tests/bug-reports/bug-report-20260707T140410Z/bug-report-20260707T140410Z.json +610 -0
  31. package/tests/bug-reports/bug-report-20260707T140410Z/bug-report-20260707T140410Z.test.ts +12 -0
  32. package/tests/bug-reports/bug-report-20260707T141025Z/__snapshots__/bug-report-20260707T141025Z.snap.svg +218 -0
  33. package/tests/bug-reports/bug-report-20260707T141025Z/bug-report-20260707T141025Z.json +185 -0
  34. package/tests/bug-reports/bug-report-20260707T141025Z/bug-report-20260707T141025Z.test.ts +12 -0
  35. package/tests/bug-reports/bug-report-20260707T141421Z/__snapshots__/bug-report-20260707T141421Z.snap.svg +613 -0
  36. package/tests/bug-reports/bug-report-20260707T141421Z/bug-report-20260707T141421Z.json +499 -0
  37. package/tests/bug-reports/bug-report-20260707T141421Z/bug-report-20260707T141421Z.test.ts +12 -0
  38. package/tests/examples/__snapshots__/example01.snap.svg +59 -162
  39. package/tests/examples/__snapshots__/example02.snap.svg +64 -273
  40. package/tests/examples/__snapshots__/example03.snap.svg +85 -290
  41. package/tests/examples/__snapshots__/example04.snap.svg +50 -94
  42. package/tests/examples/__snapshots__/example05.snap.svg +73 -191
  43. package/tests/examples/__snapshots__/example06.snap.svg +49 -95
  44. package/tests/examples/__snapshots__/example07.snap.svg +65 -218
  45. package/tests/examples/__snapshots__/example08.snap.svg +61 -143
  46. package/tests/examples/__snapshots__/example09.snap.svg +123 -493
  47. package/tests/examples/__snapshots__/example10.snap.svg +57 -136
  48. package/tests/examples/__snapshots__/example11.snap.svg +64 -173
  49. package/tests/examples/__snapshots__/example12.snap.svg +58 -159
  50. package/tests/examples/__snapshots__/example13.snap.svg +78 -348
  51. package/tests/examples/__snapshots__/example14.snap.svg +77 -293
  52. package/tests/examples/__snapshots__/example15.snap.svg +140 -984
  53. package/tests/examples/__snapshots__/example16.snap.svg +62 -162
  54. package/tests/examples/__snapshots__/example17.snap.svg +67 -198
  55. package/tests/examples/__snapshots__/example18.snap.svg +69 -249
  56. package/tests/examples/__snapshots__/example19.snap.svg +63 -202
  57. package/tests/examples/__snapshots__/example20.snap.svg +60 -148
  58. package/tests/examples/__snapshots__/example21.snap.svg +73 -298
  59. package/tests/examples/__snapshots__/example22.snap.svg +62 -156
  60. package/tests/examples/__snapshots__/example23.snap.svg +66 -172
  61. package/tests/examples/__snapshots__/example24.snap.svg +64 -164
  62. package/tests/examples/__snapshots__/example25.snap.svg +76 -299
  63. package/tests/examples/__snapshots__/example26.snap.svg +64 -164
  64. package/tests/examples/__snapshots__/example27.snap.svg +83 -300
  65. package/tests/examples/__snapshots__/example28.snap.svg +54 -115
  66. package/tests/examples/__snapshots__/example29.snap.svg +257 -1299
  67. package/tests/examples/__snapshots__/example30.snap.svg +91 -293
  68. package/tests/examples/__snapshots__/example31.snap.svg +47 -88
  69. package/tests/examples/__snapshots__/example32.snap.svg +107 -405
  70. package/tests/examples/__snapshots__/example33.snap.svg +71 -180
  71. package/tests/examples/__snapshots__/example34.snap.svg +55 -116
  72. package/tests/examples/__snapshots__/example35.snap.svg +69 -176
  73. package/tests/examples/__snapshots__/example36.snap.svg +65 -159
  74. package/tests/examples/__snapshots__/example37.snap.svg +75 -223
  75. package/tests/examples/__snapshots__/example38.snap.svg +46 -76
  76. package/tests/examples/__snapshots__/example39.snap.svg +51 -106
  77. package/tests/examples/__snapshots__/example40.snap.svg +83 -270
  78. package/tests/examples/__snapshots__/example41.snap.svg +54 -118
  79. package/tests/examples/__snapshots__/example42.snap.svg +67 -194
  80. package/tests/examples/__snapshots__/example43.snap.svg +62 -168
  81. package/tests/examples/__snapshots__/example44.snap.svg +86 -369
  82. package/tests/examples/__snapshots__/example45.snap.svg +60 -169
  83. package/tests/examples/__snapshots__/example46.snap.svg +80 -342
  84. package/tests/examples/__snapshots__/example47.snap.svg +82 -323
  85. package/tests/examples/__snapshots__/example48.snap.svg +64 -167
  86. package/tests/examples/__snapshots__/example49.snap.svg +120 -565
  87. package/tests/examples/__snapshots__/example50.snap.svg +71 -189
  88. package/tests/fixtures/getLastStepGraphicsObject.ts +38 -0
  89. package/tests/fixtures/getLastStepSvg.ts +9 -0
  90. package/tests/repros/__snapshots__/bugreport-001-gnd-overlap.snap.svg +67 -218
  91. package/tests/repros/__snapshots__/manufacturePartNumber-text-box.snap.svg +47 -87
  92. package/tests/repros/__snapshots__/netlabel-connector-through-rail-label.snap.svg +73 -272
  93. package/tests/repros/__snapshots__/repro-atmega328p-fault-pullup.snap.svg +284 -0
  94. package/tests/repros/__snapshots__/repro-atmega328p-missing-gnd-netlabel.snap.svg +470 -0
  95. package/tests/repros/__snapshots__/repro-bq24074-battery-charger.snap.svg +94 -395
  96. package/tests/repros/__snapshots__/repro-cc2340r5.snap.svg +88 -467
  97. package/tests/repros/__snapshots__/repro-ina237-current-monitor.snap.svg +109 -569
  98. package/tests/repros/__snapshots__/repro130-bq27441-fuel-gauge-trace-through-c1.snap.svg +95 -459
  99. package/tests/repros/__snapshots__/repro51-overlap-junction-crossing.snap.svg +64 -176
  100. package/tests/repros/__snapshots__/trace-overlap-box-resistor.snap.svg +51 -112
  101. package/tests/repros/assets/repro-atmega328p-fault-pullup.input.json +239 -0
  102. package/tests/repros/assets/repro-atmega328p-missing-gnd-netlabel.input.json +432 -0
  103. package/tests/repros/repro-atmega328p-fault-pullup.test.ts +11 -0
  104. package/tests/repros/repro-atmega328p-missing-gnd-netlabel.test.ts +16 -0
  105. package/tests/solvers/SchematicTraceSingleLineSolver2/__snapshots__/SchematicTraceSingleLineSolver2_01-example17-d1_1-u1_1.snap.svg +59 -159
  106. package/tests/solvers/TraceCleanupSolver/__snapshots__/TraceCleanupSolver.snap.svg +54 -118
  107. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/__snapshots__/TraceLabelOverlapAvoidanceSolver.snap.svg +58 -245
  108. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/renderComparisonView/__snapshots__/renderComparisonView01.snap.svg +73 -222
  109. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/renderComparisonView/__snapshots__/renderComparisonView02.snap.svg +65 -204
  110. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/renderComparisonView/__snapshots__/renderComparisonView03.snap.svg +65 -183
  111. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/__snapshots__/MergedNetLabelObstacles.snap.svg +54 -139
  112. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/__snapshots__/OverlapAvoidanceStepSolver.snap.svg +61 -215
  113. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/__snapshots__/SingleOverlapSolver.snap.svg +54 -124
@@ -0,0 +1,499 @@
1
+ {
2
+ "chips": [
3
+ {
4
+ "chipId": "schematic_component_0",
5
+ "center": {
6
+ "x": 1.0899999999999999,
7
+ "y": 1.7000000000000002
8
+ },
9
+ "width": 3.3,
10
+ "height": 6.799999999999999,
11
+ "pins": [
12
+ {
13
+ "pinId": "U1.1",
14
+ "x": -0.56,
15
+ "y": 2.3000000000000007
16
+ },
17
+ {
18
+ "pinId": "U1.2",
19
+ "x": -0.56,
20
+ "y": 1.1
21
+ },
22
+ {
23
+ "pinId": "U1.3",
24
+ "x": 2.7399999999999998,
25
+ "y": -0.09999999999999987
26
+ },
27
+ {
28
+ "pinId": "U1.4",
29
+ "x": 2.7399999999999998,
30
+ "y": 1.1
31
+ },
32
+ {
33
+ "pinId": "U1.5",
34
+ "x": 2.7399999999999998,
35
+ "y": 2.3
36
+ },
37
+ {
38
+ "pinId": "U1.6",
39
+ "x": 2.7399999999999998,
40
+ "y": 3.5
41
+ },
42
+ {
43
+ "pinId": "U1.7",
44
+ "x": 1.69,
45
+ "y": 5.1
46
+ },
47
+ {
48
+ "pinId": "U1.8",
49
+ "x": -0.56,
50
+ "y": -0.10000000000000009
51
+ },
52
+ {
53
+ "pinId": "U1.9",
54
+ "x": 0.4899999999999999,
55
+ "y": 5.1
56
+ },
57
+ {
58
+ "pinId": "U1.10",
59
+ "x": -0.56,
60
+ "y": 3.5000000000000004
61
+ }
62
+ ]
63
+ },
64
+ {
65
+ "chipId": "schematic_component_1",
66
+ "center": {
67
+ "x": -3.0689106999999987,
68
+ "y": 2.9400000000000004
69
+ },
70
+ "width": 0.6394553499999995,
71
+ "height": 1.08,
72
+ "pins": [
73
+ {
74
+ "pinId": "V_IN.1",
75
+ "x": -3.0739106999999986,
76
+ "y": 3.4800000000000004
77
+ },
78
+ {
79
+ "pinId": "V_IN.2",
80
+ "x": -3.0639106999999988,
81
+ "y": 2.4000000000000004
82
+ }
83
+ ]
84
+ },
85
+ {
86
+ "chipId": "schematic_component_2",
87
+ "center": {
88
+ "x": -0.009999999999999787,
89
+ "y": 6.16
90
+ },
91
+ "width": 1.16,
92
+ "height": 0.8200000000000003,
93
+ "pins": [
94
+ {
95
+ "pinId": "L1.1",
96
+ "x": -0.5899999999999997,
97
+ "y": 6.140000000000001
98
+ },
99
+ {
100
+ "pinId": "L1.2",
101
+ "x": 0.5700000000000002,
102
+ "y": 6.13
103
+ }
104
+ ]
105
+ },
106
+ {
107
+ "chipId": "schematic_component_3",
108
+ "center": {
109
+ "x": -1.8,
110
+ "y": 5
111
+ },
112
+ "width": 1.08,
113
+ "height": 1,
114
+ "pins": [
115
+ {
116
+ "pinId": "IL_PROBE.1",
117
+ "x": -2.34,
118
+ "y": 5
119
+ },
120
+ {
121
+ "pinId": "IL_PROBE.2",
122
+ "x": -1.26,
123
+ "y": 5
124
+ }
125
+ ]
126
+ },
127
+ {
128
+ "chipId": "schematic_component_4",
129
+ "center": {
130
+ "x": 1.7900000000000005,
131
+ "y": 6.1394553499999995
132
+ },
133
+ "width": 1.1000000000000005,
134
+ "height": 0.7789106999999991,
135
+ "pins": [
136
+ {
137
+ "pinId": "R_L1_DCR.1",
138
+ "x": 1.2400000000000002,
139
+ "y": 6.1394553499999995
140
+ },
141
+ {
142
+ "pinId": "R_L1_DCR.2",
143
+ "x": 2.3400000000000007,
144
+ "y": 6.1394553499999995
145
+ }
146
+ ]
147
+ },
148
+ {
149
+ "chipId": "schematic_component_5",
150
+ "center": {
151
+ "x": -1.8245915124999994,
152
+ "y": -0.6499999999999999
153
+ },
154
+ "width": 0.7200000000000002,
155
+ "height": 1.1,
156
+ "pins": [
157
+ {
158
+ "pinId": "C1.1",
159
+ "x": -1.9195915124999994,
160
+ "y": -0.09999999999999987
161
+ },
162
+ {
163
+ "pinId": "C1.2",
164
+ "x": -1.9195915124999994,
165
+ "y": -1.2
166
+ }
167
+ ]
168
+ },
169
+ {
170
+ "chipId": "schematic_component_6",
171
+ "center": {
172
+ "x": -1.3697276749999994,
173
+ "y": 1.1500000000000004
174
+ },
175
+ "width": 1.4191830249999993,
176
+ "height": 1.1,
177
+ "pins": [
178
+ {
179
+ "pinId": "R_CIN_ESR.1",
180
+ "x": -1.9195915124999994,
181
+ "y": 1.7000000000000004
182
+ },
183
+ {
184
+ "pinId": "R_CIN_ESR.2",
185
+ "x": -1.9195915124999994,
186
+ "y": 0.6000000000000003
187
+ }
188
+ ]
189
+ },
190
+ {
191
+ "chipId": "schematic_component_7",
192
+ "center": {
193
+ "x": 5.744183025,
194
+ "y": 2.949999999999999
195
+ },
196
+ "width": 0.9599999999999991,
197
+ "height": 1.1000000000000005,
198
+ "pins": [
199
+ {
200
+ "pinId": "C2.1",
201
+ "x": 5.529183025,
202
+ "y": 3.499999999999999
203
+ },
204
+ {
205
+ "pinId": "C2.2",
206
+ "x": 5.529183025,
207
+ "y": 2.3999999999999986
208
+ }
209
+ ]
210
+ },
211
+ {
212
+ "chipId": "schematic_component_8",
213
+ "center": {
214
+ "x": 4.769455349999999,
215
+ "y": 4.75
216
+ },
217
+ "width": 1.5391830249999994,
218
+ "height": 1.0999999999999996,
219
+ "pins": [
220
+ {
221
+ "pinId": "R_COUT_ESR.1",
222
+ "x": 4.1595915125,
223
+ "y": 5.3
224
+ },
225
+ {
226
+ "pinId": "R_COUT_ESR.2",
227
+ "x": 4.1595915125,
228
+ "y": 4.2
229
+ }
230
+ ]
231
+ },
232
+ {
233
+ "chipId": "schematic_component_9",
234
+ "center": {
235
+ "x": 5.588638374999999,
236
+ "y": 1.1500000000000004
237
+ },
238
+ "width": 0.9391830249999993,
239
+ "height": 1.1,
240
+ "pins": [
241
+ {
242
+ "pinId": "R1.1",
243
+ "x": 5.278774537499999,
244
+ "y": 1.7000000000000004
245
+ },
246
+ {
247
+ "pinId": "R1.2",
248
+ "x": 5.278774537499999,
249
+ "y": 0.6000000000000003
250
+ }
251
+ ]
252
+ },
253
+ {
254
+ "chipId": "schematic_component_10",
255
+ "center": {
256
+ "x": 4.04945535,
257
+ "y": 0.5499999999999998
258
+ },
259
+ "width": 0.8191830249999996,
260
+ "height": 1.1,
261
+ "pins": [
262
+ {
263
+ "pinId": "R2.1",
264
+ "x": 3.7995915124999993,
265
+ "y": 1.0999999999999999
266
+ },
267
+ {
268
+ "pinId": "R2.2",
269
+ "x": 3.7995915124999993,
270
+ "y": -2.220446049250313e-16
271
+ }
272
+ ]
273
+ },
274
+ {
275
+ "chipId": "schematic_component_11",
276
+ "center": {
277
+ "x": -1.3697276749999998,
278
+ "y": 2.9500000000000006
279
+ },
280
+ "width": 0.9391830249999994,
281
+ "height": 1.1000000000000005,
282
+ "pins": [
283
+ {
284
+ "pinId": "R3.1",
285
+ "x": -1.6795915124999996,
286
+ "y": 3.500000000000001
287
+ },
288
+ {
289
+ "pinId": "R3.2",
290
+ "x": -1.6795915124999996,
291
+ "y": 2.4000000000000004
292
+ }
293
+ ]
294
+ },
295
+ {
296
+ "chipId": "schematic_component_12",
297
+ "center": {
298
+ "x": 4.289455349999999,
299
+ "y": 2.9499999999999993
300
+ },
301
+ "width": 1.059183024999999,
302
+ "height": 1.0999999999999996,
303
+ "pins": [
304
+ {
305
+ "pinId": "R_LOAD.1",
306
+ "x": 3.9195915124999994,
307
+ "y": 3.499999999999999
308
+ },
309
+ {
310
+ "pinId": "R_LOAD.2",
311
+ "x": 3.9195915124999994,
312
+ "y": 2.3999999999999995
313
+ }
314
+ ]
315
+ }
316
+ ],
317
+ "directConnections": [
318
+ {
319
+ "pinIds": [
320
+ "IL_PROBE.1",
321
+ "U1.9"
322
+ ],
323
+ "netId": ".IL_PROBE > .pos to U1.L1"
324
+ },
325
+ {
326
+ "pinIds": [
327
+ "IL_PROBE.2",
328
+ "L1.1"
329
+ ],
330
+ "netId": ".IL_PROBE > .neg to L1.pin1"
331
+ },
332
+ {
333
+ "pinIds": [
334
+ "V_IN.1",
335
+ "U1.10"
336
+ ],
337
+ "netId": "V_IN.pin1 to U1.VIN",
338
+ "netLabelWidth": 1.87
339
+ },
340
+ {
341
+ "pinIds": [
342
+ "L1.2",
343
+ "R_L1_DCR.1"
344
+ ],
345
+ "netId": "L1.pin2 to R_L1_DCR.pin1"
346
+ },
347
+ {
348
+ "pinIds": [
349
+ "R_L1_DCR.2",
350
+ "U1.7"
351
+ ],
352
+ "netId": "R_L1_DCR.pin2 to U1.L2"
353
+ },
354
+ {
355
+ "pinIds": [
356
+ "U1.10",
357
+ "R_CIN_ESR.1"
358
+ ],
359
+ "netId": "U1.VIN to R_CIN_ESR.pin1"
360
+ },
361
+ {
362
+ "pinIds": [
363
+ "R_CIN_ESR.2",
364
+ "C1.1"
365
+ ],
366
+ "netId": "R_CIN_ESR.pin2 to C1.pin1"
367
+ },
368
+ {
369
+ "pinIds": [
370
+ "U1.10",
371
+ "U1.1"
372
+ ],
373
+ "netId": "U1.VIN to U1.EN"
374
+ },
375
+ {
376
+ "pinIds": [
377
+ "U1.10",
378
+ "R3.1"
379
+ ],
380
+ "netId": "U1.VIN to R3.pin1"
381
+ },
382
+ {
383
+ "pinIds": [
384
+ "U1.6",
385
+ "R_COUT_ESR.1"
386
+ ],
387
+ "netId": "U1.VOUT to R_COUT_ESR.pin1"
388
+ },
389
+ {
390
+ "pinIds": [
391
+ "R_COUT_ESR.2",
392
+ "C2.1"
393
+ ],
394
+ "netId": "R_COUT_ESR.pin2 to C2.pin1"
395
+ },
396
+ {
397
+ "pinIds": [
398
+ "R1.1",
399
+ "U1.6"
400
+ ],
401
+ "netId": "R1.pin1 to U1.VOUT",
402
+ "netLabelWidth": 1.77
403
+ },
404
+ {
405
+ "pinIds": [
406
+ "U1.6",
407
+ "R_LOAD.1"
408
+ ],
409
+ "netId": "U1.VOUT to R_LOAD.pin1"
410
+ },
411
+ {
412
+ "pinIds": [
413
+ "U1.5",
414
+ "R3.2"
415
+ ],
416
+ "netId": "U1.PG to R3.pin2",
417
+ "netLabelWidth": 1.59
418
+ },
419
+ {
420
+ "pinIds": [
421
+ "U1.4",
422
+ "R1.2"
423
+ ],
424
+ "netId": "U1.FB to R1.pin2",
425
+ "netLabelWidth": 1.59
426
+ },
427
+ {
428
+ "pinIds": [
429
+ "U1.4",
430
+ "R2.1"
431
+ ],
432
+ "netId": "U1.FB to R2.pin1"
433
+ }
434
+ ],
435
+ "netConnections": [
436
+ {
437
+ "netId": "VIN",
438
+ "pinIds": [
439
+ "U1.1",
440
+ "U1.10",
441
+ "V_IN.1",
442
+ "R_CIN_ESR.1",
443
+ "R3.1"
444
+ ],
445
+ "netLabelWidth": 0.48,
446
+ "netLabelHeight": 0.42
447
+ },
448
+ {
449
+ "netId": "GND",
450
+ "pinIds": [
451
+ "U1.2",
452
+ "U1.3",
453
+ "U1.8",
454
+ "V_IN.2",
455
+ "C1.2",
456
+ "C2.2",
457
+ "R2.2",
458
+ "R_LOAD.2"
459
+ ],
460
+ "netLabelWidth": 0.48,
461
+ "netLabelHeight": 0.42
462
+ },
463
+ {
464
+ "netId": "VOUT",
465
+ "pinIds": [
466
+ "U1.6",
467
+ "R_COUT_ESR.1",
468
+ "R1.1",
469
+ "R_LOAD.1"
470
+ ],
471
+ "netLabelWidth": 0.6,
472
+ "netLabelHeight": 0.42
473
+ }
474
+ ],
475
+ "textBoxes": [
476
+ {
477
+ "chipId": "schematic_component_0",
478
+ "center": {
479
+ "x": 2.5599999999999996,
480
+ "y": 5.25
481
+ },
482
+ "width": 0.23999999999999977,
483
+ "height": 0.17999999999999972,
484
+ "text": "U1"
485
+ }
486
+ ],
487
+ "availableNetLabelOrientations": {
488
+ "VIN": [
489
+ "y+"
490
+ ],
491
+ "VOUT": [
492
+ "y+"
493
+ ],
494
+ "GND": [
495
+ "y-"
496
+ ]
497
+ },
498
+ "maxMspPairDistance": 2.4
499
+ }
@@ -0,0 +1,12 @@
1
+ import { expect, test } from "bun:test"
2
+ import { SchematicTracePipelineSolver } from "lib/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver"
3
+ import inputProblem from "./bug-report-20260707T141421Z.json"
4
+ import "tests/fixtures/matcher"
5
+
6
+ test("bug-report-20260707T141421Z", () => {
7
+ const solver = new SchematicTracePipelineSolver(inputProblem as any)
8
+
9
+ solver.solve()
10
+
11
+ expect(solver).toMatchSolverSnapshot(import.meta.path)
12
+ })