circuit-json 0.0.149 → 0.0.150
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/dist/index.d.mts +25 -1
- package/dist/index.mjs +455 -445
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -514,11 +514,20 @@ var source_net = z30.object({
|
|
|
514
514
|
subcircuit_id: z30.string().optional()
|
|
515
515
|
});
|
|
516
516
|
|
|
517
|
-
// src/
|
|
517
|
+
// src/source/source_project_metadata.ts
|
|
518
518
|
import { z as z31 } from "zod";
|
|
519
|
-
var
|
|
520
|
-
type: z31.literal("
|
|
521
|
-
|
|
519
|
+
var project_metadata = z31.object({
|
|
520
|
+
type: z31.literal("source_project_metadata"),
|
|
521
|
+
name: z31.string().optional(),
|
|
522
|
+
software_used_string: z31.string().optional(),
|
|
523
|
+
created_at: z31.string().datetime().optional()
|
|
524
|
+
});
|
|
525
|
+
|
|
526
|
+
// src/schematic/schematic_box.ts
|
|
527
|
+
import { z as z32 } from "zod";
|
|
528
|
+
var schematic_box = z32.object({
|
|
529
|
+
type: z32.literal("schematic_box"),
|
|
530
|
+
schematic_component_id: z32.string(),
|
|
522
531
|
width: distance,
|
|
523
532
|
height: distance,
|
|
524
533
|
x: distance,
|
|
@@ -527,81 +536,81 @@ var schematic_box = z31.object({
|
|
|
527
536
|
expectTypesMatch(true);
|
|
528
537
|
|
|
529
538
|
// src/schematic/schematic_path.ts
|
|
530
|
-
import { z as
|
|
531
|
-
var schematic_path =
|
|
532
|
-
type:
|
|
533
|
-
schematic_component_id:
|
|
534
|
-
fill_color:
|
|
535
|
-
is_filled:
|
|
536
|
-
points:
|
|
539
|
+
import { z as z33 } from "zod";
|
|
540
|
+
var schematic_path = z33.object({
|
|
541
|
+
type: z33.literal("schematic_path"),
|
|
542
|
+
schematic_component_id: z33.string(),
|
|
543
|
+
fill_color: z33.enum(["red", "blue"]).optional(),
|
|
544
|
+
is_filled: z33.boolean().optional(),
|
|
545
|
+
points: z33.array(point)
|
|
537
546
|
});
|
|
538
547
|
expectTypesMatch(true);
|
|
539
548
|
|
|
540
549
|
// src/schematic/schematic_component.ts
|
|
541
|
-
import { z as
|
|
542
|
-
var schematic_pin_styles =
|
|
543
|
-
|
|
550
|
+
import { z as z34 } from "zod";
|
|
551
|
+
var schematic_pin_styles = z34.record(
|
|
552
|
+
z34.object({
|
|
544
553
|
left_margin: length.optional(),
|
|
545
554
|
right_margin: length.optional(),
|
|
546
555
|
top_margin: length.optional(),
|
|
547
556
|
bottom_margin: length.optional()
|
|
548
557
|
})
|
|
549
558
|
);
|
|
550
|
-
var schematic_component_port_arrangement_by_size =
|
|
551
|
-
left_size:
|
|
552
|
-
right_size:
|
|
553
|
-
top_size:
|
|
554
|
-
bottom_size:
|
|
559
|
+
var schematic_component_port_arrangement_by_size = z34.object({
|
|
560
|
+
left_size: z34.number(),
|
|
561
|
+
right_size: z34.number(),
|
|
562
|
+
top_size: z34.number().optional(),
|
|
563
|
+
bottom_size: z34.number().optional()
|
|
555
564
|
});
|
|
556
565
|
expectTypesMatch(true);
|
|
557
|
-
var schematic_component_port_arrangement_by_sides =
|
|
558
|
-
left_side:
|
|
559
|
-
pins:
|
|
566
|
+
var schematic_component_port_arrangement_by_sides = z34.object({
|
|
567
|
+
left_side: z34.object({
|
|
568
|
+
pins: z34.array(z34.number()),
|
|
560
569
|
// @ts-ignore
|
|
561
|
-
direction:
|
|
570
|
+
direction: z34.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
562
571
|
}).optional(),
|
|
563
|
-
right_side:
|
|
564
|
-
pins:
|
|
572
|
+
right_side: z34.object({
|
|
573
|
+
pins: z34.array(z34.number()),
|
|
565
574
|
// @ts-ignore
|
|
566
|
-
direction:
|
|
575
|
+
direction: z34.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
567
576
|
}).optional(),
|
|
568
|
-
top_side:
|
|
569
|
-
pins:
|
|
577
|
+
top_side: z34.object({
|
|
578
|
+
pins: z34.array(z34.number()),
|
|
570
579
|
// @ts-ignore
|
|
571
|
-
direction:
|
|
580
|
+
direction: z34.enum(["left-to-right", "right-to-left"]).optional()
|
|
572
581
|
}).optional(),
|
|
573
|
-
bottom_side:
|
|
574
|
-
pins:
|
|
582
|
+
bottom_side: z34.object({
|
|
583
|
+
pins: z34.array(z34.number()),
|
|
575
584
|
// @ts-ignore
|
|
576
|
-
direction:
|
|
585
|
+
direction: z34.enum(["left-to-right", "right-to-left"]).optional()
|
|
577
586
|
}).optional()
|
|
578
587
|
});
|
|
579
588
|
expectTypesMatch(true);
|
|
580
|
-
var port_arrangement =
|
|
589
|
+
var port_arrangement = z34.union([
|
|
581
590
|
schematic_component_port_arrangement_by_size,
|
|
582
591
|
schematic_component_port_arrangement_by_sides
|
|
583
592
|
]);
|
|
584
|
-
var schematic_component =
|
|
585
|
-
type:
|
|
593
|
+
var schematic_component = z34.object({
|
|
594
|
+
type: z34.literal("schematic_component"),
|
|
586
595
|
size,
|
|
587
596
|
center: point,
|
|
588
|
-
source_component_id:
|
|
589
|
-
schematic_component_id:
|
|
597
|
+
source_component_id: z34.string(),
|
|
598
|
+
schematic_component_id: z34.string(),
|
|
590
599
|
pin_spacing: length.optional(),
|
|
591
600
|
pin_styles: schematic_pin_styles.optional(),
|
|
592
601
|
box_width: length.optional(),
|
|
593
|
-
symbol_name:
|
|
602
|
+
symbol_name: z34.string().optional(),
|
|
594
603
|
port_arrangement: port_arrangement.optional(),
|
|
595
|
-
port_labels:
|
|
596
|
-
symbol_display_value:
|
|
604
|
+
port_labels: z34.record(z34.string()).optional(),
|
|
605
|
+
symbol_display_value: z34.string().optional()
|
|
597
606
|
});
|
|
598
607
|
expectTypesMatch(true);
|
|
599
608
|
|
|
600
609
|
// src/schematic/schematic_line.ts
|
|
601
|
-
import { z as
|
|
602
|
-
var schematic_line =
|
|
603
|
-
type:
|
|
604
|
-
schematic_component_id:
|
|
610
|
+
import { z as z35 } from "zod";
|
|
611
|
+
var schematic_line = z35.object({
|
|
612
|
+
type: z35.literal("schematic_line"),
|
|
613
|
+
schematic_component_id: z35.string(),
|
|
605
614
|
x1: distance,
|
|
606
615
|
x2: distance,
|
|
607
616
|
y1: distance,
|
|
@@ -610,113 +619,113 @@ var schematic_line = z34.object({
|
|
|
610
619
|
expectTypesMatch(true);
|
|
611
620
|
|
|
612
621
|
// src/schematic/schematic_trace.ts
|
|
613
|
-
import { z as
|
|
614
|
-
var schematic_trace =
|
|
615
|
-
type:
|
|
616
|
-
schematic_trace_id:
|
|
617
|
-
source_trace_id:
|
|
618
|
-
junctions:
|
|
619
|
-
|
|
620
|
-
x:
|
|
621
|
-
y:
|
|
622
|
+
import { z as z36 } from "zod";
|
|
623
|
+
var schematic_trace = z36.object({
|
|
624
|
+
type: z36.literal("schematic_trace"),
|
|
625
|
+
schematic_trace_id: z36.string(),
|
|
626
|
+
source_trace_id: z36.string(),
|
|
627
|
+
junctions: z36.array(
|
|
628
|
+
z36.object({
|
|
629
|
+
x: z36.number(),
|
|
630
|
+
y: z36.number()
|
|
622
631
|
})
|
|
623
632
|
),
|
|
624
|
-
edges:
|
|
625
|
-
|
|
626
|
-
from:
|
|
627
|
-
x:
|
|
628
|
-
y:
|
|
633
|
+
edges: z36.array(
|
|
634
|
+
z36.object({
|
|
635
|
+
from: z36.object({
|
|
636
|
+
x: z36.number(),
|
|
637
|
+
y: z36.number()
|
|
629
638
|
}),
|
|
630
|
-
to:
|
|
631
|
-
x:
|
|
632
|
-
y:
|
|
639
|
+
to: z36.object({
|
|
640
|
+
x: z36.number(),
|
|
641
|
+
y: z36.number()
|
|
633
642
|
}),
|
|
634
|
-
is_crossing:
|
|
635
|
-
from_schematic_port_id:
|
|
636
|
-
to_schematic_port_id:
|
|
643
|
+
is_crossing: z36.boolean().optional(),
|
|
644
|
+
from_schematic_port_id: z36.string().optional(),
|
|
645
|
+
to_schematic_port_id: z36.string().optional()
|
|
637
646
|
})
|
|
638
647
|
)
|
|
639
648
|
});
|
|
640
649
|
expectTypesMatch(true);
|
|
641
650
|
|
|
642
651
|
// src/schematic/schematic_text.ts
|
|
643
|
-
import { z as
|
|
644
|
-
var schematic_text =
|
|
645
|
-
type:
|
|
646
|
-
schematic_component_id:
|
|
647
|
-
schematic_text_id:
|
|
648
|
-
text:
|
|
649
|
-
position:
|
|
652
|
+
import { z as z37 } from "zod";
|
|
653
|
+
var schematic_text = z37.object({
|
|
654
|
+
type: z37.literal("schematic_text"),
|
|
655
|
+
schematic_component_id: z37.string(),
|
|
656
|
+
schematic_text_id: z37.string(),
|
|
657
|
+
text: z37.string(),
|
|
658
|
+
position: z37.object({
|
|
650
659
|
x: distance,
|
|
651
660
|
y: distance
|
|
652
661
|
}),
|
|
653
|
-
rotation:
|
|
654
|
-
anchor:
|
|
655
|
-
color:
|
|
662
|
+
rotation: z37.number().default(0),
|
|
663
|
+
anchor: z37.enum(["center", "left", "right", "top", "bottom"]).default("center"),
|
|
664
|
+
color: z37.string().default("#000000")
|
|
656
665
|
});
|
|
657
666
|
expectTypesMatch(true);
|
|
658
667
|
|
|
659
668
|
// src/schematic/schematic_port.ts
|
|
660
|
-
import { z as
|
|
661
|
-
var schematic_port =
|
|
662
|
-
type:
|
|
663
|
-
schematic_port_id:
|
|
664
|
-
source_port_id:
|
|
665
|
-
schematic_component_id:
|
|
669
|
+
import { z as z38 } from "zod";
|
|
670
|
+
var schematic_port = z38.object({
|
|
671
|
+
type: z38.literal("schematic_port"),
|
|
672
|
+
schematic_port_id: z38.string(),
|
|
673
|
+
source_port_id: z38.string(),
|
|
674
|
+
schematic_component_id: z38.string().optional(),
|
|
666
675
|
center: point,
|
|
667
|
-
facing_direction:
|
|
668
|
-
distance_from_component_edge:
|
|
669
|
-
side_of_component:
|
|
670
|
-
true_ccw_index:
|
|
671
|
-
pin_number:
|
|
672
|
-
display_pin_label:
|
|
676
|
+
facing_direction: z38.enum(["up", "down", "left", "right"]).optional(),
|
|
677
|
+
distance_from_component_edge: z38.number().optional(),
|
|
678
|
+
side_of_component: z38.enum(["top", "bottom", "left", "right"]).optional(),
|
|
679
|
+
true_ccw_index: z38.number().optional(),
|
|
680
|
+
pin_number: z38.number().optional(),
|
|
681
|
+
display_pin_label: z38.string().optional()
|
|
673
682
|
}).describe("Defines a port on a schematic component");
|
|
674
683
|
expectTypesMatch(true);
|
|
675
684
|
|
|
676
685
|
// src/schematic/schematic_net_label.ts
|
|
677
|
-
import { z as
|
|
678
|
-
var schematic_net_label =
|
|
679
|
-
type:
|
|
680
|
-
source_net_id:
|
|
686
|
+
import { z as z39 } from "zod";
|
|
687
|
+
var schematic_net_label = z39.object({
|
|
688
|
+
type: z39.literal("schematic_net_label"),
|
|
689
|
+
source_net_id: z39.string(),
|
|
681
690
|
center: point,
|
|
682
691
|
anchor_position: point.optional(),
|
|
683
|
-
anchor_side:
|
|
684
|
-
text:
|
|
685
|
-
symbol_name:
|
|
692
|
+
anchor_side: z39.enum(["top", "bottom", "left", "right"]),
|
|
693
|
+
text: z39.string(),
|
|
694
|
+
symbol_name: z39.string().optional()
|
|
686
695
|
});
|
|
687
696
|
|
|
688
697
|
// src/schematic/schematic_error.ts
|
|
689
|
-
import { z as
|
|
690
|
-
var schematic_error =
|
|
691
|
-
type:
|
|
692
|
-
schematic_error_id:
|
|
698
|
+
import { z as z40 } from "zod";
|
|
699
|
+
var schematic_error = z40.object({
|
|
700
|
+
type: z40.literal("schematic_error"),
|
|
701
|
+
schematic_error_id: z40.string(),
|
|
693
702
|
// eventually each error type should be broken out into a dir of files
|
|
694
|
-
error_type:
|
|
695
|
-
message:
|
|
703
|
+
error_type: z40.literal("schematic_port_not_found"),
|
|
704
|
+
message: z40.string()
|
|
696
705
|
}).describe("Defines a schematic error on the schematic");
|
|
697
706
|
expectTypesMatch(true);
|
|
698
707
|
|
|
699
708
|
// src/schematic/schematic_debug_object.ts
|
|
700
|
-
import { z as
|
|
701
|
-
var schematic_debug_object_base =
|
|
702
|
-
type:
|
|
703
|
-
label:
|
|
709
|
+
import { z as z41 } from "zod";
|
|
710
|
+
var schematic_debug_object_base = z41.object({
|
|
711
|
+
type: z41.literal("schematic_debug_object"),
|
|
712
|
+
label: z41.string().optional()
|
|
704
713
|
});
|
|
705
714
|
var schematic_debug_rect = schematic_debug_object_base.extend({
|
|
706
|
-
shape:
|
|
715
|
+
shape: z41.literal("rect"),
|
|
707
716
|
center: point,
|
|
708
717
|
size
|
|
709
718
|
});
|
|
710
719
|
var schematic_debug_line = schematic_debug_object_base.extend({
|
|
711
|
-
shape:
|
|
720
|
+
shape: z41.literal("line"),
|
|
712
721
|
start: point,
|
|
713
722
|
end: point
|
|
714
723
|
});
|
|
715
724
|
var schematic_debug_point = schematic_debug_object_base.extend({
|
|
716
|
-
shape:
|
|
725
|
+
shape: z41.literal("point"),
|
|
717
726
|
center: point
|
|
718
727
|
});
|
|
719
|
-
var schematic_debug_object =
|
|
728
|
+
var schematic_debug_object = z41.discriminatedUnion("shape", [
|
|
720
729
|
schematic_debug_rect,
|
|
721
730
|
schematic_debug_line,
|
|
722
731
|
schematic_debug_point
|
|
@@ -724,18 +733,18 @@ var schematic_debug_object = z40.discriminatedUnion("shape", [
|
|
|
724
733
|
expectTypesMatch(true);
|
|
725
734
|
|
|
726
735
|
// src/schematic/schematic_voltage_probe.ts
|
|
727
|
-
import { z as
|
|
728
|
-
var schematic_voltage_probe =
|
|
729
|
-
type:
|
|
730
|
-
schematic_voltage_probe_id:
|
|
736
|
+
import { z as z42 } from "zod";
|
|
737
|
+
var schematic_voltage_probe = z42.object({
|
|
738
|
+
type: z42.literal("schematic_voltage_probe"),
|
|
739
|
+
schematic_voltage_probe_id: z42.string(),
|
|
731
740
|
position: point,
|
|
732
|
-
schematic_trace_id:
|
|
741
|
+
schematic_trace_id: z42.string(),
|
|
733
742
|
voltage: voltage.optional()
|
|
734
743
|
}).describe("Defines a voltage probe measurement point on a schematic trace");
|
|
735
744
|
expectTypesMatch(true);
|
|
736
745
|
|
|
737
746
|
// src/pcb/properties/layer_ref.ts
|
|
738
|
-
import { z as
|
|
747
|
+
import { z as z43 } from "zod";
|
|
739
748
|
var all_layers = [
|
|
740
749
|
"top",
|
|
741
750
|
"bottom",
|
|
@@ -746,9 +755,9 @@ var all_layers = [
|
|
|
746
755
|
"inner5",
|
|
747
756
|
"inner6"
|
|
748
757
|
];
|
|
749
|
-
var layer_string =
|
|
758
|
+
var layer_string = z43.enum(all_layers);
|
|
750
759
|
var layer_ref = layer_string.or(
|
|
751
|
-
|
|
760
|
+
z43.object({
|
|
752
761
|
name: layer_string
|
|
753
762
|
})
|
|
754
763
|
).transform((layer) => {
|
|
@@ -757,52 +766,52 @@ var layer_ref = layer_string.or(
|
|
|
757
766
|
}
|
|
758
767
|
return layer.name;
|
|
759
768
|
});
|
|
760
|
-
var visible_layer =
|
|
769
|
+
var visible_layer = z43.enum(["top", "bottom"]);
|
|
761
770
|
|
|
762
771
|
// src/pcb/properties/pcb_route_hints.ts
|
|
763
|
-
import { z as
|
|
764
|
-
var pcb_route_hint =
|
|
772
|
+
import { z as z44 } from "zod";
|
|
773
|
+
var pcb_route_hint = z44.object({
|
|
765
774
|
x: distance,
|
|
766
775
|
y: distance,
|
|
767
|
-
via:
|
|
776
|
+
via: z44.boolean().optional(),
|
|
768
777
|
via_to_layer: layer_ref.optional()
|
|
769
778
|
});
|
|
770
|
-
var pcb_route_hints =
|
|
779
|
+
var pcb_route_hints = z44.array(pcb_route_hint);
|
|
771
780
|
|
|
772
781
|
// src/pcb/properties/route_hint_point.ts
|
|
773
|
-
import { z as
|
|
774
|
-
var route_hint_point =
|
|
782
|
+
import { z as z45 } from "zod";
|
|
783
|
+
var route_hint_point = z45.object({
|
|
775
784
|
x: distance,
|
|
776
785
|
y: distance,
|
|
777
|
-
via:
|
|
786
|
+
via: z45.boolean().optional(),
|
|
778
787
|
to_layer: layer_ref.optional(),
|
|
779
788
|
trace_width: distance.optional()
|
|
780
789
|
});
|
|
781
790
|
|
|
782
791
|
// src/pcb/pcb_component.ts
|
|
783
|
-
import { z as
|
|
784
|
-
var pcb_component =
|
|
785
|
-
type:
|
|
792
|
+
import { z as z46 } from "zod";
|
|
793
|
+
var pcb_component = z46.object({
|
|
794
|
+
type: z46.literal("pcb_component"),
|
|
786
795
|
pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
|
|
787
|
-
source_component_id:
|
|
796
|
+
source_component_id: z46.string(),
|
|
788
797
|
center: point,
|
|
789
798
|
layer: layer_ref,
|
|
790
799
|
rotation,
|
|
791
800
|
width: length,
|
|
792
801
|
height: length,
|
|
793
|
-
subcircuit_id:
|
|
802
|
+
subcircuit_id: z46.string().optional()
|
|
794
803
|
}).describe("Defines a component on the PCB");
|
|
795
804
|
expectTypesMatch(true);
|
|
796
805
|
|
|
797
806
|
// src/pcb/pcb_hole.ts
|
|
798
|
-
import { z as
|
|
799
|
-
var pcb_hole_circle_or_square =
|
|
800
|
-
type:
|
|
807
|
+
import { z as z47 } from "zod";
|
|
808
|
+
var pcb_hole_circle_or_square = z47.object({
|
|
809
|
+
type: z47.literal("pcb_hole"),
|
|
801
810
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
802
|
-
pcb_group_id:
|
|
803
|
-
subcircuit_id:
|
|
804
|
-
hole_shape:
|
|
805
|
-
hole_diameter:
|
|
811
|
+
pcb_group_id: z47.string().optional(),
|
|
812
|
+
subcircuit_id: z47.string().optional(),
|
|
813
|
+
hole_shape: z47.enum(["circle", "square"]),
|
|
814
|
+
hole_diameter: z47.number(),
|
|
806
815
|
x: distance,
|
|
807
816
|
y: distance
|
|
808
817
|
});
|
|
@@ -810,14 +819,14 @@ var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
|
|
|
810
819
|
"Defines a circular or square hole on the PCB"
|
|
811
820
|
);
|
|
812
821
|
expectTypesMatch(true);
|
|
813
|
-
var pcb_hole_oval =
|
|
814
|
-
type:
|
|
822
|
+
var pcb_hole_oval = z47.object({
|
|
823
|
+
type: z47.literal("pcb_hole"),
|
|
815
824
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
816
|
-
pcb_group_id:
|
|
817
|
-
subcircuit_id:
|
|
818
|
-
hole_shape:
|
|
819
|
-
hole_width:
|
|
820
|
-
hole_height:
|
|
825
|
+
pcb_group_id: z47.string().optional(),
|
|
826
|
+
subcircuit_id: z47.string().optional(),
|
|
827
|
+
hole_shape: z47.literal("oval"),
|
|
828
|
+
hole_width: z47.number(),
|
|
829
|
+
hole_height: z47.number(),
|
|
821
830
|
x: distance,
|
|
822
831
|
y: distance
|
|
823
832
|
});
|
|
@@ -828,58 +837,58 @@ expectTypesMatch(true);
|
|
|
828
837
|
var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval);
|
|
829
838
|
|
|
830
839
|
// src/pcb/pcb_plated_hole.ts
|
|
831
|
-
import { z as
|
|
832
|
-
var pcb_plated_hole_circle =
|
|
833
|
-
type:
|
|
834
|
-
shape:
|
|
835
|
-
pcb_group_id:
|
|
836
|
-
subcircuit_id:
|
|
837
|
-
outer_diameter:
|
|
838
|
-
hole_diameter:
|
|
840
|
+
import { z as z48 } from "zod";
|
|
841
|
+
var pcb_plated_hole_circle = z48.object({
|
|
842
|
+
type: z48.literal("pcb_plated_hole"),
|
|
843
|
+
shape: z48.literal("circle"),
|
|
844
|
+
pcb_group_id: z48.string().optional(),
|
|
845
|
+
subcircuit_id: z48.string().optional(),
|
|
846
|
+
outer_diameter: z48.number(),
|
|
847
|
+
hole_diameter: z48.number(),
|
|
839
848
|
x: distance,
|
|
840
849
|
y: distance,
|
|
841
|
-
layers:
|
|
842
|
-
port_hints:
|
|
843
|
-
pcb_component_id:
|
|
844
|
-
pcb_port_id:
|
|
850
|
+
layers: z48.array(layer_ref),
|
|
851
|
+
port_hints: z48.array(z48.string()).optional(),
|
|
852
|
+
pcb_component_id: z48.string().optional(),
|
|
853
|
+
pcb_port_id: z48.string().optional(),
|
|
845
854
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
846
855
|
});
|
|
847
|
-
var pcb_plated_hole_oval =
|
|
848
|
-
type:
|
|
849
|
-
shape:
|
|
850
|
-
pcb_group_id:
|
|
851
|
-
subcircuit_id:
|
|
852
|
-
outer_width:
|
|
853
|
-
outer_height:
|
|
854
|
-
hole_width:
|
|
855
|
-
hole_height:
|
|
856
|
+
var pcb_plated_hole_oval = z48.object({
|
|
857
|
+
type: z48.literal("pcb_plated_hole"),
|
|
858
|
+
shape: z48.enum(["oval", "pill"]),
|
|
859
|
+
pcb_group_id: z48.string().optional(),
|
|
860
|
+
subcircuit_id: z48.string().optional(),
|
|
861
|
+
outer_width: z48.number(),
|
|
862
|
+
outer_height: z48.number(),
|
|
863
|
+
hole_width: z48.number(),
|
|
864
|
+
hole_height: z48.number(),
|
|
856
865
|
x: distance,
|
|
857
866
|
y: distance,
|
|
858
|
-
layers:
|
|
859
|
-
port_hints:
|
|
860
|
-
pcb_component_id:
|
|
861
|
-
pcb_port_id:
|
|
867
|
+
layers: z48.array(layer_ref),
|
|
868
|
+
port_hints: z48.array(z48.string()).optional(),
|
|
869
|
+
pcb_component_id: z48.string().optional(),
|
|
870
|
+
pcb_port_id: z48.string().optional(),
|
|
862
871
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
863
872
|
});
|
|
864
|
-
var pcb_circular_hole_with_rect_pad =
|
|
865
|
-
type:
|
|
866
|
-
shape:
|
|
867
|
-
pcb_group_id:
|
|
868
|
-
subcircuit_id:
|
|
869
|
-
hole_shape:
|
|
870
|
-
pad_shape:
|
|
871
|
-
hole_diameter:
|
|
872
|
-
rect_pad_width:
|
|
873
|
-
rect_pad_height:
|
|
873
|
+
var pcb_circular_hole_with_rect_pad = z48.object({
|
|
874
|
+
type: z48.literal("pcb_plated_hole"),
|
|
875
|
+
shape: z48.literal("circular_hole_with_rect_pad"),
|
|
876
|
+
pcb_group_id: z48.string().optional(),
|
|
877
|
+
subcircuit_id: z48.string().optional(),
|
|
878
|
+
hole_shape: z48.literal("circle"),
|
|
879
|
+
pad_shape: z48.literal("rect"),
|
|
880
|
+
hole_diameter: z48.number(),
|
|
881
|
+
rect_pad_width: z48.number(),
|
|
882
|
+
rect_pad_height: z48.number(),
|
|
874
883
|
x: distance,
|
|
875
884
|
y: distance,
|
|
876
|
-
layers:
|
|
877
|
-
port_hints:
|
|
878
|
-
pcb_component_id:
|
|
879
|
-
pcb_port_id:
|
|
885
|
+
layers: z48.array(layer_ref),
|
|
886
|
+
port_hints: z48.array(z48.string()).optional(),
|
|
887
|
+
pcb_component_id: z48.string().optional(),
|
|
888
|
+
pcb_port_id: z48.string().optional(),
|
|
880
889
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
881
890
|
});
|
|
882
|
-
var pcb_plated_hole =
|
|
891
|
+
var pcb_plated_hole = z48.union([
|
|
883
892
|
pcb_plated_hole_circle,
|
|
884
893
|
pcb_plated_hole_oval,
|
|
885
894
|
pcb_circular_hole_with_rect_pad
|
|
@@ -891,84 +900,84 @@ expectTypesMatch(true);
|
|
|
891
900
|
expectTypesMatch(true);
|
|
892
901
|
|
|
893
902
|
// src/pcb/pcb_port.ts
|
|
894
|
-
import { z as
|
|
895
|
-
var pcb_port =
|
|
896
|
-
type:
|
|
903
|
+
import { z as z49 } from "zod";
|
|
904
|
+
var pcb_port = z49.object({
|
|
905
|
+
type: z49.literal("pcb_port"),
|
|
897
906
|
pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
|
|
898
|
-
pcb_group_id:
|
|
899
|
-
subcircuit_id:
|
|
900
|
-
source_port_id:
|
|
901
|
-
pcb_component_id:
|
|
907
|
+
pcb_group_id: z49.string().optional(),
|
|
908
|
+
subcircuit_id: z49.string().optional(),
|
|
909
|
+
source_port_id: z49.string(),
|
|
910
|
+
pcb_component_id: z49.string(),
|
|
902
911
|
x: distance,
|
|
903
912
|
y: distance,
|
|
904
|
-
layers:
|
|
913
|
+
layers: z49.array(layer_ref)
|
|
905
914
|
}).describe("Defines a port on the PCB");
|
|
906
915
|
expectTypesMatch(true);
|
|
907
916
|
|
|
908
917
|
// src/pcb/pcb_smtpad.ts
|
|
909
|
-
import { z as
|
|
910
|
-
var pcb_smtpad_circle =
|
|
911
|
-
type:
|
|
912
|
-
shape:
|
|
918
|
+
import { z as z50 } from "zod";
|
|
919
|
+
var pcb_smtpad_circle = z50.object({
|
|
920
|
+
type: z50.literal("pcb_smtpad"),
|
|
921
|
+
shape: z50.literal("circle"),
|
|
913
922
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
914
|
-
pcb_group_id:
|
|
915
|
-
subcircuit_id:
|
|
923
|
+
pcb_group_id: z50.string().optional(),
|
|
924
|
+
subcircuit_id: z50.string().optional(),
|
|
916
925
|
x: distance,
|
|
917
926
|
y: distance,
|
|
918
|
-
radius:
|
|
927
|
+
radius: z50.number(),
|
|
919
928
|
layer: layer_ref,
|
|
920
|
-
port_hints:
|
|
921
|
-
pcb_component_id:
|
|
922
|
-
pcb_port_id:
|
|
929
|
+
port_hints: z50.array(z50.string()).optional(),
|
|
930
|
+
pcb_component_id: z50.string().optional(),
|
|
931
|
+
pcb_port_id: z50.string().optional()
|
|
923
932
|
});
|
|
924
|
-
var pcb_smtpad_rect =
|
|
925
|
-
type:
|
|
926
|
-
shape:
|
|
933
|
+
var pcb_smtpad_rect = z50.object({
|
|
934
|
+
type: z50.literal("pcb_smtpad"),
|
|
935
|
+
shape: z50.literal("rect"),
|
|
927
936
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
928
|
-
pcb_group_id:
|
|
929
|
-
subcircuit_id:
|
|
937
|
+
pcb_group_id: z50.string().optional(),
|
|
938
|
+
subcircuit_id: z50.string().optional(),
|
|
930
939
|
x: distance,
|
|
931
940
|
y: distance,
|
|
932
|
-
width:
|
|
933
|
-
height:
|
|
941
|
+
width: z50.number(),
|
|
942
|
+
height: z50.number(),
|
|
934
943
|
layer: layer_ref,
|
|
935
|
-
port_hints:
|
|
936
|
-
pcb_component_id:
|
|
937
|
-
pcb_port_id:
|
|
944
|
+
port_hints: z50.array(z50.string()).optional(),
|
|
945
|
+
pcb_component_id: z50.string().optional(),
|
|
946
|
+
pcb_port_id: z50.string().optional()
|
|
938
947
|
});
|
|
939
|
-
var pcb_smtpad_rotated_rect =
|
|
940
|
-
type:
|
|
941
|
-
shape:
|
|
948
|
+
var pcb_smtpad_rotated_rect = z50.object({
|
|
949
|
+
type: z50.literal("pcb_smtpad"),
|
|
950
|
+
shape: z50.literal("rotated_rect"),
|
|
942
951
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
943
|
-
pcb_group_id:
|
|
944
|
-
subcircuit_id:
|
|
952
|
+
pcb_group_id: z50.string().optional(),
|
|
953
|
+
subcircuit_id: z50.string().optional(),
|
|
945
954
|
x: distance,
|
|
946
955
|
y: distance,
|
|
947
|
-
width:
|
|
948
|
-
height:
|
|
956
|
+
width: z50.number(),
|
|
957
|
+
height: z50.number(),
|
|
949
958
|
ccw_rotation: rotation,
|
|
950
959
|
layer: layer_ref,
|
|
951
|
-
port_hints:
|
|
952
|
-
pcb_component_id:
|
|
953
|
-
pcb_port_id:
|
|
960
|
+
port_hints: z50.array(z50.string()).optional(),
|
|
961
|
+
pcb_component_id: z50.string().optional(),
|
|
962
|
+
pcb_port_id: z50.string().optional()
|
|
954
963
|
});
|
|
955
|
-
var pcb_smtpad_pill =
|
|
956
|
-
type:
|
|
957
|
-
shape:
|
|
964
|
+
var pcb_smtpad_pill = z50.object({
|
|
965
|
+
type: z50.literal("pcb_smtpad"),
|
|
966
|
+
shape: z50.literal("pill"),
|
|
958
967
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
959
|
-
pcb_group_id:
|
|
960
|
-
subcircuit_id:
|
|
968
|
+
pcb_group_id: z50.string().optional(),
|
|
969
|
+
subcircuit_id: z50.string().optional(),
|
|
961
970
|
x: distance,
|
|
962
971
|
y: distance,
|
|
963
|
-
width:
|
|
964
|
-
height:
|
|
965
|
-
radius:
|
|
972
|
+
width: z50.number(),
|
|
973
|
+
height: z50.number(),
|
|
974
|
+
radius: z50.number(),
|
|
966
975
|
layer: layer_ref,
|
|
967
|
-
port_hints:
|
|
968
|
-
pcb_component_id:
|
|
969
|
-
pcb_port_id:
|
|
976
|
+
port_hints: z50.array(z50.string()).optional(),
|
|
977
|
+
pcb_component_id: z50.string().optional(),
|
|
978
|
+
pcb_port_id: z50.string().optional()
|
|
970
979
|
});
|
|
971
|
-
var pcb_smtpad =
|
|
980
|
+
var pcb_smtpad = z50.union([
|
|
972
981
|
pcb_smtpad_circle,
|
|
973
982
|
pcb_smtpad_rect,
|
|
974
983
|
pcb_smtpad_rotated_rect,
|
|
@@ -980,106 +989,106 @@ expectTypesMatch(true);
|
|
|
980
989
|
expectTypesMatch(true);
|
|
981
990
|
|
|
982
991
|
// src/pcb/pcb_solder_paste.ts
|
|
983
|
-
import { z as
|
|
984
|
-
var pcb_solder_paste_circle =
|
|
985
|
-
type:
|
|
986
|
-
shape:
|
|
992
|
+
import { z as z51 } from "zod";
|
|
993
|
+
var pcb_solder_paste_circle = z51.object({
|
|
994
|
+
type: z51.literal("pcb_solder_paste"),
|
|
995
|
+
shape: z51.literal("circle"),
|
|
987
996
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
988
|
-
pcb_group_id:
|
|
989
|
-
subcircuit_id:
|
|
997
|
+
pcb_group_id: z51.string().optional(),
|
|
998
|
+
subcircuit_id: z51.string().optional(),
|
|
990
999
|
x: distance,
|
|
991
1000
|
y: distance,
|
|
992
|
-
radius:
|
|
1001
|
+
radius: z51.number(),
|
|
993
1002
|
layer: layer_ref,
|
|
994
|
-
pcb_component_id:
|
|
995
|
-
pcb_smtpad_id:
|
|
1003
|
+
pcb_component_id: z51.string().optional(),
|
|
1004
|
+
pcb_smtpad_id: z51.string().optional()
|
|
996
1005
|
});
|
|
997
|
-
var pcb_solder_paste_rect =
|
|
998
|
-
type:
|
|
999
|
-
shape:
|
|
1006
|
+
var pcb_solder_paste_rect = z51.object({
|
|
1007
|
+
type: z51.literal("pcb_solder_paste"),
|
|
1008
|
+
shape: z51.literal("rect"),
|
|
1000
1009
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1001
|
-
pcb_group_id:
|
|
1002
|
-
subcircuit_id:
|
|
1010
|
+
pcb_group_id: z51.string().optional(),
|
|
1011
|
+
subcircuit_id: z51.string().optional(),
|
|
1003
1012
|
x: distance,
|
|
1004
1013
|
y: distance,
|
|
1005
|
-
width:
|
|
1006
|
-
height:
|
|
1014
|
+
width: z51.number(),
|
|
1015
|
+
height: z51.number(),
|
|
1007
1016
|
layer: layer_ref,
|
|
1008
|
-
pcb_component_id:
|
|
1009
|
-
pcb_smtpad_id:
|
|
1017
|
+
pcb_component_id: z51.string().optional(),
|
|
1018
|
+
pcb_smtpad_id: z51.string().optional()
|
|
1010
1019
|
});
|
|
1011
|
-
var pcb_solder_paste =
|
|
1020
|
+
var pcb_solder_paste = z51.union([pcb_solder_paste_circle, pcb_solder_paste_rect]).describe("Defines solderpaste on the PCB");
|
|
1012
1021
|
expectTypesMatch(true);
|
|
1013
1022
|
expectTypesMatch(true);
|
|
1014
1023
|
|
|
1015
1024
|
// src/pcb/pcb_text.ts
|
|
1016
|
-
import { z as
|
|
1017
|
-
var pcb_text =
|
|
1018
|
-
type:
|
|
1025
|
+
import { z as z52 } from "zod";
|
|
1026
|
+
var pcb_text = z52.object({
|
|
1027
|
+
type: z52.literal("pcb_text"),
|
|
1019
1028
|
pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
|
|
1020
|
-
pcb_group_id:
|
|
1021
|
-
subcircuit_id:
|
|
1022
|
-
text:
|
|
1029
|
+
pcb_group_id: z52.string().optional(),
|
|
1030
|
+
subcircuit_id: z52.string().optional(),
|
|
1031
|
+
text: z52.string(),
|
|
1023
1032
|
center: point,
|
|
1024
1033
|
layer: layer_ref,
|
|
1025
1034
|
width: length,
|
|
1026
1035
|
height: length,
|
|
1027
|
-
lines:
|
|
1036
|
+
lines: z52.number(),
|
|
1028
1037
|
// @ts-ignore
|
|
1029
|
-
align:
|
|
1038
|
+
align: z52.enum(["bottom-left"])
|
|
1030
1039
|
}).describe("Defines text on the PCB");
|
|
1031
1040
|
expectTypesMatch(true);
|
|
1032
1041
|
|
|
1033
1042
|
// src/pcb/pcb_trace.ts
|
|
1034
|
-
import { z as
|
|
1035
|
-
var pcb_trace_route_point_wire =
|
|
1036
|
-
route_type:
|
|
1043
|
+
import { z as z53 } from "zod";
|
|
1044
|
+
var pcb_trace_route_point_wire = z53.object({
|
|
1045
|
+
route_type: z53.literal("wire"),
|
|
1037
1046
|
x: distance,
|
|
1038
1047
|
y: distance,
|
|
1039
1048
|
width: distance,
|
|
1040
|
-
start_pcb_port_id:
|
|
1041
|
-
end_pcb_port_id:
|
|
1049
|
+
start_pcb_port_id: z53.string().optional(),
|
|
1050
|
+
end_pcb_port_id: z53.string().optional(),
|
|
1042
1051
|
layer: layer_ref
|
|
1043
1052
|
});
|
|
1044
|
-
var pcb_trace_route_point_via =
|
|
1045
|
-
route_type:
|
|
1053
|
+
var pcb_trace_route_point_via = z53.object({
|
|
1054
|
+
route_type: z53.literal("via"),
|
|
1046
1055
|
x: distance,
|
|
1047
1056
|
y: distance,
|
|
1048
|
-
from_layer:
|
|
1049
|
-
to_layer:
|
|
1057
|
+
from_layer: z53.string(),
|
|
1058
|
+
to_layer: z53.string()
|
|
1050
1059
|
});
|
|
1051
|
-
var pcb_trace_route_point =
|
|
1060
|
+
var pcb_trace_route_point = z53.union([
|
|
1052
1061
|
pcb_trace_route_point_wire,
|
|
1053
1062
|
pcb_trace_route_point_via
|
|
1054
1063
|
]);
|
|
1055
|
-
var pcb_trace =
|
|
1056
|
-
type:
|
|
1057
|
-
source_trace_id:
|
|
1058
|
-
pcb_component_id:
|
|
1064
|
+
var pcb_trace = z53.object({
|
|
1065
|
+
type: z53.literal("pcb_trace"),
|
|
1066
|
+
source_trace_id: z53.string().optional(),
|
|
1067
|
+
pcb_component_id: z53.string().optional(),
|
|
1059
1068
|
pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
|
|
1060
|
-
pcb_group_id:
|
|
1061
|
-
subcircuit_id:
|
|
1062
|
-
route_thickness_mode:
|
|
1063
|
-
route_order_index:
|
|
1064
|
-
should_round_corners:
|
|
1065
|
-
trace_length:
|
|
1066
|
-
route:
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
route_type:
|
|
1069
|
+
pcb_group_id: z53.string().optional(),
|
|
1070
|
+
subcircuit_id: z53.string().optional(),
|
|
1071
|
+
route_thickness_mode: z53.enum(["constant", "interpolated"]).default("constant").optional(),
|
|
1072
|
+
route_order_index: z53.number().optional(),
|
|
1073
|
+
should_round_corners: z53.boolean().optional(),
|
|
1074
|
+
trace_length: z53.number().optional(),
|
|
1075
|
+
route: z53.array(
|
|
1076
|
+
z53.union([
|
|
1077
|
+
z53.object({
|
|
1078
|
+
route_type: z53.literal("wire"),
|
|
1070
1079
|
x: distance,
|
|
1071
1080
|
y: distance,
|
|
1072
1081
|
width: distance,
|
|
1073
|
-
start_pcb_port_id:
|
|
1074
|
-
end_pcb_port_id:
|
|
1082
|
+
start_pcb_port_id: z53.string().optional(),
|
|
1083
|
+
end_pcb_port_id: z53.string().optional(),
|
|
1075
1084
|
layer: layer_ref
|
|
1076
1085
|
}),
|
|
1077
|
-
|
|
1078
|
-
route_type:
|
|
1086
|
+
z53.object({
|
|
1087
|
+
route_type: z53.literal("via"),
|
|
1079
1088
|
x: distance,
|
|
1080
1089
|
y: distance,
|
|
1081
|
-
from_layer:
|
|
1082
|
-
to_layer:
|
|
1090
|
+
from_layer: z53.string(),
|
|
1091
|
+
to_layer: z53.string()
|
|
1083
1092
|
})
|
|
1084
1093
|
])
|
|
1085
1094
|
)
|
|
@@ -1088,37 +1097,37 @@ expectTypesMatch(true);
|
|
|
1088
1097
|
expectTypesMatch(true);
|
|
1089
1098
|
|
|
1090
1099
|
// src/pcb/pcb_trace_error.ts
|
|
1091
|
-
import { z as
|
|
1092
|
-
var pcb_trace_error =
|
|
1093
|
-
type:
|
|
1100
|
+
import { z as z54 } from "zod";
|
|
1101
|
+
var pcb_trace_error = z54.object({
|
|
1102
|
+
type: z54.literal("pcb_trace_error"),
|
|
1094
1103
|
pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
|
|
1095
|
-
error_type:
|
|
1096
|
-
message:
|
|
1104
|
+
error_type: z54.literal("pcb_trace_error"),
|
|
1105
|
+
message: z54.string(),
|
|
1097
1106
|
center: point.optional(),
|
|
1098
|
-
pcb_trace_id:
|
|
1099
|
-
source_trace_id:
|
|
1100
|
-
pcb_component_ids:
|
|
1101
|
-
pcb_port_ids:
|
|
1107
|
+
pcb_trace_id: z54.string(),
|
|
1108
|
+
source_trace_id: z54.string(),
|
|
1109
|
+
pcb_component_ids: z54.array(z54.string()),
|
|
1110
|
+
pcb_port_ids: z54.array(z54.string())
|
|
1102
1111
|
}).describe("Defines a trace error on the PCB");
|
|
1103
1112
|
expectTypesMatch(true);
|
|
1104
1113
|
|
|
1105
1114
|
// src/pcb/pcb_port_not_matched_error.ts
|
|
1106
|
-
import { z as
|
|
1107
|
-
var pcb_port_not_matched_error =
|
|
1108
|
-
type:
|
|
1115
|
+
import { z as z55 } from "zod";
|
|
1116
|
+
var pcb_port_not_matched_error = z55.object({
|
|
1117
|
+
type: z55.literal("pcb_port_not_matched_error"),
|
|
1109
1118
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
1110
|
-
message:
|
|
1111
|
-
pcb_component_ids:
|
|
1119
|
+
message: z55.string(),
|
|
1120
|
+
pcb_component_ids: z55.array(z55.string())
|
|
1112
1121
|
}).describe("Defines a trace error on the PCB where a port is not matched");
|
|
1113
1122
|
expectTypesMatch(true);
|
|
1114
1123
|
|
|
1115
1124
|
// src/pcb/pcb_via.ts
|
|
1116
|
-
import { z as
|
|
1117
|
-
var pcb_via =
|
|
1118
|
-
type:
|
|
1125
|
+
import { z as z56 } from "zod";
|
|
1126
|
+
var pcb_via = z56.object({
|
|
1127
|
+
type: z56.literal("pcb_via"),
|
|
1119
1128
|
pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
|
|
1120
|
-
pcb_group_id:
|
|
1121
|
-
subcircuit_id:
|
|
1129
|
+
pcb_group_id: z56.string().optional(),
|
|
1130
|
+
subcircuit_id: z56.string().optional(),
|
|
1122
1131
|
x: distance,
|
|
1123
1132
|
y: distance,
|
|
1124
1133
|
outer_diameter: distance.default("0.6mm"),
|
|
@@ -1127,55 +1136,55 @@ var pcb_via = z55.object({
|
|
|
1127
1136
|
from_layer: layer_ref.optional(),
|
|
1128
1137
|
/** @deprecated */
|
|
1129
1138
|
to_layer: layer_ref.optional(),
|
|
1130
|
-
layers:
|
|
1131
|
-
pcb_trace_id:
|
|
1139
|
+
layers: z56.array(layer_ref),
|
|
1140
|
+
pcb_trace_id: z56.string().optional()
|
|
1132
1141
|
}).describe("Defines a via on the PCB");
|
|
1133
1142
|
expectTypesMatch(true);
|
|
1134
1143
|
|
|
1135
1144
|
// src/pcb/pcb_board.ts
|
|
1136
|
-
import { z as
|
|
1137
|
-
var pcb_board =
|
|
1138
|
-
type:
|
|
1145
|
+
import { z as z57 } from "zod";
|
|
1146
|
+
var pcb_board = z57.object({
|
|
1147
|
+
type: z57.literal("pcb_board"),
|
|
1139
1148
|
pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
|
|
1140
|
-
is_subcircuit:
|
|
1141
|
-
subcircuit_id:
|
|
1149
|
+
is_subcircuit: z57.boolean().optional(),
|
|
1150
|
+
subcircuit_id: z57.string().optional(),
|
|
1142
1151
|
width: length,
|
|
1143
1152
|
height: length,
|
|
1144
1153
|
center: point,
|
|
1145
1154
|
thickness: length.optional().default(1.4),
|
|
1146
|
-
num_layers:
|
|
1147
|
-
outline:
|
|
1155
|
+
num_layers: z57.number().optional().default(4),
|
|
1156
|
+
outline: z57.array(point).optional()
|
|
1148
1157
|
}).describe("Defines the board outline of the PCB");
|
|
1149
1158
|
expectTypesMatch(true);
|
|
1150
1159
|
|
|
1151
1160
|
// src/pcb/pcb_placement_error.ts
|
|
1152
|
-
import { z as
|
|
1153
|
-
var pcb_placement_error =
|
|
1154
|
-
type:
|
|
1161
|
+
import { z as z58 } from "zod";
|
|
1162
|
+
var pcb_placement_error = z58.object({
|
|
1163
|
+
type: z58.literal("pcb_placement_error"),
|
|
1155
1164
|
pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
|
|
1156
|
-
message:
|
|
1165
|
+
message: z58.string()
|
|
1157
1166
|
}).describe("Defines a placement error on the PCB");
|
|
1158
1167
|
expectTypesMatch(true);
|
|
1159
1168
|
|
|
1160
1169
|
// src/pcb/pcb_trace_hint.ts
|
|
1161
|
-
import { z as
|
|
1162
|
-
var pcb_trace_hint =
|
|
1163
|
-
type:
|
|
1170
|
+
import { z as z59 } from "zod";
|
|
1171
|
+
var pcb_trace_hint = z59.object({
|
|
1172
|
+
type: z59.literal("pcb_trace_hint"),
|
|
1164
1173
|
pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
|
|
1165
|
-
pcb_port_id:
|
|
1166
|
-
pcb_component_id:
|
|
1167
|
-
route:
|
|
1174
|
+
pcb_port_id: z59.string(),
|
|
1175
|
+
pcb_component_id: z59.string(),
|
|
1176
|
+
route: z59.array(route_hint_point)
|
|
1168
1177
|
}).describe("A hint that can be used during generation of a PCB trace");
|
|
1169
1178
|
expectTypesMatch(true);
|
|
1170
1179
|
|
|
1171
1180
|
// src/pcb/pcb_silkscreen_line.ts
|
|
1172
|
-
import { z as
|
|
1173
|
-
var pcb_silkscreen_line =
|
|
1174
|
-
type:
|
|
1181
|
+
import { z as z60 } from "zod";
|
|
1182
|
+
var pcb_silkscreen_line = z60.object({
|
|
1183
|
+
type: z60.literal("pcb_silkscreen_line"),
|
|
1175
1184
|
pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
|
|
1176
|
-
pcb_component_id:
|
|
1177
|
-
pcb_group_id:
|
|
1178
|
-
subcircuit_id:
|
|
1185
|
+
pcb_component_id: z60.string(),
|
|
1186
|
+
pcb_group_id: z60.string().optional(),
|
|
1187
|
+
subcircuit_id: z60.string().optional(),
|
|
1179
1188
|
stroke_width: distance.default("0.1mm"),
|
|
1180
1189
|
x1: distance,
|
|
1181
1190
|
y1: distance,
|
|
@@ -1186,46 +1195,46 @@ var pcb_silkscreen_line = z59.object({
|
|
|
1186
1195
|
expectTypesMatch(true);
|
|
1187
1196
|
|
|
1188
1197
|
// src/pcb/pcb_silkscreen_path.ts
|
|
1189
|
-
import { z as
|
|
1190
|
-
var pcb_silkscreen_path =
|
|
1191
|
-
type:
|
|
1198
|
+
import { z as z61 } from "zod";
|
|
1199
|
+
var pcb_silkscreen_path = z61.object({
|
|
1200
|
+
type: z61.literal("pcb_silkscreen_path"),
|
|
1192
1201
|
pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
|
|
1193
|
-
pcb_component_id:
|
|
1194
|
-
pcb_group_id:
|
|
1195
|
-
subcircuit_id:
|
|
1202
|
+
pcb_component_id: z61.string(),
|
|
1203
|
+
pcb_group_id: z61.string().optional(),
|
|
1204
|
+
subcircuit_id: z61.string().optional(),
|
|
1196
1205
|
layer: visible_layer,
|
|
1197
|
-
route:
|
|
1206
|
+
route: z61.array(point),
|
|
1198
1207
|
stroke_width: length
|
|
1199
1208
|
}).describe("Defines a silkscreen path on the PCB");
|
|
1200
1209
|
expectTypesMatch(true);
|
|
1201
1210
|
|
|
1202
1211
|
// src/pcb/pcb_silkscreen_text.ts
|
|
1203
|
-
import { z as
|
|
1204
|
-
var pcb_silkscreen_text =
|
|
1205
|
-
type:
|
|
1212
|
+
import { z as z62 } from "zod";
|
|
1213
|
+
var pcb_silkscreen_text = z62.object({
|
|
1214
|
+
type: z62.literal("pcb_silkscreen_text"),
|
|
1206
1215
|
pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
|
|
1207
|
-
pcb_group_id:
|
|
1208
|
-
subcircuit_id:
|
|
1209
|
-
font:
|
|
1216
|
+
pcb_group_id: z62.string().optional(),
|
|
1217
|
+
subcircuit_id: z62.string().optional(),
|
|
1218
|
+
font: z62.literal("tscircuit2024").default("tscircuit2024"),
|
|
1210
1219
|
font_size: distance.default("0.2mm"),
|
|
1211
|
-
pcb_component_id:
|
|
1212
|
-
text:
|
|
1213
|
-
ccw_rotation:
|
|
1220
|
+
pcb_component_id: z62.string(),
|
|
1221
|
+
text: z62.string(),
|
|
1222
|
+
ccw_rotation: z62.number().optional(),
|
|
1214
1223
|
layer: layer_ref,
|
|
1215
|
-
is_mirrored:
|
|
1224
|
+
is_mirrored: z62.boolean().default(false).optional(),
|
|
1216
1225
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
1217
|
-
anchor_alignment:
|
|
1226
|
+
anchor_alignment: z62.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center")
|
|
1218
1227
|
}).describe("Defines silkscreen text on the PCB");
|
|
1219
1228
|
expectTypesMatch(true);
|
|
1220
1229
|
|
|
1221
1230
|
// src/pcb/pcb_silkscreen_rect.ts
|
|
1222
|
-
import { z as
|
|
1223
|
-
var pcb_silkscreen_rect =
|
|
1224
|
-
type:
|
|
1231
|
+
import { z as z63 } from "zod";
|
|
1232
|
+
var pcb_silkscreen_rect = z63.object({
|
|
1233
|
+
type: z63.literal("pcb_silkscreen_rect"),
|
|
1225
1234
|
pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
|
|
1226
|
-
pcb_component_id:
|
|
1227
|
-
pcb_group_id:
|
|
1228
|
-
subcircuit_id:
|
|
1235
|
+
pcb_component_id: z63.string(),
|
|
1236
|
+
pcb_group_id: z63.string().optional(),
|
|
1237
|
+
subcircuit_id: z63.string().optional(),
|
|
1229
1238
|
center: point,
|
|
1230
1239
|
width: length,
|
|
1231
1240
|
height: length,
|
|
@@ -1235,15 +1244,15 @@ var pcb_silkscreen_rect = z62.object({
|
|
|
1235
1244
|
expectTypesMatch(true);
|
|
1236
1245
|
|
|
1237
1246
|
// src/pcb/pcb_silkscreen_circle.ts
|
|
1238
|
-
import { z as
|
|
1239
|
-
var pcb_silkscreen_circle =
|
|
1240
|
-
type:
|
|
1247
|
+
import { z as z64 } from "zod";
|
|
1248
|
+
var pcb_silkscreen_circle = z64.object({
|
|
1249
|
+
type: z64.literal("pcb_silkscreen_circle"),
|
|
1241
1250
|
pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
|
|
1242
1251
|
"pcb_silkscreen_circle"
|
|
1243
1252
|
),
|
|
1244
|
-
pcb_component_id:
|
|
1245
|
-
pcb_group_id:
|
|
1246
|
-
subcircuit_id:
|
|
1253
|
+
pcb_component_id: z64.string(),
|
|
1254
|
+
pcb_group_id: z64.string().optional(),
|
|
1255
|
+
subcircuit_id: z64.string().optional(),
|
|
1247
1256
|
center: point,
|
|
1248
1257
|
radius: length,
|
|
1249
1258
|
layer: visible_layer,
|
|
@@ -1252,13 +1261,13 @@ var pcb_silkscreen_circle = z63.object({
|
|
|
1252
1261
|
expectTypesMatch(true);
|
|
1253
1262
|
|
|
1254
1263
|
// src/pcb/pcb_silkscreen_oval.ts
|
|
1255
|
-
import { z as
|
|
1256
|
-
var pcb_silkscreen_oval =
|
|
1257
|
-
type:
|
|
1264
|
+
import { z as z65 } from "zod";
|
|
1265
|
+
var pcb_silkscreen_oval = z65.object({
|
|
1266
|
+
type: z65.literal("pcb_silkscreen_oval"),
|
|
1258
1267
|
pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
|
|
1259
|
-
pcb_component_id:
|
|
1260
|
-
pcb_group_id:
|
|
1261
|
-
subcircuit_id:
|
|
1268
|
+
pcb_component_id: z65.string(),
|
|
1269
|
+
pcb_group_id: z65.string().optional(),
|
|
1270
|
+
subcircuit_id: z65.string().optional(),
|
|
1262
1271
|
center: point,
|
|
1263
1272
|
radius_x: distance,
|
|
1264
1273
|
radius_y: distance,
|
|
@@ -1267,156 +1276,156 @@ var pcb_silkscreen_oval = z64.object({
|
|
|
1267
1276
|
expectTypesMatch(true);
|
|
1268
1277
|
|
|
1269
1278
|
// src/pcb/pcb_fabrication_note_text.ts
|
|
1270
|
-
import { z as
|
|
1271
|
-
var pcb_fabrication_note_text =
|
|
1272
|
-
type:
|
|
1279
|
+
import { z as z66 } from "zod";
|
|
1280
|
+
var pcb_fabrication_note_text = z66.object({
|
|
1281
|
+
type: z66.literal("pcb_fabrication_note_text"),
|
|
1273
1282
|
pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
|
|
1274
1283
|
"pcb_fabrication_note_text"
|
|
1275
1284
|
),
|
|
1276
|
-
subcircuit_id:
|
|
1277
|
-
pcb_group_id:
|
|
1278
|
-
font:
|
|
1285
|
+
subcircuit_id: z66.string().optional(),
|
|
1286
|
+
pcb_group_id: z66.string().optional(),
|
|
1287
|
+
font: z66.literal("tscircuit2024").default("tscircuit2024"),
|
|
1279
1288
|
font_size: distance.default("1mm"),
|
|
1280
|
-
pcb_component_id:
|
|
1281
|
-
text:
|
|
1289
|
+
pcb_component_id: z66.string(),
|
|
1290
|
+
text: z66.string(),
|
|
1282
1291
|
layer: visible_layer,
|
|
1283
1292
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
1284
|
-
anchor_alignment:
|
|
1285
|
-
color:
|
|
1293
|
+
anchor_alignment: z66.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
1294
|
+
color: z66.string().optional()
|
|
1286
1295
|
}).describe(
|
|
1287
1296
|
"Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
|
|
1288
1297
|
);
|
|
1289
1298
|
expectTypesMatch(true);
|
|
1290
1299
|
|
|
1291
1300
|
// src/pcb/pcb_fabrication_note_path.ts
|
|
1292
|
-
import { z as
|
|
1293
|
-
var pcb_fabrication_note_path =
|
|
1294
|
-
type:
|
|
1301
|
+
import { z as z67 } from "zod";
|
|
1302
|
+
var pcb_fabrication_note_path = z67.object({
|
|
1303
|
+
type: z67.literal("pcb_fabrication_note_path"),
|
|
1295
1304
|
pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
|
|
1296
1305
|
"pcb_fabrication_note_path"
|
|
1297
1306
|
),
|
|
1298
|
-
pcb_component_id:
|
|
1299
|
-
subcircuit_id:
|
|
1307
|
+
pcb_component_id: z67.string(),
|
|
1308
|
+
subcircuit_id: z67.string().optional(),
|
|
1300
1309
|
layer: layer_ref,
|
|
1301
|
-
route:
|
|
1310
|
+
route: z67.array(point),
|
|
1302
1311
|
stroke_width: length,
|
|
1303
|
-
color:
|
|
1312
|
+
color: z67.string().optional()
|
|
1304
1313
|
}).describe(
|
|
1305
1314
|
"Defines a fabrication path on the PCB for fabricators or assemblers"
|
|
1306
1315
|
);
|
|
1307
1316
|
expectTypesMatch(true);
|
|
1308
1317
|
|
|
1309
1318
|
// src/pcb/pcb_keepout.ts
|
|
1310
|
-
import { z as
|
|
1311
|
-
var pcb_keepout =
|
|
1312
|
-
type:
|
|
1313
|
-
shape:
|
|
1314
|
-
pcb_group_id:
|
|
1315
|
-
subcircuit_id:
|
|
1319
|
+
import { z as z68 } from "zod";
|
|
1320
|
+
var pcb_keepout = z68.object({
|
|
1321
|
+
type: z68.literal("pcb_keepout"),
|
|
1322
|
+
shape: z68.literal("rect"),
|
|
1323
|
+
pcb_group_id: z68.string().optional(),
|
|
1324
|
+
subcircuit_id: z68.string().optional(),
|
|
1316
1325
|
center: point,
|
|
1317
1326
|
width: distance,
|
|
1318
1327
|
height: distance,
|
|
1319
|
-
pcb_keepout_id:
|
|
1320
|
-
layers:
|
|
1328
|
+
pcb_keepout_id: z68.string(),
|
|
1329
|
+
layers: z68.array(z68.string()),
|
|
1321
1330
|
// Specify layers where the keepout applies
|
|
1322
|
-
description:
|
|
1331
|
+
description: z68.string().optional()
|
|
1323
1332
|
// Optional description of the keepout
|
|
1324
1333
|
}).or(
|
|
1325
|
-
|
|
1326
|
-
type:
|
|
1327
|
-
shape:
|
|
1328
|
-
pcb_group_id:
|
|
1329
|
-
subcircuit_id:
|
|
1334
|
+
z68.object({
|
|
1335
|
+
type: z68.literal("pcb_keepout"),
|
|
1336
|
+
shape: z68.literal("circle"),
|
|
1337
|
+
pcb_group_id: z68.string().optional(),
|
|
1338
|
+
subcircuit_id: z68.string().optional(),
|
|
1330
1339
|
center: point,
|
|
1331
1340
|
radius: distance,
|
|
1332
|
-
pcb_keepout_id:
|
|
1333
|
-
layers:
|
|
1341
|
+
pcb_keepout_id: z68.string(),
|
|
1342
|
+
layers: z68.array(z68.string()),
|
|
1334
1343
|
// Specify layers where the keepout applies
|
|
1335
|
-
description:
|
|
1344
|
+
description: z68.string().optional()
|
|
1336
1345
|
// Optional description of the keepout
|
|
1337
1346
|
})
|
|
1338
1347
|
);
|
|
1339
1348
|
|
|
1340
1349
|
// src/pcb/pcb_missing_footprint_error.ts
|
|
1341
|
-
import { z as
|
|
1342
|
-
var pcb_missing_footprint_error =
|
|
1343
|
-
type:
|
|
1350
|
+
import { z as z69 } from "zod";
|
|
1351
|
+
var pcb_missing_footprint_error = z69.object({
|
|
1352
|
+
type: z69.literal("pcb_missing_footprint_error"),
|
|
1344
1353
|
pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
|
|
1345
1354
|
"pcb_missing_footprint_error"
|
|
1346
1355
|
),
|
|
1347
|
-
pcb_group_id:
|
|
1348
|
-
subcircuit_id:
|
|
1349
|
-
error_type:
|
|
1350
|
-
source_component_id:
|
|
1351
|
-
message:
|
|
1356
|
+
pcb_group_id: z69.string().optional(),
|
|
1357
|
+
subcircuit_id: z69.string().optional(),
|
|
1358
|
+
error_type: z69.literal("pcb_missing_footprint_error"),
|
|
1359
|
+
source_component_id: z69.string(),
|
|
1360
|
+
message: z69.string()
|
|
1352
1361
|
}).describe("Defines a missing footprint error on the PCB");
|
|
1353
1362
|
expectTypesMatch(
|
|
1354
1363
|
true
|
|
1355
1364
|
);
|
|
1356
1365
|
|
|
1357
1366
|
// src/pcb/pcb_manual_edit_conflict_error.ts
|
|
1358
|
-
import { z as
|
|
1359
|
-
var pcb_manual_edit_conflict_error =
|
|
1360
|
-
type:
|
|
1367
|
+
import { z as z70 } from "zod";
|
|
1368
|
+
var pcb_manual_edit_conflict_error = z70.object({
|
|
1369
|
+
type: z70.literal("pcb_manual_edit_conflict_error"),
|
|
1361
1370
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_manual_edit_conflict_error"),
|
|
1362
|
-
message:
|
|
1363
|
-
pcb_component_id:
|
|
1364
|
-
pcb_group_id:
|
|
1365
|
-
subcircuit_id:
|
|
1366
|
-
source_component_id:
|
|
1371
|
+
message: z70.string(),
|
|
1372
|
+
pcb_component_id: z70.string(),
|
|
1373
|
+
pcb_group_id: z70.string().optional(),
|
|
1374
|
+
subcircuit_id: z70.string().optional(),
|
|
1375
|
+
source_component_id: z70.string()
|
|
1367
1376
|
}).describe(
|
|
1368
1377
|
"Error emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
|
|
1369
1378
|
);
|
|
1370
1379
|
expectTypesMatch(true);
|
|
1371
1380
|
|
|
1372
1381
|
// src/pcb/pcb_group.ts
|
|
1373
|
-
import { z as
|
|
1374
|
-
var pcb_group =
|
|
1375
|
-
type:
|
|
1382
|
+
import { z as z71 } from "zod";
|
|
1383
|
+
var pcb_group = z71.object({
|
|
1384
|
+
type: z71.literal("pcb_group"),
|
|
1376
1385
|
pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
|
|
1377
|
-
source_group_id:
|
|
1378
|
-
is_subcircuit:
|
|
1379
|
-
subcircuit_id:
|
|
1386
|
+
source_group_id: z71.string(),
|
|
1387
|
+
is_subcircuit: z71.boolean().optional(),
|
|
1388
|
+
subcircuit_id: z71.string().optional(),
|
|
1380
1389
|
width: length,
|
|
1381
1390
|
height: length,
|
|
1382
1391
|
center: point,
|
|
1383
|
-
pcb_component_ids:
|
|
1384
|
-
name:
|
|
1385
|
-
description:
|
|
1392
|
+
pcb_component_ids: z71.array(z71.string()),
|
|
1393
|
+
name: z71.string().optional(),
|
|
1394
|
+
description: z71.string().optional()
|
|
1386
1395
|
}).describe("Defines a group of components on the PCB");
|
|
1387
1396
|
expectTypesMatch(true);
|
|
1388
1397
|
|
|
1389
1398
|
// src/pcb/pcb_autorouting_error.ts
|
|
1390
|
-
import { z as
|
|
1391
|
-
var pcb_autorouting_error =
|
|
1392
|
-
type:
|
|
1399
|
+
import { z as z72 } from "zod";
|
|
1400
|
+
var pcb_autorouting_error = z72.object({
|
|
1401
|
+
type: z72.literal("pcb_autorouting_error"),
|
|
1393
1402
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
|
|
1394
|
-
message:
|
|
1403
|
+
message: z72.string()
|
|
1395
1404
|
}).describe("The autorouting has failed to route a portion of the board");
|
|
1396
1405
|
expectTypesMatch(true);
|
|
1397
1406
|
|
|
1398
1407
|
// src/cad/cad_component.ts
|
|
1399
|
-
import { z as
|
|
1400
|
-
var cad_component =
|
|
1401
|
-
type:
|
|
1402
|
-
cad_component_id:
|
|
1403
|
-
pcb_component_id:
|
|
1404
|
-
source_component_id:
|
|
1408
|
+
import { z as z73 } from "zod";
|
|
1409
|
+
var cad_component = z73.object({
|
|
1410
|
+
type: z73.literal("cad_component"),
|
|
1411
|
+
cad_component_id: z73.string(),
|
|
1412
|
+
pcb_component_id: z73.string(),
|
|
1413
|
+
source_component_id: z73.string(),
|
|
1405
1414
|
position: point3,
|
|
1406
1415
|
rotation: point3.optional(),
|
|
1407
1416
|
size: point3.optional(),
|
|
1408
1417
|
layer: layer_ref.optional(),
|
|
1409
1418
|
// These are all ways to generate/load the 3d model
|
|
1410
|
-
footprinter_string:
|
|
1411
|
-
model_obj_url:
|
|
1412
|
-
model_stl_url:
|
|
1413
|
-
model_3mf_url:
|
|
1414
|
-
model_jscad:
|
|
1419
|
+
footprinter_string: z73.string().optional(),
|
|
1420
|
+
model_obj_url: z73.string().optional(),
|
|
1421
|
+
model_stl_url: z73.string().optional(),
|
|
1422
|
+
model_3mf_url: z73.string().optional(),
|
|
1423
|
+
model_jscad: z73.any().optional()
|
|
1415
1424
|
}).describe("Defines a component on the PCB");
|
|
1416
1425
|
|
|
1417
1426
|
// src/any_circuit_element.ts
|
|
1418
|
-
import { z as
|
|
1419
|
-
var any_circuit_element =
|
|
1427
|
+
import { z as z74 } from "zod";
|
|
1428
|
+
var any_circuit_element = z74.union([
|
|
1420
1429
|
source_trace,
|
|
1421
1430
|
source_port,
|
|
1422
1431
|
any_source_component,
|
|
@@ -1535,6 +1544,7 @@ export {
|
|
|
1535
1544
|
port_arrangement,
|
|
1536
1545
|
position,
|
|
1537
1546
|
position3,
|
|
1547
|
+
project_metadata,
|
|
1538
1548
|
resistance,
|
|
1539
1549
|
rotation,
|
|
1540
1550
|
route_hint_point,
|