@tscircuit/parts-engine 0.0.16 → 0.0.18

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