@tscircuit/rectdiff 0.0.19 → 0.0.21

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 (117) hide show
  1. package/.github/workflows/bun-test.yml +1 -1
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.js +28 -35
  4. package/lib/solvers/RectDiffExpansionSolver/RectDiffExpansionSolver.ts +6 -3
  5. package/lib/solvers/RectDiffGridSolverPipeline/buildObstacleIndexes.ts +2 -1
  6. package/lib/solvers/RectDiffSeedingSolver/RectDiffSeedingSolver.ts +2 -7
  7. package/lib/types/capacity-mesh-types.ts +1 -0
  8. package/lib/utils/expandRectFromSeed.ts +3 -0
  9. package/lib/utils/rectToTree.ts +5 -1
  10. package/lib/utils/resizeSoftOverlaps.ts +8 -16
  11. package/package.json +1 -1
  12. package/tests/solver/__snapshots__/rectDiffGridSolverPipeline.snap.svg +3 -3
  13. package/tests/solver/both-points-equivalent/__snapshots__/both-points-equivalent.snap.svg +44 -0
  14. package/tests/solver/both-points-equivalent/both-points-equivalent.srj.json +64 -0
  15. package/tests/solver/both-points-equivalent/both-points-equivalent.test.ts +92 -0
  16. package/tests/solver/bugreport01-be84eb/__snapshots__/bugreport01-be84eb.snap.svg +44 -0
  17. package/tests/solver/bugreport01-be84eb/bugreport01-be84eb.json +929 -0
  18. package/tests/solver/bugreport01-be84eb/bugreport01-be84eb.test.ts +93 -0
  19. package/tests/solver/bugreport02-bc4361/__snapshots__/bugreport02-bc4361.snap.svg +44 -0
  20. package/tests/solver/bugreport02-bc4361/bugreport02-bc4361.json +1276 -0
  21. package/tests/solver/bugreport02-bc4361/bugreport02-bc4361.test.ts +93 -0
  22. package/tests/solver/bugreport03-fe4a17/__snapshots__/bugreport03-fe4a17.snap.svg +44 -0
  23. package/tests/solver/bugreport03-fe4a17/bugreport03-fe4a17.json +986 -0
  24. package/tests/solver/bugreport03-fe4a17/bugreport03-fe4a17.test.ts +93 -0
  25. package/tests/solver/bugreport07-d3f3be/__snapshots__/bugreport07-d3f3be.snap.svg +44 -0
  26. package/tests/solver/bugreport07-d3f3be/bugreport07-d3f3be.json +1211 -0
  27. package/tests/solver/bugreport07-d3f3be/bugreport07-d3f3be.test.ts +93 -0
  28. package/tests/solver/bugreport08-e3ec95/__snapshots__/bugreport08-e3ec95.snap.svg +44 -0
  29. package/tests/solver/bugreport08-e3ec95/bugreport08-e3ec95.json +1511 -0
  30. package/tests/solver/bugreport08-e3ec95/bugreport08-e3ec95.test.ts +93 -0
  31. package/tests/solver/bugreport09-618e09/__snapshots__/bugreport09-618e09.snap.svg +44 -0
  32. package/tests/solver/bugreport09-618e09/bugreport09-618e09.json +2827 -0
  33. package/tests/solver/bugreport09-618e09/bugreport09-618e09.test.ts +93 -0
  34. package/tests/solver/bugreport10-71239a/__snapshots__/bugreport10-71239a.snap.svg +44 -0
  35. package/tests/solver/bugreport10-71239a/bugreport10-71239a.json +890 -0
  36. package/tests/solver/bugreport10-71239a/bugreport10-71239a.test.ts +93 -0
  37. package/tests/solver/bugreport11-b2de3c/__snapshots__/bugreport11-b2de3c.snap.svg +44 -0
  38. package/tests/solver/bugreport11-b2de3c/bugreport11-b2de3c.json +4315 -0
  39. package/tests/solver/bugreport11-b2de3c/bugreport11-b2de3c.test.ts +93 -0
  40. package/tests/solver/bugreport12-35ce1c/__snapshots__/bugreport12-35ce1c.snap.svg +44 -0
  41. package/tests/solver/bugreport12-35ce1c/bugreport12-35ce1c.json +475 -0
  42. package/tests/solver/bugreport12-35ce1c/bugreport12-35ce1c.test.ts +93 -0
  43. package/tests/solver/bugreport13-b9a758/__snapshots__/bugreport13-b9a758.snap.svg +44 -0
  44. package/tests/solver/bugreport13-b9a758/bugreport13-b9a758.json +15815 -0
  45. package/tests/solver/bugreport13-b9a758/bugreport13-b9a758.test.ts +93 -0
  46. package/tests/solver/bugreport16-d95f38/__snapshots__/bugreport16-d95f38.snap.svg +44 -0
  47. package/tests/solver/bugreport16-d95f38/bugreport16-d95f38.json +623 -0
  48. package/tests/solver/bugreport16-d95f38/bugreport16-d95f38.test.ts +93 -0
  49. package/tests/solver/bugreport18-1b2d06/__snapshots__/bugreport18-1b2d06.snap.svg +44 -0
  50. package/tests/solver/bugreport18-1b2d06/bugreport18-1b2d06.json +543 -0
  51. package/tests/solver/bugreport18-1b2d06/bugreport18-1b2d06.test.ts +93 -0
  52. package/tests/solver/bugreport19/__snapshots__/bugreport19.snap.svg +44 -0
  53. package/tests/solver/bugreport19/bugreport19.json +678 -0
  54. package/tests/solver/bugreport19/bugreport19.test.ts +93 -0
  55. package/tests/solver/bugreport20-obstacle-clipping/__snapshots__/bugreport20-obstacle-clipping.snap.svg +44 -0
  56. package/tests/solver/bugreport20-obstacle-clipping/bugreport20-obstacle-clipping.json +109 -0
  57. package/tests/solver/bugreport20-obstacle-clipping/bugreport20-obstacle-clipping.test.ts +93 -0
  58. package/tests/solver/bugreport21-board-outline/__snapshots__/bugreport21-board-outline.snap.svg +44 -0
  59. package/tests/solver/bugreport21-board-outline/bugreport21-board-outline.json +148 -0
  60. package/tests/solver/bugreport21-board-outline/bugreport21-board-outline.test.ts +93 -0
  61. package/tests/solver/bugreport22-2a75ce/__snapshots__/bugreport22-2a75ce.snap.svg +44 -0
  62. package/tests/solver/bugreport22-2a75ce/bugreport22-2a75ce.json +1550 -0
  63. package/tests/solver/bugreport22-2a75ce/bugreport22-2a75ce.test.ts +93 -0
  64. package/tests/solver/bugreport23-LGA15x4/__snapshots__/bugreport23-LGA15x4.snap.svg +44 -0
  65. package/tests/solver/bugreport23-LGA15x4/bugreport23-LGA15x4.srj.json +2401 -0
  66. package/tests/solver/bugreport23-LGA15x4/bugreport23-LGA15x4.test.ts +92 -0
  67. package/tests/solver/bugreport24-05597c/__snapshots__/bugreport24-05597c.snap.svg +44 -0
  68. package/tests/solver/bugreport24-05597c/bugreport24-05597c.json +8427 -0
  69. package/tests/solver/bugreport24-05597c/bugreport24-05597c.test.ts +93 -0
  70. package/tests/solver/bugreport25-4b1d55/__snapshots__/bugreport25-4b1d55.snap.svg +44 -0
  71. package/tests/solver/bugreport25-4b1d55/bugreport25-4b1d55.json +119 -0
  72. package/tests/solver/bugreport25-4b1d55/bugreport25-4b1d55.test.ts +93 -0
  73. package/tests/solver/bugreport26-66b0b2/__snapshots__/bugreport26-66b0b2.snap.svg +44 -0
  74. package/tests/solver/bugreport26-66b0b2/bugreport26-66b0b2.json +1651 -0
  75. package/tests/solver/bugreport26-66b0b2/bugreport26-66b0b2.test.ts +93 -0
  76. package/tests/solver/bugreport27-dd3734/__snapshots__/bugreport27-dd3734.snap.svg +44 -0
  77. package/tests/solver/bugreport27-dd3734/bugreport27-dd3734.json +4116 -0
  78. package/tests/solver/bugreport27-dd3734/bugreport27-dd3734.test.ts +93 -0
  79. package/tests/solver/bugreport28-18a9ef/__snapshots__/bugreport28-18a9ef.snap.svg +44 -0
  80. package/tests/solver/bugreport28-18a9ef/bugreport28-18a9ef.json +4116 -0
  81. package/tests/solver/bugreport28-18a9ef/bugreport28-18a9ef.test.ts +93 -0
  82. package/tests/solver/bugreport29-7deae8/__snapshots__/bugreport29-7deae8.snap.svg +44 -0
  83. package/tests/solver/bugreport29-7deae8/bugreport29-7deae8.json +4118 -0
  84. package/tests/solver/bugreport29-7deae8/bugreport29-7deae8.test.ts +93 -0
  85. package/tests/solver/bugreport30-2174c8/__snapshots__/bugreport30-2174c8.snap.svg +44 -0
  86. package/tests/solver/bugreport30-2174c8/bugreport30-2174c8.json +4007 -0
  87. package/tests/solver/bugreport30-2174c8/bugreport30-2174c8.test.ts +93 -0
  88. package/tests/solver/bugreport33-213d45/__snapshots__/bugreport33-213d45.snap.svg +44 -0
  89. package/tests/solver/bugreport33-213d45/bugreport33-213d45.json +5089 -0
  90. package/tests/solver/bugreport33-213d45/bugreport33-213d45.test.ts +93 -0
  91. package/tests/solver/bugreport34-e9dea2/__snapshots__/bugreport34-e9dea2.snap.svg +44 -0
  92. package/tests/solver/bugreport34-e9dea2/bugreport34-e9dea2.json +3924 -0
  93. package/tests/solver/bugreport34-e9dea2/bugreport34-e9dea2.test.ts +93 -0
  94. package/tests/solver/bugreport35-191db9/__snapshots__/bugreport35-191db9.snap.svg +44 -0
  95. package/tests/solver/bugreport35-191db9/bugreport35-191db9.json +4237 -0
  96. package/tests/solver/bugreport35-191db9/bugreport35-191db9.test.ts +93 -0
  97. package/tests/solver/bugreport36-bf8303/__snapshots__/bugreport36-bf8303.snap.svg +44 -0
  98. package/tests/solver/bugreport36-bf8303/bugreport36-bf8303.json +29660 -0
  99. package/tests/solver/bugreport36-bf8303/bugreport36-bf8303.test.ts +93 -0
  100. package/tests/solver/interaction/__snapshots__/interaction.snap.svg +44 -0
  101. package/tests/solver/interaction/interaction.srj.json +58 -0
  102. package/tests/solver/interaction/interaction.test.ts +92 -0
  103. package/tests/solver/multi-point/__snapshots__/multi-point.snap.svg +44 -0
  104. package/tests/solver/multi-point/multi-point.srj.json +57 -0
  105. package/tests/solver/multi-point/multi-point.test.ts +92 -0
  106. package/tests/solver/no-better-path/__snapshots__/no-better-path.snap.svg +44 -0
  107. package/tests/solver/no-better-path/no-better-path.srj.json +48 -0
  108. package/tests/solver/no-better-path/no-better-path.test.ts +92 -0
  109. package/tests/solver/offboardconnects01/__snapshots__/offboardconnects01.snap.svg +44 -0
  110. package/tests/solver/offboardconnects01/offboardconnects01.srj.json +53 -0
  111. package/tests/solver/offboardconnects01/offboardconnects01.test.ts +92 -0
  112. package/tests/solver/pcb_trace_id-should-return-root-connection-name/__snapshots__/pcb_trace_id-should-return-root-connection-name.snap.svg +44 -0
  113. package/tests/solver/pcb_trace_id-should-return-root-connection-name/pcb_trace_id-should-return-root-connection-name.srj.json +129 -0
  114. package/tests/solver/pcb_trace_id-should-return-root-connection-name/pcb_trace_id-should-return-root-connection-name.test.ts +92 -0
  115. package/tests/solver/transitivity/__snapshots__/transitivity.snap.svg +44 -0
  116. package/tests/solver/transitivity/transitivity.srj.json +64 -0
  117. package/tests/solver/transitivity/transitivity.test.ts +92 -0
