circuit-json 0.0.126 → 0.0.128
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 +16 -0
- package/dist/index.d.mts +216 -1
- package/dist/index.mjs +421 -408
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -352,7 +352,7 @@ var source_simple_power_source = source_component_base.extend({
|
|
|
352
352
|
expectTypesMatch(true);
|
|
353
353
|
|
|
354
354
|
// src/source/any_source_component.ts
|
|
355
|
-
import { z as
|
|
355
|
+
import { z as z25 } from "zod";
|
|
356
356
|
|
|
357
357
|
// src/source/source_simple_battery.ts
|
|
358
358
|
import { z as z16 } from "zod";
|
|
@@ -419,8 +419,17 @@ var source_simple_transistor = source_component_base.extend({
|
|
|
419
419
|
});
|
|
420
420
|
expectTypesMatch(true);
|
|
421
421
|
|
|
422
|
+
// src/source/source_simple_mosfet.ts
|
|
423
|
+
import { z as z24 } from "zod";
|
|
424
|
+
var source_simple_mosfet = source_component_base.extend({
|
|
425
|
+
ftype: z24.literal("simple_mosfet"),
|
|
426
|
+
channel_type: z24.enum(["n", "p"]),
|
|
427
|
+
mosfet_mode: z24.enum(["enhancement", "depletion"])
|
|
428
|
+
});
|
|
429
|
+
expectTypesMatch(true);
|
|
430
|
+
|
|
422
431
|
// src/source/any_source_component.ts
|
|
423
|
-
var any_source_component =
|
|
432
|
+
var any_source_component = z25.union([
|
|
424
433
|
source_simple_resistor,
|
|
425
434
|
source_simple_capacitor,
|
|
426
435
|
source_simple_diode,
|
|
@@ -436,60 +445,62 @@ var any_source_component = z24.union([
|
|
|
436
445
|
source_simple_crystal,
|
|
437
446
|
source_simple_pin_header,
|
|
438
447
|
source_simple_resonator,
|
|
439
|
-
source_simple_transistor
|
|
448
|
+
source_simple_transistor,
|
|
449
|
+
source_simple_mosfet
|
|
440
450
|
]);
|
|
441
451
|
|
|
442
452
|
// src/source/source_port.ts
|
|
443
|
-
import { z as
|
|
444
|
-
var source_port =
|
|
445
|
-
type:
|
|
446
|
-
pin_number:
|
|
447
|
-
port_hints:
|
|
448
|
-
name:
|
|
449
|
-
source_port_id:
|
|
450
|
-
source_component_id:
|
|
453
|
+
import { z as z26 } from "zod";
|
|
454
|
+
var source_port = z26.object({
|
|
455
|
+
type: z26.literal("source_port"),
|
|
456
|
+
pin_number: z26.number().optional(),
|
|
457
|
+
port_hints: z26.array(z26.string()).optional(),
|
|
458
|
+
name: z26.string(),
|
|
459
|
+
source_port_id: z26.string(),
|
|
460
|
+
source_component_id: z26.string()
|
|
451
461
|
});
|
|
452
462
|
expectTypesMatch(true);
|
|
453
463
|
|
|
454
464
|
// src/source/source_trace.ts
|
|
455
|
-
import { z as
|
|
456
|
-
var source_trace =
|
|
457
|
-
type:
|
|
458
|
-
source_trace_id:
|
|
459
|
-
connected_source_port_ids:
|
|
460
|
-
connected_source_net_ids:
|
|
461
|
-
subcircuit_connectivity_map_key:
|
|
462
|
-
max_length:
|
|
465
|
+
import { z as z27 } from "zod";
|
|
466
|
+
var source_trace = z27.object({
|
|
467
|
+
type: z27.literal("source_trace"),
|
|
468
|
+
source_trace_id: z27.string(),
|
|
469
|
+
connected_source_port_ids: z27.array(z27.string()),
|
|
470
|
+
connected_source_net_ids: z27.array(z27.string()),
|
|
471
|
+
subcircuit_connectivity_map_key: z27.string().optional(),
|
|
472
|
+
max_length: z27.number().optional(),
|
|
473
|
+
display_name: z27.string().optional()
|
|
463
474
|
});
|
|
464
475
|
expectTypesMatch(true);
|
|
465
476
|
|
|
466
477
|
// src/source/source_group.ts
|
|
467
|
-
import { z as
|
|
468
|
-
var source_group =
|
|
469
|
-
type:
|
|
470
|
-
source_group_id:
|
|
471
|
-
name:
|
|
478
|
+
import { z as z28 } from "zod";
|
|
479
|
+
var source_group = z28.object({
|
|
480
|
+
type: z28.literal("source_group"),
|
|
481
|
+
source_group_id: z28.string(),
|
|
482
|
+
name: z28.string().optional()
|
|
472
483
|
});
|
|
473
484
|
|
|
474
485
|
// src/source/source_net.ts
|
|
475
|
-
import { z as
|
|
476
|
-
var source_net =
|
|
477
|
-
type:
|
|
478
|
-
source_net_id:
|
|
479
|
-
name:
|
|
480
|
-
member_source_group_ids:
|
|
481
|
-
is_power:
|
|
482
|
-
is_ground:
|
|
483
|
-
is_digital_signal:
|
|
484
|
-
is_analog_signal:
|
|
485
|
-
trace_width:
|
|
486
|
+
import { z as z29 } from "zod";
|
|
487
|
+
var source_net = z29.object({
|
|
488
|
+
type: z29.literal("source_net"),
|
|
489
|
+
source_net_id: z29.string(),
|
|
490
|
+
name: z29.string(),
|
|
491
|
+
member_source_group_ids: z29.array(z29.string()),
|
|
492
|
+
is_power: z29.boolean().optional(),
|
|
493
|
+
is_ground: z29.boolean().optional(),
|
|
494
|
+
is_digital_signal: z29.boolean().optional(),
|
|
495
|
+
is_analog_signal: z29.boolean().optional(),
|
|
496
|
+
trace_width: z29.number().optional()
|
|
486
497
|
});
|
|
487
498
|
|
|
488
499
|
// src/schematic/schematic_box.ts
|
|
489
|
-
import { z as
|
|
490
|
-
var schematic_box =
|
|
491
|
-
type:
|
|
492
|
-
schematic_component_id:
|
|
500
|
+
import { z as z30 } from "zod";
|
|
501
|
+
var schematic_box = z30.object({
|
|
502
|
+
type: z30.literal("schematic_box"),
|
|
503
|
+
schematic_component_id: z30.string(),
|
|
493
504
|
width: distance,
|
|
494
505
|
height: distance,
|
|
495
506
|
x: distance,
|
|
@@ -498,82 +509,82 @@ var schematic_box = z29.object({
|
|
|
498
509
|
expectTypesMatch(true);
|
|
499
510
|
|
|
500
511
|
// src/schematic/schematic_path.ts
|
|
501
|
-
import { z as
|
|
502
|
-
var schematic_path =
|
|
503
|
-
type:
|
|
504
|
-
schematic_component_id:
|
|
505
|
-
fill_color:
|
|
506
|
-
is_filled:
|
|
507
|
-
points:
|
|
512
|
+
import { z as z31 } from "zod";
|
|
513
|
+
var schematic_path = z31.object({
|
|
514
|
+
type: z31.literal("schematic_path"),
|
|
515
|
+
schematic_component_id: z31.string(),
|
|
516
|
+
fill_color: z31.enum(["red", "blue"]).optional(),
|
|
517
|
+
is_filled: z31.boolean().optional(),
|
|
518
|
+
points: z31.array(point)
|
|
508
519
|
});
|
|
509
520
|
expectTypesMatch(true);
|
|
510
521
|
|
|
511
522
|
// src/schematic/schematic_component.ts
|
|
512
|
-
import { z as
|
|
513
|
-
var schematic_pin_styles =
|
|
514
|
-
|
|
523
|
+
import { z as z32 } from "zod";
|
|
524
|
+
var schematic_pin_styles = z32.record(
|
|
525
|
+
z32.object({
|
|
515
526
|
left_margin: length.optional(),
|
|
516
527
|
right_margin: length.optional(),
|
|
517
528
|
top_margin: length.optional(),
|
|
518
529
|
bottom_margin: length.optional()
|
|
519
530
|
})
|
|
520
531
|
);
|
|
521
|
-
var schematic_component_port_arrangement_by_size =
|
|
522
|
-
left_size:
|
|
523
|
-
right_size:
|
|
524
|
-
top_size:
|
|
525
|
-
bottom_size:
|
|
532
|
+
var schematic_component_port_arrangement_by_size = z32.object({
|
|
533
|
+
left_size: z32.number(),
|
|
534
|
+
right_size: z32.number(),
|
|
535
|
+
top_size: z32.number().optional(),
|
|
536
|
+
bottom_size: z32.number().optional()
|
|
526
537
|
});
|
|
527
538
|
expectTypesMatch(true);
|
|
528
|
-
var schematic_component_port_arrangement_by_sides =
|
|
529
|
-
left_side:
|
|
530
|
-
pins:
|
|
539
|
+
var schematic_component_port_arrangement_by_sides = z32.object({
|
|
540
|
+
left_side: z32.object({
|
|
541
|
+
pins: z32.array(z32.number()),
|
|
531
542
|
// @ts-ignore
|
|
532
|
-
direction:
|
|
543
|
+
direction: z32.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
533
544
|
}).optional(),
|
|
534
|
-
right_side:
|
|
535
|
-
pins:
|
|
545
|
+
right_side: z32.object({
|
|
546
|
+
pins: z32.array(z32.number()),
|
|
536
547
|
// @ts-ignore
|
|
537
|
-
direction:
|
|
548
|
+
direction: z32.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
538
549
|
}).optional(),
|
|
539
|
-
top_side:
|
|
540
|
-
pins:
|
|
550
|
+
top_side: z32.object({
|
|
551
|
+
pins: z32.array(z32.number()),
|
|
541
552
|
// @ts-ignore
|
|
542
|
-
direction:
|
|
553
|
+
direction: z32.enum(["left-to-right", "right-to-left"]).optional()
|
|
543
554
|
}).optional(),
|
|
544
|
-
bottom_side:
|
|
545
|
-
pins:
|
|
555
|
+
bottom_side: z32.object({
|
|
556
|
+
pins: z32.array(z32.number()),
|
|
546
557
|
// @ts-ignore
|
|
547
|
-
direction:
|
|
558
|
+
direction: z32.enum(["left-to-right", "right-to-left"]).optional()
|
|
548
559
|
}).optional()
|
|
549
560
|
});
|
|
550
561
|
expectTypesMatch(true);
|
|
551
|
-
var port_arrangement =
|
|
562
|
+
var port_arrangement = z32.union([
|
|
552
563
|
schematic_component_port_arrangement_by_size,
|
|
553
564
|
schematic_component_port_arrangement_by_sides
|
|
554
565
|
]);
|
|
555
|
-
var schematic_component =
|
|
556
|
-
type:
|
|
566
|
+
var schematic_component = z32.object({
|
|
567
|
+
type: z32.literal("schematic_component"),
|
|
557
568
|
rotation: rotation.default(0),
|
|
558
569
|
size,
|
|
559
570
|
center: point,
|
|
560
|
-
source_component_id:
|
|
561
|
-
schematic_component_id:
|
|
571
|
+
source_component_id: z32.string(),
|
|
572
|
+
schematic_component_id: z32.string(),
|
|
562
573
|
pin_spacing: length.optional(),
|
|
563
574
|
pin_styles: schematic_pin_styles.optional(),
|
|
564
575
|
box_width: length.optional(),
|
|
565
|
-
symbol_name:
|
|
576
|
+
symbol_name: z32.string().optional(),
|
|
566
577
|
port_arrangement: port_arrangement.optional(),
|
|
567
|
-
port_labels:
|
|
568
|
-
symbol_display_value:
|
|
578
|
+
port_labels: z32.record(z32.string()).optional(),
|
|
579
|
+
symbol_display_value: z32.string().optional()
|
|
569
580
|
});
|
|
570
581
|
expectTypesMatch(true);
|
|
571
582
|
|
|
572
583
|
// src/schematic/schematic_line.ts
|
|
573
|
-
import { z as
|
|
574
|
-
var schematic_line =
|
|
575
|
-
type:
|
|
576
|
-
schematic_component_id:
|
|
584
|
+
import { z as z33 } from "zod";
|
|
585
|
+
var schematic_line = z33.object({
|
|
586
|
+
type: z33.literal("schematic_line"),
|
|
587
|
+
schematic_component_id: z33.string(),
|
|
577
588
|
x1: distance,
|
|
578
589
|
x2: distance,
|
|
579
590
|
y1: distance,
|
|
@@ -582,113 +593,113 @@ var schematic_line = z32.object({
|
|
|
582
593
|
expectTypesMatch(true);
|
|
583
594
|
|
|
584
595
|
// src/schematic/schematic_trace.ts
|
|
585
|
-
import { z as
|
|
586
|
-
var schematic_trace =
|
|
587
|
-
type:
|
|
588
|
-
schematic_trace_id:
|
|
589
|
-
source_trace_id:
|
|
590
|
-
junctions:
|
|
591
|
-
|
|
592
|
-
x:
|
|
593
|
-
y:
|
|
596
|
+
import { z as z34 } from "zod";
|
|
597
|
+
var schematic_trace = z34.object({
|
|
598
|
+
type: z34.literal("schematic_trace"),
|
|
599
|
+
schematic_trace_id: z34.string(),
|
|
600
|
+
source_trace_id: z34.string(),
|
|
601
|
+
junctions: z34.array(
|
|
602
|
+
z34.object({
|
|
603
|
+
x: z34.number(),
|
|
604
|
+
y: z34.number()
|
|
594
605
|
})
|
|
595
606
|
),
|
|
596
|
-
edges:
|
|
597
|
-
|
|
598
|
-
from:
|
|
599
|
-
x:
|
|
600
|
-
y:
|
|
607
|
+
edges: z34.array(
|
|
608
|
+
z34.object({
|
|
609
|
+
from: z34.object({
|
|
610
|
+
x: z34.number(),
|
|
611
|
+
y: z34.number()
|
|
601
612
|
}),
|
|
602
|
-
to:
|
|
603
|
-
x:
|
|
604
|
-
y:
|
|
613
|
+
to: z34.object({
|
|
614
|
+
x: z34.number(),
|
|
615
|
+
y: z34.number()
|
|
605
616
|
}),
|
|
606
|
-
is_crossing:
|
|
607
|
-
from_schematic_port_id:
|
|
608
|
-
to_schematic_port_id:
|
|
617
|
+
is_crossing: z34.boolean().optional(),
|
|
618
|
+
from_schematic_port_id: z34.string().optional(),
|
|
619
|
+
to_schematic_port_id: z34.string().optional()
|
|
609
620
|
})
|
|
610
621
|
)
|
|
611
622
|
});
|
|
612
623
|
expectTypesMatch(true);
|
|
613
624
|
|
|
614
625
|
// src/schematic/schematic_text.ts
|
|
615
|
-
import { z as
|
|
616
|
-
var schematic_text =
|
|
617
|
-
type:
|
|
618
|
-
schematic_component_id:
|
|
619
|
-
schematic_text_id:
|
|
620
|
-
text:
|
|
621
|
-
position:
|
|
626
|
+
import { z as z35 } from "zod";
|
|
627
|
+
var schematic_text = z35.object({
|
|
628
|
+
type: z35.literal("schematic_text"),
|
|
629
|
+
schematic_component_id: z35.string(),
|
|
630
|
+
schematic_text_id: z35.string(),
|
|
631
|
+
text: z35.string(),
|
|
632
|
+
position: z35.object({
|
|
622
633
|
x: distance,
|
|
623
634
|
y: distance
|
|
624
635
|
}),
|
|
625
|
-
rotation:
|
|
626
|
-
anchor:
|
|
627
|
-
color:
|
|
636
|
+
rotation: z35.number().default(0),
|
|
637
|
+
anchor: z35.enum(["center", "left", "right", "top", "bottom"]).default("center"),
|
|
638
|
+
color: z35.string().default("#000000")
|
|
628
639
|
});
|
|
629
640
|
expectTypesMatch(true);
|
|
630
641
|
|
|
631
642
|
// src/schematic/schematic_port.ts
|
|
632
|
-
import { z as
|
|
633
|
-
var schematic_port =
|
|
634
|
-
type:
|
|
635
|
-
schematic_port_id:
|
|
636
|
-
source_port_id:
|
|
637
|
-
schematic_component_id:
|
|
643
|
+
import { z as z36 } from "zod";
|
|
644
|
+
var schematic_port = z36.object({
|
|
645
|
+
type: z36.literal("schematic_port"),
|
|
646
|
+
schematic_port_id: z36.string(),
|
|
647
|
+
source_port_id: z36.string(),
|
|
648
|
+
schematic_component_id: z36.string().optional(),
|
|
638
649
|
center: point,
|
|
639
|
-
facing_direction:
|
|
640
|
-
distance_from_component_edge:
|
|
641
|
-
side_of_component:
|
|
642
|
-
true_ccw_index:
|
|
643
|
-
pin_number:
|
|
644
|
-
display_pin_label:
|
|
650
|
+
facing_direction: z36.enum(["up", "down", "left", "right"]).optional(),
|
|
651
|
+
distance_from_component_edge: z36.number().optional(),
|
|
652
|
+
side_of_component: z36.enum(["top", "bottom", "left", "right"]).optional(),
|
|
653
|
+
true_ccw_index: z36.number().optional(),
|
|
654
|
+
pin_number: z36.number().optional(),
|
|
655
|
+
display_pin_label: z36.string().optional()
|
|
645
656
|
}).describe("Defines a port on a schematic component");
|
|
646
657
|
expectTypesMatch(true);
|
|
647
658
|
|
|
648
659
|
// src/schematic/schematic_net_label.ts
|
|
649
|
-
import { z as
|
|
650
|
-
var schematic_net_label =
|
|
651
|
-
type:
|
|
652
|
-
source_net_id:
|
|
660
|
+
import { z as z37 } from "zod";
|
|
661
|
+
var schematic_net_label = z37.object({
|
|
662
|
+
type: z37.literal("schematic_net_label"),
|
|
663
|
+
source_net_id: z37.string(),
|
|
653
664
|
center: point,
|
|
654
665
|
anchor_position: point.optional(),
|
|
655
|
-
anchor_side:
|
|
656
|
-
text:
|
|
657
|
-
symbol_name:
|
|
666
|
+
anchor_side: z37.enum(["top", "bottom", "left", "right"]),
|
|
667
|
+
text: z37.string(),
|
|
668
|
+
symbol_name: z37.string().optional()
|
|
658
669
|
});
|
|
659
670
|
|
|
660
671
|
// src/schematic/schematic_error.ts
|
|
661
|
-
import { z as
|
|
662
|
-
var schematic_error =
|
|
663
|
-
type:
|
|
664
|
-
schematic_error_id:
|
|
672
|
+
import { z as z38 } from "zod";
|
|
673
|
+
var schematic_error = z38.object({
|
|
674
|
+
type: z38.literal("schematic_error"),
|
|
675
|
+
schematic_error_id: z38.string(),
|
|
665
676
|
// eventually each error type should be broken out into a dir of files
|
|
666
|
-
error_type:
|
|
667
|
-
message:
|
|
677
|
+
error_type: z38.literal("schematic_port_not_found"),
|
|
678
|
+
message: z38.string()
|
|
668
679
|
}).describe("Defines a schematic error on the schematic");
|
|
669
680
|
expectTypesMatch(true);
|
|
670
681
|
|
|
671
682
|
// src/schematic/schematic_debug_object.ts
|
|
672
|
-
import { z as
|
|
673
|
-
var schematic_debug_object_base =
|
|
674
|
-
type:
|
|
675
|
-
label:
|
|
683
|
+
import { z as z39 } from "zod";
|
|
684
|
+
var schematic_debug_object_base = z39.object({
|
|
685
|
+
type: z39.literal("schematic_debug_object"),
|
|
686
|
+
label: z39.string().optional()
|
|
676
687
|
});
|
|
677
688
|
var schematic_debug_rect = schematic_debug_object_base.extend({
|
|
678
|
-
shape:
|
|
689
|
+
shape: z39.literal("rect"),
|
|
679
690
|
center: point,
|
|
680
691
|
size
|
|
681
692
|
});
|
|
682
693
|
var schematic_debug_line = schematic_debug_object_base.extend({
|
|
683
|
-
shape:
|
|
694
|
+
shape: z39.literal("line"),
|
|
684
695
|
start: point,
|
|
685
696
|
end: point
|
|
686
697
|
});
|
|
687
698
|
var schematic_debug_point = schematic_debug_object_base.extend({
|
|
688
|
-
shape:
|
|
699
|
+
shape: z39.literal("point"),
|
|
689
700
|
center: point
|
|
690
701
|
});
|
|
691
|
-
var schematic_debug_object =
|
|
702
|
+
var schematic_debug_object = z39.discriminatedUnion("shape", [
|
|
692
703
|
schematic_debug_rect,
|
|
693
704
|
schematic_debug_line,
|
|
694
705
|
schematic_debug_point
|
|
@@ -696,18 +707,18 @@ var schematic_debug_object = z38.discriminatedUnion("shape", [
|
|
|
696
707
|
expectTypesMatch(true);
|
|
697
708
|
|
|
698
709
|
// src/schematic/schematic_voltage_probe.ts
|
|
699
|
-
import { z as
|
|
700
|
-
var schematic_voltage_probe =
|
|
701
|
-
type:
|
|
702
|
-
schematic_voltage_probe_id:
|
|
710
|
+
import { z as z40 } from "zod";
|
|
711
|
+
var schematic_voltage_probe = z40.object({
|
|
712
|
+
type: z40.literal("schematic_voltage_probe"),
|
|
713
|
+
schematic_voltage_probe_id: z40.string(),
|
|
703
714
|
position: point,
|
|
704
|
-
schematic_trace_id:
|
|
715
|
+
schematic_trace_id: z40.string(),
|
|
705
716
|
voltage: voltage.optional()
|
|
706
717
|
}).describe("Defines a voltage probe measurement point on a schematic trace");
|
|
707
718
|
expectTypesMatch(true);
|
|
708
719
|
|
|
709
720
|
// src/pcb/properties/layer_ref.ts
|
|
710
|
-
import { z as
|
|
721
|
+
import { z as z41 } from "zod";
|
|
711
722
|
var all_layers = [
|
|
712
723
|
"top",
|
|
713
724
|
"bottom",
|
|
@@ -718,9 +729,9 @@ var all_layers = [
|
|
|
718
729
|
"inner5",
|
|
719
730
|
"inner6"
|
|
720
731
|
];
|
|
721
|
-
var layer_string =
|
|
732
|
+
var layer_string = z41.enum(all_layers);
|
|
722
733
|
var layer_ref = layer_string.or(
|
|
723
|
-
|
|
734
|
+
z41.object({
|
|
724
735
|
name: layer_string
|
|
725
736
|
})
|
|
726
737
|
).transform((layer) => {
|
|
@@ -729,34 +740,34 @@ var layer_ref = layer_string.or(
|
|
|
729
740
|
}
|
|
730
741
|
return layer.name;
|
|
731
742
|
});
|
|
732
|
-
var visible_layer =
|
|
743
|
+
var visible_layer = z41.enum(["top", "bottom"]);
|
|
733
744
|
|
|
734
745
|
// src/pcb/properties/pcb_route_hints.ts
|
|
735
|
-
import { z as
|
|
736
|
-
var pcb_route_hint =
|
|
746
|
+
import { z as z42 } from "zod";
|
|
747
|
+
var pcb_route_hint = z42.object({
|
|
737
748
|
x: distance,
|
|
738
749
|
y: distance,
|
|
739
|
-
via:
|
|
750
|
+
via: z42.boolean().optional(),
|
|
740
751
|
via_to_layer: layer_ref.optional()
|
|
741
752
|
});
|
|
742
|
-
var pcb_route_hints =
|
|
753
|
+
var pcb_route_hints = z42.array(pcb_route_hint);
|
|
743
754
|
|
|
744
755
|
// src/pcb/properties/route_hint_point.ts
|
|
745
|
-
import { z as
|
|
746
|
-
var route_hint_point =
|
|
756
|
+
import { z as z43 } from "zod";
|
|
757
|
+
var route_hint_point = z43.object({
|
|
747
758
|
x: distance,
|
|
748
759
|
y: distance,
|
|
749
|
-
via:
|
|
760
|
+
via: z43.boolean().optional(),
|
|
750
761
|
to_layer: layer_ref.optional(),
|
|
751
762
|
trace_width: distance.optional()
|
|
752
763
|
});
|
|
753
764
|
|
|
754
765
|
// src/pcb/pcb_component.ts
|
|
755
|
-
import { z as
|
|
756
|
-
var pcb_component =
|
|
757
|
-
type:
|
|
766
|
+
import { z as z44 } from "zod";
|
|
767
|
+
var pcb_component = z44.object({
|
|
768
|
+
type: z44.literal("pcb_component"),
|
|
758
769
|
pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
|
|
759
|
-
source_component_id:
|
|
770
|
+
source_component_id: z44.string(),
|
|
760
771
|
center: point,
|
|
761
772
|
layer: layer_ref,
|
|
762
773
|
rotation,
|
|
@@ -766,12 +777,12 @@ var pcb_component = z43.object({
|
|
|
766
777
|
expectTypesMatch(true);
|
|
767
778
|
|
|
768
779
|
// src/pcb/pcb_hole.ts
|
|
769
|
-
import { z as
|
|
770
|
-
var pcb_hole_circle_or_square =
|
|
771
|
-
type:
|
|
780
|
+
import { z as z45 } from "zod";
|
|
781
|
+
var pcb_hole_circle_or_square = z45.object({
|
|
782
|
+
type: z45.literal("pcb_hole"),
|
|
772
783
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
773
|
-
hole_shape:
|
|
774
|
-
hole_diameter:
|
|
784
|
+
hole_shape: z45.enum(["circle", "square"]),
|
|
785
|
+
hole_diameter: z45.number(),
|
|
775
786
|
x: distance,
|
|
776
787
|
y: distance
|
|
777
788
|
});
|
|
@@ -779,12 +790,12 @@ var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
|
|
|
779
790
|
"Defines a circular or square hole on the PCB"
|
|
780
791
|
);
|
|
781
792
|
expectTypesMatch(true);
|
|
782
|
-
var pcb_hole_oval =
|
|
783
|
-
type:
|
|
793
|
+
var pcb_hole_oval = z45.object({
|
|
794
|
+
type: z45.literal("pcb_hole"),
|
|
784
795
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
785
|
-
hole_shape:
|
|
786
|
-
hole_width:
|
|
787
|
-
hole_height:
|
|
796
|
+
hole_shape: z45.literal("oval"),
|
|
797
|
+
hole_width: z45.number(),
|
|
798
|
+
hole_height: z45.number(),
|
|
788
799
|
x: distance,
|
|
789
800
|
y: distance
|
|
790
801
|
});
|
|
@@ -795,52 +806,52 @@ expectTypesMatch(true);
|
|
|
795
806
|
var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval);
|
|
796
807
|
|
|
797
808
|
// src/pcb/pcb_plated_hole.ts
|
|
798
|
-
import { z as
|
|
799
|
-
var pcb_plated_hole_circle =
|
|
800
|
-
type:
|
|
801
|
-
shape:
|
|
802
|
-
outer_diameter:
|
|
803
|
-
hole_diameter:
|
|
809
|
+
import { z as z46 } from "zod";
|
|
810
|
+
var pcb_plated_hole_circle = z46.object({
|
|
811
|
+
type: z46.literal("pcb_plated_hole"),
|
|
812
|
+
shape: z46.literal("circle"),
|
|
813
|
+
outer_diameter: z46.number(),
|
|
814
|
+
hole_diameter: z46.number(),
|
|
804
815
|
x: distance,
|
|
805
816
|
y: distance,
|
|
806
|
-
layers:
|
|
807
|
-
port_hints:
|
|
808
|
-
pcb_component_id:
|
|
809
|
-
pcb_port_id:
|
|
817
|
+
layers: z46.array(layer_ref),
|
|
818
|
+
port_hints: z46.array(z46.string()).optional(),
|
|
819
|
+
pcb_component_id: z46.string().optional(),
|
|
820
|
+
pcb_port_id: z46.string().optional(),
|
|
810
821
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
811
822
|
});
|
|
812
|
-
var pcb_plated_hole_oval =
|
|
813
|
-
type:
|
|
814
|
-
shape:
|
|
815
|
-
outer_width:
|
|
816
|
-
outer_height:
|
|
817
|
-
hole_width:
|
|
818
|
-
hole_height:
|
|
823
|
+
var pcb_plated_hole_oval = z46.object({
|
|
824
|
+
type: z46.literal("pcb_plated_hole"),
|
|
825
|
+
shape: z46.enum(["oval", "pill"]),
|
|
826
|
+
outer_width: z46.number(),
|
|
827
|
+
outer_height: z46.number(),
|
|
828
|
+
hole_width: z46.number(),
|
|
829
|
+
hole_height: z46.number(),
|
|
819
830
|
x: distance,
|
|
820
831
|
y: distance,
|
|
821
|
-
layers:
|
|
822
|
-
port_hints:
|
|
823
|
-
pcb_component_id:
|
|
824
|
-
pcb_port_id:
|
|
832
|
+
layers: z46.array(layer_ref),
|
|
833
|
+
port_hints: z46.array(z46.string()).optional(),
|
|
834
|
+
pcb_component_id: z46.string().optional(),
|
|
835
|
+
pcb_port_id: z46.string().optional(),
|
|
825
836
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
826
837
|
});
|
|
827
|
-
var pcb_circular_hole_with_rect_pad =
|
|
828
|
-
type:
|
|
829
|
-
shape:
|
|
830
|
-
hole_shape:
|
|
831
|
-
pad_shape:
|
|
832
|
-
hole_diameter:
|
|
833
|
-
rect_pad_width:
|
|
834
|
-
rect_pad_height:
|
|
838
|
+
var pcb_circular_hole_with_rect_pad = z46.object({
|
|
839
|
+
type: z46.literal("pcb_plated_hole"),
|
|
840
|
+
shape: z46.literal("circular_hole_with_rect_pad"),
|
|
841
|
+
hole_shape: z46.literal("circle"),
|
|
842
|
+
pad_shape: z46.literal("rect"),
|
|
843
|
+
hole_diameter: z46.number(),
|
|
844
|
+
rect_pad_width: z46.number(),
|
|
845
|
+
rect_pad_height: z46.number(),
|
|
835
846
|
x: distance,
|
|
836
847
|
y: distance,
|
|
837
|
-
layers:
|
|
838
|
-
port_hints:
|
|
839
|
-
pcb_component_id:
|
|
840
|
-
pcb_port_id:
|
|
848
|
+
layers: z46.array(layer_ref),
|
|
849
|
+
port_hints: z46.array(z46.string()).optional(),
|
|
850
|
+
pcb_component_id: z46.string().optional(),
|
|
851
|
+
pcb_port_id: z46.string().optional(),
|
|
841
852
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
842
853
|
});
|
|
843
|
-
var pcb_plated_hole =
|
|
854
|
+
var pcb_plated_hole = z46.union([
|
|
844
855
|
pcb_plated_hole_circle,
|
|
845
856
|
pcb_plated_hole_oval,
|
|
846
857
|
pcb_circular_hole_with_rect_pad
|
|
@@ -852,157 +863,157 @@ expectTypesMatch(true);
|
|
|
852
863
|
expectTypesMatch(true);
|
|
853
864
|
|
|
854
865
|
// src/pcb/pcb_port.ts
|
|
855
|
-
import { z as
|
|
856
|
-
var pcb_port =
|
|
857
|
-
type:
|
|
866
|
+
import { z as z47 } from "zod";
|
|
867
|
+
var pcb_port = z47.object({
|
|
868
|
+
type: z47.literal("pcb_port"),
|
|
858
869
|
pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
|
|
859
|
-
source_port_id:
|
|
860
|
-
pcb_component_id:
|
|
870
|
+
source_port_id: z47.string(),
|
|
871
|
+
pcb_component_id: z47.string(),
|
|
861
872
|
x: distance,
|
|
862
873
|
y: distance,
|
|
863
|
-
layers:
|
|
874
|
+
layers: z47.array(layer_ref)
|
|
864
875
|
}).describe("Defines a port on the PCB");
|
|
865
876
|
expectTypesMatch(true);
|
|
866
877
|
|
|
867
878
|
// src/pcb/pcb_smtpad.ts
|
|
868
|
-
import { z as
|
|
869
|
-
var pcb_smtpad_circle =
|
|
870
|
-
type:
|
|
871
|
-
shape:
|
|
879
|
+
import { z as z48 } from "zod";
|
|
880
|
+
var pcb_smtpad_circle = z48.object({
|
|
881
|
+
type: z48.literal("pcb_smtpad"),
|
|
882
|
+
shape: z48.literal("circle"),
|
|
872
883
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
873
884
|
x: distance,
|
|
874
885
|
y: distance,
|
|
875
|
-
radius:
|
|
886
|
+
radius: z48.number(),
|
|
876
887
|
layer: layer_ref,
|
|
877
|
-
port_hints:
|
|
878
|
-
pcb_component_id:
|
|
879
|
-
pcb_port_id:
|
|
888
|
+
port_hints: z48.array(z48.string()).optional(),
|
|
889
|
+
pcb_component_id: z48.string().optional(),
|
|
890
|
+
pcb_port_id: z48.string().optional()
|
|
880
891
|
});
|
|
881
|
-
var pcb_smtpad_rect =
|
|
882
|
-
type:
|
|
883
|
-
shape:
|
|
892
|
+
var pcb_smtpad_rect = z48.object({
|
|
893
|
+
type: z48.literal("pcb_smtpad"),
|
|
894
|
+
shape: z48.literal("rect"),
|
|
884
895
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
885
896
|
x: distance,
|
|
886
897
|
y: distance,
|
|
887
|
-
width:
|
|
888
|
-
height:
|
|
898
|
+
width: z48.number(),
|
|
899
|
+
height: z48.number(),
|
|
889
900
|
layer: layer_ref,
|
|
890
|
-
port_hints:
|
|
891
|
-
pcb_component_id:
|
|
892
|
-
pcb_port_id:
|
|
901
|
+
port_hints: z48.array(z48.string()).optional(),
|
|
902
|
+
pcb_component_id: z48.string().optional(),
|
|
903
|
+
pcb_port_id: z48.string().optional()
|
|
893
904
|
});
|
|
894
|
-
var pcb_smtpad_rotated_rect =
|
|
895
|
-
type:
|
|
896
|
-
shape:
|
|
905
|
+
var pcb_smtpad_rotated_rect = z48.object({
|
|
906
|
+
type: z48.literal("pcb_smtpad"),
|
|
907
|
+
shape: z48.literal("rotated_rect"),
|
|
897
908
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
898
909
|
x: distance,
|
|
899
910
|
y: distance,
|
|
900
|
-
width:
|
|
901
|
-
height:
|
|
911
|
+
width: z48.number(),
|
|
912
|
+
height: z48.number(),
|
|
902
913
|
ccw_rotation: rotation,
|
|
903
914
|
layer: layer_ref,
|
|
904
|
-
port_hints:
|
|
905
|
-
pcb_component_id:
|
|
906
|
-
pcb_port_id:
|
|
915
|
+
port_hints: z48.array(z48.string()).optional(),
|
|
916
|
+
pcb_component_id: z48.string().optional(),
|
|
917
|
+
pcb_port_id: z48.string().optional()
|
|
907
918
|
});
|
|
908
|
-
var pcb_smtpad =
|
|
919
|
+
var pcb_smtpad = z48.union([pcb_smtpad_circle, pcb_smtpad_rect, pcb_smtpad_rotated_rect]).describe("Defines an SMT pad on the PCB");
|
|
909
920
|
expectTypesMatch(true);
|
|
910
921
|
expectTypesMatch(true);
|
|
911
922
|
expectTypesMatch(true);
|
|
912
923
|
|
|
913
924
|
// src/pcb/pcb_solder_paste.ts
|
|
914
|
-
import { z as
|
|
915
|
-
var pcb_solder_paste_circle =
|
|
916
|
-
type:
|
|
917
|
-
shape:
|
|
925
|
+
import { z as z49 } from "zod";
|
|
926
|
+
var pcb_solder_paste_circle = z49.object({
|
|
927
|
+
type: z49.literal("pcb_solder_paste"),
|
|
928
|
+
shape: z49.literal("circle"),
|
|
918
929
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
919
930
|
x: distance,
|
|
920
931
|
y: distance,
|
|
921
|
-
radius:
|
|
932
|
+
radius: z49.number(),
|
|
922
933
|
layer: layer_ref,
|
|
923
|
-
pcb_component_id:
|
|
924
|
-
pcb_smtpad_id:
|
|
934
|
+
pcb_component_id: z49.string().optional(),
|
|
935
|
+
pcb_smtpad_id: z49.string().optional()
|
|
925
936
|
});
|
|
926
|
-
var pcb_solder_paste_rect =
|
|
927
|
-
type:
|
|
928
|
-
shape:
|
|
937
|
+
var pcb_solder_paste_rect = z49.object({
|
|
938
|
+
type: z49.literal("pcb_solder_paste"),
|
|
939
|
+
shape: z49.literal("rect"),
|
|
929
940
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
930
941
|
x: distance,
|
|
931
942
|
y: distance,
|
|
932
|
-
width:
|
|
933
|
-
height:
|
|
943
|
+
width: z49.number(),
|
|
944
|
+
height: z49.number(),
|
|
934
945
|
layer: layer_ref,
|
|
935
|
-
pcb_component_id:
|
|
936
|
-
pcb_smtpad_id:
|
|
946
|
+
pcb_component_id: z49.string().optional(),
|
|
947
|
+
pcb_smtpad_id: z49.string().optional()
|
|
937
948
|
});
|
|
938
|
-
var pcb_solder_paste =
|
|
949
|
+
var pcb_solder_paste = z49.union([pcb_solder_paste_circle, pcb_solder_paste_rect]).describe("Defines solderpaste on the PCB");
|
|
939
950
|
expectTypesMatch(true);
|
|
940
951
|
expectTypesMatch(true);
|
|
941
952
|
|
|
942
953
|
// src/pcb/pcb_text.ts
|
|
943
|
-
import { z as
|
|
944
|
-
var pcb_text =
|
|
945
|
-
type:
|
|
954
|
+
import { z as z50 } from "zod";
|
|
955
|
+
var pcb_text = z50.object({
|
|
956
|
+
type: z50.literal("pcb_text"),
|
|
946
957
|
pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
|
|
947
|
-
text:
|
|
958
|
+
text: z50.string(),
|
|
948
959
|
center: point,
|
|
949
960
|
layer: layer_ref,
|
|
950
961
|
width: length,
|
|
951
962
|
height: length,
|
|
952
|
-
lines:
|
|
963
|
+
lines: z50.number(),
|
|
953
964
|
// @ts-ignore
|
|
954
|
-
align:
|
|
965
|
+
align: z50.enum(["bottom-left"])
|
|
955
966
|
}).describe("Defines text on the PCB");
|
|
956
967
|
expectTypesMatch(true);
|
|
957
968
|
|
|
958
969
|
// src/pcb/pcb_trace.ts
|
|
959
|
-
import { z as
|
|
960
|
-
var pcb_trace_route_point_wire =
|
|
961
|
-
route_type:
|
|
970
|
+
import { z as z51 } from "zod";
|
|
971
|
+
var pcb_trace_route_point_wire = z51.object({
|
|
972
|
+
route_type: z51.literal("wire"),
|
|
962
973
|
x: distance,
|
|
963
974
|
y: distance,
|
|
964
975
|
width: distance,
|
|
965
|
-
start_pcb_port_id:
|
|
966
|
-
end_pcb_port_id:
|
|
976
|
+
start_pcb_port_id: z51.string().optional(),
|
|
977
|
+
end_pcb_port_id: z51.string().optional(),
|
|
967
978
|
layer: layer_ref
|
|
968
979
|
});
|
|
969
|
-
var pcb_trace_route_point_via =
|
|
970
|
-
route_type:
|
|
980
|
+
var pcb_trace_route_point_via = z51.object({
|
|
981
|
+
route_type: z51.literal("via"),
|
|
971
982
|
x: distance,
|
|
972
983
|
y: distance,
|
|
973
|
-
from_layer:
|
|
974
|
-
to_layer:
|
|
984
|
+
from_layer: z51.string(),
|
|
985
|
+
to_layer: z51.string()
|
|
975
986
|
});
|
|
976
|
-
var pcb_trace_route_point =
|
|
987
|
+
var pcb_trace_route_point = z51.union([
|
|
977
988
|
pcb_trace_route_point_wire,
|
|
978
989
|
pcb_trace_route_point_via
|
|
979
990
|
]);
|
|
980
|
-
var pcb_trace =
|
|
981
|
-
type:
|
|
982
|
-
source_trace_id:
|
|
983
|
-
pcb_component_id:
|
|
991
|
+
var pcb_trace = z51.object({
|
|
992
|
+
type: z51.literal("pcb_trace"),
|
|
993
|
+
source_trace_id: z51.string().optional(),
|
|
994
|
+
pcb_component_id: z51.string().optional(),
|
|
984
995
|
pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
|
|
985
|
-
route_thickness_mode:
|
|
986
|
-
route_order_index:
|
|
987
|
-
should_round_corners:
|
|
988
|
-
trace_length:
|
|
989
|
-
route:
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
route_type:
|
|
996
|
+
route_thickness_mode: z51.enum(["constant", "interpolated"]).default("constant").optional(),
|
|
997
|
+
route_order_index: z51.number().optional(),
|
|
998
|
+
should_round_corners: z51.boolean().optional(),
|
|
999
|
+
trace_length: z51.number().optional(),
|
|
1000
|
+
route: z51.array(
|
|
1001
|
+
z51.union([
|
|
1002
|
+
z51.object({
|
|
1003
|
+
route_type: z51.literal("wire"),
|
|
993
1004
|
x: distance,
|
|
994
1005
|
y: distance,
|
|
995
1006
|
width: distance,
|
|
996
|
-
start_pcb_port_id:
|
|
997
|
-
end_pcb_port_id:
|
|
1007
|
+
start_pcb_port_id: z51.string().optional(),
|
|
1008
|
+
end_pcb_port_id: z51.string().optional(),
|
|
998
1009
|
layer: layer_ref
|
|
999
1010
|
}),
|
|
1000
|
-
|
|
1001
|
-
route_type:
|
|
1011
|
+
z51.object({
|
|
1012
|
+
route_type: z51.literal("via"),
|
|
1002
1013
|
x: distance,
|
|
1003
1014
|
y: distance,
|
|
1004
|
-
from_layer:
|
|
1005
|
-
to_layer:
|
|
1015
|
+
from_layer: z51.string(),
|
|
1016
|
+
to_layer: z51.string()
|
|
1006
1017
|
})
|
|
1007
1018
|
])
|
|
1008
1019
|
)
|
|
@@ -1011,34 +1022,34 @@ expectTypesMatch(true);
|
|
|
1011
1022
|
expectTypesMatch(true);
|
|
1012
1023
|
|
|
1013
1024
|
// src/pcb/pcb_trace_error.ts
|
|
1014
|
-
import { z as
|
|
1015
|
-
var pcb_trace_error =
|
|
1016
|
-
type:
|
|
1025
|
+
import { z as z52 } from "zod";
|
|
1026
|
+
var pcb_trace_error = z52.object({
|
|
1027
|
+
type: z52.literal("pcb_trace_error"),
|
|
1017
1028
|
pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
|
|
1018
|
-
error_type:
|
|
1019
|
-
message:
|
|
1029
|
+
error_type: z52.literal("pcb_trace_error"),
|
|
1030
|
+
message: z52.string(),
|
|
1020
1031
|
center: point.optional(),
|
|
1021
|
-
pcb_trace_id:
|
|
1022
|
-
source_trace_id:
|
|
1023
|
-
pcb_component_ids:
|
|
1024
|
-
pcb_port_ids:
|
|
1032
|
+
pcb_trace_id: z52.string(),
|
|
1033
|
+
source_trace_id: z52.string(),
|
|
1034
|
+
pcb_component_ids: z52.array(z52.string()),
|
|
1035
|
+
pcb_port_ids: z52.array(z52.string())
|
|
1025
1036
|
}).describe("Defines a trace error on the PCB");
|
|
1026
1037
|
expectTypesMatch(true);
|
|
1027
1038
|
|
|
1028
1039
|
// src/pcb/pcb_port_not_matched_error.ts
|
|
1029
|
-
import { z as
|
|
1030
|
-
var pcb_port_not_matched_error =
|
|
1031
|
-
type:
|
|
1040
|
+
import { z as z53 } from "zod";
|
|
1041
|
+
var pcb_port_not_matched_error = z53.object({
|
|
1042
|
+
type: z53.literal("pcb_port_not_matched_error"),
|
|
1032
1043
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
1033
|
-
message:
|
|
1034
|
-
pcb_component_ids:
|
|
1044
|
+
message: z53.string(),
|
|
1045
|
+
pcb_component_ids: z53.array(z53.string())
|
|
1035
1046
|
}).describe("Defines a trace error on the PCB where a port is not matched");
|
|
1036
1047
|
expectTypesMatch(true);
|
|
1037
1048
|
|
|
1038
1049
|
// src/pcb/pcb_via.ts
|
|
1039
|
-
import { z as
|
|
1040
|
-
var pcb_via =
|
|
1041
|
-
type:
|
|
1050
|
+
import { z as z54 } from "zod";
|
|
1051
|
+
var pcb_via = z54.object({
|
|
1052
|
+
type: z54.literal("pcb_via"),
|
|
1042
1053
|
pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
|
|
1043
1054
|
x: distance,
|
|
1044
1055
|
y: distance,
|
|
@@ -1048,51 +1059,51 @@ var pcb_via = z53.object({
|
|
|
1048
1059
|
from_layer: layer_ref.optional(),
|
|
1049
1060
|
/** @deprecated */
|
|
1050
1061
|
to_layer: layer_ref.optional(),
|
|
1051
|
-
layers:
|
|
1052
|
-
pcb_trace_id:
|
|
1062
|
+
layers: z54.array(layer_ref),
|
|
1063
|
+
pcb_trace_id: z54.string().optional()
|
|
1053
1064
|
}).describe("Defines a via on the PCB");
|
|
1054
1065
|
expectTypesMatch(true);
|
|
1055
1066
|
|
|
1056
1067
|
// src/pcb/pcb_board.ts
|
|
1057
|
-
import { z as
|
|
1058
|
-
var pcb_board =
|
|
1059
|
-
type:
|
|
1068
|
+
import { z as z55 } from "zod";
|
|
1069
|
+
var pcb_board = z55.object({
|
|
1070
|
+
type: z55.literal("pcb_board"),
|
|
1060
1071
|
pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
|
|
1061
1072
|
width: length,
|
|
1062
1073
|
height: length,
|
|
1063
1074
|
center: point,
|
|
1064
1075
|
thickness: length.optional().default(1.4),
|
|
1065
|
-
num_layers:
|
|
1066
|
-
outline:
|
|
1076
|
+
num_layers: z55.number().optional().default(4),
|
|
1077
|
+
outline: z55.array(point).optional()
|
|
1067
1078
|
}).describe("Defines the board outline of the PCB");
|
|
1068
1079
|
expectTypesMatch(true);
|
|
1069
1080
|
|
|
1070
1081
|
// src/pcb/pcb_placement_error.ts
|
|
1071
|
-
import { z as
|
|
1072
|
-
var pcb_placement_error =
|
|
1073
|
-
type:
|
|
1082
|
+
import { z as z56 } from "zod";
|
|
1083
|
+
var pcb_placement_error = z56.object({
|
|
1084
|
+
type: z56.literal("pcb_placement_error"),
|
|
1074
1085
|
pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
|
|
1075
|
-
message:
|
|
1086
|
+
message: z56.string()
|
|
1076
1087
|
}).describe("Defines a placement error on the PCB");
|
|
1077
1088
|
expectTypesMatch(true);
|
|
1078
1089
|
|
|
1079
1090
|
// src/pcb/pcb_trace_hint.ts
|
|
1080
|
-
import { z as
|
|
1081
|
-
var pcb_trace_hint =
|
|
1082
|
-
type:
|
|
1091
|
+
import { z as z57 } from "zod";
|
|
1092
|
+
var pcb_trace_hint = z57.object({
|
|
1093
|
+
type: z57.literal("pcb_trace_hint"),
|
|
1083
1094
|
pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
|
|
1084
|
-
pcb_port_id:
|
|
1085
|
-
pcb_component_id:
|
|
1086
|
-
route:
|
|
1095
|
+
pcb_port_id: z57.string(),
|
|
1096
|
+
pcb_component_id: z57.string(),
|
|
1097
|
+
route: z57.array(route_hint_point)
|
|
1087
1098
|
}).describe("A hint that can be used during generation of a PCB trace");
|
|
1088
1099
|
expectTypesMatch(true);
|
|
1089
1100
|
|
|
1090
1101
|
// src/pcb/pcb_silkscreen_line.ts
|
|
1091
|
-
import { z as
|
|
1092
|
-
var pcb_silkscreen_line =
|
|
1093
|
-
type:
|
|
1102
|
+
import { z as z58 } from "zod";
|
|
1103
|
+
var pcb_silkscreen_line = z58.object({
|
|
1104
|
+
type: z58.literal("pcb_silkscreen_line"),
|
|
1094
1105
|
pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
|
|
1095
|
-
pcb_component_id:
|
|
1106
|
+
pcb_component_id: z58.string(),
|
|
1096
1107
|
stroke_width: distance.default("0.1mm"),
|
|
1097
1108
|
x1: distance,
|
|
1098
1109
|
y1: distance,
|
|
@@ -1103,40 +1114,40 @@ var pcb_silkscreen_line = z57.object({
|
|
|
1103
1114
|
expectTypesMatch(true);
|
|
1104
1115
|
|
|
1105
1116
|
// src/pcb/pcb_silkscreen_path.ts
|
|
1106
|
-
import { z as
|
|
1107
|
-
var pcb_silkscreen_path =
|
|
1108
|
-
type:
|
|
1117
|
+
import { z as z59 } from "zod";
|
|
1118
|
+
var pcb_silkscreen_path = z59.object({
|
|
1119
|
+
type: z59.literal("pcb_silkscreen_path"),
|
|
1109
1120
|
pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
|
|
1110
|
-
pcb_component_id:
|
|
1121
|
+
pcb_component_id: z59.string(),
|
|
1111
1122
|
layer: visible_layer,
|
|
1112
|
-
route:
|
|
1123
|
+
route: z59.array(point),
|
|
1113
1124
|
stroke_width: length
|
|
1114
1125
|
}).describe("Defines a silkscreen path on the PCB");
|
|
1115
1126
|
expectTypesMatch(true);
|
|
1116
1127
|
|
|
1117
1128
|
// src/pcb/pcb_silkscreen_text.ts
|
|
1118
|
-
import { z as
|
|
1119
|
-
var pcb_silkscreen_text =
|
|
1120
|
-
type:
|
|
1129
|
+
import { z as z60 } from "zod";
|
|
1130
|
+
var pcb_silkscreen_text = z60.object({
|
|
1131
|
+
type: z60.literal("pcb_silkscreen_text"),
|
|
1121
1132
|
pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
|
|
1122
|
-
font:
|
|
1133
|
+
font: z60.literal("tscircuit2024").default("tscircuit2024"),
|
|
1123
1134
|
font_size: distance.default("0.2mm"),
|
|
1124
|
-
pcb_component_id:
|
|
1125
|
-
text:
|
|
1126
|
-
ccw_rotation:
|
|
1135
|
+
pcb_component_id: z60.string(),
|
|
1136
|
+
text: z60.string(),
|
|
1137
|
+
ccw_rotation: z60.number().optional(),
|
|
1127
1138
|
layer: layer_ref,
|
|
1128
|
-
is_mirrored:
|
|
1139
|
+
is_mirrored: z60.boolean().default(false).optional(),
|
|
1129
1140
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
1130
|
-
anchor_alignment:
|
|
1141
|
+
anchor_alignment: z60.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center")
|
|
1131
1142
|
}).describe("Defines silkscreen text on the PCB");
|
|
1132
1143
|
expectTypesMatch(true);
|
|
1133
1144
|
|
|
1134
1145
|
// src/pcb/pcb_silkscreen_rect.ts
|
|
1135
|
-
import { z as
|
|
1136
|
-
var pcb_silkscreen_rect =
|
|
1137
|
-
type:
|
|
1146
|
+
import { z as z61 } from "zod";
|
|
1147
|
+
var pcb_silkscreen_rect = z61.object({
|
|
1148
|
+
type: z61.literal("pcb_silkscreen_rect"),
|
|
1138
1149
|
pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
|
|
1139
|
-
pcb_component_id:
|
|
1150
|
+
pcb_component_id: z61.string(),
|
|
1140
1151
|
center: point,
|
|
1141
1152
|
width: length,
|
|
1142
1153
|
height: length,
|
|
@@ -1145,13 +1156,13 @@ var pcb_silkscreen_rect = z60.object({
|
|
|
1145
1156
|
expectTypesMatch(true);
|
|
1146
1157
|
|
|
1147
1158
|
// src/pcb/pcb_silkscreen_circle.ts
|
|
1148
|
-
import { z as
|
|
1149
|
-
var pcb_silkscreen_circle =
|
|
1150
|
-
type:
|
|
1159
|
+
import { z as z62 } from "zod";
|
|
1160
|
+
var pcb_silkscreen_circle = z62.object({
|
|
1161
|
+
type: z62.literal("pcb_silkscreen_circle"),
|
|
1151
1162
|
pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
|
|
1152
1163
|
"pcb_silkscreen_circle"
|
|
1153
1164
|
),
|
|
1154
|
-
pcb_component_id:
|
|
1165
|
+
pcb_component_id: z62.string(),
|
|
1155
1166
|
center: point,
|
|
1156
1167
|
radius: length,
|
|
1157
1168
|
layer: visible_layer
|
|
@@ -1159,11 +1170,11 @@ var pcb_silkscreen_circle = z61.object({
|
|
|
1159
1170
|
expectTypesMatch(true);
|
|
1160
1171
|
|
|
1161
1172
|
// src/pcb/pcb_silkscreen_oval.ts
|
|
1162
|
-
import { z as
|
|
1163
|
-
var pcb_silkscreen_oval =
|
|
1164
|
-
type:
|
|
1173
|
+
import { z as z63 } from "zod";
|
|
1174
|
+
var pcb_silkscreen_oval = z63.object({
|
|
1175
|
+
type: z63.literal("pcb_silkscreen_oval"),
|
|
1165
1176
|
pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
|
|
1166
|
-
pcb_component_id:
|
|
1177
|
+
pcb_component_id: z63.string(),
|
|
1167
1178
|
center: point,
|
|
1168
1179
|
radius_x: distance,
|
|
1169
1180
|
radius_y: distance,
|
|
@@ -1172,133 +1183,133 @@ var pcb_silkscreen_oval = z62.object({
|
|
|
1172
1183
|
expectTypesMatch(true);
|
|
1173
1184
|
|
|
1174
1185
|
// src/pcb/pcb_fabrication_note_text.ts
|
|
1175
|
-
import { z as
|
|
1176
|
-
var pcb_fabrication_note_text =
|
|
1177
|
-
type:
|
|
1186
|
+
import { z as z64 } from "zod";
|
|
1187
|
+
var pcb_fabrication_note_text = z64.object({
|
|
1188
|
+
type: z64.literal("pcb_fabrication_note_text"),
|
|
1178
1189
|
pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
|
|
1179
1190
|
"pcb_fabrication_note_text"
|
|
1180
1191
|
),
|
|
1181
|
-
font:
|
|
1192
|
+
font: z64.literal("tscircuit2024").default("tscircuit2024"),
|
|
1182
1193
|
font_size: distance.default("1mm"),
|
|
1183
|
-
pcb_component_id:
|
|
1184
|
-
text:
|
|
1194
|
+
pcb_component_id: z64.string(),
|
|
1195
|
+
text: z64.string(),
|
|
1185
1196
|
layer: visible_layer,
|
|
1186
1197
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
1187
|
-
anchor_alignment:
|
|
1188
|
-
color:
|
|
1198
|
+
anchor_alignment: z64.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
1199
|
+
color: z64.string().optional()
|
|
1189
1200
|
}).describe(
|
|
1190
1201
|
"Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
|
|
1191
1202
|
);
|
|
1192
1203
|
expectTypesMatch(true);
|
|
1193
1204
|
|
|
1194
1205
|
// src/pcb/pcb_fabrication_note_path.ts
|
|
1195
|
-
import { z as
|
|
1196
|
-
var pcb_fabrication_note_path =
|
|
1197
|
-
type:
|
|
1206
|
+
import { z as z65 } from "zod";
|
|
1207
|
+
var pcb_fabrication_note_path = z65.object({
|
|
1208
|
+
type: z65.literal("pcb_fabrication_note_path"),
|
|
1198
1209
|
pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
|
|
1199
1210
|
"pcb_fabrication_note_path"
|
|
1200
1211
|
),
|
|
1201
|
-
pcb_component_id:
|
|
1212
|
+
pcb_component_id: z65.string(),
|
|
1202
1213
|
layer: layer_ref,
|
|
1203
|
-
route:
|
|
1214
|
+
route: z65.array(point),
|
|
1204
1215
|
stroke_width: length,
|
|
1205
|
-
color:
|
|
1216
|
+
color: z65.string().optional()
|
|
1206
1217
|
}).describe(
|
|
1207
1218
|
"Defines a fabrication path on the PCB for fabricators or assemblers"
|
|
1208
1219
|
);
|
|
1209
1220
|
expectTypesMatch(true);
|
|
1210
1221
|
|
|
1211
1222
|
// src/pcb/pcb_keepout.ts
|
|
1212
|
-
import { z as
|
|
1213
|
-
var pcb_keepout =
|
|
1214
|
-
type:
|
|
1215
|
-
shape:
|
|
1223
|
+
import { z as z66 } from "zod";
|
|
1224
|
+
var pcb_keepout = z66.object({
|
|
1225
|
+
type: z66.literal("pcb_keepout"),
|
|
1226
|
+
shape: z66.literal("rect"),
|
|
1216
1227
|
center: point,
|
|
1217
1228
|
width: distance,
|
|
1218
1229
|
height: distance,
|
|
1219
|
-
pcb_keepout_id:
|
|
1220
|
-
layers:
|
|
1230
|
+
pcb_keepout_id: z66.string(),
|
|
1231
|
+
layers: z66.array(z66.string()),
|
|
1221
1232
|
// Specify layers where the keepout applies
|
|
1222
|
-
description:
|
|
1233
|
+
description: z66.string().optional()
|
|
1223
1234
|
// Optional description of the keepout
|
|
1224
1235
|
}).or(
|
|
1225
|
-
|
|
1226
|
-
type:
|
|
1227
|
-
shape:
|
|
1236
|
+
z66.object({
|
|
1237
|
+
type: z66.literal("pcb_keepout"),
|
|
1238
|
+
shape: z66.literal("circle"),
|
|
1228
1239
|
center: point,
|
|
1229
1240
|
radius: distance,
|
|
1230
|
-
pcb_keepout_id:
|
|
1231
|
-
layers:
|
|
1241
|
+
pcb_keepout_id: z66.string(),
|
|
1242
|
+
layers: z66.array(z66.string()),
|
|
1232
1243
|
// Specify layers where the keepout applies
|
|
1233
|
-
description:
|
|
1244
|
+
description: z66.string().optional()
|
|
1234
1245
|
// Optional description of the keepout
|
|
1235
1246
|
})
|
|
1236
1247
|
);
|
|
1237
1248
|
|
|
1238
1249
|
// src/pcb/pcb_missing_footprint_error.ts
|
|
1239
|
-
import { z as
|
|
1240
|
-
var pcb_missing_footprint_error =
|
|
1241
|
-
type:
|
|
1250
|
+
import { z as z67 } from "zod";
|
|
1251
|
+
var pcb_missing_footprint_error = z67.object({
|
|
1252
|
+
type: z67.literal("pcb_missing_footprint_error"),
|
|
1242
1253
|
pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
|
|
1243
1254
|
"pcb_missing_footprint_error"
|
|
1244
1255
|
),
|
|
1245
|
-
error_type:
|
|
1246
|
-
source_component_id:
|
|
1247
|
-
message:
|
|
1256
|
+
error_type: z67.literal("pcb_missing_footprint_error"),
|
|
1257
|
+
source_component_id: z67.string(),
|
|
1258
|
+
message: z67.string()
|
|
1248
1259
|
}).describe("Defines a missing footprint error on the PCB");
|
|
1249
1260
|
expectTypesMatch(
|
|
1250
1261
|
true
|
|
1251
1262
|
);
|
|
1252
1263
|
|
|
1253
1264
|
// src/pcb/pcb_manual_edit_conflict_error.ts
|
|
1254
|
-
import { z as
|
|
1255
|
-
var pcb_manual_edit_conflict_error =
|
|
1256
|
-
type:
|
|
1265
|
+
import { z as z68 } from "zod";
|
|
1266
|
+
var pcb_manual_edit_conflict_error = z68.object({
|
|
1267
|
+
type: z68.literal("pcb_manual_edit_conflict_error"),
|
|
1257
1268
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_manual_edit_conflict_error"),
|
|
1258
|
-
message:
|
|
1259
|
-
pcb_component_id:
|
|
1260
|
-
source_component_id:
|
|
1269
|
+
message: z68.string(),
|
|
1270
|
+
pcb_component_id: z68.string(),
|
|
1271
|
+
source_component_id: z68.string()
|
|
1261
1272
|
}).describe(
|
|
1262
1273
|
"Error emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
|
|
1263
1274
|
);
|
|
1264
1275
|
expectTypesMatch(true);
|
|
1265
1276
|
|
|
1266
1277
|
// src/pcb/pcb_group.ts
|
|
1267
|
-
import { z as
|
|
1268
|
-
var pcb_group =
|
|
1269
|
-
type:
|
|
1278
|
+
import { z as z69 } from "zod";
|
|
1279
|
+
var pcb_group = z69.object({
|
|
1280
|
+
type: z69.literal("pcb_group"),
|
|
1270
1281
|
pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
|
|
1271
1282
|
width: length,
|
|
1272
1283
|
height: length,
|
|
1273
1284
|
center: point,
|
|
1274
|
-
pcb_component_ids:
|
|
1275
|
-
name:
|
|
1276
|
-
description:
|
|
1285
|
+
pcb_component_ids: z69.array(z69.string()),
|
|
1286
|
+
name: z69.string().optional(),
|
|
1287
|
+
description: z69.string().optional()
|
|
1277
1288
|
}).describe("Defines a group of components on the PCB");
|
|
1278
1289
|
expectTypesMatch(true);
|
|
1279
1290
|
|
|
1280
1291
|
// src/cad/cad_component.ts
|
|
1281
|
-
import { z as
|
|
1282
|
-
var cad_component =
|
|
1283
|
-
type:
|
|
1284
|
-
cad_component_id:
|
|
1285
|
-
pcb_component_id:
|
|
1286
|
-
source_component_id:
|
|
1292
|
+
import { z as z70 } from "zod";
|
|
1293
|
+
var cad_component = z70.object({
|
|
1294
|
+
type: z70.literal("cad_component"),
|
|
1295
|
+
cad_component_id: z70.string(),
|
|
1296
|
+
pcb_component_id: z70.string(),
|
|
1297
|
+
source_component_id: z70.string(),
|
|
1287
1298
|
position: point3,
|
|
1288
1299
|
rotation: point3.optional(),
|
|
1289
1300
|
size: point3.optional(),
|
|
1290
1301
|
layer: layer_ref.optional(),
|
|
1291
1302
|
// These are all ways to generate/load the 3d model
|
|
1292
|
-
footprinter_string:
|
|
1293
|
-
model_obj_url:
|
|
1294
|
-
model_stl_url:
|
|
1295
|
-
model_3mf_url:
|
|
1296
|
-
model_jscad:
|
|
1303
|
+
footprinter_string: z70.string().optional(),
|
|
1304
|
+
model_obj_url: z70.string().optional(),
|
|
1305
|
+
model_stl_url: z70.string().optional(),
|
|
1306
|
+
model_3mf_url: z70.string().optional(),
|
|
1307
|
+
model_jscad: z70.any().optional()
|
|
1297
1308
|
}).describe("Defines a component on the PCB");
|
|
1298
1309
|
|
|
1299
1310
|
// src/any_circuit_element.ts
|
|
1300
|
-
import { z as
|
|
1301
|
-
var any_circuit_element =
|
|
1311
|
+
import { z as z71 } from "zod";
|
|
1312
|
+
var any_circuit_element = z71.union([
|
|
1302
1313
|
source_trace,
|
|
1303
1314
|
source_port,
|
|
1304
1315
|
any_source_component,
|
|
@@ -1316,6 +1327,7 @@ var any_circuit_element = z70.union([
|
|
|
1316
1327
|
source_simple_pin_header,
|
|
1317
1328
|
source_simple_resonator,
|
|
1318
1329
|
source_simple_transistor,
|
|
1330
|
+
source_simple_mosfet,
|
|
1319
1331
|
source_simple_potentiometer,
|
|
1320
1332
|
source_simple_push_button,
|
|
1321
1333
|
pcb_component,
|
|
@@ -1447,6 +1459,7 @@ export {
|
|
|
1447
1459
|
source_simple_diode,
|
|
1448
1460
|
source_simple_ground,
|
|
1449
1461
|
source_simple_inductor,
|
|
1462
|
+
source_simple_mosfet,
|
|
1450
1463
|
source_simple_pin_header,
|
|
1451
1464
|
source_simple_potentiometer,
|
|
1452
1465
|
source_simple_power_source,
|