circuit-json 0.0.207 → 0.0.209
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.
- package/README.md +38 -1
- package/dist/index.d.mts +117 -247
- package/dist/index.mjs +725 -716
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -230,11 +230,35 @@ var battery_capacity = z.number().or(z.string().endsWith("mAh")).transform((v) =
|
|
|
230
230
|
|
|
231
231
|
// src/common/point.ts
|
|
232
232
|
import { z as z2 } from "zod";
|
|
233
|
+
|
|
234
|
+
// src/utils/expect-types-match.ts
|
|
235
|
+
var expectTypesMatch = (shouldBe) => {
|
|
236
|
+
};
|
|
237
|
+
expectTypesMatch("extra props b");
|
|
238
|
+
expectTypesMatch("missing props b");
|
|
239
|
+
expectTypesMatch(true);
|
|
240
|
+
expectTypesMatch("mismatched prop types: a");
|
|
241
|
+
var expectStringUnionsMatch = (shouldBe) => {
|
|
242
|
+
};
|
|
243
|
+
expectStringUnionsMatch(true);
|
|
244
|
+
expectStringUnionsMatch(
|
|
245
|
+
'T1 has extra: "c", T2 has extra: "d"'
|
|
246
|
+
);
|
|
247
|
+
expectStringUnionsMatch('T1 has extra: "c"');
|
|
248
|
+
expectStringUnionsMatch('T2 has extra: "c"');
|
|
249
|
+
expectStringUnionsMatch(
|
|
250
|
+
'T1 has extra: "d", T2 has extra: "c"'
|
|
251
|
+
);
|
|
252
|
+
expectStringUnionsMatch(true);
|
|
253
|
+
|
|
254
|
+
// src/common/point.ts
|
|
233
255
|
var point = z2.object({
|
|
234
256
|
x: distance,
|
|
235
257
|
y: distance
|
|
236
258
|
});
|
|
237
259
|
var position = point;
|
|
260
|
+
expectTypesMatch(true);
|
|
261
|
+
expectTypesMatch(true);
|
|
238
262
|
|
|
239
263
|
// src/common/point3.ts
|
|
240
264
|
import { z as z3 } from "zod";
|
|
@@ -244,6 +268,7 @@ var point3 = z3.object({
|
|
|
244
268
|
z: distance
|
|
245
269
|
});
|
|
246
270
|
var position3 = point3;
|
|
271
|
+
expectTypesMatch(true);
|
|
247
272
|
|
|
248
273
|
// src/common/size.ts
|
|
249
274
|
import { z as z4 } from "zod";
|
|
@@ -251,6 +276,7 @@ var size = z4.object({
|
|
|
251
276
|
width: z4.number(),
|
|
252
277
|
height: z4.number()
|
|
253
278
|
});
|
|
279
|
+
expectTypesMatch(true);
|
|
254
280
|
|
|
255
281
|
// src/common/getZodPrefixedIdWithDefault.ts
|
|
256
282
|
import { z as z5 } from "zod";
|
|
@@ -272,6 +298,7 @@ var ninePointAnchor = z6.enum([
|
|
|
272
298
|
"bottom_center",
|
|
273
299
|
"bottom_right"
|
|
274
300
|
]);
|
|
301
|
+
expectTypesMatch(true);
|
|
275
302
|
|
|
276
303
|
// src/source/source_simple_capacitor.ts
|
|
277
304
|
import { z as z9 } from "zod";
|
|
@@ -286,26 +313,7 @@ var supplier_name = z7.enum([
|
|
|
286
313
|
"mouser",
|
|
287
314
|
"lcsc"
|
|
288
315
|
]);
|
|
289
|
-
|
|
290
|
-
// src/utils/expect-types-match.ts
|
|
291
|
-
var expectTypesMatch = (shouldBe) => {
|
|
292
|
-
};
|
|
293
|
-
expectTypesMatch("extra props b");
|
|
294
|
-
expectTypesMatch("missing props b");
|
|
295
316
|
expectTypesMatch(true);
|
|
296
|
-
expectTypesMatch("mismatched prop types: a");
|
|
297
|
-
var expectStringUnionsMatch = (shouldBe) => {
|
|
298
|
-
};
|
|
299
|
-
expectStringUnionsMatch(true);
|
|
300
|
-
expectStringUnionsMatch(
|
|
301
|
-
'T1 has extra: "c", T2 has extra: "d"'
|
|
302
|
-
);
|
|
303
|
-
expectStringUnionsMatch('T1 has extra: "c"');
|
|
304
|
-
expectStringUnionsMatch('T2 has extra: "c"');
|
|
305
|
-
expectStringUnionsMatch(
|
|
306
|
-
'T1 has extra: "d", T2 has extra: "c"'
|
|
307
|
-
);
|
|
308
|
-
expectStringUnionsMatch(true);
|
|
309
317
|
|
|
310
318
|
// src/source/base/source_component_base.ts
|
|
311
319
|
import { z as z8 } from "zod";
|
|
@@ -365,66 +373,60 @@ var source_simple_ground = source_component_base.extend({
|
|
|
365
373
|
});
|
|
366
374
|
expectTypesMatch(true);
|
|
367
375
|
|
|
368
|
-
// src/source/source_simple_bug.ts
|
|
369
|
-
import { z as z14 } from "zod";
|
|
370
|
-
var source_simple_bug = source_component_base.extend({
|
|
371
|
-
ftype: z14.literal("simple_bug")
|
|
372
|
-
}).describe("@deprecated");
|
|
373
|
-
|
|
374
376
|
// src/source/source_simple_chip.ts
|
|
375
|
-
import { z as
|
|
377
|
+
import { z as z14 } from "zod";
|
|
376
378
|
var source_simple_chip = source_component_base.extend({
|
|
377
|
-
ftype:
|
|
379
|
+
ftype: z14.literal("simple_chip")
|
|
378
380
|
});
|
|
379
381
|
expectTypesMatch(true);
|
|
380
382
|
|
|
381
383
|
// src/source/source_simple_power_source.ts
|
|
382
|
-
import { z as
|
|
384
|
+
import { z as z15 } from "zod";
|
|
383
385
|
var source_simple_power_source = source_component_base.extend({
|
|
384
|
-
ftype:
|
|
386
|
+
ftype: z15.literal("simple_power_source"),
|
|
385
387
|
voltage
|
|
386
388
|
});
|
|
387
389
|
expectTypesMatch(true);
|
|
388
390
|
|
|
389
391
|
// src/source/any_source_component.ts
|
|
390
|
-
import { z as
|
|
392
|
+
import { z as z31 } from "zod";
|
|
391
393
|
|
|
392
394
|
// src/source/source_simple_fuse.ts
|
|
393
|
-
import { z as
|
|
395
|
+
import { z as z16 } from "zod";
|
|
394
396
|
var source_simple_fuse = source_component_base.extend({
|
|
395
|
-
ftype:
|
|
396
|
-
current_rating_amps:
|
|
397
|
-
voltage_rating_volts:
|
|
397
|
+
ftype: z16.literal("simple_fuse"),
|
|
398
|
+
current_rating_amps: z16.number().describe("Nominal current in amps the fuse is rated for"),
|
|
399
|
+
voltage_rating_volts: z16.number().describe("Voltage rating in volts, e.g. \xB15V would be 5")
|
|
398
400
|
});
|
|
399
401
|
expectTypesMatch(true);
|
|
400
402
|
|
|
401
403
|
// src/source/source_simple_battery.ts
|
|
402
|
-
import { z as
|
|
404
|
+
import { z as z17 } from "zod";
|
|
403
405
|
var source_simple_battery = source_component_base.extend({
|
|
404
|
-
ftype:
|
|
406
|
+
ftype: z17.literal("simple_battery"),
|
|
405
407
|
capacity: battery_capacity
|
|
406
408
|
});
|
|
407
409
|
expectTypesMatch(true);
|
|
408
410
|
|
|
409
411
|
// src/source/source_simple_inductor.ts
|
|
410
|
-
import { z as
|
|
412
|
+
import { z as z18 } from "zod";
|
|
411
413
|
var source_simple_inductor = source_component_base.extend({
|
|
412
|
-
ftype:
|
|
414
|
+
ftype: z18.literal("simple_inductor"),
|
|
413
415
|
inductance
|
|
414
416
|
});
|
|
415
417
|
expectTypesMatch(true);
|
|
416
418
|
|
|
417
419
|
// src/source/source_simple_push_button.ts
|
|
418
|
-
import { z as
|
|
420
|
+
import { z as z19 } from "zod";
|
|
419
421
|
var source_simple_push_button = source_component_base.extend({
|
|
420
|
-
ftype:
|
|
422
|
+
ftype: z19.literal("simple_push_button")
|
|
421
423
|
});
|
|
422
424
|
expectTypesMatch(true);
|
|
423
425
|
|
|
424
426
|
// src/source/source_simple_potentiometer.ts
|
|
425
|
-
import { z as
|
|
427
|
+
import { z as z20 } from "zod";
|
|
426
428
|
var source_simple_potentiometer = source_component_base.extend({
|
|
427
|
-
ftype:
|
|
429
|
+
ftype: z20.literal("simple_potentiometer"),
|
|
428
430
|
max_resistance: resistance
|
|
429
431
|
});
|
|
430
432
|
expectTypesMatch(
|
|
@@ -432,27 +434,27 @@ expectTypesMatch(
|
|
|
432
434
|
);
|
|
433
435
|
|
|
434
436
|
// src/source/source_simple_crystal.ts
|
|
435
|
-
import { z as
|
|
437
|
+
import { z as z21 } from "zod";
|
|
436
438
|
var source_simple_crystal = source_component_base.extend({
|
|
437
|
-
ftype:
|
|
438
|
-
frequency:
|
|
439
|
-
load_capacitance:
|
|
439
|
+
ftype: z21.literal("simple_crystal"),
|
|
440
|
+
frequency: z21.number().describe("Frequency in Hz"),
|
|
441
|
+
load_capacitance: z21.number().optional().describe("Load capacitance in pF")
|
|
440
442
|
});
|
|
441
443
|
expectTypesMatch(true);
|
|
442
444
|
|
|
443
445
|
// src/source/source_simple_pin_header.ts
|
|
444
|
-
import { z as
|
|
446
|
+
import { z as z22 } from "zod";
|
|
445
447
|
var source_simple_pin_header = source_component_base.extend({
|
|
446
|
-
ftype:
|
|
447
|
-
pin_count:
|
|
448
|
-
gender:
|
|
448
|
+
ftype: z22.literal("simple_pin_header"),
|
|
449
|
+
pin_count: z22.number(),
|
|
450
|
+
gender: z22.enum(["male", "female"]).optional().default("male")
|
|
449
451
|
});
|
|
450
452
|
expectTypesMatch(true);
|
|
451
453
|
|
|
452
454
|
// src/source/source_simple_resonator.ts
|
|
453
|
-
import { z as
|
|
455
|
+
import { z as z23 } from "zod";
|
|
454
456
|
var source_simple_resonator = source_component_base.extend({
|
|
455
|
-
ftype:
|
|
457
|
+
ftype: z23.literal("simple_resonator"),
|
|
456
458
|
load_capacitance: capacitance,
|
|
457
459
|
equivalent_series_resistance: resistance.optional(),
|
|
458
460
|
frequency
|
|
@@ -460,99 +462,98 @@ var source_simple_resonator = source_component_base.extend({
|
|
|
460
462
|
expectTypesMatch(true);
|
|
461
463
|
|
|
462
464
|
// src/source/source_simple_transistor.ts
|
|
463
|
-
import { z as
|
|
465
|
+
import { z as z24 } from "zod";
|
|
464
466
|
var source_simple_transistor = source_component_base.extend({
|
|
465
|
-
ftype:
|
|
466
|
-
transistor_type:
|
|
467
|
+
ftype: z24.literal("simple_transistor"),
|
|
468
|
+
transistor_type: z24.enum(["npn", "pnp"])
|
|
467
469
|
});
|
|
468
470
|
expectTypesMatch(true);
|
|
469
471
|
|
|
470
472
|
// src/source/source_simple_test_point.ts
|
|
471
|
-
import { z as
|
|
473
|
+
import { z as z25 } from "zod";
|
|
472
474
|
var source_simple_test_point = source_component_base.extend({
|
|
473
|
-
ftype:
|
|
474
|
-
footprint_variant:
|
|
475
|
-
pad_shape:
|
|
476
|
-
pad_diameter:
|
|
477
|
-
hole_diameter:
|
|
478
|
-
width:
|
|
479
|
-
height:
|
|
475
|
+
ftype: z25.literal("simple_test_point"),
|
|
476
|
+
footprint_variant: z25.enum(["pad", "through_hole"]).optional(),
|
|
477
|
+
pad_shape: z25.enum(["rect", "circle"]).optional(),
|
|
478
|
+
pad_diameter: z25.union([z25.number(), z25.string()]).optional(),
|
|
479
|
+
hole_diameter: z25.union([z25.number(), z25.string()]).optional(),
|
|
480
|
+
width: z25.union([z25.number(), z25.string()]).optional(),
|
|
481
|
+
height: z25.union([z25.number(), z25.string()]).optional()
|
|
480
482
|
});
|
|
481
483
|
expectTypesMatch(true);
|
|
482
484
|
|
|
483
485
|
// src/source/source_simple_mosfet.ts
|
|
484
|
-
import { z as
|
|
486
|
+
import { z as z26 } from "zod";
|
|
485
487
|
var source_simple_mosfet = source_component_base.extend({
|
|
486
|
-
ftype:
|
|
487
|
-
channel_type:
|
|
488
|
-
mosfet_mode:
|
|
488
|
+
ftype: z26.literal("simple_mosfet"),
|
|
489
|
+
channel_type: z26.enum(["n", "p"]),
|
|
490
|
+
mosfet_mode: z26.enum(["enhancement", "depletion"])
|
|
489
491
|
});
|
|
490
492
|
expectTypesMatch(true);
|
|
491
493
|
|
|
492
494
|
// src/source/source_simple_switch.ts
|
|
493
|
-
import { z as
|
|
495
|
+
import { z as z27 } from "zod";
|
|
494
496
|
var source_simple_switch = source_component_base.extend({
|
|
495
|
-
ftype:
|
|
497
|
+
ftype: z27.literal("simple_switch")
|
|
496
498
|
});
|
|
497
499
|
expectTypesMatch(true);
|
|
498
500
|
|
|
499
501
|
// src/source/source_project_metadata.ts
|
|
500
|
-
import { z as
|
|
501
|
-
var source_project_metadata =
|
|
502
|
-
type:
|
|
503
|
-
name:
|
|
504
|
-
software_used_string:
|
|
505
|
-
project_url:
|
|
506
|
-
created_at:
|
|
502
|
+
import { z as z28 } from "zod";
|
|
503
|
+
var source_project_metadata = z28.object({
|
|
504
|
+
type: z28.literal("source_project_metadata"),
|
|
505
|
+
name: z28.string().optional(),
|
|
506
|
+
software_used_string: z28.string().optional(),
|
|
507
|
+
project_url: z28.string().optional(),
|
|
508
|
+
created_at: z28.string().datetime().optional()
|
|
507
509
|
});
|
|
508
510
|
expectTypesMatch(true);
|
|
509
511
|
|
|
510
512
|
// src/source/source_missing_property_error.ts
|
|
511
|
-
import { z as
|
|
512
|
-
var source_missing_property_error =
|
|
513
|
-
type:
|
|
513
|
+
import { z as z29 } from "zod";
|
|
514
|
+
var source_missing_property_error = z29.object({
|
|
515
|
+
type: z29.literal("source_missing_property_error"),
|
|
514
516
|
source_missing_property_error_id: getZodPrefixedIdWithDefault(
|
|
515
517
|
"source_missing_property_error"
|
|
516
518
|
),
|
|
517
|
-
source_component_id:
|
|
518
|
-
property_name:
|
|
519
|
-
error_type:
|
|
520
|
-
message:
|
|
519
|
+
source_component_id: z29.string(),
|
|
520
|
+
property_name: z29.string(),
|
|
521
|
+
error_type: z29.literal("source_missing_property_error").default("source_missing_property_error"),
|
|
522
|
+
message: z29.string()
|
|
521
523
|
}).describe("The source code is missing a property");
|
|
522
524
|
expectTypesMatch(true);
|
|
523
525
|
|
|
524
526
|
// src/source/source_failed_to_create_component_error.ts
|
|
525
|
-
import { z as
|
|
526
|
-
var source_failed_to_create_component_error =
|
|
527
|
-
type:
|
|
527
|
+
import { z as z30 } from "zod";
|
|
528
|
+
var source_failed_to_create_component_error = z30.object({
|
|
529
|
+
type: z30.literal("source_failed_to_create_component_error"),
|
|
528
530
|
source_failed_to_create_component_error_id: getZodPrefixedIdWithDefault(
|
|
529
531
|
"source_failed_to_create_component_error"
|
|
530
532
|
),
|
|
531
|
-
error_type:
|
|
532
|
-
component_name:
|
|
533
|
-
subcircuit_id:
|
|
534
|
-
parent_source_component_id:
|
|
535
|
-
message:
|
|
536
|
-
pcb_center:
|
|
537
|
-
x:
|
|
538
|
-
y:
|
|
533
|
+
error_type: z30.literal("source_failed_to_create_component_error").default("source_failed_to_create_component_error"),
|
|
534
|
+
component_name: z30.string().optional(),
|
|
535
|
+
subcircuit_id: z30.string().optional(),
|
|
536
|
+
parent_source_component_id: z30.string().optional(),
|
|
537
|
+
message: z30.string(),
|
|
538
|
+
pcb_center: z30.object({
|
|
539
|
+
x: z30.number().optional(),
|
|
540
|
+
y: z30.number().optional()
|
|
539
541
|
}).optional(),
|
|
540
|
-
schematic_center:
|
|
541
|
-
x:
|
|
542
|
-
y:
|
|
542
|
+
schematic_center: z30.object({
|
|
543
|
+
x: z30.number().optional(),
|
|
544
|
+
y: z30.number().optional()
|
|
543
545
|
}).optional()
|
|
544
546
|
}).describe("Error emitted when a component fails to be constructed");
|
|
545
547
|
expectTypesMatch(true);
|
|
546
548
|
|
|
547
549
|
// src/source/any_source_component.ts
|
|
548
|
-
var any_source_component =
|
|
550
|
+
var any_source_component = z31.union([
|
|
549
551
|
source_simple_resistor,
|
|
550
552
|
source_simple_capacitor,
|
|
551
553
|
source_simple_diode,
|
|
552
554
|
source_simple_led,
|
|
553
555
|
source_simple_ground,
|
|
554
556
|
source_simple_chip,
|
|
555
|
-
source_simple_bug,
|
|
556
557
|
source_simple_power_source,
|
|
557
558
|
source_simple_battery,
|
|
558
559
|
source_simple_inductor,
|
|
@@ -570,165 +571,168 @@ var any_source_component = z32.union([
|
|
|
570
571
|
source_missing_property_error,
|
|
571
572
|
source_failed_to_create_component_error
|
|
572
573
|
]);
|
|
574
|
+
expectTypesMatch(true);
|
|
573
575
|
|
|
574
576
|
// src/source/source_port.ts
|
|
577
|
+
import { z as z32 } from "zod";
|
|
578
|
+
var source_port = z32.object({
|
|
579
|
+
type: z32.literal("source_port"),
|
|
580
|
+
pin_number: z32.number().optional(),
|
|
581
|
+
port_hints: z32.array(z32.string()).optional(),
|
|
582
|
+
name: z32.string(),
|
|
583
|
+
source_port_id: z32.string(),
|
|
584
|
+
source_component_id: z32.string(),
|
|
585
|
+
subcircuit_id: z32.string().optional(),
|
|
586
|
+
subcircuit_connectivity_map_key: z32.string().optional()
|
|
587
|
+
});
|
|
588
|
+
expectTypesMatch(true);
|
|
589
|
+
|
|
590
|
+
// src/source/source_trace.ts
|
|
575
591
|
import { z as z33 } from "zod";
|
|
576
|
-
var
|
|
577
|
-
type: z33.literal("
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
source_port_id: z33.string(),
|
|
582
|
-
source_component_id: z33.string(),
|
|
592
|
+
var source_trace = z33.object({
|
|
593
|
+
type: z33.literal("source_trace"),
|
|
594
|
+
source_trace_id: z33.string(),
|
|
595
|
+
connected_source_port_ids: z33.array(z33.string()),
|
|
596
|
+
connected_source_net_ids: z33.array(z33.string()),
|
|
583
597
|
subcircuit_id: z33.string().optional(),
|
|
584
|
-
subcircuit_connectivity_map_key: z33.string().optional()
|
|
598
|
+
subcircuit_connectivity_map_key: z33.string().optional(),
|
|
599
|
+
max_length: z33.number().optional(),
|
|
600
|
+
min_trace_thickness: z33.number().optional(),
|
|
601
|
+
display_name: z33.string().optional()
|
|
585
602
|
});
|
|
586
603
|
expectTypesMatch(true);
|
|
587
604
|
|
|
588
|
-
// src/source/
|
|
605
|
+
// src/source/source_group.ts
|
|
589
606
|
import { z as z34 } from "zod";
|
|
590
|
-
var
|
|
591
|
-
type: z34.literal("
|
|
592
|
-
|
|
593
|
-
connected_source_port_ids: z34.array(z34.string()),
|
|
594
|
-
connected_source_net_ids: z34.array(z34.string()),
|
|
607
|
+
var source_group = z34.object({
|
|
608
|
+
type: z34.literal("source_group"),
|
|
609
|
+
source_group_id: z34.string(),
|
|
595
610
|
subcircuit_id: z34.string().optional(),
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
display_name: z34.string().optional()
|
|
611
|
+
parent_subcircuit_id: z34.string().optional(),
|
|
612
|
+
is_subcircuit: z34.boolean().optional(),
|
|
613
|
+
name: z34.string().optional()
|
|
600
614
|
});
|
|
601
615
|
expectTypesMatch(true);
|
|
602
616
|
|
|
603
|
-
// src/source/
|
|
617
|
+
// src/source/source_net.ts
|
|
604
618
|
import { z as z35 } from "zod";
|
|
605
|
-
var
|
|
606
|
-
type: z35.literal("
|
|
607
|
-
|
|
619
|
+
var source_net = z35.object({
|
|
620
|
+
type: z35.literal("source_net"),
|
|
621
|
+
source_net_id: z35.string(),
|
|
622
|
+
name: z35.string(),
|
|
623
|
+
member_source_group_ids: z35.array(z35.string()),
|
|
624
|
+
is_power: z35.boolean().optional(),
|
|
625
|
+
is_ground: z35.boolean().optional(),
|
|
626
|
+
is_digital_signal: z35.boolean().optional(),
|
|
627
|
+
is_analog_signal: z35.boolean().optional(),
|
|
628
|
+
trace_width: z35.number().optional(),
|
|
608
629
|
subcircuit_id: z35.string().optional(),
|
|
609
|
-
|
|
610
|
-
is_subcircuit: z35.boolean().optional(),
|
|
611
|
-
name: z35.string().optional()
|
|
630
|
+
subcircuit_connectivity_map_key: z35.string().optional()
|
|
612
631
|
});
|
|
632
|
+
expectTypesMatch(true);
|
|
613
633
|
|
|
614
|
-
// src/source/
|
|
634
|
+
// src/source/source_pcb_ground_plane.ts
|
|
615
635
|
import { z as z36 } from "zod";
|
|
616
|
-
var
|
|
617
|
-
type: z36.literal("
|
|
636
|
+
var source_pcb_ground_plane = z36.object({
|
|
637
|
+
type: z36.literal("source_pcb_ground_plane"),
|
|
638
|
+
source_pcb_ground_plane_id: z36.string(),
|
|
639
|
+
source_group_id: z36.string(),
|
|
618
640
|
source_net_id: z36.string(),
|
|
619
|
-
|
|
620
|
-
member_source_group_ids: z36.array(z36.string()),
|
|
621
|
-
is_power: z36.boolean().optional(),
|
|
622
|
-
is_ground: z36.boolean().optional(),
|
|
623
|
-
is_digital_signal: z36.boolean().optional(),
|
|
624
|
-
is_analog_signal: z36.boolean().optional(),
|
|
625
|
-
trace_width: z36.number().optional(),
|
|
626
|
-
subcircuit_id: z36.string().optional(),
|
|
627
|
-
subcircuit_connectivity_map_key: z36.string().optional()
|
|
628
|
-
});
|
|
629
|
-
|
|
630
|
-
// src/source/source_pcb_ground_plane.ts
|
|
631
|
-
import { z as z37 } from "zod";
|
|
632
|
-
var source_pcb_ground_plane = z37.object({
|
|
633
|
-
type: z37.literal("source_pcb_ground_plane"),
|
|
634
|
-
source_pcb_ground_plane_id: z37.string(),
|
|
635
|
-
source_group_id: z37.string(),
|
|
636
|
-
source_net_id: z37.string(),
|
|
637
|
-
subcircuit_id: z37.string().optional()
|
|
641
|
+
subcircuit_id: z36.string().optional()
|
|
638
642
|
}).describe("Defines a ground plane in the source domain");
|
|
639
643
|
expectTypesMatch(true);
|
|
640
644
|
|
|
641
645
|
// src/schematic/schematic_box.ts
|
|
642
|
-
import { z as
|
|
643
|
-
var schematic_box =
|
|
644
|
-
type:
|
|
645
|
-
schematic_component_id:
|
|
646
|
+
import { z as z37 } from "zod";
|
|
647
|
+
var schematic_box = z37.object({
|
|
648
|
+
type: z37.literal("schematic_box"),
|
|
649
|
+
schematic_component_id: z37.string().optional(),
|
|
646
650
|
width: distance,
|
|
647
651
|
height: distance,
|
|
648
|
-
is_dashed:
|
|
652
|
+
is_dashed: z37.boolean().default(false),
|
|
649
653
|
x: distance,
|
|
650
654
|
y: distance
|
|
651
655
|
}).describe("Draws a box on the schematic");
|
|
652
656
|
expectTypesMatch(true);
|
|
653
657
|
|
|
654
658
|
// src/schematic/schematic_path.ts
|
|
655
|
-
import { z as
|
|
656
|
-
var schematic_path =
|
|
657
|
-
type:
|
|
658
|
-
schematic_component_id:
|
|
659
|
-
fill_color:
|
|
660
|
-
is_filled:
|
|
661
|
-
points:
|
|
659
|
+
import { z as z38 } from "zod";
|
|
660
|
+
var schematic_path = z38.object({
|
|
661
|
+
type: z38.literal("schematic_path"),
|
|
662
|
+
schematic_component_id: z38.string(),
|
|
663
|
+
fill_color: z38.enum(["red", "blue"]).optional(),
|
|
664
|
+
is_filled: z38.boolean().optional(),
|
|
665
|
+
points: z38.array(point)
|
|
662
666
|
});
|
|
663
667
|
expectTypesMatch(true);
|
|
664
668
|
|
|
665
669
|
// src/schematic/schematic_component.ts
|
|
666
|
-
import { z as
|
|
667
|
-
var schematic_pin_styles =
|
|
668
|
-
|
|
670
|
+
import { z as z39 } from "zod";
|
|
671
|
+
var schematic_pin_styles = z39.record(
|
|
672
|
+
z39.object({
|
|
669
673
|
left_margin: length.optional(),
|
|
670
674
|
right_margin: length.optional(),
|
|
671
675
|
top_margin: length.optional(),
|
|
672
676
|
bottom_margin: length.optional()
|
|
673
677
|
})
|
|
674
678
|
);
|
|
675
|
-
var schematic_component_port_arrangement_by_size =
|
|
676
|
-
left_size:
|
|
677
|
-
right_size:
|
|
678
|
-
top_size:
|
|
679
|
-
bottom_size:
|
|
679
|
+
var schematic_component_port_arrangement_by_size = z39.object({
|
|
680
|
+
left_size: z39.number(),
|
|
681
|
+
right_size: z39.number(),
|
|
682
|
+
top_size: z39.number().optional(),
|
|
683
|
+
bottom_size: z39.number().optional()
|
|
680
684
|
});
|
|
681
685
|
expectTypesMatch(true);
|
|
682
|
-
var schematic_component_port_arrangement_by_sides =
|
|
683
|
-
left_side:
|
|
684
|
-
pins:
|
|
686
|
+
var schematic_component_port_arrangement_by_sides = z39.object({
|
|
687
|
+
left_side: z39.object({
|
|
688
|
+
pins: z39.array(z39.number()),
|
|
685
689
|
// @ts-ignore
|
|
686
|
-
direction:
|
|
690
|
+
direction: z39.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
687
691
|
}).optional(),
|
|
688
|
-
right_side:
|
|
689
|
-
pins:
|
|
692
|
+
right_side: z39.object({
|
|
693
|
+
pins: z39.array(z39.number()),
|
|
690
694
|
// @ts-ignore
|
|
691
|
-
direction:
|
|
695
|
+
direction: z39.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
692
696
|
}).optional(),
|
|
693
|
-
top_side:
|
|
694
|
-
pins:
|
|
697
|
+
top_side: z39.object({
|
|
698
|
+
pins: z39.array(z39.number()),
|
|
695
699
|
// @ts-ignore
|
|
696
|
-
direction:
|
|
700
|
+
direction: z39.enum(["left-to-right", "right-to-left"]).optional()
|
|
697
701
|
}).optional(),
|
|
698
|
-
bottom_side:
|
|
699
|
-
pins:
|
|
702
|
+
bottom_side: z39.object({
|
|
703
|
+
pins: z39.array(z39.number()),
|
|
700
704
|
// @ts-ignore
|
|
701
|
-
direction:
|
|
705
|
+
direction: z39.enum(["left-to-right", "right-to-left"]).optional()
|
|
702
706
|
}).optional()
|
|
703
707
|
});
|
|
704
708
|
expectTypesMatch(true);
|
|
705
|
-
var port_arrangement =
|
|
709
|
+
var port_arrangement = z39.union([
|
|
706
710
|
schematic_component_port_arrangement_by_size,
|
|
707
711
|
schematic_component_port_arrangement_by_sides
|
|
708
712
|
]);
|
|
709
|
-
var schematic_component =
|
|
710
|
-
type:
|
|
713
|
+
var schematic_component = z39.object({
|
|
714
|
+
type: z39.literal("schematic_component"),
|
|
711
715
|
size,
|
|
712
716
|
center: point,
|
|
713
|
-
source_component_id:
|
|
714
|
-
schematic_component_id:
|
|
717
|
+
source_component_id: z39.string(),
|
|
718
|
+
schematic_component_id: z39.string(),
|
|
715
719
|
pin_spacing: length.optional(),
|
|
716
720
|
pin_styles: schematic_pin_styles.optional(),
|
|
717
721
|
box_width: length.optional(),
|
|
718
|
-
symbol_name:
|
|
722
|
+
symbol_name: z39.string().optional(),
|
|
719
723
|
port_arrangement: port_arrangement.optional(),
|
|
720
|
-
port_labels:
|
|
721
|
-
symbol_display_value:
|
|
722
|
-
subcircuit_id:
|
|
723
|
-
schematic_group_id:
|
|
724
|
+
port_labels: z39.record(z39.string()).optional(),
|
|
725
|
+
symbol_display_value: z39.string().optional(),
|
|
726
|
+
subcircuit_id: z39.string().optional(),
|
|
727
|
+
schematic_group_id: z39.string().optional()
|
|
724
728
|
});
|
|
725
729
|
expectTypesMatch(true);
|
|
726
730
|
|
|
727
731
|
// src/schematic/schematic_line.ts
|
|
728
|
-
import { z as
|
|
729
|
-
var schematic_line =
|
|
730
|
-
type:
|
|
731
|
-
schematic_component_id:
|
|
732
|
+
import { z as z40 } from "zod";
|
|
733
|
+
var schematic_line = z40.object({
|
|
734
|
+
type: z40.literal("schematic_line"),
|
|
735
|
+
schematic_component_id: z40.string(),
|
|
732
736
|
x1: distance,
|
|
733
737
|
x2: distance,
|
|
734
738
|
y1: distance,
|
|
@@ -737,144 +741,145 @@ var schematic_line = z41.object({
|
|
|
737
741
|
expectTypesMatch(true);
|
|
738
742
|
|
|
739
743
|
// src/schematic/schematic_trace.ts
|
|
740
|
-
import { z as
|
|
741
|
-
var schematic_trace =
|
|
742
|
-
type:
|
|
743
|
-
schematic_trace_id:
|
|
744
|
-
source_trace_id:
|
|
745
|
-
junctions:
|
|
746
|
-
|
|
747
|
-
x:
|
|
748
|
-
y:
|
|
744
|
+
import { z as z41 } from "zod";
|
|
745
|
+
var schematic_trace = z41.object({
|
|
746
|
+
type: z41.literal("schematic_trace"),
|
|
747
|
+
schematic_trace_id: z41.string(),
|
|
748
|
+
source_trace_id: z41.string(),
|
|
749
|
+
junctions: z41.array(
|
|
750
|
+
z41.object({
|
|
751
|
+
x: z41.number(),
|
|
752
|
+
y: z41.number()
|
|
749
753
|
})
|
|
750
754
|
),
|
|
751
|
-
edges:
|
|
752
|
-
|
|
753
|
-
from:
|
|
754
|
-
x:
|
|
755
|
-
y:
|
|
755
|
+
edges: z41.array(
|
|
756
|
+
z41.object({
|
|
757
|
+
from: z41.object({
|
|
758
|
+
x: z41.number(),
|
|
759
|
+
y: z41.number()
|
|
756
760
|
}),
|
|
757
|
-
to:
|
|
758
|
-
x:
|
|
759
|
-
y:
|
|
761
|
+
to: z41.object({
|
|
762
|
+
x: z41.number(),
|
|
763
|
+
y: z41.number()
|
|
760
764
|
}),
|
|
761
|
-
is_crossing:
|
|
762
|
-
from_schematic_port_id:
|
|
763
|
-
to_schematic_port_id:
|
|
765
|
+
is_crossing: z41.boolean().optional(),
|
|
766
|
+
from_schematic_port_id: z41.string().optional(),
|
|
767
|
+
to_schematic_port_id: z41.string().optional()
|
|
764
768
|
})
|
|
765
769
|
)
|
|
766
770
|
});
|
|
767
771
|
expectTypesMatch(true);
|
|
768
772
|
|
|
769
773
|
// src/schematic/schematic_text.ts
|
|
770
|
-
import { z as
|
|
774
|
+
import { z as z43 } from "zod";
|
|
771
775
|
|
|
772
776
|
// src/common/FivePointAnchor.ts
|
|
773
|
-
import { z as
|
|
774
|
-
var fivePointAnchor =
|
|
777
|
+
import { z as z42 } from "zod";
|
|
778
|
+
var fivePointAnchor = z42.enum([
|
|
775
779
|
"center",
|
|
776
780
|
"left",
|
|
777
781
|
"right",
|
|
778
782
|
"top",
|
|
779
783
|
"bottom"
|
|
780
784
|
]);
|
|
785
|
+
expectTypesMatch(true);
|
|
781
786
|
|
|
782
787
|
// src/schematic/schematic_text.ts
|
|
783
|
-
var schematic_text =
|
|
784
|
-
type:
|
|
785
|
-
schematic_component_id:
|
|
786
|
-
schematic_text_id:
|
|
787
|
-
text:
|
|
788
|
-
font_size:
|
|
789
|
-
position:
|
|
788
|
+
var schematic_text = z43.object({
|
|
789
|
+
type: z43.literal("schematic_text"),
|
|
790
|
+
schematic_component_id: z43.string().optional(),
|
|
791
|
+
schematic_text_id: z43.string(),
|
|
792
|
+
text: z43.string(),
|
|
793
|
+
font_size: z43.number().default(0.18),
|
|
794
|
+
position: z43.object({
|
|
790
795
|
x: distance,
|
|
791
796
|
y: distance
|
|
792
797
|
}),
|
|
793
|
-
rotation:
|
|
794
|
-
anchor:
|
|
795
|
-
color:
|
|
798
|
+
rotation: z43.number().default(0),
|
|
799
|
+
anchor: z43.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
|
|
800
|
+
color: z43.string().default("#000000")
|
|
796
801
|
});
|
|
797
802
|
expectTypesMatch(true);
|
|
798
803
|
|
|
799
804
|
// src/schematic/schematic_port.ts
|
|
800
|
-
import { z as
|
|
801
|
-
var schematic_port =
|
|
802
|
-
type:
|
|
803
|
-
schematic_port_id:
|
|
804
|
-
source_port_id:
|
|
805
|
-
schematic_component_id:
|
|
805
|
+
import { z as z44 } from "zod";
|
|
806
|
+
var schematic_port = z44.object({
|
|
807
|
+
type: z44.literal("schematic_port"),
|
|
808
|
+
schematic_port_id: z44.string(),
|
|
809
|
+
source_port_id: z44.string(),
|
|
810
|
+
schematic_component_id: z44.string().optional(),
|
|
806
811
|
center: point,
|
|
807
|
-
facing_direction:
|
|
808
|
-
distance_from_component_edge:
|
|
809
|
-
side_of_component:
|
|
810
|
-
true_ccw_index:
|
|
811
|
-
pin_number:
|
|
812
|
-
display_pin_label:
|
|
812
|
+
facing_direction: z44.enum(["up", "down", "left", "right"]).optional(),
|
|
813
|
+
distance_from_component_edge: z44.number().optional(),
|
|
814
|
+
side_of_component: z44.enum(["top", "bottom", "left", "right"]).optional(),
|
|
815
|
+
true_ccw_index: z44.number().optional(),
|
|
816
|
+
pin_number: z44.number().optional(),
|
|
817
|
+
display_pin_label: z44.string().optional()
|
|
813
818
|
}).describe("Defines a port on a schematic component");
|
|
814
819
|
expectTypesMatch(true);
|
|
815
820
|
|
|
816
821
|
// src/schematic/schematic_net_label.ts
|
|
817
|
-
import { z as
|
|
818
|
-
var schematic_net_label =
|
|
819
|
-
type:
|
|
822
|
+
import { z as z45 } from "zod";
|
|
823
|
+
var schematic_net_label = z45.object({
|
|
824
|
+
type: z45.literal("schematic_net_label"),
|
|
820
825
|
schematic_net_label_id: getZodPrefixedIdWithDefault("schematic_net_label"),
|
|
821
|
-
schematic_trace_id:
|
|
822
|
-
source_trace_id:
|
|
823
|
-
source_net_id:
|
|
826
|
+
schematic_trace_id: z45.string().optional(),
|
|
827
|
+
source_trace_id: z45.string().optional(),
|
|
828
|
+
source_net_id: z45.string(),
|
|
824
829
|
center: point,
|
|
825
830
|
anchor_position: point.optional(),
|
|
826
|
-
anchor_side:
|
|
827
|
-
text:
|
|
828
|
-
symbol_name:
|
|
831
|
+
anchor_side: z45.enum(["top", "bottom", "left", "right"]),
|
|
832
|
+
text: z45.string(),
|
|
833
|
+
symbol_name: z45.string().optional()
|
|
829
834
|
});
|
|
830
835
|
expectTypesMatch(true);
|
|
831
836
|
|
|
832
837
|
// src/schematic/schematic_error.ts
|
|
833
|
-
import { z as
|
|
834
|
-
var schematic_error =
|
|
835
|
-
type:
|
|
836
|
-
schematic_error_id:
|
|
838
|
+
import { z as z46 } from "zod";
|
|
839
|
+
var schematic_error = z46.object({
|
|
840
|
+
type: z46.literal("schematic_error"),
|
|
841
|
+
schematic_error_id: z46.string(),
|
|
837
842
|
// eventually each error type should be broken out into a dir of files
|
|
838
|
-
error_type:
|
|
839
|
-
message:
|
|
843
|
+
error_type: z46.literal("schematic_port_not_found").default("schematic_port_not_found"),
|
|
844
|
+
message: z46.string()
|
|
840
845
|
}).describe("Defines a schematic error on the schematic");
|
|
841
846
|
expectTypesMatch(true);
|
|
842
847
|
|
|
843
848
|
// src/schematic/schematic_layout_error.ts
|
|
844
|
-
import { z as
|
|
845
|
-
var schematic_layout_error =
|
|
846
|
-
type:
|
|
849
|
+
import { z as z47 } from "zod";
|
|
850
|
+
var schematic_layout_error = z47.object({
|
|
851
|
+
type: z47.literal("schematic_layout_error"),
|
|
847
852
|
schematic_layout_error_id: getZodPrefixedIdWithDefault(
|
|
848
853
|
"schematic_layout_error"
|
|
849
854
|
),
|
|
850
|
-
error_type:
|
|
851
|
-
message:
|
|
852
|
-
source_group_id:
|
|
853
|
-
schematic_group_id:
|
|
855
|
+
error_type: z47.literal("schematic_layout_error").default("schematic_layout_error"),
|
|
856
|
+
message: z47.string(),
|
|
857
|
+
source_group_id: z47.string(),
|
|
858
|
+
schematic_group_id: z47.string()
|
|
854
859
|
}).describe("Error emitted when schematic layout fails for a group");
|
|
855
860
|
expectTypesMatch(true);
|
|
856
861
|
|
|
857
862
|
// src/schematic/schematic_debug_object.ts
|
|
858
|
-
import { z as
|
|
859
|
-
var schematic_debug_object_base =
|
|
860
|
-
type:
|
|
861
|
-
label:
|
|
863
|
+
import { z as z48 } from "zod";
|
|
864
|
+
var schematic_debug_object_base = z48.object({
|
|
865
|
+
type: z48.literal("schematic_debug_object"),
|
|
866
|
+
label: z48.string().optional()
|
|
862
867
|
});
|
|
863
868
|
var schematic_debug_rect = schematic_debug_object_base.extend({
|
|
864
|
-
shape:
|
|
869
|
+
shape: z48.literal("rect"),
|
|
865
870
|
center: point,
|
|
866
871
|
size
|
|
867
872
|
});
|
|
868
873
|
var schematic_debug_line = schematic_debug_object_base.extend({
|
|
869
|
-
shape:
|
|
874
|
+
shape: z48.literal("line"),
|
|
870
875
|
start: point,
|
|
871
876
|
end: point
|
|
872
877
|
});
|
|
873
878
|
var schematic_debug_point = schematic_debug_object_base.extend({
|
|
874
|
-
shape:
|
|
879
|
+
shape: z48.literal("point"),
|
|
875
880
|
center: point
|
|
876
881
|
});
|
|
877
|
-
var schematic_debug_object =
|
|
882
|
+
var schematic_debug_object = z48.discriminatedUnion("shape", [
|
|
878
883
|
schematic_debug_rect,
|
|
879
884
|
schematic_debug_line,
|
|
880
885
|
schematic_debug_point
|
|
@@ -882,53 +887,53 @@ var schematic_debug_object = z49.discriminatedUnion("shape", [
|
|
|
882
887
|
expectTypesMatch(true);
|
|
883
888
|
|
|
884
889
|
// src/schematic/schematic_voltage_probe.ts
|
|
885
|
-
import { z as
|
|
886
|
-
var schematic_voltage_probe =
|
|
887
|
-
type:
|
|
888
|
-
schematic_voltage_probe_id:
|
|
890
|
+
import { z as z49 } from "zod";
|
|
891
|
+
var schematic_voltage_probe = z49.object({
|
|
892
|
+
type: z49.literal("schematic_voltage_probe"),
|
|
893
|
+
schematic_voltage_probe_id: z49.string(),
|
|
889
894
|
position: point,
|
|
890
|
-
schematic_trace_id:
|
|
895
|
+
schematic_trace_id: z49.string(),
|
|
891
896
|
voltage: voltage.optional()
|
|
892
897
|
}).describe("Defines a voltage probe measurement point on a schematic trace");
|
|
893
898
|
expectTypesMatch(true);
|
|
894
899
|
|
|
895
900
|
// src/schematic/schematic_manual_edit_conflict_warning.ts
|
|
896
|
-
import { z as
|
|
897
|
-
var schematic_manual_edit_conflict_warning =
|
|
898
|
-
type:
|
|
901
|
+
import { z as z50 } from "zod";
|
|
902
|
+
var schematic_manual_edit_conflict_warning = z50.object({
|
|
903
|
+
type: z50.literal("schematic_manual_edit_conflict_warning"),
|
|
899
904
|
schematic_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
900
905
|
"schematic_manual_edit_conflict_warning"
|
|
901
906
|
),
|
|
902
|
-
warning_type:
|
|
903
|
-
message:
|
|
904
|
-
schematic_component_id:
|
|
905
|
-
schematic_group_id:
|
|
906
|
-
subcircuit_id:
|
|
907
|
-
source_component_id:
|
|
907
|
+
warning_type: z50.literal("schematic_manual_edit_conflict_warning").default("schematic_manual_edit_conflict_warning"),
|
|
908
|
+
message: z50.string(),
|
|
909
|
+
schematic_component_id: z50.string(),
|
|
910
|
+
schematic_group_id: z50.string().optional(),
|
|
911
|
+
subcircuit_id: z50.string().optional(),
|
|
912
|
+
source_component_id: z50.string()
|
|
908
913
|
}).describe(
|
|
909
914
|
"Warning emitted when a component has both manual placement and explicit schX/schY coordinates"
|
|
910
915
|
);
|
|
911
916
|
expectTypesMatch(true);
|
|
912
917
|
|
|
913
918
|
// src/schematic/schematic_group.ts
|
|
914
|
-
import { z as
|
|
915
|
-
var schematic_group =
|
|
916
|
-
type:
|
|
919
|
+
import { z as z51 } from "zod";
|
|
920
|
+
var schematic_group = z51.object({
|
|
921
|
+
type: z51.literal("schematic_group"),
|
|
917
922
|
schematic_group_id: getZodPrefixedIdWithDefault("schematic_group"),
|
|
918
|
-
source_group_id:
|
|
919
|
-
is_subcircuit:
|
|
920
|
-
subcircuit_id:
|
|
923
|
+
source_group_id: z51.string(),
|
|
924
|
+
is_subcircuit: z51.boolean().optional(),
|
|
925
|
+
subcircuit_id: z51.string().optional(),
|
|
921
926
|
width: length,
|
|
922
927
|
height: length,
|
|
923
928
|
center: point,
|
|
924
|
-
schematic_component_ids:
|
|
925
|
-
name:
|
|
926
|
-
description:
|
|
929
|
+
schematic_component_ids: z51.array(z51.string()),
|
|
930
|
+
name: z51.string().optional(),
|
|
931
|
+
description: z51.string().optional()
|
|
927
932
|
}).describe("Defines a group of components on the schematic");
|
|
928
933
|
expectTypesMatch(true);
|
|
929
934
|
|
|
930
935
|
// src/pcb/properties/layer_ref.ts
|
|
931
|
-
import { z as
|
|
936
|
+
import { z as z52 } from "zod";
|
|
932
937
|
var all_layers = [
|
|
933
938
|
"top",
|
|
934
939
|
"bottom",
|
|
@@ -939,9 +944,9 @@ var all_layers = [
|
|
|
939
944
|
"inner5",
|
|
940
945
|
"inner6"
|
|
941
946
|
];
|
|
942
|
-
var layer_string =
|
|
947
|
+
var layer_string = z52.enum(all_layers);
|
|
943
948
|
var layer_ref = layer_string.or(
|
|
944
|
-
|
|
949
|
+
z52.object({
|
|
945
950
|
name: layer_string
|
|
946
951
|
})
|
|
947
952
|
).transform((layer) => {
|
|
@@ -950,53 +955,57 @@ var layer_ref = layer_string.or(
|
|
|
950
955
|
}
|
|
951
956
|
return layer.name;
|
|
952
957
|
});
|
|
953
|
-
|
|
958
|
+
expectTypesMatch(true);
|
|
959
|
+
var visible_layer = z52.enum(["top", "bottom"]);
|
|
954
960
|
|
|
955
961
|
// src/pcb/properties/pcb_route_hints.ts
|
|
956
|
-
import { z as
|
|
957
|
-
var pcb_route_hint =
|
|
962
|
+
import { z as z53 } from "zod";
|
|
963
|
+
var pcb_route_hint = z53.object({
|
|
958
964
|
x: distance,
|
|
959
965
|
y: distance,
|
|
960
|
-
via:
|
|
966
|
+
via: z53.boolean().optional(),
|
|
961
967
|
via_to_layer: layer_ref.optional()
|
|
962
968
|
});
|
|
963
|
-
var pcb_route_hints =
|
|
969
|
+
var pcb_route_hints = z53.array(pcb_route_hint);
|
|
970
|
+
expectTypesMatch(true);
|
|
971
|
+
expectTypesMatch(true);
|
|
964
972
|
|
|
965
973
|
// src/pcb/properties/route_hint_point.ts
|
|
966
|
-
import { z as
|
|
967
|
-
var route_hint_point =
|
|
974
|
+
import { z as z54 } from "zod";
|
|
975
|
+
var route_hint_point = z54.object({
|
|
968
976
|
x: distance,
|
|
969
977
|
y: distance,
|
|
970
|
-
via:
|
|
978
|
+
via: z54.boolean().optional(),
|
|
971
979
|
to_layer: layer_ref.optional(),
|
|
972
980
|
trace_width: distance.optional()
|
|
973
981
|
});
|
|
982
|
+
expectTypesMatch(true);
|
|
974
983
|
|
|
975
984
|
// src/pcb/pcb_component.ts
|
|
976
|
-
import { z as
|
|
977
|
-
var pcb_component =
|
|
978
|
-
type:
|
|
985
|
+
import { z as z55 } from "zod";
|
|
986
|
+
var pcb_component = z55.object({
|
|
987
|
+
type: z55.literal("pcb_component"),
|
|
979
988
|
pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
|
|
980
|
-
source_component_id:
|
|
989
|
+
source_component_id: z55.string(),
|
|
981
990
|
center: point,
|
|
982
991
|
layer: layer_ref,
|
|
983
992
|
rotation,
|
|
984
993
|
width: length,
|
|
985
994
|
height: length,
|
|
986
|
-
subcircuit_id:
|
|
987
|
-
pcb_group_id:
|
|
995
|
+
subcircuit_id: z55.string().optional(),
|
|
996
|
+
pcb_group_id: z55.string().optional()
|
|
988
997
|
}).describe("Defines a component on the PCB");
|
|
989
998
|
expectTypesMatch(true);
|
|
990
999
|
|
|
991
1000
|
// src/pcb/pcb_hole.ts
|
|
992
|
-
import { z as
|
|
993
|
-
var pcb_hole_circle_or_square =
|
|
994
|
-
type:
|
|
1001
|
+
import { z as z56 } from "zod";
|
|
1002
|
+
var pcb_hole_circle_or_square = z56.object({
|
|
1003
|
+
type: z56.literal("pcb_hole"),
|
|
995
1004
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
996
|
-
pcb_group_id:
|
|
997
|
-
subcircuit_id:
|
|
998
|
-
hole_shape:
|
|
999
|
-
hole_diameter:
|
|
1005
|
+
pcb_group_id: z56.string().optional(),
|
|
1006
|
+
subcircuit_id: z56.string().optional(),
|
|
1007
|
+
hole_shape: z56.enum(["circle", "square"]),
|
|
1008
|
+
hole_diameter: z56.number(),
|
|
1000
1009
|
x: distance,
|
|
1001
1010
|
y: distance
|
|
1002
1011
|
});
|
|
@@ -1004,14 +1013,14 @@ var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
|
|
|
1004
1013
|
"Defines a circular or square hole on the PCB"
|
|
1005
1014
|
);
|
|
1006
1015
|
expectTypesMatch(true);
|
|
1007
|
-
var pcb_hole_oval =
|
|
1008
|
-
type:
|
|
1016
|
+
var pcb_hole_oval = z56.object({
|
|
1017
|
+
type: z56.literal("pcb_hole"),
|
|
1009
1018
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1010
|
-
pcb_group_id:
|
|
1011
|
-
subcircuit_id:
|
|
1012
|
-
hole_shape:
|
|
1013
|
-
hole_width:
|
|
1014
|
-
hole_height:
|
|
1019
|
+
pcb_group_id: z56.string().optional(),
|
|
1020
|
+
subcircuit_id: z56.string().optional(),
|
|
1021
|
+
hole_shape: z56.literal("oval"),
|
|
1022
|
+
hole_width: z56.number(),
|
|
1023
|
+
hole_height: z56.number(),
|
|
1015
1024
|
x: distance,
|
|
1016
1025
|
y: distance
|
|
1017
1026
|
});
|
|
@@ -1022,77 +1031,77 @@ expectTypesMatch(true);
|
|
|
1022
1031
|
var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval);
|
|
1023
1032
|
|
|
1024
1033
|
// src/pcb/pcb_plated_hole.ts
|
|
1025
|
-
import { z as
|
|
1026
|
-
var pcb_plated_hole_circle =
|
|
1027
|
-
type:
|
|
1028
|
-
shape:
|
|
1029
|
-
pcb_group_id:
|
|
1030
|
-
subcircuit_id:
|
|
1031
|
-
outer_diameter:
|
|
1032
|
-
hole_diameter:
|
|
1034
|
+
import { z as z57 } from "zod";
|
|
1035
|
+
var pcb_plated_hole_circle = z57.object({
|
|
1036
|
+
type: z57.literal("pcb_plated_hole"),
|
|
1037
|
+
shape: z57.literal("circle"),
|
|
1038
|
+
pcb_group_id: z57.string().optional(),
|
|
1039
|
+
subcircuit_id: z57.string().optional(),
|
|
1040
|
+
outer_diameter: z57.number(),
|
|
1041
|
+
hole_diameter: z57.number(),
|
|
1033
1042
|
x: distance,
|
|
1034
1043
|
y: distance,
|
|
1035
|
-
layers:
|
|
1036
|
-
port_hints:
|
|
1037
|
-
pcb_component_id:
|
|
1038
|
-
pcb_port_id:
|
|
1044
|
+
layers: z57.array(layer_ref),
|
|
1045
|
+
port_hints: z57.array(z57.string()).optional(),
|
|
1046
|
+
pcb_component_id: z57.string().optional(),
|
|
1047
|
+
pcb_port_id: z57.string().optional(),
|
|
1039
1048
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
1040
1049
|
});
|
|
1041
|
-
var pcb_plated_hole_oval =
|
|
1042
|
-
type:
|
|
1043
|
-
shape:
|
|
1044
|
-
pcb_group_id:
|
|
1045
|
-
subcircuit_id:
|
|
1046
|
-
outer_width:
|
|
1047
|
-
outer_height:
|
|
1048
|
-
hole_width:
|
|
1049
|
-
hole_height:
|
|
1050
|
+
var pcb_plated_hole_oval = z57.object({
|
|
1051
|
+
type: z57.literal("pcb_plated_hole"),
|
|
1052
|
+
shape: z57.enum(["oval", "pill"]),
|
|
1053
|
+
pcb_group_id: z57.string().optional(),
|
|
1054
|
+
subcircuit_id: z57.string().optional(),
|
|
1055
|
+
outer_width: z57.number(),
|
|
1056
|
+
outer_height: z57.number(),
|
|
1057
|
+
hole_width: z57.number(),
|
|
1058
|
+
hole_height: z57.number(),
|
|
1050
1059
|
x: distance,
|
|
1051
1060
|
y: distance,
|
|
1052
|
-
layers:
|
|
1053
|
-
port_hints:
|
|
1054
|
-
pcb_component_id:
|
|
1055
|
-
pcb_port_id:
|
|
1061
|
+
layers: z57.array(layer_ref),
|
|
1062
|
+
port_hints: z57.array(z57.string()).optional(),
|
|
1063
|
+
pcb_component_id: z57.string().optional(),
|
|
1064
|
+
pcb_port_id: z57.string().optional(),
|
|
1056
1065
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
1057
1066
|
});
|
|
1058
|
-
var pcb_circular_hole_with_rect_pad =
|
|
1059
|
-
type:
|
|
1060
|
-
shape:
|
|
1061
|
-
pcb_group_id:
|
|
1062
|
-
subcircuit_id:
|
|
1063
|
-
hole_shape:
|
|
1064
|
-
pad_shape:
|
|
1065
|
-
hole_diameter:
|
|
1066
|
-
rect_pad_width:
|
|
1067
|
-
rect_pad_height:
|
|
1067
|
+
var pcb_circular_hole_with_rect_pad = z57.object({
|
|
1068
|
+
type: z57.literal("pcb_plated_hole"),
|
|
1069
|
+
shape: z57.literal("circular_hole_with_rect_pad"),
|
|
1070
|
+
pcb_group_id: z57.string().optional(),
|
|
1071
|
+
subcircuit_id: z57.string().optional(),
|
|
1072
|
+
hole_shape: z57.literal("circle"),
|
|
1073
|
+
pad_shape: z57.literal("rect"),
|
|
1074
|
+
hole_diameter: z57.number(),
|
|
1075
|
+
rect_pad_width: z57.number(),
|
|
1076
|
+
rect_pad_height: z57.number(),
|
|
1068
1077
|
x: distance,
|
|
1069
1078
|
y: distance,
|
|
1070
|
-
layers:
|
|
1071
|
-
port_hints:
|
|
1072
|
-
pcb_component_id:
|
|
1073
|
-
pcb_port_id:
|
|
1079
|
+
layers: z57.array(layer_ref),
|
|
1080
|
+
port_hints: z57.array(z57.string()).optional(),
|
|
1081
|
+
pcb_component_id: z57.string().optional(),
|
|
1082
|
+
pcb_port_id: z57.string().optional(),
|
|
1074
1083
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
1075
1084
|
});
|
|
1076
|
-
var pcb_pill_hole_with_rect_pad =
|
|
1077
|
-
type:
|
|
1078
|
-
shape:
|
|
1079
|
-
pcb_group_id:
|
|
1080
|
-
subcircuit_id:
|
|
1081
|
-
hole_shape:
|
|
1082
|
-
pad_shape:
|
|
1083
|
-
hole_width:
|
|
1084
|
-
hole_height:
|
|
1085
|
-
rect_pad_width:
|
|
1086
|
-
rect_pad_height:
|
|
1085
|
+
var pcb_pill_hole_with_rect_pad = z57.object({
|
|
1086
|
+
type: z57.literal("pcb_plated_hole"),
|
|
1087
|
+
shape: z57.literal("pill_hole_with_rect_pad"),
|
|
1088
|
+
pcb_group_id: z57.string().optional(),
|
|
1089
|
+
subcircuit_id: z57.string().optional(),
|
|
1090
|
+
hole_shape: z57.literal("pill"),
|
|
1091
|
+
pad_shape: z57.literal("rect"),
|
|
1092
|
+
hole_width: z57.number(),
|
|
1093
|
+
hole_height: z57.number(),
|
|
1094
|
+
rect_pad_width: z57.number(),
|
|
1095
|
+
rect_pad_height: z57.number(),
|
|
1087
1096
|
x: distance,
|
|
1088
1097
|
y: distance,
|
|
1089
|
-
layers:
|
|
1090
|
-
port_hints:
|
|
1091
|
-
pcb_component_id:
|
|
1092
|
-
pcb_port_id:
|
|
1098
|
+
layers: z57.array(layer_ref),
|
|
1099
|
+
port_hints: z57.array(z57.string()).optional(),
|
|
1100
|
+
pcb_component_id: z57.string().optional(),
|
|
1101
|
+
pcb_port_id: z57.string().optional(),
|
|
1093
1102
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
1094
1103
|
});
|
|
1095
|
-
var pcb_plated_hole =
|
|
1104
|
+
var pcb_plated_hole = z57.union([
|
|
1096
1105
|
pcb_plated_hole_circle,
|
|
1097
1106
|
pcb_plated_hole_oval,
|
|
1098
1107
|
pcb_circular_hole_with_rect_pad,
|
|
@@ -1106,96 +1115,96 @@ expectTypesMatch(true);
|
|
|
1106
1115
|
expectTypesMatch(true);
|
|
1107
1116
|
|
|
1108
1117
|
// src/pcb/pcb_port.ts
|
|
1109
|
-
import { z as
|
|
1110
|
-
var pcb_port =
|
|
1111
|
-
type:
|
|
1118
|
+
import { z as z58 } from "zod";
|
|
1119
|
+
var pcb_port = z58.object({
|
|
1120
|
+
type: z58.literal("pcb_port"),
|
|
1112
1121
|
pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
|
|
1113
|
-
pcb_group_id:
|
|
1114
|
-
subcircuit_id:
|
|
1115
|
-
source_port_id:
|
|
1116
|
-
pcb_component_id:
|
|
1122
|
+
pcb_group_id: z58.string().optional(),
|
|
1123
|
+
subcircuit_id: z58.string().optional(),
|
|
1124
|
+
source_port_id: z58.string(),
|
|
1125
|
+
pcb_component_id: z58.string(),
|
|
1117
1126
|
x: distance,
|
|
1118
1127
|
y: distance,
|
|
1119
|
-
layers:
|
|
1128
|
+
layers: z58.array(layer_ref)
|
|
1120
1129
|
}).describe("Defines a port on the PCB");
|
|
1121
1130
|
expectTypesMatch(true);
|
|
1122
1131
|
|
|
1123
1132
|
// src/pcb/pcb_smtpad.ts
|
|
1124
|
-
import { z as
|
|
1125
|
-
var pcb_smtpad_circle =
|
|
1126
|
-
type:
|
|
1127
|
-
shape:
|
|
1133
|
+
import { z as z59 } from "zod";
|
|
1134
|
+
var pcb_smtpad_circle = z59.object({
|
|
1135
|
+
type: z59.literal("pcb_smtpad"),
|
|
1136
|
+
shape: z59.literal("circle"),
|
|
1128
1137
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1129
|
-
pcb_group_id:
|
|
1130
|
-
subcircuit_id:
|
|
1138
|
+
pcb_group_id: z59.string().optional(),
|
|
1139
|
+
subcircuit_id: z59.string().optional(),
|
|
1131
1140
|
x: distance,
|
|
1132
1141
|
y: distance,
|
|
1133
|
-
radius:
|
|
1142
|
+
radius: z59.number(),
|
|
1134
1143
|
layer: layer_ref,
|
|
1135
|
-
port_hints:
|
|
1136
|
-
pcb_component_id:
|
|
1137
|
-
pcb_port_id:
|
|
1144
|
+
port_hints: z59.array(z59.string()).optional(),
|
|
1145
|
+
pcb_component_id: z59.string().optional(),
|
|
1146
|
+
pcb_port_id: z59.string().optional()
|
|
1138
1147
|
});
|
|
1139
|
-
var pcb_smtpad_rect =
|
|
1140
|
-
type:
|
|
1141
|
-
shape:
|
|
1148
|
+
var pcb_smtpad_rect = z59.object({
|
|
1149
|
+
type: z59.literal("pcb_smtpad"),
|
|
1150
|
+
shape: z59.literal("rect"),
|
|
1142
1151
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1143
|
-
pcb_group_id:
|
|
1144
|
-
subcircuit_id:
|
|
1152
|
+
pcb_group_id: z59.string().optional(),
|
|
1153
|
+
subcircuit_id: z59.string().optional(),
|
|
1145
1154
|
x: distance,
|
|
1146
1155
|
y: distance,
|
|
1147
|
-
width:
|
|
1148
|
-
height:
|
|
1156
|
+
width: z59.number(),
|
|
1157
|
+
height: z59.number(),
|
|
1149
1158
|
layer: layer_ref,
|
|
1150
|
-
port_hints:
|
|
1151
|
-
pcb_component_id:
|
|
1152
|
-
pcb_port_id:
|
|
1159
|
+
port_hints: z59.array(z59.string()).optional(),
|
|
1160
|
+
pcb_component_id: z59.string().optional(),
|
|
1161
|
+
pcb_port_id: z59.string().optional()
|
|
1153
1162
|
});
|
|
1154
|
-
var pcb_smtpad_rotated_rect =
|
|
1155
|
-
type:
|
|
1156
|
-
shape:
|
|
1163
|
+
var pcb_smtpad_rotated_rect = z59.object({
|
|
1164
|
+
type: z59.literal("pcb_smtpad"),
|
|
1165
|
+
shape: z59.literal("rotated_rect"),
|
|
1157
1166
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1158
|
-
pcb_group_id:
|
|
1159
|
-
subcircuit_id:
|
|
1167
|
+
pcb_group_id: z59.string().optional(),
|
|
1168
|
+
subcircuit_id: z59.string().optional(),
|
|
1160
1169
|
x: distance,
|
|
1161
1170
|
y: distance,
|
|
1162
|
-
width:
|
|
1163
|
-
height:
|
|
1171
|
+
width: z59.number(),
|
|
1172
|
+
height: z59.number(),
|
|
1164
1173
|
ccw_rotation: rotation,
|
|
1165
1174
|
layer: layer_ref,
|
|
1166
|
-
port_hints:
|
|
1167
|
-
pcb_component_id:
|
|
1168
|
-
pcb_port_id:
|
|
1175
|
+
port_hints: z59.array(z59.string()).optional(),
|
|
1176
|
+
pcb_component_id: z59.string().optional(),
|
|
1177
|
+
pcb_port_id: z59.string().optional()
|
|
1169
1178
|
});
|
|
1170
|
-
var pcb_smtpad_pill =
|
|
1171
|
-
type:
|
|
1172
|
-
shape:
|
|
1179
|
+
var pcb_smtpad_pill = z59.object({
|
|
1180
|
+
type: z59.literal("pcb_smtpad"),
|
|
1181
|
+
shape: z59.literal("pill"),
|
|
1173
1182
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1174
|
-
pcb_group_id:
|
|
1175
|
-
subcircuit_id:
|
|
1183
|
+
pcb_group_id: z59.string().optional(),
|
|
1184
|
+
subcircuit_id: z59.string().optional(),
|
|
1176
1185
|
x: distance,
|
|
1177
1186
|
y: distance,
|
|
1178
|
-
width:
|
|
1179
|
-
height:
|
|
1180
|
-
radius:
|
|
1187
|
+
width: z59.number(),
|
|
1188
|
+
height: z59.number(),
|
|
1189
|
+
radius: z59.number(),
|
|
1181
1190
|
layer: layer_ref,
|
|
1182
|
-
port_hints:
|
|
1183
|
-
pcb_component_id:
|
|
1184
|
-
pcb_port_id:
|
|
1191
|
+
port_hints: z59.array(z59.string()).optional(),
|
|
1192
|
+
pcb_component_id: z59.string().optional(),
|
|
1193
|
+
pcb_port_id: z59.string().optional()
|
|
1185
1194
|
});
|
|
1186
|
-
var pcb_smtpad_polygon =
|
|
1187
|
-
type:
|
|
1188
|
-
shape:
|
|
1195
|
+
var pcb_smtpad_polygon = z59.object({
|
|
1196
|
+
type: z59.literal("pcb_smtpad"),
|
|
1197
|
+
shape: z59.literal("polygon"),
|
|
1189
1198
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1190
|
-
pcb_group_id:
|
|
1191
|
-
subcircuit_id:
|
|
1192
|
-
points:
|
|
1199
|
+
pcb_group_id: z59.string().optional(),
|
|
1200
|
+
subcircuit_id: z59.string().optional(),
|
|
1201
|
+
points: z59.array(point),
|
|
1193
1202
|
layer: layer_ref,
|
|
1194
|
-
port_hints:
|
|
1195
|
-
pcb_component_id:
|
|
1196
|
-
pcb_port_id:
|
|
1203
|
+
port_hints: z59.array(z59.string()).optional(),
|
|
1204
|
+
pcb_component_id: z59.string().optional(),
|
|
1205
|
+
pcb_port_id: z59.string().optional()
|
|
1197
1206
|
});
|
|
1198
|
-
var pcb_smtpad =
|
|
1207
|
+
var pcb_smtpad = z59.discriminatedUnion("shape", [
|
|
1199
1208
|
pcb_smtpad_circle,
|
|
1200
1209
|
pcb_smtpad_rect,
|
|
1201
1210
|
pcb_smtpad_rotated_rect,
|
|
@@ -1209,79 +1218,79 @@ expectTypesMatch(true);
|
|
|
1209
1218
|
expectTypesMatch(true);
|
|
1210
1219
|
|
|
1211
1220
|
// src/pcb/pcb_solder_paste.ts
|
|
1212
|
-
import { z as
|
|
1213
|
-
var pcb_solder_paste_circle =
|
|
1214
|
-
type:
|
|
1215
|
-
shape:
|
|
1221
|
+
import { z as z60 } from "zod";
|
|
1222
|
+
var pcb_solder_paste_circle = z60.object({
|
|
1223
|
+
type: z60.literal("pcb_solder_paste"),
|
|
1224
|
+
shape: z60.literal("circle"),
|
|
1216
1225
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1217
|
-
pcb_group_id:
|
|
1218
|
-
subcircuit_id:
|
|
1226
|
+
pcb_group_id: z60.string().optional(),
|
|
1227
|
+
subcircuit_id: z60.string().optional(),
|
|
1219
1228
|
x: distance,
|
|
1220
1229
|
y: distance,
|
|
1221
|
-
radius:
|
|
1230
|
+
radius: z60.number(),
|
|
1222
1231
|
layer: layer_ref,
|
|
1223
|
-
pcb_component_id:
|
|
1224
|
-
pcb_smtpad_id:
|
|
1232
|
+
pcb_component_id: z60.string().optional(),
|
|
1233
|
+
pcb_smtpad_id: z60.string().optional()
|
|
1225
1234
|
});
|
|
1226
|
-
var pcb_solder_paste_rect =
|
|
1227
|
-
type:
|
|
1228
|
-
shape:
|
|
1235
|
+
var pcb_solder_paste_rect = z60.object({
|
|
1236
|
+
type: z60.literal("pcb_solder_paste"),
|
|
1237
|
+
shape: z60.literal("rect"),
|
|
1229
1238
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1230
|
-
pcb_group_id:
|
|
1231
|
-
subcircuit_id:
|
|
1239
|
+
pcb_group_id: z60.string().optional(),
|
|
1240
|
+
subcircuit_id: z60.string().optional(),
|
|
1232
1241
|
x: distance,
|
|
1233
1242
|
y: distance,
|
|
1234
|
-
width:
|
|
1235
|
-
height:
|
|
1243
|
+
width: z60.number(),
|
|
1244
|
+
height: z60.number(),
|
|
1236
1245
|
layer: layer_ref,
|
|
1237
|
-
pcb_component_id:
|
|
1238
|
-
pcb_smtpad_id:
|
|
1246
|
+
pcb_component_id: z60.string().optional(),
|
|
1247
|
+
pcb_smtpad_id: z60.string().optional()
|
|
1239
1248
|
});
|
|
1240
|
-
var pcb_solder_paste_pill =
|
|
1241
|
-
type:
|
|
1242
|
-
shape:
|
|
1249
|
+
var pcb_solder_paste_pill = z60.object({
|
|
1250
|
+
type: z60.literal("pcb_solder_paste"),
|
|
1251
|
+
shape: z60.literal("pill"),
|
|
1243
1252
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1244
|
-
pcb_group_id:
|
|
1245
|
-
subcircuit_id:
|
|
1253
|
+
pcb_group_id: z60.string().optional(),
|
|
1254
|
+
subcircuit_id: z60.string().optional(),
|
|
1246
1255
|
x: distance,
|
|
1247
1256
|
y: distance,
|
|
1248
|
-
width:
|
|
1249
|
-
height:
|
|
1250
|
-
radius:
|
|
1257
|
+
width: z60.number(),
|
|
1258
|
+
height: z60.number(),
|
|
1259
|
+
radius: z60.number(),
|
|
1251
1260
|
layer: layer_ref,
|
|
1252
|
-
pcb_component_id:
|
|
1253
|
-
pcb_smtpad_id:
|
|
1261
|
+
pcb_component_id: z60.string().optional(),
|
|
1262
|
+
pcb_smtpad_id: z60.string().optional()
|
|
1254
1263
|
});
|
|
1255
|
-
var pcb_solder_paste_rotated_rect =
|
|
1256
|
-
type:
|
|
1257
|
-
shape:
|
|
1264
|
+
var pcb_solder_paste_rotated_rect = z60.object({
|
|
1265
|
+
type: z60.literal("pcb_solder_paste"),
|
|
1266
|
+
shape: z60.literal("rotated_rect"),
|
|
1258
1267
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1259
|
-
pcb_group_id:
|
|
1260
|
-
subcircuit_id:
|
|
1268
|
+
pcb_group_id: z60.string().optional(),
|
|
1269
|
+
subcircuit_id: z60.string().optional(),
|
|
1261
1270
|
x: distance,
|
|
1262
1271
|
y: distance,
|
|
1263
|
-
width:
|
|
1264
|
-
height:
|
|
1272
|
+
width: z60.number(),
|
|
1273
|
+
height: z60.number(),
|
|
1265
1274
|
ccw_rotation: distance,
|
|
1266
1275
|
layer: layer_ref,
|
|
1267
|
-
pcb_component_id:
|
|
1268
|
-
pcb_smtpad_id:
|
|
1276
|
+
pcb_component_id: z60.string().optional(),
|
|
1277
|
+
pcb_smtpad_id: z60.string().optional()
|
|
1269
1278
|
});
|
|
1270
|
-
var pcb_solder_paste_oval =
|
|
1271
|
-
type:
|
|
1272
|
-
shape:
|
|
1279
|
+
var pcb_solder_paste_oval = z60.object({
|
|
1280
|
+
type: z60.literal("pcb_solder_paste"),
|
|
1281
|
+
shape: z60.literal("oval"),
|
|
1273
1282
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1274
|
-
pcb_group_id:
|
|
1275
|
-
subcircuit_id:
|
|
1283
|
+
pcb_group_id: z60.string().optional(),
|
|
1284
|
+
subcircuit_id: z60.string().optional(),
|
|
1276
1285
|
x: distance,
|
|
1277
1286
|
y: distance,
|
|
1278
|
-
width:
|
|
1279
|
-
height:
|
|
1287
|
+
width: z60.number(),
|
|
1288
|
+
height: z60.number(),
|
|
1280
1289
|
layer: layer_ref,
|
|
1281
|
-
pcb_component_id:
|
|
1282
|
-
pcb_smtpad_id:
|
|
1290
|
+
pcb_component_id: z60.string().optional(),
|
|
1291
|
+
pcb_smtpad_id: z60.string().optional()
|
|
1283
1292
|
});
|
|
1284
|
-
var pcb_solder_paste =
|
|
1293
|
+
var pcb_solder_paste = z60.union([
|
|
1285
1294
|
pcb_solder_paste_circle,
|
|
1286
1295
|
pcb_solder_paste_rect,
|
|
1287
1296
|
pcb_solder_paste_pill,
|
|
@@ -1297,96 +1306,96 @@ expectTypesMatch(
|
|
|
1297
1306
|
expectTypesMatch(true);
|
|
1298
1307
|
|
|
1299
1308
|
// src/pcb/pcb_text.ts
|
|
1300
|
-
import { z as
|
|
1301
|
-
var pcb_text =
|
|
1302
|
-
type:
|
|
1309
|
+
import { z as z61 } from "zod";
|
|
1310
|
+
var pcb_text = z61.object({
|
|
1311
|
+
type: z61.literal("pcb_text"),
|
|
1303
1312
|
pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
|
|
1304
|
-
pcb_group_id:
|
|
1305
|
-
subcircuit_id:
|
|
1306
|
-
text:
|
|
1313
|
+
pcb_group_id: z61.string().optional(),
|
|
1314
|
+
subcircuit_id: z61.string().optional(),
|
|
1315
|
+
text: z61.string(),
|
|
1307
1316
|
center: point,
|
|
1308
1317
|
layer: layer_ref,
|
|
1309
1318
|
width: length,
|
|
1310
1319
|
height: length,
|
|
1311
|
-
lines:
|
|
1320
|
+
lines: z61.number(),
|
|
1312
1321
|
// @ts-ignore
|
|
1313
|
-
align:
|
|
1322
|
+
align: z61.enum(["bottom-left"])
|
|
1314
1323
|
}).describe("Defines text on the PCB");
|
|
1315
1324
|
expectTypesMatch(true);
|
|
1316
1325
|
|
|
1317
1326
|
// src/pcb/pcb_trace.ts
|
|
1318
|
-
import { z as
|
|
1319
|
-
var pcb_trace_route_point_wire =
|
|
1320
|
-
route_type:
|
|
1327
|
+
import { z as z62 } from "zod";
|
|
1328
|
+
var pcb_trace_route_point_wire = z62.object({
|
|
1329
|
+
route_type: z62.literal("wire"),
|
|
1321
1330
|
x: distance,
|
|
1322
1331
|
y: distance,
|
|
1323
1332
|
width: distance,
|
|
1324
|
-
start_pcb_port_id:
|
|
1325
|
-
end_pcb_port_id:
|
|
1333
|
+
start_pcb_port_id: z62.string().optional(),
|
|
1334
|
+
end_pcb_port_id: z62.string().optional(),
|
|
1326
1335
|
layer: layer_ref
|
|
1327
1336
|
});
|
|
1328
|
-
var pcb_trace_route_point_via =
|
|
1329
|
-
route_type:
|
|
1337
|
+
var pcb_trace_route_point_via = z62.object({
|
|
1338
|
+
route_type: z62.literal("via"),
|
|
1330
1339
|
x: distance,
|
|
1331
1340
|
y: distance,
|
|
1332
1341
|
hole_diameter: distance.optional(),
|
|
1333
1342
|
outer_diameter: distance.optional(),
|
|
1334
|
-
from_layer:
|
|
1335
|
-
to_layer:
|
|
1343
|
+
from_layer: z62.string(),
|
|
1344
|
+
to_layer: z62.string()
|
|
1336
1345
|
});
|
|
1337
|
-
var pcb_trace_route_point =
|
|
1346
|
+
var pcb_trace_route_point = z62.union([
|
|
1338
1347
|
pcb_trace_route_point_wire,
|
|
1339
1348
|
pcb_trace_route_point_via
|
|
1340
1349
|
]);
|
|
1341
|
-
var pcb_trace =
|
|
1342
|
-
type:
|
|
1343
|
-
source_trace_id:
|
|
1344
|
-
pcb_component_id:
|
|
1350
|
+
var pcb_trace = z62.object({
|
|
1351
|
+
type: z62.literal("pcb_trace"),
|
|
1352
|
+
source_trace_id: z62.string().optional(),
|
|
1353
|
+
pcb_component_id: z62.string().optional(),
|
|
1345
1354
|
pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
|
|
1346
|
-
pcb_group_id:
|
|
1347
|
-
subcircuit_id:
|
|
1348
|
-
route_thickness_mode:
|
|
1349
|
-
route_order_index:
|
|
1350
|
-
should_round_corners:
|
|
1351
|
-
trace_length:
|
|
1352
|
-
route:
|
|
1355
|
+
pcb_group_id: z62.string().optional(),
|
|
1356
|
+
subcircuit_id: z62.string().optional(),
|
|
1357
|
+
route_thickness_mode: z62.enum(["constant", "interpolated"]).default("constant").optional(),
|
|
1358
|
+
route_order_index: z62.number().optional(),
|
|
1359
|
+
should_round_corners: z62.boolean().optional(),
|
|
1360
|
+
trace_length: z62.number().optional(),
|
|
1361
|
+
route: z62.array(pcb_trace_route_point)
|
|
1353
1362
|
}).describe("Defines a trace on the PCB");
|
|
1354
1363
|
expectTypesMatch(true);
|
|
1355
1364
|
expectTypesMatch(true);
|
|
1356
1365
|
|
|
1357
1366
|
// src/pcb/pcb_trace_error.ts
|
|
1358
|
-
import { z as
|
|
1359
|
-
var pcb_trace_error =
|
|
1360
|
-
type:
|
|
1367
|
+
import { z as z63 } from "zod";
|
|
1368
|
+
var pcb_trace_error = z63.object({
|
|
1369
|
+
type: z63.literal("pcb_trace_error"),
|
|
1361
1370
|
pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
|
|
1362
|
-
error_type:
|
|
1363
|
-
message:
|
|
1371
|
+
error_type: z63.literal("pcb_trace_error").default("pcb_trace_error"),
|
|
1372
|
+
message: z63.string(),
|
|
1364
1373
|
center: point.optional(),
|
|
1365
|
-
pcb_trace_id:
|
|
1366
|
-
source_trace_id:
|
|
1367
|
-
pcb_component_ids:
|
|
1368
|
-
pcb_port_ids:
|
|
1374
|
+
pcb_trace_id: z63.string(),
|
|
1375
|
+
source_trace_id: z63.string(),
|
|
1376
|
+
pcb_component_ids: z63.array(z63.string()),
|
|
1377
|
+
pcb_port_ids: z63.array(z63.string())
|
|
1369
1378
|
}).describe("Defines a trace error on the PCB");
|
|
1370
1379
|
expectTypesMatch(true);
|
|
1371
1380
|
|
|
1372
1381
|
// src/pcb/pcb_port_not_matched_error.ts
|
|
1373
|
-
import { z as
|
|
1374
|
-
var pcb_port_not_matched_error =
|
|
1375
|
-
type:
|
|
1382
|
+
import { z as z64 } from "zod";
|
|
1383
|
+
var pcb_port_not_matched_error = z64.object({
|
|
1384
|
+
type: z64.literal("pcb_port_not_matched_error"),
|
|
1376
1385
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
1377
|
-
error_type:
|
|
1378
|
-
message:
|
|
1379
|
-
pcb_component_ids:
|
|
1386
|
+
error_type: z64.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
|
|
1387
|
+
message: z64.string(),
|
|
1388
|
+
pcb_component_ids: z64.array(z64.string())
|
|
1380
1389
|
}).describe("Defines a trace error on the PCB where a port is not matched");
|
|
1381
1390
|
expectTypesMatch(true);
|
|
1382
1391
|
|
|
1383
1392
|
// src/pcb/pcb_via.ts
|
|
1384
|
-
import { z as
|
|
1385
|
-
var pcb_via =
|
|
1386
|
-
type:
|
|
1393
|
+
import { z as z65 } from "zod";
|
|
1394
|
+
var pcb_via = z65.object({
|
|
1395
|
+
type: z65.literal("pcb_via"),
|
|
1387
1396
|
pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
|
|
1388
|
-
pcb_group_id:
|
|
1389
|
-
subcircuit_id:
|
|
1397
|
+
pcb_group_id: z65.string().optional(),
|
|
1398
|
+
subcircuit_id: z65.string().optional(),
|
|
1390
1399
|
x: distance,
|
|
1391
1400
|
y: distance,
|
|
1392
1401
|
outer_diameter: distance.default("0.6mm"),
|
|
@@ -1395,57 +1404,57 @@ var pcb_via = z66.object({
|
|
|
1395
1404
|
from_layer: layer_ref.optional(),
|
|
1396
1405
|
/** @deprecated */
|
|
1397
1406
|
to_layer: layer_ref.optional(),
|
|
1398
|
-
layers:
|
|
1399
|
-
pcb_trace_id:
|
|
1407
|
+
layers: z65.array(layer_ref),
|
|
1408
|
+
pcb_trace_id: z65.string().optional()
|
|
1400
1409
|
}).describe("Defines a via on the PCB");
|
|
1401
1410
|
expectTypesMatch(true);
|
|
1402
1411
|
|
|
1403
1412
|
// src/pcb/pcb_board.ts
|
|
1404
|
-
import { z as
|
|
1405
|
-
var pcb_board =
|
|
1406
|
-
type:
|
|
1413
|
+
import { z as z66 } from "zod";
|
|
1414
|
+
var pcb_board = z66.object({
|
|
1415
|
+
type: z66.literal("pcb_board"),
|
|
1407
1416
|
pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
|
|
1408
|
-
is_subcircuit:
|
|
1409
|
-
subcircuit_id:
|
|
1417
|
+
is_subcircuit: z66.boolean().optional(),
|
|
1418
|
+
subcircuit_id: z66.string().optional(),
|
|
1410
1419
|
width: length,
|
|
1411
1420
|
height: length,
|
|
1412
1421
|
center: point,
|
|
1413
1422
|
thickness: length.optional().default(1.4),
|
|
1414
|
-
num_layers:
|
|
1415
|
-
outline:
|
|
1416
|
-
material:
|
|
1423
|
+
num_layers: z66.number().optional().default(4),
|
|
1424
|
+
outline: z66.array(point).optional(),
|
|
1425
|
+
material: z66.enum(["fr4", "fr1"]).default("fr4")
|
|
1417
1426
|
}).describe("Defines the board outline of the PCB");
|
|
1418
1427
|
expectTypesMatch(true);
|
|
1419
1428
|
|
|
1420
1429
|
// src/pcb/pcb_placement_error.ts
|
|
1421
|
-
import { z as
|
|
1422
|
-
var pcb_placement_error =
|
|
1423
|
-
type:
|
|
1430
|
+
import { z as z67 } from "zod";
|
|
1431
|
+
var pcb_placement_error = z67.object({
|
|
1432
|
+
type: z67.literal("pcb_placement_error"),
|
|
1424
1433
|
pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
|
|
1425
|
-
error_type:
|
|
1426
|
-
message:
|
|
1434
|
+
error_type: z67.literal("pcb_placement_error").default("pcb_placement_error"),
|
|
1435
|
+
message: z67.string()
|
|
1427
1436
|
}).describe("Defines a placement error on the PCB");
|
|
1428
1437
|
expectTypesMatch(true);
|
|
1429
1438
|
|
|
1430
1439
|
// src/pcb/pcb_trace_hint.ts
|
|
1431
|
-
import { z as
|
|
1432
|
-
var pcb_trace_hint =
|
|
1433
|
-
type:
|
|
1440
|
+
import { z as z68 } from "zod";
|
|
1441
|
+
var pcb_trace_hint = z68.object({
|
|
1442
|
+
type: z68.literal("pcb_trace_hint"),
|
|
1434
1443
|
pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
|
|
1435
|
-
pcb_port_id:
|
|
1436
|
-
pcb_component_id:
|
|
1437
|
-
route:
|
|
1444
|
+
pcb_port_id: z68.string(),
|
|
1445
|
+
pcb_component_id: z68.string(),
|
|
1446
|
+
route: z68.array(route_hint_point)
|
|
1438
1447
|
}).describe("A hint that can be used during generation of a PCB trace");
|
|
1439
1448
|
expectTypesMatch(true);
|
|
1440
1449
|
|
|
1441
1450
|
// src/pcb/pcb_silkscreen_line.ts
|
|
1442
|
-
import { z as
|
|
1443
|
-
var pcb_silkscreen_line =
|
|
1444
|
-
type:
|
|
1451
|
+
import { z as z69 } from "zod";
|
|
1452
|
+
var pcb_silkscreen_line = z69.object({
|
|
1453
|
+
type: z69.literal("pcb_silkscreen_line"),
|
|
1445
1454
|
pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
|
|
1446
|
-
pcb_component_id:
|
|
1447
|
-
pcb_group_id:
|
|
1448
|
-
subcircuit_id:
|
|
1455
|
+
pcb_component_id: z69.string(),
|
|
1456
|
+
pcb_group_id: z69.string().optional(),
|
|
1457
|
+
subcircuit_id: z69.string().optional(),
|
|
1449
1458
|
stroke_width: distance.default("0.1mm"),
|
|
1450
1459
|
x1: distance,
|
|
1451
1460
|
y1: distance,
|
|
@@ -1456,67 +1465,67 @@ var pcb_silkscreen_line = z70.object({
|
|
|
1456
1465
|
expectTypesMatch(true);
|
|
1457
1466
|
|
|
1458
1467
|
// src/pcb/pcb_silkscreen_path.ts
|
|
1459
|
-
import { z as
|
|
1460
|
-
var pcb_silkscreen_path =
|
|
1461
|
-
type:
|
|
1468
|
+
import { z as z70 } from "zod";
|
|
1469
|
+
var pcb_silkscreen_path = z70.object({
|
|
1470
|
+
type: z70.literal("pcb_silkscreen_path"),
|
|
1462
1471
|
pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
|
|
1463
|
-
pcb_component_id:
|
|
1464
|
-
pcb_group_id:
|
|
1465
|
-
subcircuit_id:
|
|
1472
|
+
pcb_component_id: z70.string(),
|
|
1473
|
+
pcb_group_id: z70.string().optional(),
|
|
1474
|
+
subcircuit_id: z70.string().optional(),
|
|
1466
1475
|
layer: visible_layer,
|
|
1467
|
-
route:
|
|
1476
|
+
route: z70.array(point),
|
|
1468
1477
|
stroke_width: length
|
|
1469
1478
|
}).describe("Defines a silkscreen path on the PCB");
|
|
1470
1479
|
expectTypesMatch(true);
|
|
1471
1480
|
|
|
1472
1481
|
// src/pcb/pcb_silkscreen_text.ts
|
|
1473
|
-
import { z as
|
|
1474
|
-
var pcb_silkscreen_text =
|
|
1475
|
-
type:
|
|
1482
|
+
import { z as z71 } from "zod";
|
|
1483
|
+
var pcb_silkscreen_text = z71.object({
|
|
1484
|
+
type: z71.literal("pcb_silkscreen_text"),
|
|
1476
1485
|
pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
|
|
1477
|
-
pcb_group_id:
|
|
1478
|
-
subcircuit_id:
|
|
1479
|
-
font:
|
|
1486
|
+
pcb_group_id: z71.string().optional(),
|
|
1487
|
+
subcircuit_id: z71.string().optional(),
|
|
1488
|
+
font: z71.literal("tscircuit2024").default("tscircuit2024"),
|
|
1480
1489
|
font_size: distance.default("0.2mm"),
|
|
1481
|
-
pcb_component_id:
|
|
1482
|
-
text:
|
|
1483
|
-
ccw_rotation:
|
|
1490
|
+
pcb_component_id: z71.string(),
|
|
1491
|
+
text: z71.string(),
|
|
1492
|
+
ccw_rotation: z71.number().optional(),
|
|
1484
1493
|
layer: layer_ref,
|
|
1485
|
-
is_mirrored:
|
|
1494
|
+
is_mirrored: z71.boolean().default(false).optional(),
|
|
1486
1495
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
1487
1496
|
anchor_alignment: ninePointAnchor.default("center")
|
|
1488
1497
|
}).describe("Defines silkscreen text on the PCB");
|
|
1489
1498
|
expectTypesMatch(true);
|
|
1490
1499
|
|
|
1491
1500
|
// src/pcb/pcb_silkscreen_rect.ts
|
|
1492
|
-
import { z as
|
|
1493
|
-
var pcb_silkscreen_rect =
|
|
1494
|
-
type:
|
|
1501
|
+
import { z as z72 } from "zod";
|
|
1502
|
+
var pcb_silkscreen_rect = z72.object({
|
|
1503
|
+
type: z72.literal("pcb_silkscreen_rect"),
|
|
1495
1504
|
pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
|
|
1496
|
-
pcb_component_id:
|
|
1497
|
-
pcb_group_id:
|
|
1498
|
-
subcircuit_id:
|
|
1505
|
+
pcb_component_id: z72.string(),
|
|
1506
|
+
pcb_group_id: z72.string().optional(),
|
|
1507
|
+
subcircuit_id: z72.string().optional(),
|
|
1499
1508
|
center: point,
|
|
1500
1509
|
width: length,
|
|
1501
1510
|
height: length,
|
|
1502
1511
|
layer: layer_ref,
|
|
1503
1512
|
stroke_width: length.default("1mm"),
|
|
1504
|
-
is_filled:
|
|
1505
|
-
has_stroke:
|
|
1506
|
-
is_stroke_dashed:
|
|
1513
|
+
is_filled: z72.boolean().default(true).optional(),
|
|
1514
|
+
has_stroke: z72.boolean().optional(),
|
|
1515
|
+
is_stroke_dashed: z72.boolean().optional()
|
|
1507
1516
|
}).describe("Defines a silkscreen rect on the PCB");
|
|
1508
1517
|
expectTypesMatch(true);
|
|
1509
1518
|
|
|
1510
1519
|
// src/pcb/pcb_silkscreen_circle.ts
|
|
1511
|
-
import { z as
|
|
1512
|
-
var pcb_silkscreen_circle =
|
|
1513
|
-
type:
|
|
1520
|
+
import { z as z73 } from "zod";
|
|
1521
|
+
var pcb_silkscreen_circle = z73.object({
|
|
1522
|
+
type: z73.literal("pcb_silkscreen_circle"),
|
|
1514
1523
|
pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
|
|
1515
1524
|
"pcb_silkscreen_circle"
|
|
1516
1525
|
),
|
|
1517
|
-
pcb_component_id:
|
|
1518
|
-
pcb_group_id:
|
|
1519
|
-
subcircuit_id:
|
|
1526
|
+
pcb_component_id: z73.string(),
|
|
1527
|
+
pcb_group_id: z73.string().optional(),
|
|
1528
|
+
subcircuit_id: z73.string().optional(),
|
|
1520
1529
|
center: point,
|
|
1521
1530
|
radius: length,
|
|
1522
1531
|
layer: visible_layer,
|
|
@@ -1525,13 +1534,13 @@ var pcb_silkscreen_circle = z74.object({
|
|
|
1525
1534
|
expectTypesMatch(true);
|
|
1526
1535
|
|
|
1527
1536
|
// src/pcb/pcb_silkscreen_oval.ts
|
|
1528
|
-
import { z as
|
|
1529
|
-
var pcb_silkscreen_oval =
|
|
1530
|
-
type:
|
|
1537
|
+
import { z as z74 } from "zod";
|
|
1538
|
+
var pcb_silkscreen_oval = z74.object({
|
|
1539
|
+
type: z74.literal("pcb_silkscreen_oval"),
|
|
1531
1540
|
pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
|
|
1532
|
-
pcb_component_id:
|
|
1533
|
-
pcb_group_id:
|
|
1534
|
-
subcircuit_id:
|
|
1541
|
+
pcb_component_id: z74.string(),
|
|
1542
|
+
pcb_group_id: z74.string().optional(),
|
|
1543
|
+
subcircuit_id: z74.string().optional(),
|
|
1535
1544
|
center: point,
|
|
1536
1545
|
radius_x: distance,
|
|
1537
1546
|
radius_y: distance,
|
|
@@ -1540,86 +1549,87 @@ var pcb_silkscreen_oval = z75.object({
|
|
|
1540
1549
|
expectTypesMatch(true);
|
|
1541
1550
|
|
|
1542
1551
|
// src/pcb/pcb_fabrication_note_text.ts
|
|
1543
|
-
import { z as
|
|
1544
|
-
var pcb_fabrication_note_text =
|
|
1545
|
-
type:
|
|
1552
|
+
import { z as z75 } from "zod";
|
|
1553
|
+
var pcb_fabrication_note_text = z75.object({
|
|
1554
|
+
type: z75.literal("pcb_fabrication_note_text"),
|
|
1546
1555
|
pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
|
|
1547
1556
|
"pcb_fabrication_note_text"
|
|
1548
1557
|
),
|
|
1549
|
-
subcircuit_id:
|
|
1550
|
-
pcb_group_id:
|
|
1551
|
-
font:
|
|
1558
|
+
subcircuit_id: z75.string().optional(),
|
|
1559
|
+
pcb_group_id: z75.string().optional(),
|
|
1560
|
+
font: z75.literal("tscircuit2024").default("tscircuit2024"),
|
|
1552
1561
|
font_size: distance.default("1mm"),
|
|
1553
|
-
pcb_component_id:
|
|
1554
|
-
text:
|
|
1562
|
+
pcb_component_id: z75.string(),
|
|
1563
|
+
text: z75.string(),
|
|
1555
1564
|
layer: visible_layer,
|
|
1556
1565
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
1557
|
-
anchor_alignment:
|
|
1558
|
-
color:
|
|
1566
|
+
anchor_alignment: z75.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
1567
|
+
color: z75.string().optional()
|
|
1559
1568
|
}).describe(
|
|
1560
1569
|
"Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
|
|
1561
1570
|
);
|
|
1562
1571
|
expectTypesMatch(true);
|
|
1563
1572
|
|
|
1564
1573
|
// src/pcb/pcb_fabrication_note_path.ts
|
|
1565
|
-
import { z as
|
|
1566
|
-
var pcb_fabrication_note_path =
|
|
1567
|
-
type:
|
|
1574
|
+
import { z as z76 } from "zod";
|
|
1575
|
+
var pcb_fabrication_note_path = z76.object({
|
|
1576
|
+
type: z76.literal("pcb_fabrication_note_path"),
|
|
1568
1577
|
pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
|
|
1569
1578
|
"pcb_fabrication_note_path"
|
|
1570
1579
|
),
|
|
1571
|
-
pcb_component_id:
|
|
1572
|
-
subcircuit_id:
|
|
1580
|
+
pcb_component_id: z76.string(),
|
|
1581
|
+
subcircuit_id: z76.string().optional(),
|
|
1573
1582
|
layer: layer_ref,
|
|
1574
|
-
route:
|
|
1583
|
+
route: z76.array(point),
|
|
1575
1584
|
stroke_width: length,
|
|
1576
|
-
color:
|
|
1585
|
+
color: z76.string().optional()
|
|
1577
1586
|
}).describe(
|
|
1578
1587
|
"Defines a fabrication path on the PCB for fabricators or assemblers"
|
|
1579
1588
|
);
|
|
1580
1589
|
expectTypesMatch(true);
|
|
1581
1590
|
|
|
1582
1591
|
// src/pcb/pcb_keepout.ts
|
|
1583
|
-
import { z as
|
|
1584
|
-
var pcb_keepout =
|
|
1585
|
-
type:
|
|
1586
|
-
shape:
|
|
1587
|
-
pcb_group_id:
|
|
1588
|
-
subcircuit_id:
|
|
1592
|
+
import { z as z77 } from "zod";
|
|
1593
|
+
var pcb_keepout = z77.object({
|
|
1594
|
+
type: z77.literal("pcb_keepout"),
|
|
1595
|
+
shape: z77.literal("rect"),
|
|
1596
|
+
pcb_group_id: z77.string().optional(),
|
|
1597
|
+
subcircuit_id: z77.string().optional(),
|
|
1589
1598
|
center: point,
|
|
1590
1599
|
width: distance,
|
|
1591
1600
|
height: distance,
|
|
1592
|
-
pcb_keepout_id:
|
|
1593
|
-
layers:
|
|
1601
|
+
pcb_keepout_id: z77.string(),
|
|
1602
|
+
layers: z77.array(z77.string()),
|
|
1594
1603
|
// Specify layers where the keepout applies
|
|
1595
|
-
description:
|
|
1604
|
+
description: z77.string().optional()
|
|
1596
1605
|
// Optional description of the keepout
|
|
1597
1606
|
}).or(
|
|
1598
|
-
|
|
1599
|
-
type:
|
|
1600
|
-
shape:
|
|
1601
|
-
pcb_group_id:
|
|
1602
|
-
subcircuit_id:
|
|
1607
|
+
z77.object({
|
|
1608
|
+
type: z77.literal("pcb_keepout"),
|
|
1609
|
+
shape: z77.literal("circle"),
|
|
1610
|
+
pcb_group_id: z77.string().optional(),
|
|
1611
|
+
subcircuit_id: z77.string().optional(),
|
|
1603
1612
|
center: point,
|
|
1604
1613
|
radius: distance,
|
|
1605
|
-
pcb_keepout_id:
|
|
1606
|
-
layers:
|
|
1614
|
+
pcb_keepout_id: z77.string(),
|
|
1615
|
+
layers: z77.array(z77.string()),
|
|
1607
1616
|
// Specify layers where the keepout applies
|
|
1608
|
-
description:
|
|
1617
|
+
description: z77.string().optional()
|
|
1609
1618
|
// Optional description of the keepout
|
|
1610
1619
|
})
|
|
1611
1620
|
);
|
|
1621
|
+
expectTypesMatch(true);
|
|
1612
1622
|
|
|
1613
1623
|
// src/pcb/pcb_cutout.ts
|
|
1614
|
-
import { z as
|
|
1615
|
-
var pcb_cutout_base =
|
|
1616
|
-
type:
|
|
1624
|
+
import { z as z78 } from "zod";
|
|
1625
|
+
var pcb_cutout_base = z78.object({
|
|
1626
|
+
type: z78.literal("pcb_cutout"),
|
|
1617
1627
|
pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
|
|
1618
|
-
pcb_group_id:
|
|
1619
|
-
subcircuit_id:
|
|
1628
|
+
pcb_group_id: z78.string().optional(),
|
|
1629
|
+
subcircuit_id: z78.string().optional()
|
|
1620
1630
|
});
|
|
1621
1631
|
var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
1622
|
-
shape:
|
|
1632
|
+
shape: z78.literal("rect"),
|
|
1623
1633
|
center: point,
|
|
1624
1634
|
width: length,
|
|
1625
1635
|
height: length,
|
|
@@ -1627,17 +1637,17 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
|
1627
1637
|
});
|
|
1628
1638
|
expectTypesMatch(true);
|
|
1629
1639
|
var pcb_cutout_circle = pcb_cutout_base.extend({
|
|
1630
|
-
shape:
|
|
1640
|
+
shape: z78.literal("circle"),
|
|
1631
1641
|
center: point,
|
|
1632
1642
|
radius: length
|
|
1633
1643
|
});
|
|
1634
1644
|
expectTypesMatch(true);
|
|
1635
1645
|
var pcb_cutout_polygon = pcb_cutout_base.extend({
|
|
1636
|
-
shape:
|
|
1637
|
-
points:
|
|
1646
|
+
shape: z78.literal("polygon"),
|
|
1647
|
+
points: z78.array(point)
|
|
1638
1648
|
});
|
|
1639
1649
|
expectTypesMatch(true);
|
|
1640
|
-
var pcb_cutout =
|
|
1650
|
+
var pcb_cutout = z78.discriminatedUnion("shape", [
|
|
1641
1651
|
pcb_cutout_rect,
|
|
1642
1652
|
pcb_cutout_circle,
|
|
1643
1653
|
pcb_cutout_polygon
|
|
@@ -1645,77 +1655,77 @@ var pcb_cutout = z79.discriminatedUnion("shape", [
|
|
|
1645
1655
|
expectTypesMatch(true);
|
|
1646
1656
|
|
|
1647
1657
|
// src/pcb/pcb_missing_footprint_error.ts
|
|
1648
|
-
import { z as
|
|
1649
|
-
var pcb_missing_footprint_error =
|
|
1650
|
-
type:
|
|
1658
|
+
import { z as z79 } from "zod";
|
|
1659
|
+
var pcb_missing_footprint_error = z79.object({
|
|
1660
|
+
type: z79.literal("pcb_missing_footprint_error"),
|
|
1651
1661
|
pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
|
|
1652
1662
|
"pcb_missing_footprint_error"
|
|
1653
1663
|
),
|
|
1654
|
-
pcb_group_id:
|
|
1655
|
-
subcircuit_id:
|
|
1656
|
-
error_type:
|
|
1657
|
-
source_component_id:
|
|
1658
|
-
message:
|
|
1664
|
+
pcb_group_id: z79.string().optional(),
|
|
1665
|
+
subcircuit_id: z79.string().optional(),
|
|
1666
|
+
error_type: z79.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
|
|
1667
|
+
source_component_id: z79.string(),
|
|
1668
|
+
message: z79.string()
|
|
1659
1669
|
}).describe("Defines a missing footprint error on the PCB");
|
|
1660
1670
|
expectTypesMatch(
|
|
1661
1671
|
true
|
|
1662
1672
|
);
|
|
1663
1673
|
|
|
1664
1674
|
// src/pcb/pcb_group.ts
|
|
1665
|
-
import { z as
|
|
1666
|
-
var pcb_group =
|
|
1667
|
-
type:
|
|
1675
|
+
import { z as z80 } from "zod";
|
|
1676
|
+
var pcb_group = z80.object({
|
|
1677
|
+
type: z80.literal("pcb_group"),
|
|
1668
1678
|
pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
|
|
1669
|
-
source_group_id:
|
|
1670
|
-
is_subcircuit:
|
|
1671
|
-
subcircuit_id:
|
|
1679
|
+
source_group_id: z80.string(),
|
|
1680
|
+
is_subcircuit: z80.boolean().optional(),
|
|
1681
|
+
subcircuit_id: z80.string().optional(),
|
|
1672
1682
|
width: length,
|
|
1673
1683
|
height: length,
|
|
1674
1684
|
center: point,
|
|
1675
|
-
pcb_component_ids:
|
|
1676
|
-
name:
|
|
1677
|
-
description:
|
|
1685
|
+
pcb_component_ids: z80.array(z80.string()),
|
|
1686
|
+
name: z80.string().optional(),
|
|
1687
|
+
description: z80.string().optional()
|
|
1678
1688
|
}).describe("Defines a group of components on the PCB");
|
|
1679
1689
|
expectTypesMatch(true);
|
|
1680
1690
|
|
|
1681
1691
|
// src/pcb/pcb_autorouting_error.ts
|
|
1682
|
-
import { z as
|
|
1683
|
-
var pcb_autorouting_error =
|
|
1684
|
-
type:
|
|
1692
|
+
import { z as z81 } from "zod";
|
|
1693
|
+
var pcb_autorouting_error = z81.object({
|
|
1694
|
+
type: z81.literal("pcb_autorouting_error"),
|
|
1685
1695
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
|
|
1686
|
-
error_type:
|
|
1687
|
-
message:
|
|
1696
|
+
error_type: z81.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
|
|
1697
|
+
message: z81.string()
|
|
1688
1698
|
}).describe("The autorouting has failed to route a portion of the board");
|
|
1689
1699
|
expectTypesMatch(true);
|
|
1690
1700
|
|
|
1691
1701
|
// src/pcb/pcb_manual_edit_conflict_warning.ts
|
|
1692
|
-
import { z as
|
|
1693
|
-
var pcb_manual_edit_conflict_warning =
|
|
1694
|
-
type:
|
|
1702
|
+
import { z as z82 } from "zod";
|
|
1703
|
+
var pcb_manual_edit_conflict_warning = z82.object({
|
|
1704
|
+
type: z82.literal("pcb_manual_edit_conflict_warning"),
|
|
1695
1705
|
pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
1696
1706
|
"pcb_manual_edit_conflict_warning"
|
|
1697
1707
|
),
|
|
1698
|
-
warning_type:
|
|
1699
|
-
message:
|
|
1700
|
-
pcb_component_id:
|
|
1701
|
-
pcb_group_id:
|
|
1702
|
-
subcircuit_id:
|
|
1703
|
-
source_component_id:
|
|
1708
|
+
warning_type: z82.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
|
|
1709
|
+
message: z82.string(),
|
|
1710
|
+
pcb_component_id: z82.string(),
|
|
1711
|
+
pcb_group_id: z82.string().optional(),
|
|
1712
|
+
subcircuit_id: z82.string().optional(),
|
|
1713
|
+
source_component_id: z82.string()
|
|
1704
1714
|
}).describe(
|
|
1705
1715
|
"Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
|
|
1706
1716
|
);
|
|
1707
1717
|
expectTypesMatch(true);
|
|
1708
1718
|
|
|
1709
1719
|
// src/pcb/pcb_breakout_point.ts
|
|
1710
|
-
import { z as
|
|
1711
|
-
var pcb_breakout_point =
|
|
1712
|
-
type:
|
|
1720
|
+
import { z as z83 } from "zod";
|
|
1721
|
+
var pcb_breakout_point = z83.object({
|
|
1722
|
+
type: z83.literal("pcb_breakout_point"),
|
|
1713
1723
|
pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
|
|
1714
|
-
pcb_group_id:
|
|
1715
|
-
subcircuit_id:
|
|
1716
|
-
source_trace_id:
|
|
1717
|
-
source_port_id:
|
|
1718
|
-
source_net_id:
|
|
1724
|
+
pcb_group_id: z83.string(),
|
|
1725
|
+
subcircuit_id: z83.string().optional(),
|
|
1726
|
+
source_trace_id: z83.string().optional(),
|
|
1727
|
+
source_port_id: z83.string().optional(),
|
|
1728
|
+
source_net_id: z83.string().optional(),
|
|
1719
1729
|
x: distance,
|
|
1720
1730
|
y: distance
|
|
1721
1731
|
}).describe(
|
|
@@ -1724,75 +1734,75 @@ var pcb_breakout_point = z84.object({
|
|
|
1724
1734
|
expectTypesMatch(true);
|
|
1725
1735
|
|
|
1726
1736
|
// src/pcb/pcb_ground_plane.ts
|
|
1727
|
-
import { z as
|
|
1728
|
-
var pcb_ground_plane =
|
|
1729
|
-
type:
|
|
1737
|
+
import { z as z84 } from "zod";
|
|
1738
|
+
var pcb_ground_plane = z84.object({
|
|
1739
|
+
type: z84.literal("pcb_ground_plane"),
|
|
1730
1740
|
pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
|
|
1731
|
-
source_pcb_ground_plane_id:
|
|
1732
|
-
source_net_id:
|
|
1733
|
-
pcb_group_id:
|
|
1734
|
-
subcircuit_id:
|
|
1741
|
+
source_pcb_ground_plane_id: z84.string(),
|
|
1742
|
+
source_net_id: z84.string(),
|
|
1743
|
+
pcb_group_id: z84.string().optional(),
|
|
1744
|
+
subcircuit_id: z84.string().optional()
|
|
1735
1745
|
}).describe("Defines a ground plane on the PCB");
|
|
1736
1746
|
expectTypesMatch(true);
|
|
1737
1747
|
|
|
1738
1748
|
// src/pcb/pcb_ground_plane_region.ts
|
|
1739
|
-
import { z as
|
|
1740
|
-
var pcb_ground_plane_region =
|
|
1741
|
-
type:
|
|
1749
|
+
import { z as z85 } from "zod";
|
|
1750
|
+
var pcb_ground_plane_region = z85.object({
|
|
1751
|
+
type: z85.literal("pcb_ground_plane_region"),
|
|
1742
1752
|
pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
|
|
1743
1753
|
"pcb_ground_plane_region"
|
|
1744
1754
|
),
|
|
1745
|
-
pcb_ground_plane_id:
|
|
1746
|
-
pcb_group_id:
|
|
1747
|
-
subcircuit_id:
|
|
1755
|
+
pcb_ground_plane_id: z85.string(),
|
|
1756
|
+
pcb_group_id: z85.string().optional(),
|
|
1757
|
+
subcircuit_id: z85.string().optional(),
|
|
1748
1758
|
layer: layer_ref,
|
|
1749
|
-
points:
|
|
1759
|
+
points: z85.array(point)
|
|
1750
1760
|
}).describe("Defines a polygon region of a ground plane");
|
|
1751
1761
|
expectTypesMatch(true);
|
|
1752
1762
|
|
|
1753
1763
|
// src/pcb/pcb_thermal_spoke.ts
|
|
1754
|
-
import { z as
|
|
1755
|
-
var pcb_thermal_spoke =
|
|
1756
|
-
type:
|
|
1764
|
+
import { z as z86 } from "zod";
|
|
1765
|
+
var pcb_thermal_spoke = z86.object({
|
|
1766
|
+
type: z86.literal("pcb_thermal_spoke"),
|
|
1757
1767
|
pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
|
|
1758
|
-
pcb_ground_plane_id:
|
|
1759
|
-
shape:
|
|
1760
|
-
spoke_count:
|
|
1768
|
+
pcb_ground_plane_id: z86.string(),
|
|
1769
|
+
shape: z86.string(),
|
|
1770
|
+
spoke_count: z86.number(),
|
|
1761
1771
|
spoke_thickness: distance,
|
|
1762
1772
|
spoke_inner_diameter: distance,
|
|
1763
1773
|
spoke_outer_diameter: distance,
|
|
1764
|
-
pcb_plated_hole_id:
|
|
1774
|
+
pcb_plated_hole_id: z86.string().optional()
|
|
1765
1775
|
}).describe("Pattern for connecting a ground plane to a plated hole");
|
|
1766
1776
|
expectTypesMatch(true);
|
|
1767
1777
|
|
|
1768
1778
|
// src/cad/cad_component.ts
|
|
1769
|
-
import { z as
|
|
1770
|
-
var cad_component =
|
|
1771
|
-
type:
|
|
1772
|
-
cad_component_id:
|
|
1773
|
-
pcb_component_id:
|
|
1774
|
-
source_component_id:
|
|
1779
|
+
import { z as z87 } from "zod";
|
|
1780
|
+
var cad_component = z87.object({
|
|
1781
|
+
type: z87.literal("cad_component"),
|
|
1782
|
+
cad_component_id: z87.string(),
|
|
1783
|
+
pcb_component_id: z87.string(),
|
|
1784
|
+
source_component_id: z87.string(),
|
|
1775
1785
|
position: point3,
|
|
1776
1786
|
rotation: point3.optional(),
|
|
1777
1787
|
size: point3.optional(),
|
|
1778
1788
|
layer: layer_ref.optional(),
|
|
1779
1789
|
// These are all ways to generate/load the 3d model
|
|
1780
|
-
footprinter_string:
|
|
1781
|
-
model_obj_url:
|
|
1782
|
-
model_stl_url:
|
|
1783
|
-
model_3mf_url:
|
|
1784
|
-
model_jscad:
|
|
1790
|
+
footprinter_string: z87.string().optional(),
|
|
1791
|
+
model_obj_url: z87.string().optional(),
|
|
1792
|
+
model_stl_url: z87.string().optional(),
|
|
1793
|
+
model_3mf_url: z87.string().optional(),
|
|
1794
|
+
model_jscad: z87.any().optional()
|
|
1785
1795
|
}).describe("Defines a component on the PCB");
|
|
1796
|
+
expectTypesMatch(true);
|
|
1786
1797
|
|
|
1787
1798
|
// src/any_circuit_element.ts
|
|
1788
|
-
import { z as
|
|
1789
|
-
var any_circuit_element =
|
|
1799
|
+
import { z as z88 } from "zod";
|
|
1800
|
+
var any_circuit_element = z88.union([
|
|
1790
1801
|
source_trace,
|
|
1791
1802
|
source_port,
|
|
1792
1803
|
any_source_component,
|
|
1793
1804
|
source_net,
|
|
1794
1805
|
source_group,
|
|
1795
|
-
source_simple_bug,
|
|
1796
1806
|
source_simple_chip,
|
|
1797
1807
|
source_simple_capacitor,
|
|
1798
1808
|
source_simple_diode,
|
|
@@ -1961,7 +1971,6 @@ export {
|
|
|
1961
1971
|
source_port,
|
|
1962
1972
|
source_project_metadata,
|
|
1963
1973
|
source_simple_battery,
|
|
1964
|
-
source_simple_bug,
|
|
1965
1974
|
source_simple_capacitor,
|
|
1966
1975
|
source_simple_chip,
|
|
1967
1976
|
source_simple_crystal,
|