@@ -0,0 +1,1511 @@
1
+ {
2
+ "autorouting_bug_report_id": "e3ec95c8-e4a0-4930-9c1f-7eeafd355a9e",
3
+ "reporter_account_id": "9f398687-69d0-4ef4-a48c-bb6dc990e7df",
4
+ "package_id": null,
5
+ "title": "<board#151 />",
6
+ "simple_route_json": {
7
+ "bounds": {
8
+ "maxX": 30,
9
+ "maxY": 20,
10
+ "minX": -30,
11
+ "minY": -20
12
+ },
13
+ "obstacles": [
14
+ {
15
+ "type": "rect",
16
+ "width": 1,
17
+ "center": {
18
+ "x": -2.15,
19
+ "y": 6.985
20
+ },
21
+ "height": 0.6,
22
+ "layers": ["top"],
23
+ "connectedTo": [
24
+ "pcb_smtpad_0",
25
+ "connectivity_net0",
26
+ "source_trace_0",
27
+ "source_port_24",
28
+ "source_port_23",
29
+ "pcb_plated_hole_23",
30
+ "pcb_port_23",
31
+ "pcb_smtpad_0",
32
+ "pcb_port_24"
33
+ ]
34
+ },
35
+ {
36
+ "type": "rect",
37
+ "width": 1,
38
+ "center": {
39
+ "x": -2.15,
40
+ "y": 5.715
41
+ },
42
+ "height": 0.6,
43
+ "layers": ["top"],
44
+ "connectedTo": [
45
+ "pcb_smtpad_1",
46
+ "connectivity_net3",
47
+ "source_trace_1",
48
+ "source_port_25",
49
+ "source_port_12",
50
+ "pcb_plated_hole_12",
51
+ "pcb_port_12",
52
+ "pcb_smtpad_1",
53
+ "pcb_port_25"
54
+ ]
55
+ },
56
+ {
57
+ "type": "rect",
58
+ "width": 1,
59
+ "center": {
60
+ "x": -2.15,
61
+ "y": 4.445
62
+ },
63
+ "height": 0.6,
64
+ "layers": ["top"],
65
+ "connectedTo": [
66
+ "pcb_smtpad_2",
67
+ "connectivity_net6",
68
+ "source_trace_2",
69
+ "source_port_26",
70
+ "source_port_22",
71
+ "pcb_plated_hole_22",
72
+ "pcb_port_22",
73
+ "pcb_smtpad_2",
74
+ "pcb_port_26"
75
+ ]
76
+ },
77
+ {
78
+ "type": "rect",
79
+ "width": 1,
80
+ "center": {
81
+ "x": -2.15,
82
+ "y": 3.1750000000000003
83
+ },
84
+ "height": 0.6,
85
+ "layers": ["top"],
86
+ "connectedTo": [
87
+ "pcb_smtpad_3",
88
+ "connectivity_net9",
89
+ "source_trace_3",
90
+ "source_port_27",
91
+ "source_port_13",
92
+ "pcb_plated_hole_13",
93
+ "pcb_port_13",
94
+ "pcb_smtpad_3",
95
+ "pcb_port_27"
96
+ ]
97
+ },
98
+ {
99
+ "type": "rect",
100
+ "width": 1,
101
+ "center": {
102
+ "x": -2.15,
103
+ "y": 1.9050000000000002
104
+ },
105
+ "height": 0.6,
106
+ "layers": ["top"],
107
+ "connectedTo": [
108
+ "pcb_smtpad_4",
109
+ "connectivity_net12",
110
+ "source_trace_4",
111
+ "source_port_28",
112
+ "source_port_21",
113
+ "pcb_plated_hole_21",
114
+ "pcb_port_21",
115
+ "pcb_smtpad_4",
116
+ "pcb_port_28"
117
+ ]
118
+ },
119
+ {
120
+ "type": "rect",
121
+ "width": 1,
122
+ "center": {
123
+ "x": -2.15,
124
+ "y": 0.6350000000000007
125
+ },
126
+ "height": 0.6,
127
+ "layers": ["top"],
128
+ "connectedTo": [
129
+ "pcb_smtpad_5",
130
+ "connectivity_net15",
131
+ "source_trace_5",
132
+ "source_port_29",
133
+ "source_port_14",
134
+ "pcb_plated_hole_14",
135
+ "pcb_port_14",
136
+ "pcb_smtpad_5",
137
+ "pcb_port_29"
138
+ ]
139
+ },
140
+ {
141
+ "type": "rect",
142
+ "width": 1,
143
+ "center": {
144
+ "x": -2.15,
145
+ "y": -0.6349999999999998
146
+ },
147
+ "height": 0.6,
148
+ "layers": ["top"],
149
+ "connectedTo": [
150
+ "pcb_smtpad_6",
151
+ "connectivity_net18",
152
+ "source_trace_6",
153
+ "source_port_30",
154
+ "source_port_20",
155
+ "pcb_plated_hole_20",
156
+ "pcb_port_20",
157
+ "pcb_smtpad_6",
158
+ "pcb_port_30"
159
+ ]
160
+ },
161
+ {
162
+ "type": "rect",
163
+ "width": 1,
164
+ "center": {
165
+ "x": -2.15,
166
+ "y": -1.9050000000000002
167
+ },
168
+ "height": 0.6,
169
+ "layers": ["top"],
170
+ "connectedTo": [
171
+ "pcb_smtpad_7",
172
+ "connectivity_net21",
173
+ "source_trace_7",
174
+ "source_port_31",
175
+ "source_port_15",
176
+ "pcb_plated_hole_15",
177
+ "pcb_port_15",
178
+ "pcb_smtpad_7",
179
+ "pcb_port_31"
180
+ ]
181
+ },
182
+ {
183
+ "type": "rect",
184
+ "width": 1,
185
+ "center": {
186
+ "x": -2.15,
187
+ "y": -3.175
188
+ },
189
+ "height": 0.6,
190
+ "layers": ["top"],
191
+ "connectedTo": [
192
+ "pcb_smtpad_8",
193
+ "connectivity_net24",
194
+ "source_trace_8",
195
+ "source_port_32",
196
+ "source_port_19",
197
+ "pcb_plated_hole_19",
198
+ "pcb_port_19",
199
+ "pcb_smtpad_8",
200
+ "pcb_port_32"
201
+ ]
202
+ },
203
+ {
204
+ "type": "rect",
205
+ "width": 1,
206
+ "center": {
207
+ "x": -2.15,
208
+ "y": -4.444999999999999
209
+ },
210
+ "height": 0.6,
211
+ "layers": ["top"],
212
+ "connectedTo": [
213
+ "pcb_smtpad_9",
214
+ "connectivity_net27",
215
+ "source_trace_9",
216
+ "source_port_33",
217
+ "source_port_16",
218
+ "pcb_plated_hole_16",
219
+ "pcb_port_16",
220
+ "pcb_smtpad_9",
221
+ "pcb_port_33"
222
+ ]
223
+ },
224
+ {
225
+ "type": "rect",
226
+ "width": 1,
227
+ "center": {
228
+ "x": -2.15,
229
+ "y": -5.714999999999999
230
+ },
231
+ "height": 0.6,
232
+ "layers": ["top"],
233
+ "connectedTo": [
234
+ "pcb_smtpad_10",
235
+ "connectivity_net30",
236
+ "source_trace_10",
237
+ "source_port_34",
238
+ "source_port_18",
239
+ "pcb_plated_hole_18",
240
+ "pcb_port_18",
241
+ "pcb_smtpad_10",
242
+ "pcb_port_34"
243
+ ]
244
+ },
245
+ {
246
+ "type": "rect",
247
+ "width": 1,
248
+ "center": {
249
+ "x": -2.15,
250
+ "y": -6.985
251
+ },
252
+ "height": 0.6,
253
+ "layers": ["top"],
254
+ "connectedTo": [
255
+ "pcb_smtpad_11",
256
+ "connectivity_net33",
257
+ "source_trace_11",
258
+ "source_port_35",
259
+ "source_port_17",
260
+ "pcb_plated_hole_17",
261
+ "pcb_port_17",
262
+ "pcb_smtpad_11",
263
+ "pcb_port_35"
264
+ ]
265
+ },
266
+ {
267
+ "type": "rect",
268
+ "width": 1,
269
+ "center": {
270
+ "x": 2.15,
271
+ "y": -6.985
272
+ },
273
+ "height": 0.6,
274
+ "layers": ["top"],
275
+ "connectedTo": [
276
+ "pcb_smtpad_12",
277
+ "connectivity_net36",
278
+ "source_trace_12",
279
+ "source_port_36",
280
+ "source_port_0",
281
+ "pcb_plated_hole_0",
282
+ "pcb_port_0",
283
+ "pcb_smtpad_12",
284
+ "pcb_port_36"
285
+ ]
286
+ },
287
+ {
288
+ "type": "rect",
289
+ "width": 1,
290
+ "center": {
291
+ "x": 2.15,
292
+ "y": -5.715
293
+ },
294
+ "height": 0.6,
295
+ "layers": ["top"],
296
+ "connectedTo": [
297
+ "pcb_smtpad_13",
298
+ "connectivity_net39",
299
+ "source_trace_13",
300
+ "source_port_37",
301
+ "source_port_11",
302
+ "pcb_plated_hole_11",
303
+ "pcb_port_11",
304
+ "pcb_smtpad_13",
305
+ "pcb_port_37"
306
+ ]
307
+ },
308
+ {
309
+ "type": "rect",
310
+ "width": 1,
311
+ "center": {
312
+ "x": 2.15,
313
+ "y": -4.445
314
+ },
315
+ "height": 0.6,
316
+ "layers": ["top"],
317
+ "connectedTo": [
318
+ "pcb_smtpad_14",
319
+ "connectivity_net42",
320
+ "source_trace_14",
321
+ "source_port_38",
322
+ "source_port_1",
323
+ "pcb_plated_hole_1",
324
+ "pcb_port_1",
325
+ "pcb_smtpad_14",
326
+ "pcb_port_38"
327
+ ]
328
+ },
329
+ {
330
+ "type": "rect",
331
+ "width": 1,
332
+ "center": {
333
+ "x": 2.15,
334
+ "y": -3.1750000000000003
335
+ },
336
+ "height": 0.6,
337
+ "layers": ["top"],
338
+ "connectedTo": [
339
+ "pcb_smtpad_15",
340
+ "connectivity_net45",
341
+ "source_trace_15",
342
+ "source_port_39",
343
+ "source_port_10",
344
+ "pcb_plated_hole_10",
345
+ "pcb_port_10",
346
+ "pcb_smtpad_15",
347
+ "pcb_port_39"
348
+ ]
349
+ },
350
+ {
351
+ "type": "rect",
352
+ "width": 1,
353
+ "center": {
354
+ "x": 2.15,
355
+ "y": -1.9050000000000002
356
+ },
357
+ "height": 0.6,
358
+ "layers": ["top"],
359
+ "connectedTo": [
360
+ "pcb_smtpad_16",
361
+ "connectivity_net48",
362
+ "source_trace_16",
363
+ "source_port_40",
364
+ "source_port_2",
365
+ "pcb_plated_hole_2",
366
+ "pcb_port_2",
367
+ "pcb_smtpad_16",
368
+ "pcb_port_40"
369
+ ]
370
+ },
371
+ {
372
+ "type": "rect",
373
+ "width": 1,
374
+ "center": {
375
+ "x": 2.15,
376
+ "y": -0.6350000000000007
377
+ },
378
+ "height": 0.6,
379
+ "layers": ["top"],
380
+ "connectedTo": [
381
+ "pcb_smtpad_17",
382
+ "connectivity_net51",
383
+ "source_trace_17",
384
+ "source_port_41",
385
+ "source_port_9",
386
+ "pcb_plated_hole_9",
387
+ "pcb_port_9",
388
+ "pcb_smtpad_17",
389
+ "pcb_port_41"
390
+ ]
391
+ },
392
+ {
393
+ "type": "rect",
394
+ "width": 1,
395
+ "center": {
396
+ "x": 2.15,
397
+ "y": 0.6349999999999998
398
+ },
399
+ "height": 0.6,
400
+ "layers": ["top"],
401
+ "connectedTo": [
402
+ "pcb_smtpad_18",
403
+ "connectivity_net54",
404
+ "source_trace_18",
405
+ "source_port_42",
406
+ "source_port_3",
407
+ "pcb_plated_hole_3",
408
+ "pcb_port_3",
409
+ "pcb_smtpad_18",
410
+ "pcb_port_42"
411
+ ]
412
+ },
413
+ {
414
+ "type": "rect",
415
+ "width": 1,
416
+ "center": {
417
+ "x": 2.15,
418
+ "y": 1.9050000000000002
419
+ },
420
+ "height": 0.6,
421
+ "layers": ["top"],
422
+ "connectedTo": [
423
+ "pcb_smtpad_19",
424
+ "connectivity_net57",
425
+ "source_trace_19",
426
+ "source_port_43",
427
+ "source_port_8",
428
+ "pcb_plated_hole_8",
429
+ "pcb_port_8",
430
+ "pcb_smtpad_19",
431
+ "pcb_port_43"
432
+ ]
433
+ },
434
+ {
435
+ "type": "rect",
436
+ "width": 1,
437
+ "center": {
438
+ "x": 2.15,
439
+ "y": 3.175
440
+ },
441
+ "height": 0.6,
442
+ "layers": ["top"],
443
+ "connectedTo": [
444
+ "pcb_smtpad_20",
445
+ "connectivity_net60",
446
+ "source_trace_20",
447
+ "source_port_44",
448
+ "source_port_4",
449
+ "pcb_plated_hole_4",
450
+ "pcb_port_4",
451
+ "pcb_smtpad_20",
452
+ "pcb_port_44"
453
+ ]
454
+ },
455
+ {
456
+ "type": "rect",
457
+ "width": 1,
458
+ "center": {
459
+ "x": 2.15,
460
+ "y": 4.444999999999999
461
+ },
462
+ "height": 0.6,
463
+ "layers": ["top"],
464
+ "connectedTo": [
465
+ "pcb_smtpad_21",
466
+ "connectivity_net63",
467
+ "source_trace_21",
468
+ "source_port_45",
469
+ "source_port_7",
470
+ "pcb_plated_hole_7",
471
+ "pcb_port_7",
472
+ "pcb_smtpad_21",
473
+ "pcb_port_45"
474
+ ]
475
+ },
476
+ {
477
+ "type": "rect",
478
+ "width": 1,
479
+ "center": {
480
+ "x": 2.15,
481
+ "y": 5.714999999999999
482
+ },
483
+ "height": 0.6,
484
+ "layers": ["top"],
485
+ "connectedTo": [
486
+ "pcb_smtpad_22",
487
+ "connectivity_net66",
488
+ "source_trace_22",
489
+ "source_port_46",
490
+ "source_port_5",
491
+ "pcb_plated_hole_5",
492
+ "pcb_port_5",
493
+ "pcb_smtpad_22",
494
+ "pcb_port_46"
495
+ ]
496
+ },
497
+ {
498
+ "type": "rect",
499
+ "width": 1,
500
+ "center": {
501
+ "x": 2.15,
502
+ "y": 6.985
503
+ },
504
+ "height": 0.6,
505
+ "layers": ["top"],
506
+ "connectedTo": [
507
+ "pcb_smtpad_23",
508
+ "connectivity_net69",
509
+ "source_trace_23",
510
+ "source_port_47",
511
+ "source_port_6",
512
+ "pcb_plated_hole_6",
513
+ "pcb_port_6",
514
+ "pcb_smtpad_23",
515
+ "pcb_port_47"
516
+ ]
517
+ },
518
+ {
519
+ "type": "rect",
520
+ "width": 1.5,
521
+ "center": {
522
+ "x": -21.5,
523
+ "y": -13.97
524
+ },
525
+ "height": 1.5,
526
+ "layers": ["top", "inner1", "inner2", "bottom"],
527
+ "connectedTo": [
528
+ "pcb_plated_hole_0",
529
+ "connectivity_net36",
530
+ "source_trace_12",
531
+ "source_port_36",
532
+ "source_port_0",
533
+ "pcb_plated_hole_0",
534
+ "pcb_port_0",
535
+ "pcb_smtpad_12",
536
+ "pcb_port_36"
537
+ ]
538
+ },
539
+ {
540
+ "type": "oval",
541
+ "width": 1.5,
542
+ "center": {
543
+ "x": -21.5,
544
+ "y": -11.43
545
+ },
546
+ "height": 1.5,
547
+ "layers": ["top", "inner1", "inner2", "bottom"],
548
+ "connectedTo": [
549
+ "pcb_plated_hole_1",
550
+ "connectivity_net42",
551
+ "source_trace_14",
552
+ "source_port_38",
553
+ "source_port_1",
554
+ "pcb_plated_hole_1",
555
+ "pcb_port_1",
556
+ "pcb_smtpad_14",
557
+ "pcb_port_38"
558
+ ]
559
+ },
560
+ {
561
+ "type": "oval",
562
+ "width": 1.5,
563
+ "center": {
564
+ "x": -21.5,
565
+ "y": -8.89
566
+ },
567
+ "height": 1.5,
568
+ "layers": ["top", "inner1", "inner2", "bottom"],
569
+ "connectedTo": [
570
+ "pcb_plated_hole_2",
571
+ "connectivity_net48",
572
+ "source_trace_16",
573
+ "source_port_40",
574
+ "source_port_2",
575
+ "pcb_plated_hole_2",
576
+ "pcb_port_2",
577
+ "pcb_smtpad_16",
578
+ "pcb_port_40"
579
+ ]
580
+ },
581
+ {
582
+ "type": "oval",
583
+ "width": 1.5,
584
+ "center": {
585
+ "x": -21.5,
586
+ "y": -6.3500000000000005
587
+ },
588
+ "height": 1.5,
589
+ "layers": ["top", "inner1", "inner2", "bottom"],
590
+ "connectedTo": [
591
+ "pcb_plated_hole_3",
592
+ "connectivity_net54",
593
+ "source_trace_18",
594
+ "source_port_42",
595
+ "source_port_3",
596
+ "pcb_plated_hole_3",
597
+ "pcb_port_3",
598
+ "pcb_smtpad_18",
599
+ "pcb_port_42"
600
+ ]
601
+ },
602
+ {
603
+ "type": "oval",
604
+ "width": 1.5,
605
+ "center": {
606
+ "x": -21.5,
607
+ "y": -3.8100000000000005
608
+ },
609
+ "height": 1.5,
610
+ "layers": ["top", "inner1", "inner2", "bottom"],
611
+ "connectedTo": [
612
+ "pcb_plated_hole_4",
613
+ "connectivity_net60",
614
+ "source_trace_20",
615
+ "source_port_44",
616
+ "source_port_4",
617
+ "pcb_plated_hole_4",
618
+ "pcb_port_4",
619
+ "pcb_smtpad_20",
620
+ "pcb_port_44"
621
+ ]
622
+ },
623
+ {
624
+ "type": "oval",
625
+ "width": 1.5,
626
+ "center": {
627
+ "x": -21.5,
628
+ "y": -1.2700000000000014
629
+ },
630
+ "height": 1.5,
631
+ "layers": ["top", "inner1", "inner2", "bottom"],
632
+ "connectedTo": [
633
+ "pcb_plated_hole_5",
634
+ "connectivity_net66",
635
+ "source_trace_22",
636
+ "source_port_46",
637
+ "source_port_5",
638
+ "pcb_plated_hole_5",
639
+ "pcb_port_5",
640
+ "pcb_smtpad_22",
641
+ "pcb_port_46"
642
+ ]
643
+ },
644
+ {
645
+ "type": "oval",
646
+ "width": 1.5,
647
+ "center": {
648
+ "x": -21.5,
649
+ "y": 1.2699999999999996
650
+ },
651
+ "height": 1.5,
652
+ "layers": ["top", "inner1", "inner2", "bottom"],
653
+ "connectedTo": [
654
+ "pcb_plated_hole_6",
655
+ "connectivity_net69",
656
+ "source_trace_23",
657
+ "source_port_47",
658
+ "source_port_6",
659
+ "pcb_plated_hole_6",
660
+ "pcb_port_6",
661
+ "pcb_smtpad_23",
662
+ "pcb_port_47"
663
+ ]
664
+ },
665
+ {
666
+ "type": "oval",
667
+ "width": 1.5,
668
+ "center": {
669
+ "x": -21.5,
670
+ "y": 3.8100000000000005
671
+ },
672
+ "height": 1.5,
673
+ "layers": ["top", "inner1", "inner2", "bottom"],
674
+ "connectedTo": [
675
+ "pcb_plated_hole_7",
676
+ "connectivity_net63",
677
+ "source_trace_21",
678
+ "source_port_45",
679
+ "source_port_7",
680
+ "pcb_plated_hole_7",
681
+ "pcb_port_7",
682
+ "pcb_smtpad_21",
683
+ "pcb_port_45"
684
+ ]
685
+ },
686
+ {
687
+ "type": "oval",
688
+ "width": 1.5,
689
+ "center": {
690
+ "x": -21.5,
691
+ "y": 6.35
692
+ },
693
+ "height": 1.5,
694
+ "layers": ["top", "inner1", "inner2", "bottom"],
695
+ "connectedTo": [
696
+ "pcb_plated_hole_8",
697
+ "connectivity_net57",
698
+ "source_trace_19",
699
+ "source_port_43",
700
+ "source_port_8",
701
+ "pcb_plated_hole_8",
702
+ "pcb_port_8",
703
+ "pcb_smtpad_19",
704
+ "pcb_port_43"
705
+ ]
706
+ },
707
+ {
708
+ "type": "oval",
709
+ "width": 1.5,
710
+ "center": {
711
+ "x": -21.5,
712
+ "y": 8.889999999999999
713
+ },
714
+ "height": 1.5,
715
+ "layers": ["top", "inner1", "inner2", "bottom"],
716
+ "connectedTo": [
717
+ "pcb_plated_hole_9",
718
+ "connectivity_net51",
719
+ "source_trace_17",
720
+ "source_port_41",
721
+ "source_port_9",
722
+ "pcb_plated_hole_9",
723
+ "pcb_port_9",
724
+ "pcb_smtpad_17",
725
+ "pcb_port_41"
726
+ ]
727
+ },
728
+ {
729
+ "type": "oval",
730
+ "width": 1.5,
731
+ "center": {
732
+ "x": -21.5,
733
+ "y": 11.429999999999998
734
+ },
735
+ "height": 1.5,
736
+ "layers": ["top", "inner1", "inner2", "bottom"],
737
+ "connectedTo": [
738
+ "pcb_plated_hole_10",
739
+ "connectivity_net45",
740
+ "source_trace_15",
741
+ "source_port_39",
742
+ "source_port_10",
743
+ "pcb_plated_hole_10",
744
+ "pcb_port_10",
745
+ "pcb_smtpad_15",
746
+ "pcb_port_39"
747
+ ]
748
+ },
749
+ {
750
+ "type": "oval",
751
+ "width": 1.5,
752
+ "center": {
753
+ "x": -21.5,
754
+ "y": 13.97
755
+ },
756
+ "height": 1.5,
757
+ "layers": ["top", "inner1", "inner2", "bottom"],
758
+ "connectedTo": [
759
+ "pcb_plated_hole_11",
760
+ "connectivity_net39",
761
+ "source_trace_13",
762
+ "source_port_37",
763
+ "source_port_11",
764
+ "pcb_plated_hole_11",
765
+ "pcb_port_11",
766
+ "pcb_smtpad_13",
767
+ "pcb_port_37"
768
+ ]
769
+ },
770
+ {
771
+ "type": "rect",
772
+ "width": 1.5,
773
+ "center": {
774
+ "x": 21.5,
775
+ "y": 13.97
776
+ },
777
+ "height": 1.5,
778
+ "layers": ["top", "inner1", "inner2", "bottom"],
779
+ "connectedTo": [
780
+ "pcb_plated_hole_12",
781
+ "connectivity_net3",
782
+ "source_trace_1",
783
+ "source_port_25",
784
+ "source_port_12",
785
+ "pcb_plated_hole_12",
786
+ "pcb_port_12",
787
+ "pcb_smtpad_1",
788
+ "pcb_port_25"
789
+ ]
790
+ },
791
+ {
792
+ "type": "oval",
793
+ "width": 1.5,
794
+ "center": {
795
+ "x": 21.5,
796
+ "y": 11.43
797
+ },
798
+ "height": 1.5,
799
+ "layers": ["top", "inner1", "inner2", "bottom"],
800
+ "connectedTo": [
801
+ "pcb_plated_hole_13",
802
+ "connectivity_net9",
803
+ "source_trace_3",
804
+ "source_port_27",
805
+ "source_port_13",
806
+ "pcb_plated_hole_13",
807
+ "pcb_port_13",
808
+ "pcb_smtpad_3",
809
+ "pcb_port_27"
810
+ ]
811
+ },
812
+ {
813
+ "type": "oval",
814
+ "width": 1.5,
815
+ "center": {
816
+ "x": 21.5,
817
+ "y": 8.89
818
+ },
819
+ "height": 1.5,
820
+ "layers": ["top", "inner1", "inner2", "bottom"],
821
+ "connectedTo": [
822
+ "pcb_plated_hole_14",
823
+ "connectivity_net15",
824
+ "source_trace_5",
825
+ "source_port_29",
826
+ "source_port_14",
827
+ "pcb_plated_hole_14",
828
+ "pcb_port_14",
829
+ "pcb_smtpad_5",
830
+ "pcb_port_29"
831
+ ]
832
+ },
833
+ {
834
+ "type": "oval",
835
+ "width": 1.5,
836
+ "center": {
837
+ "x": 21.5,
838
+ "y": 6.3500000000000005
839
+ },
840
+ "height": 1.5,
841
+ "layers": ["top", "inner1", "inner2", "bottom"],
842
+ "connectedTo": [
843
+ "pcb_plated_hole_15",
844
+ "connectivity_net21",
845
+ "source_trace_7",
846
+ "source_port_31",
847
+ "source_port_15",
848
+ "pcb_plated_hole_15",
849
+ "pcb_port_15",
850
+ "pcb_smtpad_7",
851
+ "pcb_port_31"
852
+ ]
853
+ },
854
+ {
855
+ "type": "oval",
856
+ "width": 1.5,
857
+ "center": {
858
+ "x": 21.5,
859
+ "y": 3.8100000000000005
860
+ },
861
+ "height": 1.5,
862
+ "layers": ["top", "inner1", "inner2", "bottom"],
863
+ "connectedTo": [
864
+ "pcb_plated_hole_16",
865
+ "connectivity_net27",
866
+ "source_trace_9",
867
+ "source_port_33",
868
+ "source_port_16",
869
+ "pcb_plated_hole_16",
870
+ "pcb_port_16",
871
+ "pcb_smtpad_9",
872
+ "pcb_port_33"
873
+ ]
874
+ },
875
+ {
876
+ "type": "oval",
877
+ "width": 1.5,
878
+ "center": {
879
+ "x": 21.5,
880
+ "y": 1.2700000000000014
881
+ },
882
+ "height": 1.5,
883
+ "layers": ["top", "inner1", "inner2", "bottom"],
884
+ "connectedTo": [
885
+ "pcb_plated_hole_17",
886
+ "connectivity_net33",
887
+ "source_trace_11",
888
+ "source_port_35",
889
+ "source_port_17",
890
+ "pcb_plated_hole_17",
891
+ "pcb_port_17",
892
+ "pcb_smtpad_11",
893
+ "pcb_port_35"
894
+ ]
895
+ },
896
+ {
897
+ "type": "oval",
898
+ "width": 1.5,
899
+ "center": {
900
+ "x": 21.5,
901
+ "y": -1.2699999999999996
902
+ },
903
+ "height": 1.5,
904
+ "layers": ["top", "inner1", "inner2", "bottom"],
905
+ "connectedTo": [
906
+ "pcb_plated_hole_18",
907
+ "connectivity_net30",
908
+ "source_trace_10",
909
+ "source_port_34",
910
+ "source_port_18",
911
+ "pcb_plated_hole_18",
912
+ "pcb_port_18",
913
+ "pcb_smtpad_10",
914
+ "pcb_port_34"
915
+ ]
916
+ },
917
+ {
918
+ "type": "oval",
919
+ "width": 1.5,
920
+ "center": {
921
+ "x": 21.5,
922
+ "y": -3.8100000000000005
923
+ },
924
+ "height": 1.5,
925
+ "layers": ["top", "inner1", "inner2", "bottom"],
926
+ "connectedTo": [
927
+ "pcb_plated_hole_19",
928
+ "connectivity_net24",
929
+ "source_trace_8",
930
+ "source_port_32",
931
+ "source_port_19",
932
+ "pcb_plated_hole_19",
933
+ "pcb_port_19",
934
+ "pcb_smtpad_8",
935
+ "pcb_port_32"
936
+ ]
937
+ },
938
+ {
939
+ "type": "oval",
940
+ "width": 1.5,
941
+ "center": {
942
+ "x": 21.5,
943
+ "y": -6.35
944
+ },
945
+ "height": 1.5,
946
+ "layers": ["top", "inner1", "inner2", "bottom"],
947
+ "connectedTo": [
948
+ "pcb_plated_hole_20",
949
+ "connectivity_net18",
950
+ "source_trace_6",
951
+ "source_port_30",
952
+ "source_port_20",
953
+ "pcb_plated_hole_20",
954
+ "pcb_port_20",
955
+ "pcb_smtpad_6",
956
+ "pcb_port_30"
957
+ ]
958
+ },
959
+ {
960
+ "type": "oval",
961
+ "width": 1.5,
962
+ "center": {
963
+ "x": 21.5,
964
+ "y": -8.889999999999999
965
+ },
966
+ "height": 1.5,
967
+ "layers": ["top", "inner1", "inner2", "bottom"],
968
+ "connectedTo": [
969
+ "pcb_plated_hole_21",
970
+ "connectivity_net12",
971
+ "source_trace_4",
972
+ "source_port_28",
973
+ "source_port_21",
974
+ "pcb_plated_hole_21",
975
+ "pcb_port_21",
976
+ "pcb_smtpad_4",
977
+ "pcb_port_28"
978
+ ]
979
+ },
980
+ {
981
+ "type": "oval",
982
+ "width": 1.5,
983
+ "center": {
984
+ "x": 21.5,
985
+ "y": -11.429999999999998
986
+ },
987
+ "height": 1.5,
988
+ "layers": ["top", "inner1", "inner2", "bottom"],
989
+ "connectedTo": [
990
+ "pcb_plated_hole_22",
991
+ "connectivity_net6",
992
+ "source_trace_2",
993
+ "source_port_26",
994
+ "source_port_22",
995
+ "pcb_plated_hole_22",
996
+ "pcb_port_22",
997
+ "pcb_smtpad_2",
998
+ "pcb_port_26"
999
+ ]
1000
+ },
1001
+ {
1002
+ "type": "oval",
1003
+ "width": 1.5,
1004
+ "center": {
1005
+ "x": 21.5,
1006
+ "y": -13.97
1007
+ },
1008
+ "height": 1.5,
1009
+ "layers": ["top", "inner1", "inner2", "bottom"],
1010
+ "connectedTo": [
1011
+ "pcb_plated_hole_23",
1012
+ "connectivity_net0",
1013
+ "source_trace_0",
1014
+ "source_port_24",
1015
+ "source_port_23",
1016
+ "pcb_plated_hole_23",
1017
+ "pcb_port_23",
1018
+ "pcb_smtpad_0",
1019
+ "pcb_port_24"
1020
+ ]
1021
+ }
1022
+ ],
1023
+ "layerCount": 4,
1024
+ "connections": [
1025
+ {
1026
+ "name": "source_trace_0",
1027
+ "pointsToConnect": [
1028
+ {
1029
+ "x": -2.15,
1030
+ "y": 6.985,
1031
+ "layer": "top",
1032
+ "pointId": "pcb_port_24",
1033
+ "pcb_port_id": "pcb_port_24"
1034
+ },
1035
+ {
1036
+ "x": 21.5,
1037
+ "y": -13.97,
1038
+ "layer": "top",
1039
+ "pointId": "pcb_port_23",
1040
+ "pcb_port_id": "pcb_port_23"
1041
+ }
1042
+ ],
1043
+ "source_trace_id": "source_trace_0"
1044
+ },
1045
+ {
1046
+ "name": "source_trace_1",
1047
+ "pointsToConnect": [
1048
+ {
1049
+ "x": -2.15,
1050
+ "y": 5.715,
1051
+ "layer": "top",
1052
+ "pointId": "pcb_port_25",
1053
+ "pcb_port_id": "pcb_port_25"
1054
+ },
1055
+ {
1056
+ "x": 21.5,
1057
+ "y": 13.97,
1058
+ "layer": "top",
1059
+ "pointId": "pcb_port_12",
1060
+ "pcb_port_id": "pcb_port_12"
1061
+ }
1062
+ ],
1063
+ "source_trace_id": "source_trace_1"
1064
+ },
1065
+ {
1066
+ "name": "source_trace_2",
1067
+ "pointsToConnect": [
1068
+ {
1069
+ "x": -2.15,
1070
+ "y": 4.445,
1071
+ "layer": "top",
1072
+ "pointId": "pcb_port_26",
1073
+ "pcb_port_id": "pcb_port_26"
1074
+ },
1075
+ {
1076
+ "x": 21.5,
1077
+ "y": -11.429999999999998,
1078
+ "layer": "top",
1079
+ "pointId": "pcb_port_22",
1080
+ "pcb_port_id": "pcb_port_22"
1081
+ }
1082
+ ],
1083
+ "source_trace_id": "source_trace_2"
1084
+ },
1085
+ {
1086
+ "name": "source_trace_3",
1087
+ "pointsToConnect": [
1088
+ {
1089
+ "x": -2.15,
1090
+ "y": 3.1750000000000003,
1091
+ "layer": "top",
1092
+ "pointId": "pcb_port_27",
1093
+ "pcb_port_id": "pcb_port_27"
1094
+ },
1095
+ {
1096
+ "x": 21.5,
1097
+ "y": 11.43,
1098
+ "layer": "top",
1099
+ "pointId": "pcb_port_13",
1100
+ "pcb_port_id": "pcb_port_13"
1101
+ }
1102
+ ],
1103
+ "source_trace_id": "source_trace_3"
1104
+ },
1105
+ {
1106
+ "name": "source_trace_4",
1107
+ "pointsToConnect": [
1108
+ {
1109
+ "x": -2.15,
1110
+ "y": 1.9050000000000002,
1111
+ "layer": "top",
1112
+ "pointId": "pcb_port_28",
1113
+ "pcb_port_id": "pcb_port_28"
1114
+ },
1115
+ {
1116
+ "x": 21.5,
1117
+ "y": -8.889999999999999,
1118
+ "layer": "top",
1119
+ "pointId": "pcb_port_21",
1120
+ "pcb_port_id": "pcb_port_21"
1121
+ }
1122
+ ],
1123
+ "source_trace_id": "source_trace_4"
1124
+ },
1125
+ {
1126
+ "name": "source_trace_5",
1127
+ "pointsToConnect": [
1128
+ {
1129
+ "x": -2.15,
1130
+ "y": 0.6350000000000007,
1131
+ "layer": "top",
1132
+ "pointId": "pcb_port_29",
1133
+ "pcb_port_id": "pcb_port_29"
1134
+ },
1135
+ {
1136
+ "x": 21.5,
1137
+ "y": 8.89,
1138
+ "layer": "top",
1139
+ "pointId": "pcb_port_14",
1140
+ "pcb_port_id": "pcb_port_14"
1141
+ }
1142
+ ],
1143
+ "source_trace_id": "source_trace_5"
1144
+ },
1145
+ {
1146
+ "name": "source_trace_6",
1147
+ "pointsToConnect": [
1148
+ {
1149
+ "x": -2.15,
1150
+ "y": -0.6349999999999998,
1151
+ "layer": "top",
1152
+ "pointId": "pcb_port_30",
1153
+ "pcb_port_id": "pcb_port_30"
1154
+ },
1155
+ {
1156
+ "x": 21.5,
1157
+ "y": -6.35,
1158
+ "layer": "top",
1159
+ "pointId": "pcb_port_20",
1160
+ "pcb_port_id": "pcb_port_20"
1161
+ }
1162
+ ],
1163
+ "source_trace_id": "source_trace_6"
1164
+ },
1165
+ {
1166
+ "name": "source_trace_7",
1167
+ "pointsToConnect": [
1168
+ {
1169
+ "x": -2.15,
1170
+ "y": -1.9050000000000002,
1171
+ "layer": "top",
1172
+ "pointId": "pcb_port_31",
1173
+ "pcb_port_id": "pcb_port_31"
1174
+ },
1175
+ {
1176
+ "x": 21.5,
1177
+ "y": 6.3500000000000005,
1178
+ "layer": "top",
1179
+ "pointId": "pcb_port_15",
1180
+ "pcb_port_id": "pcb_port_15"
1181
+ }
1182
+ ],
1183
+ "source_trace_id": "source_trace_7"
1184
+ },
1185
+ {
1186
+ "name": "source_trace_8",
1187
+ "pointsToConnect": [
1188
+ {
1189
+ "x": -2.15,
1190
+ "y": -3.175,
1191
+ "layer": "top",
1192
+ "pointId": "pcb_port_32",
1193
+ "pcb_port_id": "pcb_port_32"
1194
+ },
1195
+ {
1196
+ "x": 21.5,
1197
+ "y": -3.8100000000000005,
1198
+ "layer": "top",
1199
+ "pointId": "pcb_port_19",
1200
+ "pcb_port_id": "pcb_port_19"
1201
+ }
1202
+ ],
1203
+ "source_trace_id": "source_trace_8"
1204
+ },
1205
+ {
1206
+ "name": "source_trace_9",
1207
+ "pointsToConnect": [
1208
+ {
1209
+ "x": -2.15,
1210
+ "y": -4.444999999999999,
1211
+ "layer": "top",
1212
+ "pointId": "pcb_port_33",
1213
+ "pcb_port_id": "pcb_port_33"
1214
+ },
1215
+ {
1216
+ "x": 21.5,
1217
+ "y": 3.8100000000000005,
1218
+ "layer": "top",
1219
+ "pointId": "pcb_port_16",
1220
+ "pcb_port_id": "pcb_port_16"
1221
+ }
1222
+ ],
1223
+ "source_trace_id": "source_trace_9"
1224
+ },
1225
+ {
1226
+ "name": "source_trace_10",
1227
+ "pointsToConnect": [
1228
+ {
1229
+ "x": -2.15,
1230
+ "y": -5.714999999999999,
1231
+ "layer": "top",
1232
+ "pointId": "pcb_port_34",
1233
+ "pcb_port_id": "pcb_port_34"
1234
+ },
1235
+ {
1236
+ "x": 21.5,
1237
+ "y": -1.2699999999999996,
1238
+ "layer": "top",
1239
+ "pointId": "pcb_port_18",
1240
+ "pcb_port_id": "pcb_port_18"
1241
+ }
1242
+ ],
1243
+ "source_trace_id": "source_trace_10"
1244
+ },
1245
+ {
1246
+ "name": "source_trace_11",
1247
+ "pointsToConnect": [
1248
+ {
1249
+ "x": -2.15,
1250
+ "y": -6.985,
1251
+ "layer": "top",
1252
+ "pointId": "pcb_port_35",
1253
+ "pcb_port_id": "pcb_port_35"
1254
+ },
1255
+ {
1256
+ "x": 21.5,
1257
+ "y": 1.2700000000000014,
1258
+ "layer": "top",
1259
+ "pointId": "pcb_port_17",
1260
+ "pcb_port_id": "pcb_port_17"
1261
+ }
1262
+ ],
1263
+ "source_trace_id": "source_trace_11"
1264
+ },
1265
+ {
1266
+ "name": "source_trace_12",
1267
+ "pointsToConnect": [
1268
+ {
1269
+ "x": 2.15,
1270
+ "y": -6.985,
1271
+ "layer": "top",
1272
+ "pointId": "pcb_port_36",
1273
+ "pcb_port_id": "pcb_port_36"
1274
+ },
1275
+ {
1276
+ "x": -21.5,
1277
+ "y": -13.97,
1278
+ "layer": "top",
1279
+ "pointId": "pcb_port_0",
1280
+ "pcb_port_id": "pcb_port_0"
1281
+ }
1282
+ ],
1283
+ "source_trace_id": "source_trace_12"
1284
+ },
1285
+ {
1286
+ "name": "source_trace_13",
1287
+ "pointsToConnect": [
1288
+ {
1289
+ "x": 2.15,
1290
+ "y": -5.715,
1291
+ "layer": "top",
1292
+ "pointId": "pcb_port_37",
1293
+ "pcb_port_id": "pcb_port_37"
1294
+ },
1295
+ {
1296
+ "x": -21.5,
1297
+ "y": 13.97,
1298
+ "layer": "top",
1299
+ "pointId": "pcb_port_11",
1300
+ "pcb_port_id": "pcb_port_11"
1301
+ }
1302
+ ],
1303
+ "source_trace_id": "source_trace_13"
1304
+ },
1305
+ {
1306
+ "name": "source_trace_14",
1307
+ "pointsToConnect": [
1308
+ {
1309
+ "x": 2.15,
1310
+ "y": -4.445,
1311
+ "layer": "top",
1312
+ "pointId": "pcb_port_38",
1313
+ "pcb_port_id": "pcb_port_38"
1314
+ },
1315
+ {
1316
+ "x": -21.5,
1317
+ "y": -11.43,
1318
+ "layer": "top",
1319
+ "pointId": "pcb_port_1",
1320
+ "pcb_port_id": "pcb_port_1"
1321
+ }
1322
+ ],
1323
+ "source_trace_id": "source_trace_14"
1324
+ },
1325
+ {
1326
+ "name": "source_trace_15",
1327
+ "pointsToConnect": [
1328
+ {
1329
+ "x": 2.15,
1330
+ "y": -3.1750000000000003,
1331
+ "layer": "top",
1332
+ "pointId": "pcb_port_39",
1333
+ "pcb_port_id": "pcb_port_39"
1334
+ },
1335
+ {
1336
+ "x": -21.5,
1337
+ "y": 11.429999999999998,
1338
+ "layer": "top",
1339
+ "pointId": "pcb_port_10",
1340
+ "pcb_port_id": "pcb_port_10"
1341
+ }
1342
+ ],
1343
+ "source_trace_id": "source_trace_15"
1344
+ },
1345
+ {
1346
+ "name": "source_trace_16",
1347
+ "pointsToConnect": [
1348
+ {
1349
+ "x": 2.15,
1350
+ "y": -1.9050000000000002,
1351
+ "layer": "top",
1352
+ "pointId": "pcb_port_40",
1353
+ "pcb_port_id": "pcb_port_40"
1354
+ },
1355
+ {
1356
+ "x": -21.5,
1357
+ "y": -8.89,
1358
+ "layer": "top",
1359
+ "pointId": "pcb_port_2",
1360
+ "pcb_port_id": "pcb_port_2"
1361
+ }
1362
+ ],
1363
+ "source_trace_id": "source_trace_16"
1364
+ },
1365
+ {
1366
+ "name": "source_trace_17",
1367
+ "pointsToConnect": [
1368
+ {
1369
+ "x": 2.15,
1370
+ "y": -0.6350000000000007,
1371
+ "layer": "top",
1372
+ "pointId": "pcb_port_41",
1373
+ "pcb_port_id": "pcb_port_41"
1374
+ },
1375
+ {
1376
+ "x": -21.5,
1377
+ "y": 8.889999999999999,
1378
+ "layer": "top",
1379
+ "pointId": "pcb_port_9",
1380
+ "pcb_port_id": "pcb_port_9"
1381
+ }
1382
+ ],
1383
+ "source_trace_id": "source_trace_17"
1384
+ },
1385
+ {
1386
+ "name": "source_trace_18",
1387
+ "pointsToConnect": [
1388
+ {
1389
+ "x": 2.15,
1390
+ "y": 0.6349999999999998,
1391
+ "layer": "top",
1392
+ "pointId": "pcb_port_42",
1393
+ "pcb_port_id": "pcb_port_42"
1394
+ },
1395
+ {
1396
+ "x": -21.5,
1397
+ "y": -6.3500000000000005,
1398
+ "layer": "top",
1399
+ "pointId": "pcb_port_3",
1400
+ "pcb_port_id": "pcb_port_3"
1401
+ }
1402
+ ],
1403
+ "source_trace_id": "source_trace_18"
1404
+ },
1405
+ {
1406
+ "name": "source_trace_19",
1407
+ "pointsToConnect": [
1408
+ {
1409
+ "x": 2.15,
1410
+ "y": 1.9050000000000002,
1411
+ "layer": "top",
1412
+ "pointId": "pcb_port_43",
1413
+ "pcb_port_id": "pcb_port_43"
1414
+ },
1415
+ {
1416
+ "x": -21.5,
1417
+ "y": 6.35,
1418
+ "layer": "top",
1419
+ "pointId": "pcb_port_8",
1420
+ "pcb_port_id": "pcb_port_8"
1421
+ }
1422
+ ],
1423
+ "source_trace_id": "source_trace_19"
1424
+ },
1425
+ {
1426
+ "name": "source_trace_20",
1427
+ "pointsToConnect": [
1428
+ {
1429
+ "x": 2.15,
1430
+ "y": 3.175,
1431
+ "layer": "top",
1432
+ "pointId": "pcb_port_44",
1433
+ "pcb_port_id": "pcb_port_44"
1434
+ },
1435
+ {
1436
+ "x": -21.5,
1437
+ "y": -3.8100000000000005,
1438
+ "layer": "top",
1439
+ "pointId": "pcb_port_4",
1440
+ "pcb_port_id": "pcb_port_4"
1441
+ }
1442
+ ],
1443
+ "source_trace_id": "source_trace_20"
1444
+ },
1445
+ {
1446
+ "name": "source_trace_21",
1447
+ "pointsToConnect": [
1448
+ {
1449
+ "x": 2.15,
1450
+ "y": 4.444999999999999,
1451
+ "layer": "top",
1452
+ "pointId": "pcb_port_45",
1453
+ "pcb_port_id": "pcb_port_45"
1454
+ },
1455
+ {
1456
+ "x": -21.5,
1457
+ "y": 3.8100000000000005,
1458
+ "layer": "top",
1459
+ "pointId": "pcb_port_7",
1460
+ "pcb_port_id": "pcb_port_7"
1461
+ }
1462
+ ],
1463
+ "source_trace_id": "source_trace_21"
1464
+ },
1465
+ {
1466
+ "name": "source_trace_22",
1467
+ "pointsToConnect": [
1468
+ {
1469
+ "x": 2.15,
1470
+ "y": 5.714999999999999,
1471
+ "layer": "top",
1472
+ "pointId": "pcb_port_46",
1473
+ "pcb_port_id": "pcb_port_46"
1474
+ },
1475
+ {
1476
+ "x": -21.5,
1477
+ "y": -1.2700000000000014,
1478
+ "layer": "top",
1479
+ "pointId": "pcb_port_5",
1480
+ "pcb_port_id": "pcb_port_5"
1481
+ }
1482
+ ],
1483
+ "source_trace_id": "source_trace_22"
1484
+ },
1485
+ {
1486
+ "name": "source_trace_23",
1487
+ "pointsToConnect": [
1488
+ {
1489
+ "x": 2.15,
1490
+ "y": 6.985,
1491
+ "layer": "top",
1492
+ "pointId": "pcb_port_47",
1493
+ "pcb_port_id": "pcb_port_47"
1494
+ },
1495
+ {
1496
+ "x": -21.5,
1497
+ "y": 1.2699999999999996,
1498
+ "layer": "top",
1499
+ "pointId": "pcb_port_6",
1500
+ "pcb_port_id": "pcb_port_6"
1501
+ }
1502
+ ],
1503
+ "source_trace_id": "source_trace_23"
1504
+ }
1505
+ ],
1506
+ "minTraceWidth": 0.15
1507
+ },
1508
+ "circuit_json": null,
1509
+ "subcircuit_id": null,
1510
+ "created_at": "2025-10-04T21:07:38.155Z"
1511
+ }