@tscircuit/parts-engine 0.0.15 → 0.0.17

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.
@@ -0,0 +1,4262 @@
1
+ import { PartsEngine } from '@tscircuit/props';
2
+ import * as zod from 'zod';
3
+
4
+ type PlatformFetch = typeof fetch;
5
+ type FetchPartCircuitJsonParams = {
6
+ supplierPartNumber?: string;
7
+ manufacturerPartNumber?: string;
8
+ platformFetch?: PlatformFetch;
9
+ };
10
+ type CreateJlcPartsEngineOptions = {
11
+ platformFetch?: PlatformFetch;
12
+ };
13
+
14
+ declare class JlcPartsEngine implements PartsEngine {
15
+ private readonly platformFetch;
16
+ constructor(options?: CreateJlcPartsEngineOptions);
17
+ findPart({ sourceComponent, footprinterString, }: Parameters<PartsEngine["findPart"]>[0]): Promise<{
18
+ jlcpcb: string[];
19
+ } | {
20
+ jlcpcb?: undefined;
21
+ }>;
22
+ fetchPartCircuitJson({ supplierPartNumber, manufacturerPartNumber, platformFetch: callPlatformFetch, }: Parameters<NonNullable<PartsEngine["fetchPartCircuitJson"]>>[0]): Promise<({
23
+ type: "source_trace";
24
+ source_trace_id: string;
25
+ connected_source_port_ids: string[];
26
+ connected_source_net_ids: string[];
27
+ subcircuit_id?: string | undefined;
28
+ subcircuit_connectivity_map_key?: string | undefined;
29
+ display_name?: string | undefined;
30
+ max_length?: number | undefined;
31
+ min_trace_thickness?: number | undefined;
32
+ } | {
33
+ type: "source_port";
34
+ name: string;
35
+ source_port_id: string;
36
+ source_component_id?: string | undefined;
37
+ subcircuit_id?: string | undefined;
38
+ port_hints?: string[] | undefined;
39
+ subcircuit_connectivity_map_key?: string | undefined;
40
+ source_group_id?: string | undefined;
41
+ pin_number?: number | undefined;
42
+ must_be_connected?: boolean | undefined;
43
+ provides_power?: boolean | undefined;
44
+ requires_power?: boolean | undefined;
45
+ provides_ground?: boolean | undefined;
46
+ requires_ground?: boolean | undefined;
47
+ provides_voltage?: string | number | undefined;
48
+ requires_voltage?: string | number | undefined;
49
+ do_not_connect?: boolean | undefined;
50
+ include_in_board_pinout?: boolean | undefined;
51
+ can_use_internal_pullup?: boolean | undefined;
52
+ is_using_internal_pullup?: boolean | undefined;
53
+ needs_external_pullup?: boolean | undefined;
54
+ can_use_internal_pulldown?: boolean | undefined;
55
+ is_using_internal_pulldown?: boolean | undefined;
56
+ needs_external_pulldown?: boolean | undefined;
57
+ can_use_open_drain?: boolean | undefined;
58
+ is_using_open_drain?: boolean | undefined;
59
+ can_use_push_pull?: boolean | undefined;
60
+ is_using_push_pull?: boolean | undefined;
61
+ should_have_decoupling_capacitor?: boolean | undefined;
62
+ recommended_decoupling_capacitor_capacitance?: string | number | undefined;
63
+ is_configured_for_i2c_sda?: boolean | undefined;
64
+ is_configured_for_i2c_scl?: boolean | undefined;
65
+ is_configured_for_spi_mosi?: boolean | undefined;
66
+ is_configured_for_spi_miso?: boolean | undefined;
67
+ is_configured_for_spi_sck?: boolean | undefined;
68
+ is_configured_for_spi_cs?: boolean | undefined;
69
+ is_configured_for_uart_tx?: boolean | undefined;
70
+ is_configured_for_uart_rx?: boolean | undefined;
71
+ supports_i2c_sda?: boolean | undefined;
72
+ supports_i2c_scl?: boolean | undefined;
73
+ supports_spi_mosi?: boolean | undefined;
74
+ supports_spi_miso?: boolean | undefined;
75
+ supports_spi_sck?: boolean | undefined;
76
+ supports_spi_cs?: boolean | undefined;
77
+ supports_uart_tx?: boolean | undefined;
78
+ supports_uart_rx?: boolean | undefined;
79
+ most_frequently_referenced_by_name?: string | undefined;
80
+ } | {
81
+ type: "source_component_internal_connection";
82
+ source_component_id: string;
83
+ source_port_ids: string[];
84
+ source_component_internal_connection_id: string;
85
+ subcircuit_id?: string | undefined;
86
+ } | {
87
+ type: "source_component";
88
+ name: string;
89
+ source_component_id: string;
90
+ ftype: "simple_resistor";
91
+ resistance: number;
92
+ subcircuit_id?: string | undefined;
93
+ source_group_id?: string | undefined;
94
+ manufacturer_part_number?: string | undefined;
95
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
96
+ display_value?: string | undefined;
97
+ display_name?: string | undefined;
98
+ are_pins_interchangeable?: boolean | undefined;
99
+ internally_connected_source_port_ids?: string[][] | undefined;
100
+ display_resistance?: string | undefined;
101
+ } | {
102
+ type: "source_component";
103
+ name: string;
104
+ source_component_id: string;
105
+ ftype: "simple_capacitor";
106
+ capacitance: number;
107
+ subcircuit_id?: string | undefined;
108
+ source_group_id?: string | undefined;
109
+ manufacturer_part_number?: string | undefined;
110
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
111
+ display_value?: string | undefined;
112
+ display_name?: string | undefined;
113
+ are_pins_interchangeable?: boolean | undefined;
114
+ internally_connected_source_port_ids?: string[][] | undefined;
115
+ max_voltage_rating?: number | undefined;
116
+ display_capacitance?: string | undefined;
117
+ max_decoupling_trace_length?: number | undefined;
118
+ } | {
119
+ type: "source_component";
120
+ name: string;
121
+ source_component_id: string;
122
+ ftype: "simple_diode";
123
+ subcircuit_id?: string | undefined;
124
+ source_group_id?: string | undefined;
125
+ manufacturer_part_number?: string | undefined;
126
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
127
+ display_value?: string | undefined;
128
+ display_name?: string | undefined;
129
+ are_pins_interchangeable?: boolean | undefined;
130
+ internally_connected_source_port_ids?: string[][] | undefined;
131
+ } | {
132
+ type: "source_component";
133
+ name: string;
134
+ source_component_id: string;
135
+ ftype: "simple_fiducial";
136
+ subcircuit_id?: string | undefined;
137
+ source_group_id?: string | undefined;
138
+ manufacturer_part_number?: string | undefined;
139
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
140
+ display_value?: string | undefined;
141
+ display_name?: string | undefined;
142
+ are_pins_interchangeable?: boolean | undefined;
143
+ internally_connected_source_port_ids?: string[][] | undefined;
144
+ } | {
145
+ type: "source_component";
146
+ name: string;
147
+ source_component_id: string;
148
+ ftype: "simple_led";
149
+ subcircuit_id?: string | undefined;
150
+ color?: string | undefined;
151
+ source_group_id?: string | undefined;
152
+ manufacturer_part_number?: string | undefined;
153
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
154
+ display_value?: string | undefined;
155
+ display_name?: string | undefined;
156
+ are_pins_interchangeable?: boolean | undefined;
157
+ internally_connected_source_port_ids?: string[][] | undefined;
158
+ wavelength?: string | undefined;
159
+ } | {
160
+ type: "source_component";
161
+ name: string;
162
+ source_component_id: string;
163
+ ftype: "simple_ground";
164
+ subcircuit_id?: string | undefined;
165
+ source_group_id?: string | undefined;
166
+ manufacturer_part_number?: string | undefined;
167
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
168
+ display_value?: string | undefined;
169
+ display_name?: string | undefined;
170
+ are_pins_interchangeable?: boolean | undefined;
171
+ internally_connected_source_port_ids?: string[][] | undefined;
172
+ } | {
173
+ type: "source_component";
174
+ name: string;
175
+ source_component_id: string;
176
+ ftype: "simple_chip";
177
+ subcircuit_id?: string | undefined;
178
+ source_group_id?: string | undefined;
179
+ manufacturer_part_number?: string | undefined;
180
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
181
+ display_value?: string | undefined;
182
+ display_name?: string | undefined;
183
+ are_pins_interchangeable?: boolean | undefined;
184
+ internally_connected_source_port_ids?: string[][] | undefined;
185
+ } | {
186
+ type: "source_component";
187
+ name: string;
188
+ source_component_id: string;
189
+ voltage: number;
190
+ ftype: "simple_power_source";
191
+ subcircuit_id?: string | undefined;
192
+ source_group_id?: string | undefined;
193
+ manufacturer_part_number?: string | undefined;
194
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
195
+ display_value?: string | undefined;
196
+ display_name?: string | undefined;
197
+ are_pins_interchangeable?: boolean | undefined;
198
+ internally_connected_source_port_ids?: string[][] | undefined;
199
+ } | {
200
+ type: "source_component";
201
+ name: string;
202
+ source_component_id: string;
203
+ wave_shape: "square" | "triangle" | "sawtooth" | "sine" | "dc";
204
+ current: number;
205
+ ftype: "simple_current_source";
206
+ subcircuit_id?: string | undefined;
207
+ source_group_id?: string | undefined;
208
+ frequency?: number | undefined;
209
+ phase?: number | undefined;
210
+ duty_cycle?: number | undefined;
211
+ peak_to_peak_current?: number | undefined;
212
+ manufacturer_part_number?: string | undefined;
213
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
214
+ display_value?: string | undefined;
215
+ display_name?: string | undefined;
216
+ are_pins_interchangeable?: boolean | undefined;
217
+ internally_connected_source_port_ids?: string[][] | undefined;
218
+ } | {
219
+ type: "source_component";
220
+ name: string;
221
+ source_component_id: string;
222
+ ftype: "simple_battery";
223
+ capacity: number;
224
+ subcircuit_id?: string | undefined;
225
+ source_group_id?: string | undefined;
226
+ manufacturer_part_number?: string | undefined;
227
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
228
+ display_value?: string | undefined;
229
+ display_name?: string | undefined;
230
+ are_pins_interchangeable?: boolean | undefined;
231
+ internally_connected_source_port_ids?: string[][] | undefined;
232
+ } | {
233
+ type: "source_component";
234
+ name: string;
235
+ source_component_id: string;
236
+ ftype: "simple_inductor";
237
+ inductance: number;
238
+ subcircuit_id?: string | undefined;
239
+ source_group_id?: string | undefined;
240
+ manufacturer_part_number?: string | undefined;
241
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
242
+ display_value?: string | undefined;
243
+ display_name?: string | undefined;
244
+ are_pins_interchangeable?: boolean | undefined;
245
+ internally_connected_source_port_ids?: string[][] | undefined;
246
+ max_current_rating?: number | undefined;
247
+ } | {
248
+ type: "source_component";
249
+ name: string;
250
+ source_component_id: string;
251
+ ftype: "simple_push_button";
252
+ subcircuit_id?: string | undefined;
253
+ source_group_id?: string | undefined;
254
+ manufacturer_part_number?: string | undefined;
255
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
256
+ display_value?: string | undefined;
257
+ display_name?: string | undefined;
258
+ are_pins_interchangeable?: boolean | undefined;
259
+ internally_connected_source_port_ids?: string[][] | undefined;
260
+ } | {
261
+ type: "source_component";
262
+ name: string;
263
+ source_component_id: string;
264
+ ftype: "simple_potentiometer";
265
+ max_resistance: number;
266
+ subcircuit_id?: string | undefined;
267
+ source_group_id?: string | undefined;
268
+ manufacturer_part_number?: string | undefined;
269
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
270
+ display_value?: string | undefined;
271
+ display_name?: string | undefined;
272
+ are_pins_interchangeable?: boolean | undefined;
273
+ internally_connected_source_port_ids?: string[][] | undefined;
274
+ display_max_resistance?: string | undefined;
275
+ } | {
276
+ type: "source_component";
277
+ name: string;
278
+ source_component_id: string;
279
+ frequency: number;
280
+ ftype: "simple_crystal";
281
+ subcircuit_id?: string | undefined;
282
+ source_group_id?: string | undefined;
283
+ manufacturer_part_number?: string | undefined;
284
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
285
+ display_value?: string | undefined;
286
+ display_name?: string | undefined;
287
+ are_pins_interchangeable?: boolean | undefined;
288
+ internally_connected_source_port_ids?: string[][] | undefined;
289
+ load_capacitance?: number | undefined;
290
+ pin_variant?: "two_pin" | "four_pin" | undefined;
291
+ } | {
292
+ type: "source_component";
293
+ name: string;
294
+ source_component_id: string;
295
+ ftype: "simple_pin_header";
296
+ pin_count: number;
297
+ gender: "male" | "female";
298
+ subcircuit_id?: string | undefined;
299
+ source_group_id?: string | undefined;
300
+ manufacturer_part_number?: string | undefined;
301
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
302
+ display_value?: string | undefined;
303
+ display_name?: string | undefined;
304
+ are_pins_interchangeable?: boolean | undefined;
305
+ internally_connected_source_port_ids?: string[][] | undefined;
306
+ } | {
307
+ type: "source_component";
308
+ name: string;
309
+ source_component_id: string;
310
+ ftype: "simple_connector";
311
+ subcircuit_id?: string | undefined;
312
+ source_group_id?: string | undefined;
313
+ manufacturer_part_number?: string | undefined;
314
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
315
+ display_value?: string | undefined;
316
+ display_name?: string | undefined;
317
+ are_pins_interchangeable?: boolean | undefined;
318
+ internally_connected_source_port_ids?: string[][] | undefined;
319
+ standard?: "usb_c" | "m2" | undefined;
320
+ } | {
321
+ type: "source_component";
322
+ name: string;
323
+ source_component_id: string;
324
+ ftype: "simple_pinout";
325
+ subcircuit_id?: string | undefined;
326
+ source_group_id?: string | undefined;
327
+ manufacturer_part_number?: string | undefined;
328
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
329
+ display_value?: string | undefined;
330
+ display_name?: string | undefined;
331
+ are_pins_interchangeable?: boolean | undefined;
332
+ internally_connected_source_port_ids?: string[][] | undefined;
333
+ } | {
334
+ type: "source_component";
335
+ name: string;
336
+ source_component_id: string;
337
+ frequency: number;
338
+ ftype: "simple_resonator";
339
+ load_capacitance: number;
340
+ subcircuit_id?: string | undefined;
341
+ source_group_id?: string | undefined;
342
+ manufacturer_part_number?: string | undefined;
343
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
344
+ display_value?: string | undefined;
345
+ display_name?: string | undefined;
346
+ are_pins_interchangeable?: boolean | undefined;
347
+ internally_connected_source_port_ids?: string[][] | undefined;
348
+ equivalent_series_resistance?: number | undefined;
349
+ } | {
350
+ type: "source_component";
351
+ name: string;
352
+ source_component_id: string;
353
+ ftype: "simple_switch";
354
+ subcircuit_id?: string | undefined;
355
+ source_group_id?: string | undefined;
356
+ manufacturer_part_number?: string | undefined;
357
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
358
+ display_value?: string | undefined;
359
+ display_name?: string | undefined;
360
+ are_pins_interchangeable?: boolean | undefined;
361
+ internally_connected_source_port_ids?: string[][] | undefined;
362
+ } | {
363
+ type: "source_component";
364
+ name: string;
365
+ source_component_id: string;
366
+ ftype: "simple_transistor";
367
+ transistor_type: "npn" | "pnp";
368
+ subcircuit_id?: string | undefined;
369
+ source_group_id?: string | undefined;
370
+ manufacturer_part_number?: string | undefined;
371
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
372
+ display_value?: string | undefined;
373
+ display_name?: string | undefined;
374
+ are_pins_interchangeable?: boolean | undefined;
375
+ internally_connected_source_port_ids?: string[][] | undefined;
376
+ } | {
377
+ type: "source_component";
378
+ name: string;
379
+ source_component_id: string;
380
+ ftype: "simple_test_point";
381
+ width?: string | number | undefined;
382
+ height?: string | number | undefined;
383
+ subcircuit_id?: string | undefined;
384
+ hole_diameter?: string | number | undefined;
385
+ pad_shape?: "circle" | "rect" | undefined;
386
+ source_group_id?: string | undefined;
387
+ manufacturer_part_number?: string | undefined;
388
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
389
+ display_value?: string | undefined;
390
+ display_name?: string | undefined;
391
+ are_pins_interchangeable?: boolean | undefined;
392
+ internally_connected_source_port_ids?: string[][] | undefined;
393
+ footprint_variant?: "through_hole" | "pad" | undefined;
394
+ pad_diameter?: string | number | undefined;
395
+ } | {
396
+ type: "source_component";
397
+ name: string;
398
+ source_component_id: string;
399
+ ftype: "simple_mosfet";
400
+ channel_type: "n" | "p";
401
+ mosfet_mode: "enhancement" | "depletion";
402
+ subcircuit_id?: string | undefined;
403
+ source_group_id?: string | undefined;
404
+ manufacturer_part_number?: string | undefined;
405
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
406
+ display_value?: string | undefined;
407
+ display_name?: string | undefined;
408
+ are_pins_interchangeable?: boolean | undefined;
409
+ internally_connected_source_port_ids?: string[][] | undefined;
410
+ } | {
411
+ type: "source_component";
412
+ name: string;
413
+ source_component_id: string;
414
+ ftype: "simple_op_amp";
415
+ subcircuit_id?: string | undefined;
416
+ source_group_id?: string | undefined;
417
+ manufacturer_part_number?: string | undefined;
418
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
419
+ display_value?: string | undefined;
420
+ display_name?: string | undefined;
421
+ are_pins_interchangeable?: boolean | undefined;
422
+ internally_connected_source_port_ids?: string[][] | undefined;
423
+ } | {
424
+ type: "source_component";
425
+ name: string;
426
+ source_component_id: string;
427
+ ftype: "simple_fuse";
428
+ current_rating_amps: number;
429
+ voltage_rating_volts: number;
430
+ subcircuit_id?: string | undefined;
431
+ source_group_id?: string | undefined;
432
+ manufacturer_part_number?: string | undefined;
433
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
434
+ display_value?: string | undefined;
435
+ display_name?: string | undefined;
436
+ are_pins_interchangeable?: boolean | undefined;
437
+ internally_connected_source_port_ids?: string[][] | undefined;
438
+ } | {
439
+ type: "source_component";
440
+ name: string;
441
+ source_component_id: string;
442
+ ftype: "simple_voltage_probe";
443
+ subcircuit_id?: string | undefined;
444
+ source_group_id?: string | undefined;
445
+ manufacturer_part_number?: string | undefined;
446
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
447
+ display_value?: string | undefined;
448
+ display_name?: string | undefined;
449
+ are_pins_interchangeable?: boolean | undefined;
450
+ internally_connected_source_port_ids?: string[][] | undefined;
451
+ } | {
452
+ type: "source_component";
453
+ name: string;
454
+ source_component_id: string;
455
+ ftype: "interconnect";
456
+ subcircuit_id?: string | undefined;
457
+ source_group_id?: string | undefined;
458
+ manufacturer_part_number?: string | undefined;
459
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
460
+ display_value?: string | undefined;
461
+ display_name?: string | undefined;
462
+ are_pins_interchangeable?: boolean | undefined;
463
+ internally_connected_source_port_ids?: string[][] | undefined;
464
+ } | {
465
+ type: "source_component";
466
+ name: string;
467
+ source_component_id: string;
468
+ voltage: number;
469
+ ftype: "simple_voltage_source";
470
+ subcircuit_id?: string | undefined;
471
+ source_group_id?: string | undefined;
472
+ frequency?: number | undefined;
473
+ peak_to_peak_voltage?: number | undefined;
474
+ wave_shape?: "square" | "sinewave" | "triangle" | "sawtooth" | undefined;
475
+ phase?: number | undefined;
476
+ duty_cycle?: number | undefined;
477
+ manufacturer_part_number?: string | undefined;
478
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
479
+ display_value?: string | undefined;
480
+ display_name?: string | undefined;
481
+ are_pins_interchangeable?: boolean | undefined;
482
+ internally_connected_source_port_ids?: string[][] | undefined;
483
+ } | {
484
+ type: "source_project_metadata";
485
+ name?: string | undefined;
486
+ software_used_string?: string | undefined;
487
+ project_url?: string | undefined;
488
+ created_at?: string | undefined;
489
+ } | {
490
+ message: string;
491
+ type: "source_missing_property_error";
492
+ source_component_id: string;
493
+ error_type: "source_missing_property_error";
494
+ source_missing_property_error_id: string;
495
+ property_name: string;
496
+ subcircuit_id?: string | undefined;
497
+ is_fatal?: boolean | undefined;
498
+ } | {
499
+ message: string;
500
+ type: "source_invalid_component_property_error";
501
+ source_component_id: string;
502
+ error_type: "source_invalid_component_property_error";
503
+ property_name: string;
504
+ source_invalid_component_property_error_id: string;
505
+ subcircuit_id?: string | undefined;
506
+ is_fatal?: boolean | undefined;
507
+ property_value?: unknown;
508
+ expected_format?: string | undefined;
509
+ } | {
510
+ message: string;
511
+ type: "source_failed_to_create_component_error";
512
+ error_type: "source_failed_to_create_component_error";
513
+ source_failed_to_create_component_error_id: string;
514
+ subcircuit_id?: string | undefined;
515
+ is_fatal?: boolean | undefined;
516
+ pcb_center?: {
517
+ x?: number | undefined;
518
+ y?: number | undefined;
519
+ } | undefined;
520
+ component_name?: string | undefined;
521
+ parent_source_component_id?: string | undefined;
522
+ schematic_center?: {
523
+ x?: number | undefined;
524
+ y?: number | undefined;
525
+ } | undefined;
526
+ } | {
527
+ message: string;
528
+ type: "source_trace_not_connected_error";
529
+ error_type: "source_trace_not_connected_error";
530
+ source_trace_not_connected_error_id: string;
531
+ subcircuit_id?: string | undefined;
532
+ source_trace_id?: string | undefined;
533
+ is_fatal?: boolean | undefined;
534
+ source_group_id?: string | undefined;
535
+ connected_source_port_ids?: string[] | undefined;
536
+ selectors_not_found?: string[] | undefined;
537
+ } | {
538
+ message: string;
539
+ type: "source_property_ignored_warning";
540
+ source_component_id: string;
541
+ error_type: "source_property_ignored_warning";
542
+ property_name: string;
543
+ source_property_ignored_warning_id: string;
544
+ subcircuit_id?: string | undefined;
545
+ } | {
546
+ message: string;
547
+ type: "source_pin_missing_trace_warning";
548
+ source_component_id: string;
549
+ source_port_id: string;
550
+ warning_type: "source_pin_missing_trace_warning";
551
+ source_pin_missing_trace_warning_id: string;
552
+ subcircuit_id?: string | undefined;
553
+ } | {
554
+ message: string;
555
+ type: "source_i2c_misconfigured_error";
556
+ error_type: "source_i2c_misconfigured_error";
557
+ source_i2c_misconfigured_error_id: string;
558
+ source_port_ids: string[];
559
+ is_fatal?: boolean | undefined;
560
+ } | {
561
+ type: "source_net";
562
+ name: string;
563
+ source_net_id: string;
564
+ member_source_group_ids: string[];
565
+ trace_width?: number | undefined;
566
+ subcircuit_id?: string | undefined;
567
+ subcircuit_connectivity_map_key?: string | undefined;
568
+ is_power?: boolean | undefined;
569
+ is_ground?: boolean | undefined;
570
+ is_digital_signal?: boolean | undefined;
571
+ is_analog_signal?: boolean | undefined;
572
+ is_positive_voltage_source?: boolean | undefined;
573
+ } | {
574
+ type: "source_group";
575
+ source_group_id: string;
576
+ name?: string | undefined;
577
+ subcircuit_id?: string | undefined;
578
+ is_subcircuit?: boolean | undefined;
579
+ show_as_schematic_box?: boolean | undefined;
580
+ parent_subcircuit_id?: string | undefined;
581
+ parent_source_group_id?: string | undefined;
582
+ was_automatically_named?: boolean | undefined;
583
+ } | {
584
+ type: "source_component";
585
+ name: string;
586
+ source_component_id: string;
587
+ ftype: "simple_chip";
588
+ subcircuit_id?: string | undefined;
589
+ source_group_id?: string | undefined;
590
+ manufacturer_part_number?: string | undefined;
591
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
592
+ display_value?: string | undefined;
593
+ display_name?: string | undefined;
594
+ are_pins_interchangeable?: boolean | undefined;
595
+ internally_connected_source_port_ids?: string[][] | undefined;
596
+ } | {
597
+ type: "source_component";
598
+ name: string;
599
+ source_component_id: string;
600
+ ftype: "simple_capacitor";
601
+ capacitance: number;
602
+ subcircuit_id?: string | undefined;
603
+ source_group_id?: string | undefined;
604
+ manufacturer_part_number?: string | undefined;
605
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
606
+ display_value?: string | undefined;
607
+ display_name?: string | undefined;
608
+ are_pins_interchangeable?: boolean | undefined;
609
+ internally_connected_source_port_ids?: string[][] | undefined;
610
+ max_voltage_rating?: number | undefined;
611
+ display_capacitance?: string | undefined;
612
+ max_decoupling_trace_length?: number | undefined;
613
+ } | {
614
+ type: "source_component";
615
+ name: string;
616
+ source_component_id: string;
617
+ ftype: "simple_diode";
618
+ subcircuit_id?: string | undefined;
619
+ source_group_id?: string | undefined;
620
+ manufacturer_part_number?: string | undefined;
621
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
622
+ display_value?: string | undefined;
623
+ display_name?: string | undefined;
624
+ are_pins_interchangeable?: boolean | undefined;
625
+ internally_connected_source_port_ids?: string[][] | undefined;
626
+ } | {
627
+ type: "source_component";
628
+ name: string;
629
+ source_component_id: string;
630
+ ftype: "simple_led";
631
+ subcircuit_id?: string | undefined;
632
+ color?: string | undefined;
633
+ source_group_id?: string | undefined;
634
+ manufacturer_part_number?: string | undefined;
635
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
636
+ display_value?: string | undefined;
637
+ display_name?: string | undefined;
638
+ are_pins_interchangeable?: boolean | undefined;
639
+ internally_connected_source_port_ids?: string[][] | undefined;
640
+ wavelength?: string | undefined;
641
+ } | {
642
+ type: "source_component";
643
+ name: string;
644
+ source_component_id: string;
645
+ ftype: "simple_resistor";
646
+ resistance: number;
647
+ subcircuit_id?: string | undefined;
648
+ source_group_id?: string | undefined;
649
+ manufacturer_part_number?: string | undefined;
650
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
651
+ display_value?: string | undefined;
652
+ display_name?: string | undefined;
653
+ are_pins_interchangeable?: boolean | undefined;
654
+ internally_connected_source_port_ids?: string[][] | undefined;
655
+ display_resistance?: string | undefined;
656
+ } | {
657
+ type: "source_component";
658
+ name: string;
659
+ source_component_id: string;
660
+ voltage: number;
661
+ ftype: "simple_power_source";
662
+ subcircuit_id?: string | undefined;
663
+ source_group_id?: string | undefined;
664
+ manufacturer_part_number?: string | undefined;
665
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
666
+ display_value?: string | undefined;
667
+ display_name?: string | undefined;
668
+ are_pins_interchangeable?: boolean | undefined;
669
+ internally_connected_source_port_ids?: string[][] | undefined;
670
+ } | {
671
+ type: "source_component";
672
+ name: string;
673
+ source_component_id: string;
674
+ ftype: "simple_battery";
675
+ capacity: number;
676
+ subcircuit_id?: string | undefined;
677
+ source_group_id?: string | undefined;
678
+ manufacturer_part_number?: string | undefined;
679
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
680
+ display_value?: string | undefined;
681
+ display_name?: string | undefined;
682
+ are_pins_interchangeable?: boolean | undefined;
683
+ internally_connected_source_port_ids?: string[][] | undefined;
684
+ } | {
685
+ type: "source_component";
686
+ name: string;
687
+ source_component_id: string;
688
+ ftype: "simple_inductor";
689
+ inductance: number;
690
+ subcircuit_id?: string | undefined;
691
+ source_group_id?: string | undefined;
692
+ manufacturer_part_number?: string | undefined;
693
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
694
+ display_value?: string | undefined;
695
+ display_name?: string | undefined;
696
+ are_pins_interchangeable?: boolean | undefined;
697
+ internally_connected_source_port_ids?: string[][] | undefined;
698
+ max_current_rating?: number | undefined;
699
+ } | {
700
+ type: "source_component";
701
+ name: string;
702
+ source_component_id: string;
703
+ ftype: "simple_pin_header";
704
+ pin_count: number;
705
+ gender: "male" | "female";
706
+ subcircuit_id?: string | undefined;
707
+ source_group_id?: string | undefined;
708
+ manufacturer_part_number?: string | undefined;
709
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
710
+ display_value?: string | undefined;
711
+ display_name?: string | undefined;
712
+ are_pins_interchangeable?: boolean | undefined;
713
+ internally_connected_source_port_ids?: string[][] | undefined;
714
+ } | {
715
+ type: "source_component";
716
+ name: string;
717
+ source_component_id: string;
718
+ ftype: "simple_pinout";
719
+ subcircuit_id?: string | undefined;
720
+ source_group_id?: string | undefined;
721
+ manufacturer_part_number?: string | undefined;
722
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
723
+ display_value?: string | undefined;
724
+ display_name?: string | undefined;
725
+ are_pins_interchangeable?: boolean | undefined;
726
+ internally_connected_source_port_ids?: string[][] | undefined;
727
+ } | {
728
+ type: "source_component";
729
+ name: string;
730
+ source_component_id: string;
731
+ frequency: number;
732
+ ftype: "simple_resonator";
733
+ load_capacitance: number;
734
+ subcircuit_id?: string | undefined;
735
+ source_group_id?: string | undefined;
736
+ manufacturer_part_number?: string | undefined;
737
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
738
+ display_value?: string | undefined;
739
+ display_name?: string | undefined;
740
+ are_pins_interchangeable?: boolean | undefined;
741
+ internally_connected_source_port_ids?: string[][] | undefined;
742
+ equivalent_series_resistance?: number | undefined;
743
+ } | {
744
+ type: "source_component";
745
+ name: string;
746
+ source_component_id: string;
747
+ ftype: "simple_switch";
748
+ subcircuit_id?: string | undefined;
749
+ source_group_id?: string | undefined;
750
+ manufacturer_part_number?: string | undefined;
751
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
752
+ display_value?: string | undefined;
753
+ display_name?: string | undefined;
754
+ are_pins_interchangeable?: boolean | undefined;
755
+ internally_connected_source_port_ids?: string[][] | undefined;
756
+ } | {
757
+ type: "source_component";
758
+ name: string;
759
+ source_component_id: string;
760
+ ftype: "simple_transistor";
761
+ transistor_type: "npn" | "pnp";
762
+ subcircuit_id?: string | undefined;
763
+ source_group_id?: string | undefined;
764
+ manufacturer_part_number?: string | undefined;
765
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
766
+ display_value?: string | undefined;
767
+ display_name?: string | undefined;
768
+ are_pins_interchangeable?: boolean | undefined;
769
+ internally_connected_source_port_ids?: string[][] | undefined;
770
+ } | {
771
+ type: "source_component";
772
+ name: string;
773
+ source_component_id: string;
774
+ ftype: "simple_test_point";
775
+ width?: string | number | undefined;
776
+ height?: string | number | undefined;
777
+ subcircuit_id?: string | undefined;
778
+ hole_diameter?: string | number | undefined;
779
+ pad_shape?: "circle" | "rect" | undefined;
780
+ source_group_id?: string | undefined;
781
+ manufacturer_part_number?: string | undefined;
782
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
783
+ display_value?: string | undefined;
784
+ display_name?: string | undefined;
785
+ are_pins_interchangeable?: boolean | undefined;
786
+ internally_connected_source_port_ids?: string[][] | undefined;
787
+ footprint_variant?: "through_hole" | "pad" | undefined;
788
+ pad_diameter?: string | number | undefined;
789
+ } | {
790
+ type: "source_component";
791
+ name: string;
792
+ source_component_id: string;
793
+ ftype: "simple_mosfet";
794
+ channel_type: "n" | "p";
795
+ mosfet_mode: "enhancement" | "depletion";
796
+ subcircuit_id?: string | undefined;
797
+ source_group_id?: string | undefined;
798
+ manufacturer_part_number?: string | undefined;
799
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
800
+ display_value?: string | undefined;
801
+ display_name?: string | undefined;
802
+ are_pins_interchangeable?: boolean | undefined;
803
+ internally_connected_source_port_ids?: string[][] | undefined;
804
+ } | {
805
+ type: "source_component";
806
+ name: string;
807
+ source_component_id: string;
808
+ ftype: "simple_op_amp";
809
+ subcircuit_id?: string | undefined;
810
+ source_group_id?: string | undefined;
811
+ manufacturer_part_number?: string | undefined;
812
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
813
+ display_value?: string | undefined;
814
+ display_name?: string | undefined;
815
+ are_pins_interchangeable?: boolean | undefined;
816
+ internally_connected_source_port_ids?: string[][] | undefined;
817
+ } | {
818
+ type: "source_component";
819
+ name: string;
820
+ source_component_id: string;
821
+ ftype: "simple_potentiometer";
822
+ max_resistance: number;
823
+ subcircuit_id?: string | undefined;
824
+ source_group_id?: string | undefined;
825
+ manufacturer_part_number?: string | undefined;
826
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
827
+ display_value?: string | undefined;
828
+ display_name?: string | undefined;
829
+ are_pins_interchangeable?: boolean | undefined;
830
+ internally_connected_source_port_ids?: string[][] | undefined;
831
+ display_max_resistance?: string | undefined;
832
+ } | {
833
+ type: "source_component";
834
+ name: string;
835
+ source_component_id: string;
836
+ ftype: "simple_push_button";
837
+ subcircuit_id?: string | undefined;
838
+ source_group_id?: string | undefined;
839
+ manufacturer_part_number?: string | undefined;
840
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
841
+ display_value?: string | undefined;
842
+ display_name?: string | undefined;
843
+ are_pins_interchangeable?: boolean | undefined;
844
+ internally_connected_source_port_ids?: string[][] | undefined;
845
+ } | {
846
+ type: "source_pcb_ground_plane";
847
+ source_net_id: string;
848
+ source_group_id: string;
849
+ source_pcb_ground_plane_id: string;
850
+ subcircuit_id?: string | undefined;
851
+ } | {
852
+ type: "source_manually_placed_via";
853
+ source_net_id: string;
854
+ source_group_id: string;
855
+ source_manually_placed_via_id: string;
856
+ subcircuit_id?: string | undefined;
857
+ source_trace_id?: string | undefined;
858
+ } | {
859
+ type: "source_board";
860
+ source_group_id: string;
861
+ source_board_id: string;
862
+ title?: string | undefined;
863
+ } | {
864
+ type: "source_project_metadata";
865
+ name?: string | undefined;
866
+ software_used_string?: string | undefined;
867
+ project_url?: string | undefined;
868
+ created_at?: string | undefined;
869
+ } | {
870
+ message: string;
871
+ type: "source_invalid_component_property_error";
872
+ source_component_id: string;
873
+ error_type: "source_invalid_component_property_error";
874
+ property_name: string;
875
+ source_invalid_component_property_error_id: string;
876
+ subcircuit_id?: string | undefined;
877
+ is_fatal?: boolean | undefined;
878
+ property_value?: unknown;
879
+ expected_format?: string | undefined;
880
+ } | {
881
+ message: string;
882
+ type: "source_trace_not_connected_error";
883
+ error_type: "source_trace_not_connected_error";
884
+ source_trace_not_connected_error_id: string;
885
+ subcircuit_id?: string | undefined;
886
+ source_trace_id?: string | undefined;
887
+ is_fatal?: boolean | undefined;
888
+ source_group_id?: string | undefined;
889
+ connected_source_port_ids?: string[] | undefined;
890
+ selectors_not_found?: string[] | undefined;
891
+ } | {
892
+ message: string;
893
+ type: "source_pin_missing_trace_warning";
894
+ source_component_id: string;
895
+ source_port_id: string;
896
+ warning_type: "source_pin_missing_trace_warning";
897
+ source_pin_missing_trace_warning_id: string;
898
+ subcircuit_id?: string | undefined;
899
+ } | {
900
+ message: string;
901
+ type: "source_no_power_pin_defined_warning";
902
+ source_component_id: string;
903
+ warning_type: "source_no_power_pin_defined_warning";
904
+ source_port_ids: string[];
905
+ source_no_power_pin_defined_warning_id: string;
906
+ subcircuit_id?: string | undefined;
907
+ } | {
908
+ message: string;
909
+ type: "source_no_ground_pin_defined_warning";
910
+ source_component_id: string;
911
+ warning_type: "source_no_ground_pin_defined_warning";
912
+ source_port_ids: string[];
913
+ source_no_ground_pin_defined_warning_id: string;
914
+ subcircuit_id?: string | undefined;
915
+ } | {
916
+ message: string;
917
+ type: "source_component_pins_underspecified_warning";
918
+ source_component_id: string;
919
+ warning_type: "source_component_pins_underspecified_warning";
920
+ source_port_ids: string[];
921
+ source_component_pins_underspecified_warning_id: string;
922
+ subcircuit_id?: string | undefined;
923
+ } | {
924
+ message: string;
925
+ type: "source_pin_must_be_connected_error";
926
+ source_component_id: string;
927
+ source_port_id: string;
928
+ error_type: "source_pin_must_be_connected_error";
929
+ source_pin_must_be_connected_error_id: string;
930
+ subcircuit_id?: string | undefined;
931
+ is_fatal?: boolean | undefined;
932
+ } | {
933
+ message: string;
934
+ type: "unknown_error_finding_part";
935
+ error_type: "unknown_error_finding_part";
936
+ unknown_error_finding_part_id: string;
937
+ source_component_id?: string | undefined;
938
+ subcircuit_id?: string | undefined;
939
+ is_fatal?: boolean | undefined;
940
+ } | {
941
+ message: string;
942
+ type: "source_i2c_misconfigured_error";
943
+ error_type: "source_i2c_misconfigured_error";
944
+ source_i2c_misconfigured_error_id: string;
945
+ source_port_ids: string[];
946
+ is_fatal?: boolean | undefined;
947
+ } | {
948
+ message: string;
949
+ type: "source_ambiguous_port_reference";
950
+ error_type: "source_ambiguous_port_reference";
951
+ source_ambiguous_port_reference_id: string;
952
+ source_component_id?: string | undefined;
953
+ source_port_id?: string | undefined;
954
+ is_fatal?: boolean | undefined;
955
+ } | {
956
+ type: "pcb_component";
957
+ width: number;
958
+ height: number;
959
+ rotation: number;
960
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
961
+ center: {
962
+ x: number;
963
+ y: number;
964
+ };
965
+ pcb_component_id: string;
966
+ source_component_id: string;
967
+ obstructs_within_bounds: boolean;
968
+ display_offset_x?: string | undefined;
969
+ display_offset_y?: string | undefined;
970
+ do_not_place?: boolean | undefined;
971
+ is_allowed_to_be_off_board?: boolean | undefined;
972
+ subcircuit_id?: string | undefined;
973
+ pcb_group_id?: string | undefined;
974
+ position_mode?: "packed" | "relative_to_group_anchor" | "relative_to_another_component" | "none" | undefined;
975
+ anchor_position?: {
976
+ x: number;
977
+ y: number;
978
+ } | undefined;
979
+ anchor_alignment?: "top_left" | "top_center" | "top_right" | "center_left" | "center" | "center_right" | "bottom_left" | "bottom_center" | "bottom_right" | undefined;
980
+ positioned_relative_to_pcb_group_id?: string | undefined;
981
+ positioned_relative_to_pcb_board_id?: string | undefined;
982
+ cable_insertion_center?: {
983
+ x: number;
984
+ y: number;
985
+ } | undefined;
986
+ metadata?: {
987
+ kicad_footprint?: {
988
+ layer?: string | undefined;
989
+ footprintName?: string | undefined;
990
+ version?: string | number | undefined;
991
+ generator?: string | undefined;
992
+ generatorVersion?: string | number | undefined;
993
+ properties?: {
994
+ Reference?: {
995
+ value: string;
996
+ at?: {
997
+ x: number;
998
+ y: number;
999
+ rotation?: number | undefined;
1000
+ } | undefined;
1001
+ layer?: string | undefined;
1002
+ uuid?: string | undefined;
1003
+ hide?: boolean | undefined;
1004
+ effects?: {
1005
+ font?: {
1006
+ size?: {
1007
+ x: number;
1008
+ y: number;
1009
+ } | undefined;
1010
+ thickness?: number | undefined;
1011
+ } | undefined;
1012
+ } | undefined;
1013
+ } | undefined;
1014
+ Value?: {
1015
+ value: string;
1016
+ at?: {
1017
+ x: number;
1018
+ y: number;
1019
+ rotation?: number | undefined;
1020
+ } | undefined;
1021
+ layer?: string | undefined;
1022
+ uuid?: string | undefined;
1023
+ hide?: boolean | undefined;
1024
+ effects?: {
1025
+ font?: {
1026
+ size?: {
1027
+ x: number;
1028
+ y: number;
1029
+ } | undefined;
1030
+ thickness?: number | undefined;
1031
+ } | undefined;
1032
+ } | undefined;
1033
+ } | undefined;
1034
+ Datasheet?: {
1035
+ value: string;
1036
+ at?: {
1037
+ x: number;
1038
+ y: number;
1039
+ rotation?: number | undefined;
1040
+ } | undefined;
1041
+ layer?: string | undefined;
1042
+ uuid?: string | undefined;
1043
+ hide?: boolean | undefined;
1044
+ effects?: {
1045
+ font?: {
1046
+ size?: {
1047
+ x: number;
1048
+ y: number;
1049
+ } | undefined;
1050
+ thickness?: number | undefined;
1051
+ } | undefined;
1052
+ } | undefined;
1053
+ } | undefined;
1054
+ Description?: {
1055
+ value: string;
1056
+ at?: {
1057
+ x: number;
1058
+ y: number;
1059
+ rotation?: number | undefined;
1060
+ } | undefined;
1061
+ layer?: string | undefined;
1062
+ uuid?: string | undefined;
1063
+ hide?: boolean | undefined;
1064
+ effects?: {
1065
+ font?: {
1066
+ size?: {
1067
+ x: number;
1068
+ y: number;
1069
+ } | undefined;
1070
+ thickness?: number | undefined;
1071
+ } | undefined;
1072
+ } | undefined;
1073
+ } | undefined;
1074
+ } | undefined;
1075
+ attributes?: {
1076
+ through_hole?: boolean | undefined;
1077
+ smd?: boolean | undefined;
1078
+ exclude_from_pos_files?: boolean | undefined;
1079
+ exclude_from_bom?: boolean | undefined;
1080
+ } | undefined;
1081
+ pads?: {
1082
+ type: string;
1083
+ name: string;
1084
+ at?: {
1085
+ x: number;
1086
+ y: number;
1087
+ rotation?: number | undefined;
1088
+ } | undefined;
1089
+ size?: {
1090
+ x: number;
1091
+ y: number;
1092
+ } | undefined;
1093
+ uuid?: string | undefined;
1094
+ shape?: string | undefined;
1095
+ drill?: number | undefined;
1096
+ layers?: string[] | undefined;
1097
+ removeUnusedLayers?: boolean | undefined;
1098
+ }[] | undefined;
1099
+ embeddedFonts?: boolean | undefined;
1100
+ model?: {
1101
+ path: string;
1102
+ offset?: {
1103
+ x: number;
1104
+ y: number;
1105
+ z: number;
1106
+ } | undefined;
1107
+ scale?: {
1108
+ x: number;
1109
+ y: number;
1110
+ z: number;
1111
+ } | undefined;
1112
+ rotate?: {
1113
+ x: number;
1114
+ y: number;
1115
+ z: number;
1116
+ } | undefined;
1117
+ } | undefined;
1118
+ } | undefined;
1119
+ } | undefined;
1120
+ } | {
1121
+ x: number;
1122
+ y: number;
1123
+ type: "pcb_hole";
1124
+ pcb_hole_id: string;
1125
+ hole_shape: "circle" | "square";
1126
+ hole_diameter: number;
1127
+ pcb_component_id?: string | undefined;
1128
+ subcircuit_id?: string | undefined;
1129
+ pcb_group_id?: string | undefined;
1130
+ is_covered_with_solder_mask?: boolean | undefined;
1131
+ soldermask_margin?: number | undefined;
1132
+ } | {
1133
+ x: number;
1134
+ y: number;
1135
+ type: "pcb_hole";
1136
+ pcb_hole_id: string;
1137
+ hole_shape: "oval";
1138
+ hole_width: number;
1139
+ hole_height: number;
1140
+ pcb_component_id?: string | undefined;
1141
+ subcircuit_id?: string | undefined;
1142
+ pcb_group_id?: string | undefined;
1143
+ is_covered_with_solder_mask?: boolean | undefined;
1144
+ soldermask_margin?: number | undefined;
1145
+ } | {
1146
+ x: number;
1147
+ y: number;
1148
+ type: "pcb_hole";
1149
+ pcb_hole_id: string;
1150
+ hole_shape: "pill";
1151
+ hole_width: number;
1152
+ hole_height: number;
1153
+ pcb_component_id?: string | undefined;
1154
+ subcircuit_id?: string | undefined;
1155
+ pcb_group_id?: string | undefined;
1156
+ is_covered_with_solder_mask?: boolean | undefined;
1157
+ soldermask_margin?: number | undefined;
1158
+ } | {
1159
+ x: number;
1160
+ y: number;
1161
+ type: "pcb_hole";
1162
+ pcb_hole_id: string;
1163
+ hole_shape: "rotated_pill";
1164
+ hole_width: number;
1165
+ hole_height: number;
1166
+ ccw_rotation: number;
1167
+ pcb_component_id?: string | undefined;
1168
+ subcircuit_id?: string | undefined;
1169
+ pcb_group_id?: string | undefined;
1170
+ is_covered_with_solder_mask?: boolean | undefined;
1171
+ soldermask_margin?: number | undefined;
1172
+ } | {
1173
+ x: number;
1174
+ y: number;
1175
+ type: "pcb_hole";
1176
+ pcb_hole_id: string;
1177
+ hole_shape: "circle";
1178
+ hole_diameter: number;
1179
+ pcb_component_id?: string | undefined;
1180
+ subcircuit_id?: string | undefined;
1181
+ pcb_group_id?: string | undefined;
1182
+ is_covered_with_solder_mask?: boolean | undefined;
1183
+ soldermask_margin?: number | undefined;
1184
+ } | {
1185
+ x: number;
1186
+ y: number;
1187
+ type: "pcb_hole";
1188
+ pcb_hole_id: string;
1189
+ hole_shape: "rect";
1190
+ hole_width: number;
1191
+ hole_height: number;
1192
+ pcb_component_id?: string | undefined;
1193
+ subcircuit_id?: string | undefined;
1194
+ pcb_group_id?: string | undefined;
1195
+ is_covered_with_solder_mask?: boolean | undefined;
1196
+ soldermask_margin?: number | undefined;
1197
+ } | {
1198
+ message: string;
1199
+ type: "pcb_missing_footprint_error";
1200
+ source_component_id: string;
1201
+ error_type: "pcb_missing_footprint_error";
1202
+ pcb_missing_footprint_error_id: string;
1203
+ subcircuit_id?: string | undefined;
1204
+ pcb_group_id?: string | undefined;
1205
+ is_fatal?: boolean | undefined;
1206
+ } | {
1207
+ message: string;
1208
+ type: "external_footprint_load_error";
1209
+ pcb_component_id: string;
1210
+ source_component_id: string;
1211
+ error_type: "external_footprint_load_error";
1212
+ external_footprint_load_error_id: string;
1213
+ subcircuit_id?: string | undefined;
1214
+ pcb_group_id?: string | undefined;
1215
+ is_fatal?: boolean | undefined;
1216
+ footprinter_string?: string | undefined;
1217
+ } | {
1218
+ message: string;
1219
+ type: "circuit_json_footprint_load_error";
1220
+ pcb_component_id: string;
1221
+ source_component_id: string;
1222
+ error_type: "circuit_json_footprint_load_error";
1223
+ circuit_json_footprint_load_error_id: string;
1224
+ subcircuit_id?: string | undefined;
1225
+ pcb_group_id?: string | undefined;
1226
+ is_fatal?: boolean | undefined;
1227
+ circuit_json?: any[] | undefined;
1228
+ } | {
1229
+ message: string;
1230
+ type: "pcb_manual_edit_conflict_warning";
1231
+ pcb_component_id: string;
1232
+ source_component_id: string;
1233
+ pcb_manual_edit_conflict_warning_id: string;
1234
+ warning_type: "pcb_manual_edit_conflict_warning";
1235
+ subcircuit_id?: string | undefined;
1236
+ pcb_group_id?: string | undefined;
1237
+ } | {
1238
+ message: string;
1239
+ type: "pcb_connector_not_in_accessible_orientation_warning";
1240
+ pcb_component_id: string;
1241
+ warning_type: "pcb_connector_not_in_accessible_orientation_warning";
1242
+ pcb_connector_not_in_accessible_orientation_warning_id: string;
1243
+ facing_direction: "x-" | "x+" | "y+" | "y-";
1244
+ recommended_facing_direction: "x-" | "x+" | "y+" | "y-";
1245
+ source_component_id?: string | undefined;
1246
+ subcircuit_id?: string | undefined;
1247
+ pcb_board_id?: string | undefined;
1248
+ } | {
1249
+ x: number;
1250
+ y: number;
1251
+ type: "pcb_plated_hole";
1252
+ shape: "circle";
1253
+ layers: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6")[];
1254
+ hole_diameter: number;
1255
+ outer_diameter: number;
1256
+ pcb_plated_hole_id: string;
1257
+ pcb_component_id?: string | undefined;
1258
+ subcircuit_id?: string | undefined;
1259
+ pcb_group_id?: string | undefined;
1260
+ is_covered_with_solder_mask?: boolean | undefined;
1261
+ soldermask_margin?: number | undefined;
1262
+ port_hints?: string[] | undefined;
1263
+ pcb_port_id?: string | undefined;
1264
+ } | {
1265
+ x: number;
1266
+ y: number;
1267
+ type: "pcb_plated_hole";
1268
+ shape: "oval" | "pill";
1269
+ layers: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6")[];
1270
+ hole_width: number;
1271
+ hole_height: number;
1272
+ ccw_rotation: number;
1273
+ pcb_plated_hole_id: string;
1274
+ outer_width: number;
1275
+ outer_height: number;
1276
+ pcb_component_id?: string | undefined;
1277
+ subcircuit_id?: string | undefined;
1278
+ pcb_group_id?: string | undefined;
1279
+ is_covered_with_solder_mask?: boolean | undefined;
1280
+ soldermask_margin?: number | undefined;
1281
+ port_hints?: string[] | undefined;
1282
+ pcb_port_id?: string | undefined;
1283
+ } | {
1284
+ x: number;
1285
+ y: number;
1286
+ type: "pcb_plated_hole";
1287
+ shape: "circular_hole_with_rect_pad";
1288
+ layers: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6")[];
1289
+ hole_shape: "circle";
1290
+ hole_diameter: number;
1291
+ pcb_plated_hole_id: string;
1292
+ pad_shape: "rect";
1293
+ rect_pad_width: number;
1294
+ rect_pad_height: number;
1295
+ hole_offset_x: number;
1296
+ hole_offset_y: number;
1297
+ pcb_component_id?: string | undefined;
1298
+ subcircuit_id?: string | undefined;
1299
+ pcb_group_id?: string | undefined;
1300
+ is_covered_with_solder_mask?: boolean | undefined;
1301
+ soldermask_margin?: number | undefined;
1302
+ port_hints?: string[] | undefined;
1303
+ pcb_port_id?: string | undefined;
1304
+ rect_border_radius?: number | undefined;
1305
+ rect_ccw_rotation?: number | undefined;
1306
+ } | {
1307
+ x: number;
1308
+ y: number;
1309
+ type: "pcb_plated_hole";
1310
+ shape: "pill_hole_with_rect_pad";
1311
+ layers: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6")[];
1312
+ hole_shape: "pill";
1313
+ hole_width: number;
1314
+ hole_height: number;
1315
+ pcb_plated_hole_id: string;
1316
+ pad_shape: "rect";
1317
+ rect_pad_width: number;
1318
+ rect_pad_height: number;
1319
+ hole_offset_x: number;
1320
+ hole_offset_y: number;
1321
+ pcb_component_id?: string | undefined;
1322
+ subcircuit_id?: string | undefined;
1323
+ pcb_group_id?: string | undefined;
1324
+ is_covered_with_solder_mask?: boolean | undefined;
1325
+ soldermask_margin?: number | undefined;
1326
+ port_hints?: string[] | undefined;
1327
+ pcb_port_id?: string | undefined;
1328
+ rect_border_radius?: number | undefined;
1329
+ } | {
1330
+ x: number;
1331
+ y: number;
1332
+ type: "pcb_plated_hole";
1333
+ shape: "rotated_pill_hole_with_rect_pad";
1334
+ layers: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6")[];
1335
+ hole_shape: "rotated_pill";
1336
+ hole_width: number;
1337
+ hole_height: number;
1338
+ pcb_plated_hole_id: string;
1339
+ pad_shape: "rect";
1340
+ rect_pad_width: number;
1341
+ rect_pad_height: number;
1342
+ hole_offset_x: number;
1343
+ hole_offset_y: number;
1344
+ rect_ccw_rotation: number;
1345
+ hole_ccw_rotation: number;
1346
+ pcb_component_id?: string | undefined;
1347
+ subcircuit_id?: string | undefined;
1348
+ pcb_group_id?: string | undefined;
1349
+ is_covered_with_solder_mask?: boolean | undefined;
1350
+ soldermask_margin?: number | undefined;
1351
+ port_hints?: string[] | undefined;
1352
+ pcb_port_id?: string | undefined;
1353
+ rect_border_radius?: number | undefined;
1354
+ } | {
1355
+ x: number;
1356
+ y: number;
1357
+ type: "pcb_plated_hole";
1358
+ shape: "hole_with_polygon_pad";
1359
+ layers: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6")[];
1360
+ hole_shape: "circle" | "oval" | "pill" | "rotated_pill";
1361
+ pcb_plated_hole_id: string;
1362
+ hole_offset_x: number;
1363
+ hole_offset_y: number;
1364
+ pad_outline: {
1365
+ x: number;
1366
+ y: number;
1367
+ }[];
1368
+ pcb_component_id?: string | undefined;
1369
+ subcircuit_id?: string | undefined;
1370
+ pcb_group_id?: string | undefined;
1371
+ hole_diameter?: number | undefined;
1372
+ is_covered_with_solder_mask?: boolean | undefined;
1373
+ soldermask_margin?: number | undefined;
1374
+ hole_width?: number | undefined;
1375
+ hole_height?: number | undefined;
1376
+ ccw_rotation?: number | undefined;
1377
+ port_hints?: string[] | undefined;
1378
+ pcb_port_id?: string | undefined;
1379
+ } | {
1380
+ type: "pcb_keepout";
1381
+ width: number;
1382
+ height: number;
1383
+ shape: "rect";
1384
+ layers: string[];
1385
+ center: {
1386
+ x: number;
1387
+ y: number;
1388
+ };
1389
+ pcb_keepout_id: string;
1390
+ description?: string | undefined;
1391
+ subcircuit_id?: string | undefined;
1392
+ pcb_group_id?: string | undefined;
1393
+ } | {
1394
+ type: "pcb_keepout";
1395
+ shape: "circle";
1396
+ layers: string[];
1397
+ center: {
1398
+ x: number;
1399
+ y: number;
1400
+ };
1401
+ radius: number;
1402
+ pcb_keepout_id: string;
1403
+ description?: string | undefined;
1404
+ subcircuit_id?: string | undefined;
1405
+ pcb_group_id?: string | undefined;
1406
+ } | {
1407
+ x: number;
1408
+ y: number;
1409
+ type: "pcb_port";
1410
+ layers: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6")[];
1411
+ pcb_port_id: string;
1412
+ source_port_id: string;
1413
+ pcb_component_id?: string | undefined;
1414
+ subcircuit_id?: string | undefined;
1415
+ pcb_group_id?: string | undefined;
1416
+ is_board_pinout?: boolean | undefined;
1417
+ } | {
1418
+ type: "pcb_net";
1419
+ pcb_net_id: string;
1420
+ highlight_color?: string | undefined;
1421
+ source_net_id?: string | undefined;
1422
+ } | {
1423
+ type: "pcb_text";
1424
+ width: number;
1425
+ height: number;
1426
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1427
+ center: {
1428
+ x: number;
1429
+ y: number;
1430
+ };
1431
+ pcb_text_id: string;
1432
+ text: string;
1433
+ lines: number;
1434
+ align: "bottom-left";
1435
+ subcircuit_id?: string | undefined;
1436
+ pcb_group_id?: string | undefined;
1437
+ } | {
1438
+ type: "pcb_trace";
1439
+ pcb_trace_id: string;
1440
+ route: ({
1441
+ x: number;
1442
+ y: number;
1443
+ width: number;
1444
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1445
+ route_type: "wire";
1446
+ copper_pour_id?: string | undefined;
1447
+ is_inside_copper_pour?: boolean | undefined;
1448
+ start_pcb_port_id?: string | undefined;
1449
+ end_pcb_port_id?: string | undefined;
1450
+ } | {
1451
+ x: number;
1452
+ y: number;
1453
+ to_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1454
+ route_type: "via";
1455
+ from_layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1456
+ hole_diameter?: number | undefined;
1457
+ outer_diameter?: number | undefined;
1458
+ copper_pour_id?: string | undefined;
1459
+ is_inside_copper_pour?: boolean | undefined;
1460
+ })[];
1461
+ pcb_component_id?: string | undefined;
1462
+ subcircuit_id?: string | undefined;
1463
+ pcb_group_id?: string | undefined;
1464
+ source_trace_id?: string | undefined;
1465
+ route_thickness_mode?: "constant" | "interpolated" | undefined;
1466
+ route_order_index?: number | undefined;
1467
+ should_round_corners?: boolean | undefined;
1468
+ trace_length?: number | undefined;
1469
+ highlight_color?: string | undefined;
1470
+ } | {
1471
+ x: number;
1472
+ y: number;
1473
+ type: "pcb_via";
1474
+ layers: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6")[];
1475
+ hole_diameter: number;
1476
+ outer_diameter: number;
1477
+ pcb_via_id: string;
1478
+ to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
1479
+ subcircuit_id?: string | undefined;
1480
+ pcb_group_id?: string | undefined;
1481
+ from_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
1482
+ pcb_trace_id?: string | undefined;
1483
+ subcircuit_connectivity_map_key?: string | undefined;
1484
+ net_is_assignable?: boolean | undefined;
1485
+ net_assigned?: boolean | undefined;
1486
+ is_tented?: boolean | undefined;
1487
+ } | {
1488
+ x: number;
1489
+ y: number;
1490
+ type: "pcb_smtpad";
1491
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1492
+ shape: "circle";
1493
+ pcb_smtpad_id: string;
1494
+ radius: number;
1495
+ pcb_component_id?: string | undefined;
1496
+ subcircuit_id?: string | undefined;
1497
+ pcb_group_id?: string | undefined;
1498
+ is_covered_with_solder_mask?: boolean | undefined;
1499
+ soldermask_margin?: number | undefined;
1500
+ port_hints?: string[] | undefined;
1501
+ pcb_port_id?: string | undefined;
1502
+ } | {
1503
+ x: number;
1504
+ y: number;
1505
+ type: "pcb_smtpad";
1506
+ width: number;
1507
+ height: number;
1508
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1509
+ shape: "rect";
1510
+ pcb_smtpad_id: string;
1511
+ pcb_component_id?: string | undefined;
1512
+ subcircuit_id?: string | undefined;
1513
+ pcb_group_id?: string | undefined;
1514
+ is_covered_with_solder_mask?: boolean | undefined;
1515
+ soldermask_margin?: number | undefined;
1516
+ port_hints?: string[] | undefined;
1517
+ pcb_port_id?: string | undefined;
1518
+ rect_border_radius?: number | undefined;
1519
+ corner_radius?: number | undefined;
1520
+ soldermask_margin_left?: number | undefined;
1521
+ soldermask_margin_top?: number | undefined;
1522
+ soldermask_margin_right?: number | undefined;
1523
+ soldermask_margin_bottom?: number | undefined;
1524
+ } | {
1525
+ x: number;
1526
+ y: number;
1527
+ type: "pcb_smtpad";
1528
+ width: number;
1529
+ height: number;
1530
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1531
+ shape: "rotated_rect";
1532
+ ccw_rotation: number;
1533
+ pcb_smtpad_id: string;
1534
+ pcb_component_id?: string | undefined;
1535
+ subcircuit_id?: string | undefined;
1536
+ pcb_group_id?: string | undefined;
1537
+ is_covered_with_solder_mask?: boolean | undefined;
1538
+ soldermask_margin?: number | undefined;
1539
+ port_hints?: string[] | undefined;
1540
+ pcb_port_id?: string | undefined;
1541
+ rect_border_radius?: number | undefined;
1542
+ corner_radius?: number | undefined;
1543
+ soldermask_margin_left?: number | undefined;
1544
+ soldermask_margin_top?: number | undefined;
1545
+ soldermask_margin_right?: number | undefined;
1546
+ soldermask_margin_bottom?: number | undefined;
1547
+ } | {
1548
+ x: number;
1549
+ y: number;
1550
+ type: "pcb_smtpad";
1551
+ width: number;
1552
+ height: number;
1553
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1554
+ shape: "rotated_pill";
1555
+ ccw_rotation: number;
1556
+ pcb_smtpad_id: string;
1557
+ radius: number;
1558
+ pcb_component_id?: string | undefined;
1559
+ subcircuit_id?: string | undefined;
1560
+ pcb_group_id?: string | undefined;
1561
+ is_covered_with_solder_mask?: boolean | undefined;
1562
+ soldermask_margin?: number | undefined;
1563
+ port_hints?: string[] | undefined;
1564
+ pcb_port_id?: string | undefined;
1565
+ } | {
1566
+ x: number;
1567
+ y: number;
1568
+ type: "pcb_smtpad";
1569
+ width: number;
1570
+ height: number;
1571
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1572
+ shape: "pill";
1573
+ pcb_smtpad_id: string;
1574
+ radius: number;
1575
+ pcb_component_id?: string | undefined;
1576
+ subcircuit_id?: string | undefined;
1577
+ pcb_group_id?: string | undefined;
1578
+ is_covered_with_solder_mask?: boolean | undefined;
1579
+ soldermask_margin?: number | undefined;
1580
+ port_hints?: string[] | undefined;
1581
+ pcb_port_id?: string | undefined;
1582
+ } | {
1583
+ type: "pcb_smtpad";
1584
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1585
+ shape: "polygon";
1586
+ pcb_smtpad_id: string;
1587
+ points: {
1588
+ x: number;
1589
+ y: number;
1590
+ }[];
1591
+ pcb_component_id?: string | undefined;
1592
+ subcircuit_id?: string | undefined;
1593
+ pcb_group_id?: string | undefined;
1594
+ is_covered_with_solder_mask?: boolean | undefined;
1595
+ soldermask_margin?: number | undefined;
1596
+ port_hints?: string[] | undefined;
1597
+ pcb_port_id?: string | undefined;
1598
+ } | {
1599
+ x: number;
1600
+ y: number;
1601
+ type: "pcb_solder_paste";
1602
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1603
+ shape: "circle";
1604
+ radius: number;
1605
+ pcb_solder_paste_id: string;
1606
+ pcb_component_id?: string | undefined;
1607
+ subcircuit_id?: string | undefined;
1608
+ pcb_group_id?: string | undefined;
1609
+ pcb_smtpad_id?: string | undefined;
1610
+ } | {
1611
+ x: number;
1612
+ y: number;
1613
+ type: "pcb_solder_paste";
1614
+ width: number;
1615
+ height: number;
1616
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1617
+ shape: "rect";
1618
+ pcb_solder_paste_id: string;
1619
+ pcb_component_id?: string | undefined;
1620
+ subcircuit_id?: string | undefined;
1621
+ pcb_group_id?: string | undefined;
1622
+ pcb_smtpad_id?: string | undefined;
1623
+ } | {
1624
+ x: number;
1625
+ y: number;
1626
+ type: "pcb_solder_paste";
1627
+ width: number;
1628
+ height: number;
1629
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1630
+ shape: "pill";
1631
+ radius: number;
1632
+ pcb_solder_paste_id: string;
1633
+ pcb_component_id?: string | undefined;
1634
+ subcircuit_id?: string | undefined;
1635
+ pcb_group_id?: string | undefined;
1636
+ pcb_smtpad_id?: string | undefined;
1637
+ } | {
1638
+ x: number;
1639
+ y: number;
1640
+ type: "pcb_solder_paste";
1641
+ width: number;
1642
+ height: number;
1643
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1644
+ shape: "rotated_rect";
1645
+ ccw_rotation: number;
1646
+ pcb_solder_paste_id: string;
1647
+ pcb_component_id?: string | undefined;
1648
+ subcircuit_id?: string | undefined;
1649
+ pcb_group_id?: string | undefined;
1650
+ pcb_smtpad_id?: string | undefined;
1651
+ } | {
1652
+ x: number;
1653
+ y: number;
1654
+ type: "pcb_solder_paste";
1655
+ width: number;
1656
+ height: number;
1657
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1658
+ shape: "oval";
1659
+ pcb_solder_paste_id: string;
1660
+ pcb_component_id?: string | undefined;
1661
+ subcircuit_id?: string | undefined;
1662
+ pcb_group_id?: string | undefined;
1663
+ pcb_smtpad_id?: string | undefined;
1664
+ } | {
1665
+ type: "pcb_board";
1666
+ thickness: number;
1667
+ center: {
1668
+ x: number;
1669
+ y: number;
1670
+ };
1671
+ pcb_board_id: string;
1672
+ num_layers: number;
1673
+ material: "fr4" | "fr1";
1674
+ width?: number | undefined;
1675
+ height?: number | undefined;
1676
+ shape?: "rect" | "polygon" | undefined;
1677
+ display_offset_x?: string | undefined;
1678
+ display_offset_y?: string | undefined;
1679
+ subcircuit_id?: string | undefined;
1680
+ position_mode?: "none" | "relative_to_panel_anchor" | undefined;
1681
+ anchor_position?: {
1682
+ x: number;
1683
+ y: number;
1684
+ } | undefined;
1685
+ anchor_alignment?: "top_left" | "top_center" | "top_right" | "center_left" | "center" | "center_right" | "bottom_left" | "bottom_center" | "bottom_right" | undefined;
1686
+ pcb_panel_id?: string | undefined;
1687
+ carrier_pcb_board_id?: string | undefined;
1688
+ is_subcircuit?: boolean | undefined;
1689
+ is_mounted_to_carrier_board?: boolean | undefined;
1690
+ outline?: {
1691
+ x: number;
1692
+ y: number;
1693
+ }[] | undefined;
1694
+ } | {
1695
+ type: "pcb_panel";
1696
+ width: number;
1697
+ height: number;
1698
+ thickness: number;
1699
+ center: {
1700
+ x: number;
1701
+ y: number;
1702
+ };
1703
+ pcb_panel_id: string;
1704
+ covered_with_solder_mask: boolean;
1705
+ } | {
1706
+ type: "pcb_group";
1707
+ center: {
1708
+ x: number;
1709
+ y: number;
1710
+ };
1711
+ pcb_group_id: string;
1712
+ anchor_alignment: "top_left" | "top_center" | "top_right" | "center_left" | "center" | "center_right" | "bottom_left" | "bottom_center" | "bottom_right";
1713
+ pcb_component_ids: string[];
1714
+ source_group_id: string;
1715
+ description?: string | undefined;
1716
+ width?: number | undefined;
1717
+ height?: number | undefined;
1718
+ name?: string | undefined;
1719
+ display_offset_x?: string | undefined;
1720
+ display_offset_y?: string | undefined;
1721
+ subcircuit_id?: string | undefined;
1722
+ position_mode?: "packed" | "relative_to_group_anchor" | "none" | undefined;
1723
+ anchor_position?: {
1724
+ x: number;
1725
+ y: number;
1726
+ } | undefined;
1727
+ positioned_relative_to_pcb_group_id?: string | undefined;
1728
+ positioned_relative_to_pcb_board_id?: string | undefined;
1729
+ is_subcircuit?: boolean | undefined;
1730
+ outline?: {
1731
+ x: number;
1732
+ y: number;
1733
+ }[] | undefined;
1734
+ child_layout_mode?: "packed" | "none" | undefined;
1735
+ layout_mode?: string | undefined;
1736
+ autorouter_configuration?: {
1737
+ trace_clearance: number;
1738
+ } | undefined;
1739
+ autorouter_used_string?: string | undefined;
1740
+ } | {
1741
+ type: "pcb_trace_hint";
1742
+ pcb_component_id: string;
1743
+ pcb_port_id: string;
1744
+ route: {
1745
+ x: number;
1746
+ y: number;
1747
+ via?: boolean | undefined;
1748
+ to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
1749
+ trace_width?: number | undefined;
1750
+ }[];
1751
+ pcb_trace_hint_id: string;
1752
+ subcircuit_id?: string | undefined;
1753
+ } | {
1754
+ type: "pcb_silkscreen_line";
1755
+ layer: "top" | "bottom";
1756
+ pcb_component_id: string;
1757
+ pcb_silkscreen_line_id: string;
1758
+ stroke_width: number;
1759
+ x1: number;
1760
+ y1: number;
1761
+ x2: number;
1762
+ y2: number;
1763
+ subcircuit_id?: string | undefined;
1764
+ pcb_group_id?: string | undefined;
1765
+ } | {
1766
+ type: "pcb_silkscreen_path";
1767
+ layer: "top" | "bottom";
1768
+ pcb_component_id: string;
1769
+ route: {
1770
+ x: number;
1771
+ y: number;
1772
+ }[];
1773
+ stroke_width: number;
1774
+ pcb_silkscreen_path_id: string;
1775
+ subcircuit_id?: string | undefined;
1776
+ pcb_group_id?: string | undefined;
1777
+ } | {
1778
+ type: "pcb_silkscreen_text";
1779
+ font: "tscircuit2024";
1780
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1781
+ pcb_component_id: string;
1782
+ anchor_position: {
1783
+ x: number;
1784
+ y: number;
1785
+ };
1786
+ anchor_alignment: "top_left" | "top_center" | "top_right" | "center_left" | "center" | "center_right" | "bottom_left" | "bottom_center" | "bottom_right";
1787
+ text: string;
1788
+ pcb_silkscreen_text_id: string;
1789
+ font_size: number;
1790
+ subcircuit_id?: string | undefined;
1791
+ pcb_group_id?: string | undefined;
1792
+ ccw_rotation?: number | undefined;
1793
+ is_knockout?: boolean | undefined;
1794
+ knockout_padding?: {
1795
+ top: number;
1796
+ bottom: number;
1797
+ left: number;
1798
+ right: number;
1799
+ } | undefined;
1800
+ is_mirrored?: boolean | undefined;
1801
+ } | {
1802
+ type: "pcb_silkscreen_pill";
1803
+ width: number;
1804
+ height: number;
1805
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1806
+ center: {
1807
+ x: number;
1808
+ y: number;
1809
+ };
1810
+ pcb_component_id: string;
1811
+ pcb_silkscreen_pill_id: string;
1812
+ subcircuit_id?: string | undefined;
1813
+ pcb_group_id?: string | undefined;
1814
+ ccw_rotation?: number | undefined;
1815
+ } | {
1816
+ type: "pcb_copper_text";
1817
+ font: "tscircuit2024";
1818
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1819
+ pcb_component_id: string;
1820
+ anchor_position: {
1821
+ x: number;
1822
+ y: number;
1823
+ };
1824
+ anchor_alignment: "top_left" | "top_center" | "top_right" | "center_left" | "center" | "center_right" | "bottom_left" | "bottom_center" | "bottom_right";
1825
+ text: string;
1826
+ font_size: number;
1827
+ pcb_copper_text_id: string;
1828
+ subcircuit_id?: string | undefined;
1829
+ pcb_group_id?: string | undefined;
1830
+ ccw_rotation?: number | undefined;
1831
+ is_knockout?: boolean | undefined;
1832
+ knockout_padding?: {
1833
+ top: number;
1834
+ bottom: number;
1835
+ left: number;
1836
+ right: number;
1837
+ } | undefined;
1838
+ is_mirrored?: boolean | undefined;
1839
+ } | {
1840
+ type: "pcb_silkscreen_rect";
1841
+ width: number;
1842
+ height: number;
1843
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1844
+ center: {
1845
+ x: number;
1846
+ y: number;
1847
+ };
1848
+ pcb_component_id: string;
1849
+ stroke_width: number;
1850
+ pcb_silkscreen_rect_id: string;
1851
+ subcircuit_id?: string | undefined;
1852
+ pcb_group_id?: string | undefined;
1853
+ ccw_rotation?: number | undefined;
1854
+ corner_radius?: number | undefined;
1855
+ is_filled?: boolean | undefined;
1856
+ has_stroke?: boolean | undefined;
1857
+ is_stroke_dashed?: boolean | undefined;
1858
+ } | {
1859
+ type: "pcb_silkscreen_circle";
1860
+ layer: "top" | "bottom";
1861
+ center: {
1862
+ x: number;
1863
+ y: number;
1864
+ };
1865
+ pcb_component_id: string;
1866
+ radius: number;
1867
+ stroke_width: number;
1868
+ pcb_silkscreen_circle_id: string;
1869
+ subcircuit_id?: string | undefined;
1870
+ pcb_group_id?: string | undefined;
1871
+ is_filled?: boolean | undefined;
1872
+ } | {
1873
+ type: "pcb_silkscreen_oval";
1874
+ layer: "top" | "bottom";
1875
+ center: {
1876
+ x: number;
1877
+ y: number;
1878
+ };
1879
+ pcb_component_id: string;
1880
+ pcb_silkscreen_oval_id: string;
1881
+ radius_x: number;
1882
+ radius_y: number;
1883
+ subcircuit_id?: string | undefined;
1884
+ pcb_group_id?: string | undefined;
1885
+ ccw_rotation?: number | undefined;
1886
+ } | {
1887
+ message: string;
1888
+ type: "pcb_trace_error";
1889
+ source_trace_id: string;
1890
+ pcb_trace_id: string;
1891
+ error_type: "pcb_trace_error";
1892
+ pcb_trace_error_id: string;
1893
+ pcb_component_ids: string[];
1894
+ pcb_port_ids: string[];
1895
+ center?: {
1896
+ x: number;
1897
+ y: number;
1898
+ } | undefined;
1899
+ subcircuit_id?: string | undefined;
1900
+ is_fatal?: boolean | undefined;
1901
+ } | {
1902
+ message: string;
1903
+ type: "pcb_trace_missing_error";
1904
+ source_trace_id: string;
1905
+ error_type: "pcb_trace_missing_error";
1906
+ pcb_component_ids: string[];
1907
+ pcb_port_ids: string[];
1908
+ pcb_trace_missing_error_id: string;
1909
+ center?: {
1910
+ x: number;
1911
+ y: number;
1912
+ } | undefined;
1913
+ subcircuit_id?: string | undefined;
1914
+ is_fatal?: boolean | undefined;
1915
+ } | {
1916
+ message: string;
1917
+ type: "pcb_placement_error";
1918
+ error_type: "pcb_placement_error";
1919
+ pcb_placement_error_id: string;
1920
+ subcircuit_id?: string | undefined;
1921
+ is_fatal?: boolean | undefined;
1922
+ } | {
1923
+ message: string;
1924
+ type: "pcb_panelization_placement_error";
1925
+ error_type: "pcb_panelization_placement_error";
1926
+ pcb_panelization_placement_error_id: string;
1927
+ subcircuit_id?: string | undefined;
1928
+ is_fatal?: boolean | undefined;
1929
+ pcb_board_id?: string | undefined;
1930
+ pcb_panel_id?: string | undefined;
1931
+ } | {
1932
+ message: string;
1933
+ type: "pcb_port_not_matched_error";
1934
+ error_type: "pcb_port_not_matched_error";
1935
+ pcb_component_ids: string[];
1936
+ pcb_error_id: string;
1937
+ subcircuit_id?: string | undefined;
1938
+ is_fatal?: boolean | undefined;
1939
+ } | {
1940
+ message: string;
1941
+ type: "pcb_port_not_connected_error";
1942
+ error_type: "pcb_port_not_connected_error";
1943
+ pcb_component_ids: string[];
1944
+ pcb_port_ids: string[];
1945
+ pcb_port_not_connected_error_id: string;
1946
+ subcircuit_id?: string | undefined;
1947
+ is_fatal?: boolean | undefined;
1948
+ } | {
1949
+ message: string;
1950
+ type: "pcb_via_clearance_error";
1951
+ error_type: "pcb_via_clearance_error";
1952
+ pcb_error_id: string;
1953
+ pcb_via_ids: string[];
1954
+ subcircuit_id?: string | undefined;
1955
+ is_fatal?: boolean | undefined;
1956
+ minimum_clearance?: number | undefined;
1957
+ actual_clearance?: number | undefined;
1958
+ pcb_center?: {
1959
+ x?: number | undefined;
1960
+ y?: number | undefined;
1961
+ } | undefined;
1962
+ } | {
1963
+ type: "pcb_fabrication_note_path";
1964
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1965
+ pcb_component_id: string;
1966
+ route: {
1967
+ x: number;
1968
+ y: number;
1969
+ }[];
1970
+ stroke_width: number;
1971
+ pcb_fabrication_note_path_id: string;
1972
+ subcircuit_id?: string | undefined;
1973
+ color?: string | undefined;
1974
+ } | {
1975
+ type: "pcb_fabrication_note_text";
1976
+ font: "tscircuit2024";
1977
+ layer: "top" | "bottom";
1978
+ pcb_component_id: string;
1979
+ anchor_position: {
1980
+ x: number;
1981
+ y: number;
1982
+ };
1983
+ anchor_alignment: "top_left" | "top_right" | "center" | "bottom_left" | "bottom_right";
1984
+ text: string;
1985
+ font_size: number;
1986
+ pcb_fabrication_note_text_id: string;
1987
+ subcircuit_id?: string | undefined;
1988
+ pcb_group_id?: string | undefined;
1989
+ color?: string | undefined;
1990
+ } | {
1991
+ type: "pcb_fabrication_note_rect";
1992
+ width: number;
1993
+ height: number;
1994
+ layer: "top" | "bottom";
1995
+ center: {
1996
+ x: number;
1997
+ y: number;
1998
+ };
1999
+ pcb_component_id: string;
2000
+ stroke_width: number;
2001
+ pcb_fabrication_note_rect_id: string;
2002
+ subcircuit_id?: string | undefined;
2003
+ pcb_group_id?: string | undefined;
2004
+ corner_radius?: number | undefined;
2005
+ is_filled?: boolean | undefined;
2006
+ has_stroke?: boolean | undefined;
2007
+ is_stroke_dashed?: boolean | undefined;
2008
+ color?: string | undefined;
2009
+ } | {
2010
+ type: "pcb_fabrication_note_dimension";
2011
+ font: "tscircuit2024";
2012
+ layer: "top" | "bottom";
2013
+ pcb_component_id: string;
2014
+ font_size: number;
2015
+ pcb_fabrication_note_dimension_id: string;
2016
+ from: {
2017
+ x: number;
2018
+ y: number;
2019
+ };
2020
+ to: {
2021
+ x: number;
2022
+ y: number;
2023
+ };
2024
+ arrow_size: number;
2025
+ offset?: number | undefined;
2026
+ subcircuit_id?: string | undefined;
2027
+ pcb_group_id?: string | undefined;
2028
+ text?: string | undefined;
2029
+ color?: string | undefined;
2030
+ text_ccw_rotation?: number | undefined;
2031
+ offset_distance?: number | undefined;
2032
+ offset_direction?: {
2033
+ x: number;
2034
+ y: number;
2035
+ } | undefined;
2036
+ } | {
2037
+ type: "pcb_note_text";
2038
+ font: "tscircuit2024";
2039
+ anchor_position: {
2040
+ x: number;
2041
+ y: number;
2042
+ };
2043
+ anchor_alignment: "top_left" | "top_right" | "center" | "bottom_left" | "bottom_right";
2044
+ font_size: number;
2045
+ pcb_note_text_id: string;
2046
+ name?: string | undefined;
2047
+ pcb_component_id?: string | undefined;
2048
+ subcircuit_id?: string | undefined;
2049
+ pcb_group_id?: string | undefined;
2050
+ text?: string | undefined;
2051
+ color?: string | undefined;
2052
+ } | {
2053
+ type: "pcb_note_rect";
2054
+ width: number;
2055
+ height: number;
2056
+ center: {
2057
+ x: number;
2058
+ y: number;
2059
+ };
2060
+ stroke_width: number;
2061
+ pcb_note_rect_id: string;
2062
+ name?: string | undefined;
2063
+ pcb_component_id?: string | undefined;
2064
+ subcircuit_id?: string | undefined;
2065
+ pcb_group_id?: string | undefined;
2066
+ corner_radius?: number | undefined;
2067
+ text?: string | undefined;
2068
+ is_filled?: boolean | undefined;
2069
+ has_stroke?: boolean | undefined;
2070
+ is_stroke_dashed?: boolean | undefined;
2071
+ color?: string | undefined;
2072
+ } | {
2073
+ type: "pcb_note_path";
2074
+ route: {
2075
+ x: number;
2076
+ y: number;
2077
+ }[];
2078
+ stroke_width: number;
2079
+ pcb_note_path_id: string;
2080
+ name?: string | undefined;
2081
+ pcb_component_id?: string | undefined;
2082
+ subcircuit_id?: string | undefined;
2083
+ pcb_group_id?: string | undefined;
2084
+ text?: string | undefined;
2085
+ color?: string | undefined;
2086
+ } | {
2087
+ type: "pcb_note_line";
2088
+ stroke_width: number;
2089
+ x1: number;
2090
+ y1: number;
2091
+ x2: number;
2092
+ y2: number;
2093
+ pcb_note_line_id: string;
2094
+ name?: string | undefined;
2095
+ pcb_component_id?: string | undefined;
2096
+ subcircuit_id?: string | undefined;
2097
+ pcb_group_id?: string | undefined;
2098
+ text?: string | undefined;
2099
+ color?: string | undefined;
2100
+ is_dashed?: boolean | undefined;
2101
+ } | {
2102
+ type: "pcb_note_dimension";
2103
+ font: "tscircuit2024";
2104
+ font_size: number;
2105
+ from: {
2106
+ x: number;
2107
+ y: number;
2108
+ };
2109
+ to: {
2110
+ x: number;
2111
+ y: number;
2112
+ };
2113
+ arrow_size: number;
2114
+ pcb_note_dimension_id: string;
2115
+ name?: string | undefined;
2116
+ pcb_component_id?: string | undefined;
2117
+ subcircuit_id?: string | undefined;
2118
+ pcb_group_id?: string | undefined;
2119
+ text?: string | undefined;
2120
+ color?: string | undefined;
2121
+ text_ccw_rotation?: number | undefined;
2122
+ offset_distance?: number | undefined;
2123
+ offset_direction?: {
2124
+ x: number;
2125
+ y: number;
2126
+ } | undefined;
2127
+ } | {
2128
+ message: string;
2129
+ type: "pcb_autorouting_error";
2130
+ error_type: "pcb_autorouting_error";
2131
+ pcb_error_id: string;
2132
+ subcircuit_id?: string | undefined;
2133
+ is_fatal?: boolean | undefined;
2134
+ } | {
2135
+ message: string;
2136
+ type: "pcb_footprint_overlap_error";
2137
+ error_type: "pcb_footprint_overlap_error";
2138
+ pcb_error_id: string;
2139
+ is_fatal?: boolean | undefined;
2140
+ pcb_smtpad_ids?: string[] | undefined;
2141
+ pcb_plated_hole_ids?: string[] | undefined;
2142
+ pcb_hole_ids?: string[] | undefined;
2143
+ pcb_keepout_ids?: string[] | undefined;
2144
+ } | {
2145
+ message: string;
2146
+ type: "pcb_courtyard_overlap_error";
2147
+ error_type: "pcb_courtyard_overlap_error";
2148
+ pcb_component_ids: [string, string];
2149
+ pcb_error_id: string;
2150
+ is_fatal?: boolean | undefined;
2151
+ } | {
2152
+ x: number;
2153
+ y: number;
2154
+ type: "pcb_breakout_point";
2155
+ pcb_group_id: string;
2156
+ pcb_breakout_point_id: string;
2157
+ subcircuit_id?: string | undefined;
2158
+ source_port_id?: string | undefined;
2159
+ source_trace_id?: string | undefined;
2160
+ source_net_id?: string | undefined;
2161
+ } | {
2162
+ type: "pcb_cutout";
2163
+ width: number;
2164
+ height: number;
2165
+ shape: "rect";
2166
+ center: {
2167
+ x: number;
2168
+ y: number;
2169
+ };
2170
+ pcb_cutout_id: string;
2171
+ rotation?: number | undefined;
2172
+ subcircuit_id?: string | undefined;
2173
+ pcb_group_id?: string | undefined;
2174
+ corner_radius?: number | undefined;
2175
+ pcb_board_id?: string | undefined;
2176
+ pcb_panel_id?: string | undefined;
2177
+ } | {
2178
+ type: "pcb_cutout";
2179
+ shape: "circle";
2180
+ center: {
2181
+ x: number;
2182
+ y: number;
2183
+ };
2184
+ radius: number;
2185
+ pcb_cutout_id: string;
2186
+ subcircuit_id?: string | undefined;
2187
+ pcb_group_id?: string | undefined;
2188
+ pcb_board_id?: string | undefined;
2189
+ pcb_panel_id?: string | undefined;
2190
+ } | {
2191
+ type: "pcb_cutout";
2192
+ shape: "polygon";
2193
+ points: {
2194
+ x: number;
2195
+ y: number;
2196
+ }[];
2197
+ pcb_cutout_id: string;
2198
+ subcircuit_id?: string | undefined;
2199
+ pcb_group_id?: string | undefined;
2200
+ pcb_board_id?: string | undefined;
2201
+ pcb_panel_id?: string | undefined;
2202
+ } | {
2203
+ type: "pcb_cutout";
2204
+ shape: "path";
2205
+ route: {
2206
+ x: number;
2207
+ y: number;
2208
+ }[];
2209
+ pcb_cutout_id: string;
2210
+ slot_width: number;
2211
+ subcircuit_id?: string | undefined;
2212
+ pcb_group_id?: string | undefined;
2213
+ pcb_board_id?: string | undefined;
2214
+ pcb_panel_id?: string | undefined;
2215
+ slot_length?: number | undefined;
2216
+ space_between_slots?: number | undefined;
2217
+ slot_corner_radius?: number | undefined;
2218
+ } | {
2219
+ type: "pcb_ground_plane";
2220
+ source_net_id: string;
2221
+ pcb_ground_plane_id: string;
2222
+ source_pcb_ground_plane_id: string;
2223
+ subcircuit_id?: string | undefined;
2224
+ pcb_group_id?: string | undefined;
2225
+ } | {
2226
+ type: "pcb_ground_plane_region";
2227
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2228
+ points: {
2229
+ x: number;
2230
+ y: number;
2231
+ }[];
2232
+ pcb_ground_plane_id: string;
2233
+ pcb_ground_plane_region_id: string;
2234
+ subcircuit_id?: string | undefined;
2235
+ pcb_group_id?: string | undefined;
2236
+ } | {
2237
+ type: "pcb_thermal_spoke";
2238
+ shape: string;
2239
+ pcb_ground_plane_id: string;
2240
+ pcb_thermal_spoke_id: string;
2241
+ spoke_count: number;
2242
+ spoke_thickness: number;
2243
+ spoke_inner_diameter: number;
2244
+ spoke_outer_diameter: number;
2245
+ subcircuit_id?: string | undefined;
2246
+ pcb_plated_hole_id?: string | undefined;
2247
+ } | {
2248
+ type: "pcb_copper_pour";
2249
+ width: number;
2250
+ height: number;
2251
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2252
+ shape: "rect";
2253
+ center: {
2254
+ x: number;
2255
+ y: number;
2256
+ };
2257
+ covered_with_solder_mask: boolean;
2258
+ pcb_copper_pour_id: string;
2259
+ rotation?: number | undefined;
2260
+ subcircuit_id?: string | undefined;
2261
+ pcb_group_id?: string | undefined;
2262
+ source_net_id?: string | undefined;
2263
+ } | {
2264
+ type: "pcb_copper_pour";
2265
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2266
+ shape: "brep";
2267
+ covered_with_solder_mask: boolean;
2268
+ pcb_copper_pour_id: string;
2269
+ brep_shape: {
2270
+ outer_ring: {
2271
+ vertices: {
2272
+ x: number;
2273
+ y: number;
2274
+ bulge?: number | undefined;
2275
+ }[];
2276
+ };
2277
+ inner_rings: {
2278
+ vertices: {
2279
+ x: number;
2280
+ y: number;
2281
+ bulge?: number | undefined;
2282
+ }[];
2283
+ }[];
2284
+ };
2285
+ subcircuit_id?: string | undefined;
2286
+ pcb_group_id?: string | undefined;
2287
+ source_net_id?: string | undefined;
2288
+ } | {
2289
+ type: "pcb_copper_pour";
2290
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2291
+ shape: "polygon";
2292
+ points: {
2293
+ x: number;
2294
+ y: number;
2295
+ }[];
2296
+ covered_with_solder_mask: boolean;
2297
+ pcb_copper_pour_id: string;
2298
+ subcircuit_id?: string | undefined;
2299
+ pcb_group_id?: string | undefined;
2300
+ source_net_id?: string | undefined;
2301
+ } | {
2302
+ message: string;
2303
+ type: "pcb_component_outside_board_error";
2304
+ pcb_component_id: string;
2305
+ error_type: "pcb_component_outside_board_error";
2306
+ pcb_board_id: string;
2307
+ pcb_component_outside_board_error_id: string;
2308
+ component_center: {
2309
+ x: number;
2310
+ y: number;
2311
+ };
2312
+ component_bounds: {
2313
+ min_x: number;
2314
+ max_x: number;
2315
+ min_y: number;
2316
+ max_y: number;
2317
+ };
2318
+ source_component_id?: string | undefined;
2319
+ subcircuit_id?: string | undefined;
2320
+ is_fatal?: boolean | undefined;
2321
+ } | {
2322
+ message: string;
2323
+ type: "pcb_component_not_on_board_edge_error";
2324
+ pcb_component_id: string;
2325
+ error_type: "pcb_component_not_on_board_edge_error";
2326
+ pcb_board_id: string;
2327
+ component_center: {
2328
+ x: number;
2329
+ y: number;
2330
+ };
2331
+ pcb_component_not_on_board_edge_error_id: string;
2332
+ pad_to_nearest_board_edge_distance: number;
2333
+ source_component_id?: string | undefined;
2334
+ subcircuit_id?: string | undefined;
2335
+ is_fatal?: boolean | undefined;
2336
+ } | {
2337
+ message: string;
2338
+ type: "pcb_component_invalid_layer_error";
2339
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2340
+ source_component_id: string;
2341
+ error_type: "pcb_component_invalid_layer_error";
2342
+ pcb_component_invalid_layer_error_id: string;
2343
+ pcb_component_id?: string | undefined;
2344
+ subcircuit_id?: string | undefined;
2345
+ is_fatal?: boolean | undefined;
2346
+ } | {
2347
+ type: "pcb_courtyard_rect";
2348
+ width: number;
2349
+ height: number;
2350
+ layer: "top" | "bottom";
2351
+ center: {
2352
+ x: number;
2353
+ y: number;
2354
+ };
2355
+ pcb_component_id: string;
2356
+ pcb_courtyard_rect_id: string;
2357
+ subcircuit_id?: string | undefined;
2358
+ pcb_group_id?: string | undefined;
2359
+ ccw_rotation?: number | undefined;
2360
+ color?: string | undefined;
2361
+ } | {
2362
+ type: "pcb_courtyard_outline";
2363
+ layer: "top" | "bottom";
2364
+ pcb_component_id: string;
2365
+ outline: {
2366
+ x: number;
2367
+ y: number;
2368
+ }[];
2369
+ pcb_courtyard_outline_id: string;
2370
+ subcircuit_id?: string | undefined;
2371
+ pcb_group_id?: string | undefined;
2372
+ } | {
2373
+ type: "pcb_courtyard_polygon";
2374
+ layer: "top" | "bottom";
2375
+ pcb_component_id: string;
2376
+ points: {
2377
+ x: number;
2378
+ y: number;
2379
+ }[];
2380
+ pcb_courtyard_polygon_id: string;
2381
+ subcircuit_id?: string | undefined;
2382
+ pcb_group_id?: string | undefined;
2383
+ color?: string | undefined;
2384
+ } | {
2385
+ type: "pcb_courtyard_circle";
2386
+ layer: "top" | "bottom";
2387
+ center: {
2388
+ x: number;
2389
+ y: number;
2390
+ };
2391
+ pcb_component_id: string;
2392
+ radius: number;
2393
+ pcb_courtyard_circle_id: string;
2394
+ subcircuit_id?: string | undefined;
2395
+ pcb_group_id?: string | undefined;
2396
+ color?: string | undefined;
2397
+ } | {
2398
+ x: number;
2399
+ y: number;
2400
+ type: "schematic_box";
2401
+ width: number;
2402
+ height: number;
2403
+ is_dashed: boolean;
2404
+ subcircuit_id?: string | undefined;
2405
+ schematic_component_id?: string | undefined;
2406
+ schematic_symbol_id?: string | undefined;
2407
+ } | {
2408
+ type: "schematic_text";
2409
+ anchor: "top" | "bottom" | "top_left" | "top_center" | "top_right" | "center_left" | "center" | "center_right" | "bottom_left" | "bottom_center" | "bottom_right" | "left" | "right";
2410
+ rotation: number;
2411
+ text: string;
2412
+ font_size: number;
2413
+ color: string;
2414
+ schematic_text_id: string;
2415
+ position: {
2416
+ x: number;
2417
+ y: number;
2418
+ };
2419
+ subcircuit_id?: string | undefined;
2420
+ schematic_component_id?: string | undefined;
2421
+ schematic_symbol_id?: string | undefined;
2422
+ } | {
2423
+ type: "schematic_line";
2424
+ x1: number;
2425
+ y1: number;
2426
+ x2: number;
2427
+ y2: number;
2428
+ color: string;
2429
+ is_dashed: boolean;
2430
+ schematic_line_id: string;
2431
+ subcircuit_id?: string | undefined;
2432
+ stroke_width?: number | null | undefined;
2433
+ schematic_component_id?: string | undefined;
2434
+ schematic_symbol_id?: string | undefined;
2435
+ } | {
2436
+ type: "schematic_rect";
2437
+ width: number;
2438
+ height: number;
2439
+ rotation: number;
2440
+ center: {
2441
+ x: number;
2442
+ y: number;
2443
+ };
2444
+ is_filled: boolean;
2445
+ color: string;
2446
+ is_dashed: boolean;
2447
+ schematic_rect_id: string;
2448
+ subcircuit_id?: string | undefined;
2449
+ stroke_width?: number | null | undefined;
2450
+ schematic_component_id?: string | undefined;
2451
+ schematic_symbol_id?: string | undefined;
2452
+ fill_color?: string | undefined;
2453
+ } | {
2454
+ type: "schematic_circle";
2455
+ center: {
2456
+ x: number;
2457
+ y: number;
2458
+ };
2459
+ radius: number;
2460
+ is_filled: boolean;
2461
+ color: string;
2462
+ is_dashed: boolean;
2463
+ schematic_circle_id: string;
2464
+ subcircuit_id?: string | undefined;
2465
+ stroke_width?: number | null | undefined;
2466
+ schematic_component_id?: string | undefined;
2467
+ schematic_symbol_id?: string | undefined;
2468
+ fill_color?: string | undefined;
2469
+ } | {
2470
+ type: "schematic_arc";
2471
+ center: {
2472
+ x: number;
2473
+ y: number;
2474
+ };
2475
+ radius: number;
2476
+ color: string;
2477
+ is_dashed: boolean;
2478
+ direction: "clockwise" | "counterclockwise";
2479
+ schematic_arc_id: string;
2480
+ start_angle_degrees: number;
2481
+ end_angle_degrees: number;
2482
+ subcircuit_id?: string | undefined;
2483
+ stroke_width?: number | null | undefined;
2484
+ schematic_component_id?: string | undefined;
2485
+ schematic_symbol_id?: string | undefined;
2486
+ } | {
2487
+ type: "schematic_component";
2488
+ size: {
2489
+ width: number;
2490
+ height: number;
2491
+ };
2492
+ center: {
2493
+ x: number;
2494
+ y: number;
2495
+ };
2496
+ schematic_component_id: string;
2497
+ is_box_with_pins: boolean;
2498
+ source_component_id?: string | undefined;
2499
+ subcircuit_id?: string | undefined;
2500
+ source_group_id?: string | undefined;
2501
+ schematic_symbol_id?: string | undefined;
2502
+ pin_spacing?: number | undefined;
2503
+ pin_styles?: Record<string, {
2504
+ left_margin?: number | undefined;
2505
+ right_margin?: number | undefined;
2506
+ top_margin?: number | undefined;
2507
+ bottom_margin?: number | undefined;
2508
+ }> | undefined;
2509
+ box_width?: number | undefined;
2510
+ symbol_name?: string | undefined;
2511
+ port_arrangement?: {
2512
+ left_size: number;
2513
+ right_size: number;
2514
+ top_size?: number | undefined;
2515
+ bottom_size?: number | undefined;
2516
+ } | {
2517
+ left_side?: {
2518
+ pins: number[];
2519
+ direction?: "top-to-bottom" | "bottom-to-top" | undefined;
2520
+ } | undefined;
2521
+ right_side?: {
2522
+ pins: number[];
2523
+ direction?: "top-to-bottom" | "bottom-to-top" | undefined;
2524
+ } | undefined;
2525
+ top_side?: {
2526
+ pins: number[];
2527
+ direction?: "left-to-right" | "right-to-left" | undefined;
2528
+ } | undefined;
2529
+ bottom_side?: {
2530
+ pins: number[];
2531
+ direction?: "left-to-right" | "right-to-left" | undefined;
2532
+ } | undefined;
2533
+ } | undefined;
2534
+ port_labels?: Record<string, string> | undefined;
2535
+ symbol_display_value?: string | undefined;
2536
+ schematic_group_id?: string | undefined;
2537
+ is_schematic_group?: boolean | undefined;
2538
+ } | {
2539
+ type: "schematic_symbol";
2540
+ schematic_symbol_id: string;
2541
+ name?: string | undefined;
2542
+ metadata?: zod.objectOutputType<{
2543
+ kicad_symbol: zod.ZodOptional<zod.ZodObject<{
2544
+ symbolName: zod.ZodOptional<zod.ZodString>;
2545
+ extends: zod.ZodOptional<zod.ZodString>;
2546
+ pinNumbers: zod.ZodOptional<zod.ZodObject<{
2547
+ hide: zod.ZodOptional<zod.ZodBoolean>;
2548
+ }, "strip", zod.ZodTypeAny, {
2549
+ hide?: boolean | undefined;
2550
+ }, {
2551
+ hide?: boolean | undefined;
2552
+ }>>;
2553
+ pinNames: zod.ZodOptional<zod.ZodObject<{
2554
+ offset: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2555
+ hide: zod.ZodOptional<zod.ZodBoolean>;
2556
+ }, "strip", zod.ZodTypeAny, {
2557
+ hide?: boolean | undefined;
2558
+ offset?: number | undefined;
2559
+ }, {
2560
+ hide?: boolean | undefined;
2561
+ offset?: string | number | undefined;
2562
+ }>>;
2563
+ excludeFromSim: zod.ZodOptional<zod.ZodBoolean>;
2564
+ inBom: zod.ZodOptional<zod.ZodBoolean>;
2565
+ onBoard: zod.ZodOptional<zod.ZodBoolean>;
2566
+ properties: zod.ZodOptional<zod.ZodObject<{
2567
+ Reference: zod.ZodOptional<zod.ZodObject<{
2568
+ value: zod.ZodString;
2569
+ id: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>>;
2570
+ at: zod.ZodOptional<zod.ZodObject<{
2571
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2572
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2573
+ } & {
2574
+ rotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2575
+ }, "strip", zod.ZodTypeAny, {
2576
+ x: number;
2577
+ y: number;
2578
+ rotation?: number | undefined;
2579
+ }, {
2580
+ x: string | number;
2581
+ y: string | number;
2582
+ rotation?: string | number | undefined;
2583
+ }>>;
2584
+ effects: zod.ZodOptional<zod.ZodObject<{
2585
+ font: zod.ZodOptional<zod.ZodObject<{
2586
+ size: zod.ZodOptional<zod.ZodObject<{
2587
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2588
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2589
+ }, "strip", zod.ZodTypeAny, {
2590
+ x: number;
2591
+ y: number;
2592
+ }, {
2593
+ x: string | number;
2594
+ y: string | number;
2595
+ }>>;
2596
+ thickness: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2597
+ }, "strip", zod.ZodTypeAny, {
2598
+ size?: {
2599
+ x: number;
2600
+ y: number;
2601
+ } | undefined;
2602
+ thickness?: number | undefined;
2603
+ }, {
2604
+ size?: {
2605
+ x: string | number;
2606
+ y: string | number;
2607
+ } | undefined;
2608
+ thickness?: string | number | undefined;
2609
+ }>>;
2610
+ justify: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodArray<zod.ZodString, "many">]>>;
2611
+ hide: zod.ZodOptional<zod.ZodBoolean>;
2612
+ }, "strip", zod.ZodTypeAny, {
2613
+ font?: {
2614
+ size?: {
2615
+ x: number;
2616
+ y: number;
2617
+ } | undefined;
2618
+ thickness?: number | undefined;
2619
+ } | undefined;
2620
+ hide?: boolean | undefined;
2621
+ justify?: string | string[] | undefined;
2622
+ }, {
2623
+ font?: {
2624
+ size?: {
2625
+ x: string | number;
2626
+ y: string | number;
2627
+ } | undefined;
2628
+ thickness?: string | number | undefined;
2629
+ } | undefined;
2630
+ hide?: boolean | undefined;
2631
+ justify?: string | string[] | undefined;
2632
+ }>>;
2633
+ }, "strip", zod.ZodTypeAny, {
2634
+ value: string;
2635
+ at?: {
2636
+ x: number;
2637
+ y: number;
2638
+ rotation?: number | undefined;
2639
+ } | undefined;
2640
+ effects?: {
2641
+ font?: {
2642
+ size?: {
2643
+ x: number;
2644
+ y: number;
2645
+ } | undefined;
2646
+ thickness?: number | undefined;
2647
+ } | undefined;
2648
+ hide?: boolean | undefined;
2649
+ justify?: string | string[] | undefined;
2650
+ } | undefined;
2651
+ id?: string | number | undefined;
2652
+ }, {
2653
+ value: string;
2654
+ at?: {
2655
+ x: string | number;
2656
+ y: string | number;
2657
+ rotation?: string | number | undefined;
2658
+ } | undefined;
2659
+ effects?: {
2660
+ font?: {
2661
+ size?: {
2662
+ x: string | number;
2663
+ y: string | number;
2664
+ } | undefined;
2665
+ thickness?: string | number | undefined;
2666
+ } | undefined;
2667
+ hide?: boolean | undefined;
2668
+ justify?: string | string[] | undefined;
2669
+ } | undefined;
2670
+ id?: string | number | undefined;
2671
+ }>>;
2672
+ Value: zod.ZodOptional<zod.ZodObject<{
2673
+ value: zod.ZodString;
2674
+ id: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>>;
2675
+ at: zod.ZodOptional<zod.ZodObject<{
2676
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2677
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2678
+ } & {
2679
+ rotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2680
+ }, "strip", zod.ZodTypeAny, {
2681
+ x: number;
2682
+ y: number;
2683
+ rotation?: number | undefined;
2684
+ }, {
2685
+ x: string | number;
2686
+ y: string | number;
2687
+ rotation?: string | number | undefined;
2688
+ }>>;
2689
+ effects: zod.ZodOptional<zod.ZodObject<{
2690
+ font: zod.ZodOptional<zod.ZodObject<{
2691
+ size: zod.ZodOptional<zod.ZodObject<{
2692
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2693
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2694
+ }, "strip", zod.ZodTypeAny, {
2695
+ x: number;
2696
+ y: number;
2697
+ }, {
2698
+ x: string | number;
2699
+ y: string | number;
2700
+ }>>;
2701
+ thickness: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2702
+ }, "strip", zod.ZodTypeAny, {
2703
+ size?: {
2704
+ x: number;
2705
+ y: number;
2706
+ } | undefined;
2707
+ thickness?: number | undefined;
2708
+ }, {
2709
+ size?: {
2710
+ x: string | number;
2711
+ y: string | number;
2712
+ } | undefined;
2713
+ thickness?: string | number | undefined;
2714
+ }>>;
2715
+ justify: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodArray<zod.ZodString, "many">]>>;
2716
+ hide: zod.ZodOptional<zod.ZodBoolean>;
2717
+ }, "strip", zod.ZodTypeAny, {
2718
+ font?: {
2719
+ size?: {
2720
+ x: number;
2721
+ y: number;
2722
+ } | undefined;
2723
+ thickness?: number | undefined;
2724
+ } | undefined;
2725
+ hide?: boolean | undefined;
2726
+ justify?: string | string[] | undefined;
2727
+ }, {
2728
+ font?: {
2729
+ size?: {
2730
+ x: string | number;
2731
+ y: string | number;
2732
+ } | undefined;
2733
+ thickness?: string | number | undefined;
2734
+ } | undefined;
2735
+ hide?: boolean | undefined;
2736
+ justify?: string | string[] | undefined;
2737
+ }>>;
2738
+ }, "strip", zod.ZodTypeAny, {
2739
+ value: string;
2740
+ at?: {
2741
+ x: number;
2742
+ y: number;
2743
+ rotation?: number | undefined;
2744
+ } | undefined;
2745
+ effects?: {
2746
+ font?: {
2747
+ size?: {
2748
+ x: number;
2749
+ y: number;
2750
+ } | undefined;
2751
+ thickness?: number | undefined;
2752
+ } | undefined;
2753
+ hide?: boolean | undefined;
2754
+ justify?: string | string[] | undefined;
2755
+ } | undefined;
2756
+ id?: string | number | undefined;
2757
+ }, {
2758
+ value: string;
2759
+ at?: {
2760
+ x: string | number;
2761
+ y: string | number;
2762
+ rotation?: string | number | undefined;
2763
+ } | undefined;
2764
+ effects?: {
2765
+ font?: {
2766
+ size?: {
2767
+ x: string | number;
2768
+ y: string | number;
2769
+ } | undefined;
2770
+ thickness?: string | number | undefined;
2771
+ } | undefined;
2772
+ hide?: boolean | undefined;
2773
+ justify?: string | string[] | undefined;
2774
+ } | undefined;
2775
+ id?: string | number | undefined;
2776
+ }>>;
2777
+ Footprint: zod.ZodOptional<zod.ZodObject<{
2778
+ value: zod.ZodString;
2779
+ id: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>>;
2780
+ at: zod.ZodOptional<zod.ZodObject<{
2781
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2782
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2783
+ } & {
2784
+ rotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2785
+ }, "strip", zod.ZodTypeAny, {
2786
+ x: number;
2787
+ y: number;
2788
+ rotation?: number | undefined;
2789
+ }, {
2790
+ x: string | number;
2791
+ y: string | number;
2792
+ rotation?: string | number | undefined;
2793
+ }>>;
2794
+ effects: zod.ZodOptional<zod.ZodObject<{
2795
+ font: zod.ZodOptional<zod.ZodObject<{
2796
+ size: zod.ZodOptional<zod.ZodObject<{
2797
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2798
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2799
+ }, "strip", zod.ZodTypeAny, {
2800
+ x: number;
2801
+ y: number;
2802
+ }, {
2803
+ x: string | number;
2804
+ y: string | number;
2805
+ }>>;
2806
+ thickness: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2807
+ }, "strip", zod.ZodTypeAny, {
2808
+ size?: {
2809
+ x: number;
2810
+ y: number;
2811
+ } | undefined;
2812
+ thickness?: number | undefined;
2813
+ }, {
2814
+ size?: {
2815
+ x: string | number;
2816
+ y: string | number;
2817
+ } | undefined;
2818
+ thickness?: string | number | undefined;
2819
+ }>>;
2820
+ justify: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodArray<zod.ZodString, "many">]>>;
2821
+ hide: zod.ZodOptional<zod.ZodBoolean>;
2822
+ }, "strip", zod.ZodTypeAny, {
2823
+ font?: {
2824
+ size?: {
2825
+ x: number;
2826
+ y: number;
2827
+ } | undefined;
2828
+ thickness?: number | undefined;
2829
+ } | undefined;
2830
+ hide?: boolean | undefined;
2831
+ justify?: string | string[] | undefined;
2832
+ }, {
2833
+ font?: {
2834
+ size?: {
2835
+ x: string | number;
2836
+ y: string | number;
2837
+ } | undefined;
2838
+ thickness?: string | number | undefined;
2839
+ } | undefined;
2840
+ hide?: boolean | undefined;
2841
+ justify?: string | string[] | undefined;
2842
+ }>>;
2843
+ }, "strip", zod.ZodTypeAny, {
2844
+ value: string;
2845
+ at?: {
2846
+ x: number;
2847
+ y: number;
2848
+ rotation?: number | undefined;
2849
+ } | undefined;
2850
+ effects?: {
2851
+ font?: {
2852
+ size?: {
2853
+ x: number;
2854
+ y: number;
2855
+ } | undefined;
2856
+ thickness?: number | undefined;
2857
+ } | undefined;
2858
+ hide?: boolean | undefined;
2859
+ justify?: string | string[] | undefined;
2860
+ } | undefined;
2861
+ id?: string | number | undefined;
2862
+ }, {
2863
+ value: string;
2864
+ at?: {
2865
+ x: string | number;
2866
+ y: string | number;
2867
+ rotation?: string | number | undefined;
2868
+ } | undefined;
2869
+ effects?: {
2870
+ font?: {
2871
+ size?: {
2872
+ x: string | number;
2873
+ y: string | number;
2874
+ } | undefined;
2875
+ thickness?: string | number | undefined;
2876
+ } | undefined;
2877
+ hide?: boolean | undefined;
2878
+ justify?: string | string[] | undefined;
2879
+ } | undefined;
2880
+ id?: string | number | undefined;
2881
+ }>>;
2882
+ Datasheet: zod.ZodOptional<zod.ZodObject<{
2883
+ value: zod.ZodString;
2884
+ id: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>>;
2885
+ at: zod.ZodOptional<zod.ZodObject<{
2886
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2887
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2888
+ } & {
2889
+ rotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2890
+ }, "strip", zod.ZodTypeAny, {
2891
+ x: number;
2892
+ y: number;
2893
+ rotation?: number | undefined;
2894
+ }, {
2895
+ x: string | number;
2896
+ y: string | number;
2897
+ rotation?: string | number | undefined;
2898
+ }>>;
2899
+ effects: zod.ZodOptional<zod.ZodObject<{
2900
+ font: zod.ZodOptional<zod.ZodObject<{
2901
+ size: zod.ZodOptional<zod.ZodObject<{
2902
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2903
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2904
+ }, "strip", zod.ZodTypeAny, {
2905
+ x: number;
2906
+ y: number;
2907
+ }, {
2908
+ x: string | number;
2909
+ y: string | number;
2910
+ }>>;
2911
+ thickness: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2912
+ }, "strip", zod.ZodTypeAny, {
2913
+ size?: {
2914
+ x: number;
2915
+ y: number;
2916
+ } | undefined;
2917
+ thickness?: number | undefined;
2918
+ }, {
2919
+ size?: {
2920
+ x: string | number;
2921
+ y: string | number;
2922
+ } | undefined;
2923
+ thickness?: string | number | undefined;
2924
+ }>>;
2925
+ justify: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodArray<zod.ZodString, "many">]>>;
2926
+ hide: zod.ZodOptional<zod.ZodBoolean>;
2927
+ }, "strip", zod.ZodTypeAny, {
2928
+ font?: {
2929
+ size?: {
2930
+ x: number;
2931
+ y: number;
2932
+ } | undefined;
2933
+ thickness?: number | undefined;
2934
+ } | undefined;
2935
+ hide?: boolean | undefined;
2936
+ justify?: string | string[] | undefined;
2937
+ }, {
2938
+ font?: {
2939
+ size?: {
2940
+ x: string | number;
2941
+ y: string | number;
2942
+ } | undefined;
2943
+ thickness?: string | number | undefined;
2944
+ } | undefined;
2945
+ hide?: boolean | undefined;
2946
+ justify?: string | string[] | undefined;
2947
+ }>>;
2948
+ }, "strip", zod.ZodTypeAny, {
2949
+ value: string;
2950
+ at?: {
2951
+ x: number;
2952
+ y: number;
2953
+ rotation?: number | undefined;
2954
+ } | undefined;
2955
+ effects?: {
2956
+ font?: {
2957
+ size?: {
2958
+ x: number;
2959
+ y: number;
2960
+ } | undefined;
2961
+ thickness?: number | undefined;
2962
+ } | undefined;
2963
+ hide?: boolean | undefined;
2964
+ justify?: string | string[] | undefined;
2965
+ } | undefined;
2966
+ id?: string | number | undefined;
2967
+ }, {
2968
+ value: string;
2969
+ at?: {
2970
+ x: string | number;
2971
+ y: string | number;
2972
+ rotation?: string | number | undefined;
2973
+ } | undefined;
2974
+ effects?: {
2975
+ font?: {
2976
+ size?: {
2977
+ x: string | number;
2978
+ y: string | number;
2979
+ } | undefined;
2980
+ thickness?: string | number | undefined;
2981
+ } | undefined;
2982
+ hide?: boolean | undefined;
2983
+ justify?: string | string[] | undefined;
2984
+ } | undefined;
2985
+ id?: string | number | undefined;
2986
+ }>>;
2987
+ Description: zod.ZodOptional<zod.ZodObject<{
2988
+ value: zod.ZodString;
2989
+ id: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>>;
2990
+ at: zod.ZodOptional<zod.ZodObject<{
2991
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2992
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2993
+ } & {
2994
+ rotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2995
+ }, "strip", zod.ZodTypeAny, {
2996
+ x: number;
2997
+ y: number;
2998
+ rotation?: number | undefined;
2999
+ }, {
3000
+ x: string | number;
3001
+ y: string | number;
3002
+ rotation?: string | number | undefined;
3003
+ }>>;
3004
+ effects: zod.ZodOptional<zod.ZodObject<{
3005
+ font: zod.ZodOptional<zod.ZodObject<{
3006
+ size: zod.ZodOptional<zod.ZodObject<{
3007
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
3008
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
3009
+ }, "strip", zod.ZodTypeAny, {
3010
+ x: number;
3011
+ y: number;
3012
+ }, {
3013
+ x: string | number;
3014
+ y: string | number;
3015
+ }>>;
3016
+ thickness: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3017
+ }, "strip", zod.ZodTypeAny, {
3018
+ size?: {
3019
+ x: number;
3020
+ y: number;
3021
+ } | undefined;
3022
+ thickness?: number | undefined;
3023
+ }, {
3024
+ size?: {
3025
+ x: string | number;
3026
+ y: string | number;
3027
+ } | undefined;
3028
+ thickness?: string | number | undefined;
3029
+ }>>;
3030
+ justify: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodArray<zod.ZodString, "many">]>>;
3031
+ hide: zod.ZodOptional<zod.ZodBoolean>;
3032
+ }, "strip", zod.ZodTypeAny, {
3033
+ font?: {
3034
+ size?: {
3035
+ x: number;
3036
+ y: number;
3037
+ } | undefined;
3038
+ thickness?: number | undefined;
3039
+ } | undefined;
3040
+ hide?: boolean | undefined;
3041
+ justify?: string | string[] | undefined;
3042
+ }, {
3043
+ font?: {
3044
+ size?: {
3045
+ x: string | number;
3046
+ y: string | number;
3047
+ } | undefined;
3048
+ thickness?: string | number | undefined;
3049
+ } | undefined;
3050
+ hide?: boolean | undefined;
3051
+ justify?: string | string[] | undefined;
3052
+ }>>;
3053
+ }, "strip", zod.ZodTypeAny, {
3054
+ value: string;
3055
+ at?: {
3056
+ x: number;
3057
+ y: number;
3058
+ rotation?: number | undefined;
3059
+ } | undefined;
3060
+ effects?: {
3061
+ font?: {
3062
+ size?: {
3063
+ x: number;
3064
+ y: number;
3065
+ } | undefined;
3066
+ thickness?: number | undefined;
3067
+ } | undefined;
3068
+ hide?: boolean | undefined;
3069
+ justify?: string | string[] | undefined;
3070
+ } | undefined;
3071
+ id?: string | number | undefined;
3072
+ }, {
3073
+ value: string;
3074
+ at?: {
3075
+ x: string | number;
3076
+ y: string | number;
3077
+ rotation?: string | number | undefined;
3078
+ } | undefined;
3079
+ effects?: {
3080
+ font?: {
3081
+ size?: {
3082
+ x: string | number;
3083
+ y: string | number;
3084
+ } | undefined;
3085
+ thickness?: string | number | undefined;
3086
+ } | undefined;
3087
+ hide?: boolean | undefined;
3088
+ justify?: string | string[] | undefined;
3089
+ } | undefined;
3090
+ id?: string | number | undefined;
3091
+ }>>;
3092
+ ki_keywords: zod.ZodOptional<zod.ZodObject<{
3093
+ value: zod.ZodString;
3094
+ id: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>>;
3095
+ at: zod.ZodOptional<zod.ZodObject<{
3096
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
3097
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
3098
+ } & {
3099
+ rotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3100
+ }, "strip", zod.ZodTypeAny, {
3101
+ x: number;
3102
+ y: number;
3103
+ rotation?: number | undefined;
3104
+ }, {
3105
+ x: string | number;
3106
+ y: string | number;
3107
+ rotation?: string | number | undefined;
3108
+ }>>;
3109
+ effects: zod.ZodOptional<zod.ZodObject<{
3110
+ font: zod.ZodOptional<zod.ZodObject<{
3111
+ size: zod.ZodOptional<zod.ZodObject<{
3112
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
3113
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
3114
+ }, "strip", zod.ZodTypeAny, {
3115
+ x: number;
3116
+ y: number;
3117
+ }, {
3118
+ x: string | number;
3119
+ y: string | number;
3120
+ }>>;
3121
+ thickness: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3122
+ }, "strip", zod.ZodTypeAny, {
3123
+ size?: {
3124
+ x: number;
3125
+ y: number;
3126
+ } | undefined;
3127
+ thickness?: number | undefined;
3128
+ }, {
3129
+ size?: {
3130
+ x: string | number;
3131
+ y: string | number;
3132
+ } | undefined;
3133
+ thickness?: string | number | undefined;
3134
+ }>>;
3135
+ justify: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodArray<zod.ZodString, "many">]>>;
3136
+ hide: zod.ZodOptional<zod.ZodBoolean>;
3137
+ }, "strip", zod.ZodTypeAny, {
3138
+ font?: {
3139
+ size?: {
3140
+ x: number;
3141
+ y: number;
3142
+ } | undefined;
3143
+ thickness?: number | undefined;
3144
+ } | undefined;
3145
+ hide?: boolean | undefined;
3146
+ justify?: string | string[] | undefined;
3147
+ }, {
3148
+ font?: {
3149
+ size?: {
3150
+ x: string | number;
3151
+ y: string | number;
3152
+ } | undefined;
3153
+ thickness?: string | number | undefined;
3154
+ } | undefined;
3155
+ hide?: boolean | undefined;
3156
+ justify?: string | string[] | undefined;
3157
+ }>>;
3158
+ }, "strip", zod.ZodTypeAny, {
3159
+ value: string;
3160
+ at?: {
3161
+ x: number;
3162
+ y: number;
3163
+ rotation?: number | undefined;
3164
+ } | undefined;
3165
+ effects?: {
3166
+ font?: {
3167
+ size?: {
3168
+ x: number;
3169
+ y: number;
3170
+ } | undefined;
3171
+ thickness?: number | undefined;
3172
+ } | undefined;
3173
+ hide?: boolean | undefined;
3174
+ justify?: string | string[] | undefined;
3175
+ } | undefined;
3176
+ id?: string | number | undefined;
3177
+ }, {
3178
+ value: string;
3179
+ at?: {
3180
+ x: string | number;
3181
+ y: string | number;
3182
+ rotation?: string | number | undefined;
3183
+ } | undefined;
3184
+ effects?: {
3185
+ font?: {
3186
+ size?: {
3187
+ x: string | number;
3188
+ y: string | number;
3189
+ } | undefined;
3190
+ thickness?: string | number | undefined;
3191
+ } | undefined;
3192
+ hide?: boolean | undefined;
3193
+ justify?: string | string[] | undefined;
3194
+ } | undefined;
3195
+ id?: string | number | undefined;
3196
+ }>>;
3197
+ ki_fp_filters: zod.ZodOptional<zod.ZodObject<{
3198
+ value: zod.ZodString;
3199
+ id: zod.ZodOptional<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>>;
3200
+ at: zod.ZodOptional<zod.ZodObject<{
3201
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
3202
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
3203
+ } & {
3204
+ rotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3205
+ }, "strip", zod.ZodTypeAny, {
3206
+ x: number;
3207
+ y: number;
3208
+ rotation?: number | undefined;
3209
+ }, {
3210
+ x: string | number;
3211
+ y: string | number;
3212
+ rotation?: string | number | undefined;
3213
+ }>>;
3214
+ effects: zod.ZodOptional<zod.ZodObject<{
3215
+ font: zod.ZodOptional<zod.ZodObject<{
3216
+ size: zod.ZodOptional<zod.ZodObject<{
3217
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
3218
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
3219
+ }, "strip", zod.ZodTypeAny, {
3220
+ x: number;
3221
+ y: number;
3222
+ }, {
3223
+ x: string | number;
3224
+ y: string | number;
3225
+ }>>;
3226
+ thickness: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3227
+ }, "strip", zod.ZodTypeAny, {
3228
+ size?: {
3229
+ x: number;
3230
+ y: number;
3231
+ } | undefined;
3232
+ thickness?: number | undefined;
3233
+ }, {
3234
+ size?: {
3235
+ x: string | number;
3236
+ y: string | number;
3237
+ } | undefined;
3238
+ thickness?: string | number | undefined;
3239
+ }>>;
3240
+ justify: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodArray<zod.ZodString, "many">]>>;
3241
+ hide: zod.ZodOptional<zod.ZodBoolean>;
3242
+ }, "strip", zod.ZodTypeAny, {
3243
+ font?: {
3244
+ size?: {
3245
+ x: number;
3246
+ y: number;
3247
+ } | undefined;
3248
+ thickness?: number | undefined;
3249
+ } | undefined;
3250
+ hide?: boolean | undefined;
3251
+ justify?: string | string[] | undefined;
3252
+ }, {
3253
+ font?: {
3254
+ size?: {
3255
+ x: string | number;
3256
+ y: string | number;
3257
+ } | undefined;
3258
+ thickness?: string | number | undefined;
3259
+ } | undefined;
3260
+ hide?: boolean | undefined;
3261
+ justify?: string | string[] | undefined;
3262
+ }>>;
3263
+ }, "strip", zod.ZodTypeAny, {
3264
+ value: string;
3265
+ at?: {
3266
+ x: number;
3267
+ y: number;
3268
+ rotation?: number | undefined;
3269
+ } | undefined;
3270
+ effects?: {
3271
+ font?: {
3272
+ size?: {
3273
+ x: number;
3274
+ y: number;
3275
+ } | undefined;
3276
+ thickness?: number | undefined;
3277
+ } | undefined;
3278
+ hide?: boolean | undefined;
3279
+ justify?: string | string[] | undefined;
3280
+ } | undefined;
3281
+ id?: string | number | undefined;
3282
+ }, {
3283
+ value: string;
3284
+ at?: {
3285
+ x: string | number;
3286
+ y: string | number;
3287
+ rotation?: string | number | undefined;
3288
+ } | undefined;
3289
+ effects?: {
3290
+ font?: {
3291
+ size?: {
3292
+ x: string | number;
3293
+ y: string | number;
3294
+ } | undefined;
3295
+ thickness?: string | number | undefined;
3296
+ } | undefined;
3297
+ hide?: boolean | undefined;
3298
+ justify?: string | string[] | undefined;
3299
+ } | undefined;
3300
+ id?: string | number | undefined;
3301
+ }>>;
3302
+ }, "strip", zod.ZodTypeAny, {
3303
+ Reference?: {
3304
+ value: string;
3305
+ at?: {
3306
+ x: number;
3307
+ y: number;
3308
+ rotation?: number | undefined;
3309
+ } | undefined;
3310
+ effects?: {
3311
+ font?: {
3312
+ size?: {
3313
+ x: number;
3314
+ y: number;
3315
+ } | undefined;
3316
+ thickness?: number | undefined;
3317
+ } | undefined;
3318
+ hide?: boolean | undefined;
3319
+ justify?: string | string[] | undefined;
3320
+ } | undefined;
3321
+ id?: string | number | undefined;
3322
+ } | undefined;
3323
+ Value?: {
3324
+ value: string;
3325
+ at?: {
3326
+ x: number;
3327
+ y: number;
3328
+ rotation?: number | undefined;
3329
+ } | undefined;
3330
+ effects?: {
3331
+ font?: {
3332
+ size?: {
3333
+ x: number;
3334
+ y: number;
3335
+ } | undefined;
3336
+ thickness?: number | undefined;
3337
+ } | undefined;
3338
+ hide?: boolean | undefined;
3339
+ justify?: string | string[] | undefined;
3340
+ } | undefined;
3341
+ id?: string | number | undefined;
3342
+ } | undefined;
3343
+ Datasheet?: {
3344
+ value: string;
3345
+ at?: {
3346
+ x: number;
3347
+ y: number;
3348
+ rotation?: number | undefined;
3349
+ } | undefined;
3350
+ effects?: {
3351
+ font?: {
3352
+ size?: {
3353
+ x: number;
3354
+ y: number;
3355
+ } | undefined;
3356
+ thickness?: number | undefined;
3357
+ } | undefined;
3358
+ hide?: boolean | undefined;
3359
+ justify?: string | string[] | undefined;
3360
+ } | undefined;
3361
+ id?: string | number | undefined;
3362
+ } | undefined;
3363
+ Description?: {
3364
+ value: string;
3365
+ at?: {
3366
+ x: number;
3367
+ y: number;
3368
+ rotation?: number | undefined;
3369
+ } | undefined;
3370
+ effects?: {
3371
+ font?: {
3372
+ size?: {
3373
+ x: number;
3374
+ y: number;
3375
+ } | undefined;
3376
+ thickness?: number | undefined;
3377
+ } | undefined;
3378
+ hide?: boolean | undefined;
3379
+ justify?: string | string[] | undefined;
3380
+ } | undefined;
3381
+ id?: string | number | undefined;
3382
+ } | undefined;
3383
+ Footprint?: {
3384
+ value: string;
3385
+ at?: {
3386
+ x: number;
3387
+ y: number;
3388
+ rotation?: number | undefined;
3389
+ } | undefined;
3390
+ effects?: {
3391
+ font?: {
3392
+ size?: {
3393
+ x: number;
3394
+ y: number;
3395
+ } | undefined;
3396
+ thickness?: number | undefined;
3397
+ } | undefined;
3398
+ hide?: boolean | undefined;
3399
+ justify?: string | string[] | undefined;
3400
+ } | undefined;
3401
+ id?: string | number | undefined;
3402
+ } | undefined;
3403
+ ki_keywords?: {
3404
+ value: string;
3405
+ at?: {
3406
+ x: number;
3407
+ y: number;
3408
+ rotation?: number | undefined;
3409
+ } | undefined;
3410
+ effects?: {
3411
+ font?: {
3412
+ size?: {
3413
+ x: number;
3414
+ y: number;
3415
+ } | undefined;
3416
+ thickness?: number | undefined;
3417
+ } | undefined;
3418
+ hide?: boolean | undefined;
3419
+ justify?: string | string[] | undefined;
3420
+ } | undefined;
3421
+ id?: string | number | undefined;
3422
+ } | undefined;
3423
+ ki_fp_filters?: {
3424
+ value: string;
3425
+ at?: {
3426
+ x: number;
3427
+ y: number;
3428
+ rotation?: number | undefined;
3429
+ } | undefined;
3430
+ effects?: {
3431
+ font?: {
3432
+ size?: {
3433
+ x: number;
3434
+ y: number;
3435
+ } | undefined;
3436
+ thickness?: number | undefined;
3437
+ } | undefined;
3438
+ hide?: boolean | undefined;
3439
+ justify?: string | string[] | undefined;
3440
+ } | undefined;
3441
+ id?: string | number | undefined;
3442
+ } | undefined;
3443
+ }, {
3444
+ Reference?: {
3445
+ value: string;
3446
+ at?: {
3447
+ x: string | number;
3448
+ y: string | number;
3449
+ rotation?: string | number | undefined;
3450
+ } | undefined;
3451
+ effects?: {
3452
+ font?: {
3453
+ size?: {
3454
+ x: string | number;
3455
+ y: string | number;
3456
+ } | undefined;
3457
+ thickness?: string | number | undefined;
3458
+ } | undefined;
3459
+ hide?: boolean | undefined;
3460
+ justify?: string | string[] | undefined;
3461
+ } | undefined;
3462
+ id?: string | number | undefined;
3463
+ } | undefined;
3464
+ Value?: {
3465
+ value: string;
3466
+ at?: {
3467
+ x: string | number;
3468
+ y: string | number;
3469
+ rotation?: string | number | undefined;
3470
+ } | undefined;
3471
+ effects?: {
3472
+ font?: {
3473
+ size?: {
3474
+ x: string | number;
3475
+ y: string | number;
3476
+ } | undefined;
3477
+ thickness?: string | number | undefined;
3478
+ } | undefined;
3479
+ hide?: boolean | undefined;
3480
+ justify?: string | string[] | undefined;
3481
+ } | undefined;
3482
+ id?: string | number | undefined;
3483
+ } | undefined;
3484
+ Datasheet?: {
3485
+ value: string;
3486
+ at?: {
3487
+ x: string | number;
3488
+ y: string | number;
3489
+ rotation?: string | number | undefined;
3490
+ } | undefined;
3491
+ effects?: {
3492
+ font?: {
3493
+ size?: {
3494
+ x: string | number;
3495
+ y: string | number;
3496
+ } | undefined;
3497
+ thickness?: string | number | undefined;
3498
+ } | undefined;
3499
+ hide?: boolean | undefined;
3500
+ justify?: string | string[] | undefined;
3501
+ } | undefined;
3502
+ id?: string | number | undefined;
3503
+ } | undefined;
3504
+ Description?: {
3505
+ value: string;
3506
+ at?: {
3507
+ x: string | number;
3508
+ y: string | number;
3509
+ rotation?: string | number | undefined;
3510
+ } | undefined;
3511
+ effects?: {
3512
+ font?: {
3513
+ size?: {
3514
+ x: string | number;
3515
+ y: string | number;
3516
+ } | undefined;
3517
+ thickness?: string | number | undefined;
3518
+ } | undefined;
3519
+ hide?: boolean | undefined;
3520
+ justify?: string | string[] | undefined;
3521
+ } | undefined;
3522
+ id?: string | number | undefined;
3523
+ } | undefined;
3524
+ Footprint?: {
3525
+ value: string;
3526
+ at?: {
3527
+ x: string | number;
3528
+ y: string | number;
3529
+ rotation?: string | number | undefined;
3530
+ } | undefined;
3531
+ effects?: {
3532
+ font?: {
3533
+ size?: {
3534
+ x: string | number;
3535
+ y: string | number;
3536
+ } | undefined;
3537
+ thickness?: string | number | undefined;
3538
+ } | undefined;
3539
+ hide?: boolean | undefined;
3540
+ justify?: string | string[] | undefined;
3541
+ } | undefined;
3542
+ id?: string | number | undefined;
3543
+ } | undefined;
3544
+ ki_keywords?: {
3545
+ value: string;
3546
+ at?: {
3547
+ x: string | number;
3548
+ y: string | number;
3549
+ rotation?: string | number | undefined;
3550
+ } | undefined;
3551
+ effects?: {
3552
+ font?: {
3553
+ size?: {
3554
+ x: string | number;
3555
+ y: string | number;
3556
+ } | undefined;
3557
+ thickness?: string | number | undefined;
3558
+ } | undefined;
3559
+ hide?: boolean | undefined;
3560
+ justify?: string | string[] | undefined;
3561
+ } | undefined;
3562
+ id?: string | number | undefined;
3563
+ } | undefined;
3564
+ ki_fp_filters?: {
3565
+ value: string;
3566
+ at?: {
3567
+ x: string | number;
3568
+ y: string | number;
3569
+ rotation?: string | number | undefined;
3570
+ } | undefined;
3571
+ effects?: {
3572
+ font?: {
3573
+ size?: {
3574
+ x: string | number;
3575
+ y: string | number;
3576
+ } | undefined;
3577
+ thickness?: string | number | undefined;
3578
+ } | undefined;
3579
+ hide?: boolean | undefined;
3580
+ justify?: string | string[] | undefined;
3581
+ } | undefined;
3582
+ id?: string | number | undefined;
3583
+ } | undefined;
3584
+ }>>;
3585
+ embeddedFonts: zod.ZodOptional<zod.ZodBoolean>;
3586
+ }, "strip", zod.ZodTypeAny, {
3587
+ properties?: {
3588
+ Reference?: {
3589
+ value: string;
3590
+ at?: {
3591
+ x: number;
3592
+ y: number;
3593
+ rotation?: number | undefined;
3594
+ } | undefined;
3595
+ effects?: {
3596
+ font?: {
3597
+ size?: {
3598
+ x: number;
3599
+ y: number;
3600
+ } | undefined;
3601
+ thickness?: number | undefined;
3602
+ } | undefined;
3603
+ hide?: boolean | undefined;
3604
+ justify?: string | string[] | undefined;
3605
+ } | undefined;
3606
+ id?: string | number | undefined;
3607
+ } | undefined;
3608
+ Value?: {
3609
+ value: string;
3610
+ at?: {
3611
+ x: number;
3612
+ y: number;
3613
+ rotation?: number | undefined;
3614
+ } | undefined;
3615
+ effects?: {
3616
+ font?: {
3617
+ size?: {
3618
+ x: number;
3619
+ y: number;
3620
+ } | undefined;
3621
+ thickness?: number | undefined;
3622
+ } | undefined;
3623
+ hide?: boolean | undefined;
3624
+ justify?: string | string[] | undefined;
3625
+ } | undefined;
3626
+ id?: string | number | undefined;
3627
+ } | undefined;
3628
+ Datasheet?: {
3629
+ value: string;
3630
+ at?: {
3631
+ x: number;
3632
+ y: number;
3633
+ rotation?: number | undefined;
3634
+ } | undefined;
3635
+ effects?: {
3636
+ font?: {
3637
+ size?: {
3638
+ x: number;
3639
+ y: number;
3640
+ } | undefined;
3641
+ thickness?: number | undefined;
3642
+ } | undefined;
3643
+ hide?: boolean | undefined;
3644
+ justify?: string | string[] | undefined;
3645
+ } | undefined;
3646
+ id?: string | number | undefined;
3647
+ } | undefined;
3648
+ Description?: {
3649
+ value: string;
3650
+ at?: {
3651
+ x: number;
3652
+ y: number;
3653
+ rotation?: number | undefined;
3654
+ } | undefined;
3655
+ effects?: {
3656
+ font?: {
3657
+ size?: {
3658
+ x: number;
3659
+ y: number;
3660
+ } | undefined;
3661
+ thickness?: number | undefined;
3662
+ } | undefined;
3663
+ hide?: boolean | undefined;
3664
+ justify?: string | string[] | undefined;
3665
+ } | undefined;
3666
+ id?: string | number | undefined;
3667
+ } | undefined;
3668
+ Footprint?: {
3669
+ value: string;
3670
+ at?: {
3671
+ x: number;
3672
+ y: number;
3673
+ rotation?: number | undefined;
3674
+ } | undefined;
3675
+ effects?: {
3676
+ font?: {
3677
+ size?: {
3678
+ x: number;
3679
+ y: number;
3680
+ } | undefined;
3681
+ thickness?: number | undefined;
3682
+ } | undefined;
3683
+ hide?: boolean | undefined;
3684
+ justify?: string | string[] | undefined;
3685
+ } | undefined;
3686
+ id?: string | number | undefined;
3687
+ } | undefined;
3688
+ ki_keywords?: {
3689
+ value: string;
3690
+ at?: {
3691
+ x: number;
3692
+ y: number;
3693
+ rotation?: number | undefined;
3694
+ } | undefined;
3695
+ effects?: {
3696
+ font?: {
3697
+ size?: {
3698
+ x: number;
3699
+ y: number;
3700
+ } | undefined;
3701
+ thickness?: number | undefined;
3702
+ } | undefined;
3703
+ hide?: boolean | undefined;
3704
+ justify?: string | string[] | undefined;
3705
+ } | undefined;
3706
+ id?: string | number | undefined;
3707
+ } | undefined;
3708
+ ki_fp_filters?: {
3709
+ value: string;
3710
+ at?: {
3711
+ x: number;
3712
+ y: number;
3713
+ rotation?: number | undefined;
3714
+ } | undefined;
3715
+ effects?: {
3716
+ font?: {
3717
+ size?: {
3718
+ x: number;
3719
+ y: number;
3720
+ } | undefined;
3721
+ thickness?: number | undefined;
3722
+ } | undefined;
3723
+ hide?: boolean | undefined;
3724
+ justify?: string | string[] | undefined;
3725
+ } | undefined;
3726
+ id?: string | number | undefined;
3727
+ } | undefined;
3728
+ } | undefined;
3729
+ embeddedFonts?: boolean | undefined;
3730
+ symbolName?: string | undefined;
3731
+ extends?: string | undefined;
3732
+ pinNumbers?: {
3733
+ hide?: boolean | undefined;
3734
+ } | undefined;
3735
+ pinNames?: {
3736
+ hide?: boolean | undefined;
3737
+ offset?: number | undefined;
3738
+ } | undefined;
3739
+ excludeFromSim?: boolean | undefined;
3740
+ inBom?: boolean | undefined;
3741
+ onBoard?: boolean | undefined;
3742
+ }, {
3743
+ properties?: {
3744
+ Reference?: {
3745
+ value: string;
3746
+ at?: {
3747
+ x: string | number;
3748
+ y: string | number;
3749
+ rotation?: string | number | undefined;
3750
+ } | undefined;
3751
+ effects?: {
3752
+ font?: {
3753
+ size?: {
3754
+ x: string | number;
3755
+ y: string | number;
3756
+ } | undefined;
3757
+ thickness?: string | number | undefined;
3758
+ } | undefined;
3759
+ hide?: boolean | undefined;
3760
+ justify?: string | string[] | undefined;
3761
+ } | undefined;
3762
+ id?: string | number | undefined;
3763
+ } | undefined;
3764
+ Value?: {
3765
+ value: string;
3766
+ at?: {
3767
+ x: string | number;
3768
+ y: string | number;
3769
+ rotation?: string | number | undefined;
3770
+ } | undefined;
3771
+ effects?: {
3772
+ font?: {
3773
+ size?: {
3774
+ x: string | number;
3775
+ y: string | number;
3776
+ } | undefined;
3777
+ thickness?: string | number | undefined;
3778
+ } | undefined;
3779
+ hide?: boolean | undefined;
3780
+ justify?: string | string[] | undefined;
3781
+ } | undefined;
3782
+ id?: string | number | undefined;
3783
+ } | undefined;
3784
+ Datasheet?: {
3785
+ value: string;
3786
+ at?: {
3787
+ x: string | number;
3788
+ y: string | number;
3789
+ rotation?: string | number | undefined;
3790
+ } | undefined;
3791
+ effects?: {
3792
+ font?: {
3793
+ size?: {
3794
+ x: string | number;
3795
+ y: string | number;
3796
+ } | undefined;
3797
+ thickness?: string | number | undefined;
3798
+ } | undefined;
3799
+ hide?: boolean | undefined;
3800
+ justify?: string | string[] | undefined;
3801
+ } | undefined;
3802
+ id?: string | number | undefined;
3803
+ } | undefined;
3804
+ Description?: {
3805
+ value: string;
3806
+ at?: {
3807
+ x: string | number;
3808
+ y: string | number;
3809
+ rotation?: string | number | undefined;
3810
+ } | undefined;
3811
+ effects?: {
3812
+ font?: {
3813
+ size?: {
3814
+ x: string | number;
3815
+ y: string | number;
3816
+ } | undefined;
3817
+ thickness?: string | number | undefined;
3818
+ } | undefined;
3819
+ hide?: boolean | undefined;
3820
+ justify?: string | string[] | undefined;
3821
+ } | undefined;
3822
+ id?: string | number | undefined;
3823
+ } | undefined;
3824
+ Footprint?: {
3825
+ value: string;
3826
+ at?: {
3827
+ x: string | number;
3828
+ y: string | number;
3829
+ rotation?: string | number | undefined;
3830
+ } | undefined;
3831
+ effects?: {
3832
+ font?: {
3833
+ size?: {
3834
+ x: string | number;
3835
+ y: string | number;
3836
+ } | undefined;
3837
+ thickness?: string | number | undefined;
3838
+ } | undefined;
3839
+ hide?: boolean | undefined;
3840
+ justify?: string | string[] | undefined;
3841
+ } | undefined;
3842
+ id?: string | number | undefined;
3843
+ } | undefined;
3844
+ ki_keywords?: {
3845
+ value: string;
3846
+ at?: {
3847
+ x: string | number;
3848
+ y: string | number;
3849
+ rotation?: string | number | undefined;
3850
+ } | undefined;
3851
+ effects?: {
3852
+ font?: {
3853
+ size?: {
3854
+ x: string | number;
3855
+ y: string | number;
3856
+ } | undefined;
3857
+ thickness?: string | number | undefined;
3858
+ } | undefined;
3859
+ hide?: boolean | undefined;
3860
+ justify?: string | string[] | undefined;
3861
+ } | undefined;
3862
+ id?: string | number | undefined;
3863
+ } | undefined;
3864
+ ki_fp_filters?: {
3865
+ value: string;
3866
+ at?: {
3867
+ x: string | number;
3868
+ y: string | number;
3869
+ rotation?: string | number | undefined;
3870
+ } | undefined;
3871
+ effects?: {
3872
+ font?: {
3873
+ size?: {
3874
+ x: string | number;
3875
+ y: string | number;
3876
+ } | undefined;
3877
+ thickness?: string | number | undefined;
3878
+ } | undefined;
3879
+ hide?: boolean | undefined;
3880
+ justify?: string | string[] | undefined;
3881
+ } | undefined;
3882
+ id?: string | number | undefined;
3883
+ } | undefined;
3884
+ } | undefined;
3885
+ embeddedFonts?: boolean | undefined;
3886
+ symbolName?: string | undefined;
3887
+ extends?: string | undefined;
3888
+ pinNumbers?: {
3889
+ hide?: boolean | undefined;
3890
+ } | undefined;
3891
+ pinNames?: {
3892
+ hide?: boolean | undefined;
3893
+ offset?: string | number | undefined;
3894
+ } | undefined;
3895
+ excludeFromSim?: boolean | undefined;
3896
+ inBom?: boolean | undefined;
3897
+ onBoard?: boolean | undefined;
3898
+ }>>;
3899
+ }, zod.ZodUnknown, "strip"> | undefined;
3900
+ } | {
3901
+ type: "schematic_port";
3902
+ center: {
3903
+ x: number;
3904
+ y: number;
3905
+ };
3906
+ source_port_id: string;
3907
+ schematic_port_id: string;
3908
+ subcircuit_id?: string | undefined;
3909
+ facing_direction?: "left" | "right" | "up" | "down" | undefined;
3910
+ schematic_component_id?: string | undefined;
3911
+ distance_from_component_edge?: number | undefined;
3912
+ side_of_component?: "top" | "bottom" | "left" | "right" | undefined;
3913
+ true_ccw_index?: number | undefined;
3914
+ pin_number?: number | undefined;
3915
+ display_pin_label?: string | undefined;
3916
+ is_connected?: boolean | undefined;
3917
+ has_input_arrow?: boolean | undefined;
3918
+ has_output_arrow?: boolean | undefined;
3919
+ is_drawn_with_inversion_circle?: boolean | undefined;
3920
+ } | {
3921
+ type: "schematic_trace";
3922
+ schematic_trace_id: string;
3923
+ junctions: {
3924
+ x: number;
3925
+ y: number;
3926
+ }[];
3927
+ edges: {
3928
+ from: {
3929
+ x: number;
3930
+ y: number;
3931
+ };
3932
+ to: {
3933
+ x: number;
3934
+ y: number;
3935
+ };
3936
+ is_crossing?: boolean | undefined;
3937
+ from_schematic_port_id?: string | undefined;
3938
+ to_schematic_port_id?: string | undefined;
3939
+ }[];
3940
+ subcircuit_id?: string | undefined;
3941
+ source_trace_id?: string | undefined;
3942
+ subcircuit_connectivity_map_key?: string | undefined;
3943
+ } | {
3944
+ type: "schematic_path";
3945
+ points: {
3946
+ x: number;
3947
+ y: number;
3948
+ }[];
3949
+ schematic_path_id: string;
3950
+ subcircuit_id?: string | undefined;
3951
+ stroke_width?: number | null | undefined;
3952
+ is_filled?: boolean | undefined;
3953
+ schematic_component_id?: string | undefined;
3954
+ schematic_symbol_id?: string | undefined;
3955
+ fill_color?: string | undefined;
3956
+ stroke_color?: string | undefined;
3957
+ } | {
3958
+ message: string;
3959
+ type: "schematic_error";
3960
+ error_type: "schematic_port_not_found";
3961
+ schematic_error_id: string;
3962
+ subcircuit_id?: string | undefined;
3963
+ is_fatal?: boolean | undefined;
3964
+ } | {
3965
+ message: string;
3966
+ type: "schematic_layout_error";
3967
+ error_type: "schematic_layout_error";
3968
+ source_group_id: string;
3969
+ schematic_group_id: string;
3970
+ schematic_layout_error_id: string;
3971
+ subcircuit_id?: string | undefined;
3972
+ is_fatal?: boolean | undefined;
3973
+ } | {
3974
+ type: "schematic_net_label";
3975
+ center: {
3976
+ x: number;
3977
+ y: number;
3978
+ };
3979
+ text: string;
3980
+ source_net_id: string;
3981
+ schematic_net_label_id: string;
3982
+ anchor_side: "top" | "bottom" | "left" | "right";
3983
+ subcircuit_id?: string | undefined;
3984
+ anchor_position?: {
3985
+ x: number;
3986
+ y: number;
3987
+ } | undefined;
3988
+ source_trace_id?: string | undefined;
3989
+ symbol_name?: string | undefined;
3990
+ schematic_trace_id?: string | undefined;
3991
+ is_movable?: boolean | undefined;
3992
+ } | {
3993
+ type: "schematic_debug_object";
3994
+ size: {
3995
+ width: number;
3996
+ height: number;
3997
+ };
3998
+ shape: "rect";
3999
+ center: {
4000
+ x: number;
4001
+ y: number;
4002
+ };
4003
+ subcircuit_id?: string | undefined;
4004
+ label?: string | undefined;
4005
+ } | {
4006
+ type: "schematic_debug_object";
4007
+ shape: "line";
4008
+ start: {
4009
+ x: number;
4010
+ y: number;
4011
+ };
4012
+ end: {
4013
+ x: number;
4014
+ y: number;
4015
+ };
4016
+ subcircuit_id?: string | undefined;
4017
+ label?: string | undefined;
4018
+ } | {
4019
+ type: "schematic_debug_object";
4020
+ shape: "point";
4021
+ center: {
4022
+ x: number;
4023
+ y: number;
4024
+ };
4025
+ subcircuit_id?: string | undefined;
4026
+ label?: string | undefined;
4027
+ } | {
4028
+ type: "schematic_voltage_probe";
4029
+ schematic_trace_id: string;
4030
+ position: {
4031
+ x: number;
4032
+ y: number;
4033
+ };
4034
+ schematic_voltage_probe_id: string;
4035
+ name?: string | undefined;
4036
+ source_component_id?: string | undefined;
4037
+ subcircuit_id?: string | undefined;
4038
+ color?: string | undefined;
4039
+ voltage?: number | undefined;
4040
+ label_alignment?: "top_left" | "top_center" | "top_right" | "center_left" | "center" | "center_right" | "bottom_left" | "bottom_center" | "bottom_right" | undefined;
4041
+ } | {
4042
+ message: string;
4043
+ type: "schematic_manual_edit_conflict_warning";
4044
+ source_component_id: string;
4045
+ warning_type: "schematic_manual_edit_conflict_warning";
4046
+ schematic_component_id: string;
4047
+ schematic_manual_edit_conflict_warning_id: string;
4048
+ subcircuit_id?: string | undefined;
4049
+ schematic_group_id?: string | undefined;
4050
+ } | {
4051
+ type: "schematic_group";
4052
+ width: number;
4053
+ height: number;
4054
+ center: {
4055
+ x: number;
4056
+ y: number;
4057
+ };
4058
+ source_group_id: string;
4059
+ schematic_group_id: string;
4060
+ schematic_component_ids: string[];
4061
+ description?: string | undefined;
4062
+ name?: string | undefined;
4063
+ subcircuit_id?: string | undefined;
4064
+ is_subcircuit?: boolean | undefined;
4065
+ show_as_schematic_box?: boolean | undefined;
4066
+ } | {
4067
+ type: "schematic_sheet";
4068
+ schematic_sheet_id: string;
4069
+ name?: string | undefined;
4070
+ subcircuit_id?: string | undefined;
4071
+ } | {
4072
+ type: "schematic_table";
4073
+ anchor_position: {
4074
+ x: number;
4075
+ y: number;
4076
+ };
4077
+ schematic_table_id: string;
4078
+ column_widths: number[];
4079
+ row_heights: number[];
4080
+ anchor?: "top_left" | "top_center" | "top_right" | "center_left" | "center" | "center_right" | "bottom_left" | "bottom_center" | "bottom_right" | undefined;
4081
+ subcircuit_id?: string | undefined;
4082
+ schematic_component_id?: string | undefined;
4083
+ cell_padding?: number | undefined;
4084
+ border_width?: number | undefined;
4085
+ } | {
4086
+ type: "schematic_table_cell";
4087
+ width: number;
4088
+ height: number;
4089
+ center: {
4090
+ x: number;
4091
+ y: number;
4092
+ };
4093
+ schematic_table_id: string;
4094
+ schematic_table_cell_id: string;
4095
+ start_row_index: number;
4096
+ end_row_index: number;
4097
+ start_column_index: number;
4098
+ end_column_index: number;
4099
+ subcircuit_id?: string | undefined;
4100
+ text?: string | undefined;
4101
+ font_size?: number | undefined;
4102
+ horizontal_align?: "center" | "left" | "right" | undefined;
4103
+ vertical_align?: "top" | "bottom" | "middle" | undefined;
4104
+ } | {
4105
+ type: "cad_component";
4106
+ pcb_component_id: string;
4107
+ source_component_id: string;
4108
+ anchor_alignment: "center" | "center_of_component_on_board_surface";
4109
+ position: {
4110
+ x: number;
4111
+ y: number;
4112
+ z: number;
4113
+ };
4114
+ cad_component_id: string;
4115
+ model_object_fit: "contain_within_bounds" | "fill_bounds";
4116
+ rotation?: {
4117
+ x: number;
4118
+ y: number;
4119
+ z: number;
4120
+ } | undefined;
4121
+ size?: {
4122
+ x: number;
4123
+ y: number;
4124
+ z: number;
4125
+ } | undefined;
4126
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
4127
+ subcircuit_id?: string | undefined;
4128
+ footprinter_string?: string | undefined;
4129
+ model_obj_url?: string | undefined;
4130
+ model_stl_url?: string | undefined;
4131
+ model_3mf_url?: string | undefined;
4132
+ model_gltf_url?: string | undefined;
4133
+ model_glb_url?: string | undefined;
4134
+ model_step_url?: string | undefined;
4135
+ model_wrl_url?: string | undefined;
4136
+ model_asset?: {
4137
+ project_relative_path: string;
4138
+ url: string;
4139
+ mimetype: string;
4140
+ } | undefined;
4141
+ model_unit_to_mm_scale_factor?: number | undefined;
4142
+ model_board_normal_direction?: "x-" | "x+" | "y+" | "y-" | "z+" | "z-" | undefined;
4143
+ model_origin_position?: {
4144
+ x: number;
4145
+ y: number;
4146
+ z: number;
4147
+ } | undefined;
4148
+ model_origin_alignment?: "unknown" | "center" | "center_of_component_on_board_surface" | "bottom_center_of_component" | undefined;
4149
+ model_jscad?: any;
4150
+ show_as_translucent_model?: boolean | undefined;
4151
+ } | {
4152
+ type: "simulation_voltage_source";
4153
+ voltage: number;
4154
+ simulation_voltage_source_id: string;
4155
+ is_dc_source: true;
4156
+ positive_source_port_id?: string | undefined;
4157
+ negative_source_port_id?: string | undefined;
4158
+ positive_source_net_id?: string | undefined;
4159
+ negative_source_net_id?: string | undefined;
4160
+ } | {
4161
+ type: "simulation_voltage_source";
4162
+ simulation_voltage_source_id: string;
4163
+ is_dc_source: false;
4164
+ voltage?: number | undefined;
4165
+ terminal1_source_port_id?: string | undefined;
4166
+ terminal2_source_port_id?: string | undefined;
4167
+ terminal1_source_net_id?: string | undefined;
4168
+ terminal2_source_net_id?: string | undefined;
4169
+ frequency?: number | undefined;
4170
+ peak_to_peak_voltage?: number | undefined;
4171
+ wave_shape?: "square" | "sinewave" | "triangle" | "sawtooth" | undefined;
4172
+ phase?: number | undefined;
4173
+ duty_cycle?: number | undefined;
4174
+ } | {
4175
+ type: "simulation_current_source";
4176
+ is_dc_source: true;
4177
+ simulation_current_source_id: string;
4178
+ current: number;
4179
+ positive_source_port_id?: string | undefined;
4180
+ negative_source_port_id?: string | undefined;
4181
+ positive_source_net_id?: string | undefined;
4182
+ negative_source_net_id?: string | undefined;
4183
+ } | {
4184
+ type: "simulation_current_source";
4185
+ is_dc_source: false;
4186
+ simulation_current_source_id: string;
4187
+ terminal1_source_port_id?: string | undefined;
4188
+ terminal2_source_port_id?: string | undefined;
4189
+ terminal1_source_net_id?: string | undefined;
4190
+ terminal2_source_net_id?: string | undefined;
4191
+ frequency?: number | undefined;
4192
+ wave_shape?: "square" | "sinewave" | "triangle" | "sawtooth" | undefined;
4193
+ phase?: number | undefined;
4194
+ duty_cycle?: number | undefined;
4195
+ current?: number | undefined;
4196
+ peak_to_peak_current?: number | undefined;
4197
+ } | {
4198
+ type: "simulation_experiment";
4199
+ name: string;
4200
+ simulation_experiment_id: string;
4201
+ experiment_type: "spice_dc_sweep" | "spice_dc_operating_point" | "spice_transient_analysis" | "spice_ac_analysis";
4202
+ time_per_step?: number | undefined;
4203
+ start_time_ms?: number | undefined;
4204
+ end_time_ms?: number | undefined;
4205
+ } | {
4206
+ type: "simulation_transient_voltage_graph";
4207
+ simulation_experiment_id: string;
4208
+ time_per_step: number;
4209
+ start_time_ms: number;
4210
+ end_time_ms: number;
4211
+ simulation_transient_voltage_graph_id: string;
4212
+ voltage_levels: number[];
4213
+ name?: string | undefined;
4214
+ source_component_id?: string | undefined;
4215
+ subcircuit_connectivity_map_key?: string | undefined;
4216
+ color?: string | undefined;
4217
+ timestamps_ms?: number[] | undefined;
4218
+ } | {
4219
+ type: "simulation_switch";
4220
+ simulation_switch_id: string;
4221
+ source_component_id?: string | undefined;
4222
+ closes_at?: number | undefined;
4223
+ opens_at?: number | undefined;
4224
+ starts_closed?: boolean | undefined;
4225
+ switching_frequency?: number | undefined;
4226
+ } | {
4227
+ type: "simulation_voltage_probe";
4228
+ simulation_voltage_probe_id: string;
4229
+ name?: string | undefined;
4230
+ source_component_id?: string | undefined;
4231
+ subcircuit_id?: string | undefined;
4232
+ color?: string | undefined;
4233
+ signal_input_source_port_id?: string | undefined;
4234
+ signal_input_source_net_id?: string | undefined;
4235
+ reference_input_source_port_id?: string | undefined;
4236
+ reference_input_source_net_id?: string | undefined;
4237
+ } | {
4238
+ message: string;
4239
+ type: "simulation_unknown_experiment_error";
4240
+ error_type: "simulation_unknown_experiment_error";
4241
+ simulation_unknown_experiment_error_id: string;
4242
+ subcircuit_id?: string | undefined;
4243
+ is_fatal?: boolean | undefined;
4244
+ simulation_experiment_id?: string | undefined;
4245
+ } | {
4246
+ type: "simulation_op_amp";
4247
+ simulation_op_amp_id: string;
4248
+ inverting_input_source_port_id: string;
4249
+ non_inverting_input_source_port_id: string;
4250
+ output_source_port_id: string;
4251
+ positive_supply_source_port_id: string;
4252
+ negative_supply_source_port_id: string;
4253
+ source_component_id?: string | undefined;
4254
+ })[] | undefined>;
4255
+ }
4256
+
4257
+ declare const cache: Map<string, any>;
4258
+
4259
+ declare const createJlcPartsEngine: (options?: CreateJlcPartsEngineOptions) => PartsEngine;
4260
+ declare const jlcPartsEngine: PartsEngine;
4261
+
4262
+ export { type CreateJlcPartsEngineOptions, type FetchPartCircuitJsonParams, JlcPartsEngine, type PlatformFetch, cache, createJlcPartsEngine, jlcPartsEngine };