circuit-json 0.0.205 → 0.0.207
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 +79 -0
- package/dist/index.d.mts +420 -3
- package/dist/index.mjs +609 -547
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -447,6 +447,7 @@ var source_simple_pin_header = source_component_base.extend({
|
|
|
447
447
|
pin_count: z23.number(),
|
|
448
448
|
gender: z23.enum(["male", "female"]).optional().default("male")
|
|
449
449
|
});
|
|
450
|
+
expectTypesMatch(true);
|
|
450
451
|
|
|
451
452
|
// src/source/source_simple_resonator.ts
|
|
452
453
|
import { z as z24 } from "zod";
|
|
@@ -626,97 +627,108 @@ var source_net = z36.object({
|
|
|
626
627
|
subcircuit_connectivity_map_key: z36.string().optional()
|
|
627
628
|
});
|
|
628
629
|
|
|
629
|
-
// src/
|
|
630
|
+
// src/source/source_pcb_ground_plane.ts
|
|
630
631
|
import { z as z37 } from "zod";
|
|
631
|
-
var
|
|
632
|
-
type: z37.literal("
|
|
633
|
-
|
|
632
|
+
var source_pcb_ground_plane = z37.object({
|
|
633
|
+
type: z37.literal("source_pcb_ground_plane"),
|
|
634
|
+
source_pcb_ground_plane_id: z37.string(),
|
|
635
|
+
source_group_id: z37.string(),
|
|
636
|
+
source_net_id: z37.string(),
|
|
637
|
+
subcircuit_id: z37.string().optional()
|
|
638
|
+
}).describe("Defines a ground plane in the source domain");
|
|
639
|
+
expectTypesMatch(true);
|
|
640
|
+
|
|
641
|
+
// src/schematic/schematic_box.ts
|
|
642
|
+
import { z as z38 } from "zod";
|
|
643
|
+
var schematic_box = z38.object({
|
|
644
|
+
type: z38.literal("schematic_box"),
|
|
645
|
+
schematic_component_id: z38.string(),
|
|
634
646
|
width: distance,
|
|
635
647
|
height: distance,
|
|
636
|
-
is_dashed:
|
|
648
|
+
is_dashed: z38.boolean().default(false),
|
|
637
649
|
x: distance,
|
|
638
650
|
y: distance
|
|
639
651
|
}).describe("Draws a box on the schematic");
|
|
640
652
|
expectTypesMatch(true);
|
|
641
653
|
|
|
642
654
|
// src/schematic/schematic_path.ts
|
|
643
|
-
import { z as
|
|
644
|
-
var schematic_path =
|
|
645
|
-
type:
|
|
646
|
-
schematic_component_id:
|
|
647
|
-
fill_color:
|
|
648
|
-
is_filled:
|
|
649
|
-
points:
|
|
655
|
+
import { z as z39 } from "zod";
|
|
656
|
+
var schematic_path = z39.object({
|
|
657
|
+
type: z39.literal("schematic_path"),
|
|
658
|
+
schematic_component_id: z39.string(),
|
|
659
|
+
fill_color: z39.enum(["red", "blue"]).optional(),
|
|
660
|
+
is_filled: z39.boolean().optional(),
|
|
661
|
+
points: z39.array(point)
|
|
650
662
|
});
|
|
651
663
|
expectTypesMatch(true);
|
|
652
664
|
|
|
653
665
|
// src/schematic/schematic_component.ts
|
|
654
|
-
import { z as
|
|
655
|
-
var schematic_pin_styles =
|
|
656
|
-
|
|
666
|
+
import { z as z40 } from "zod";
|
|
667
|
+
var schematic_pin_styles = z40.record(
|
|
668
|
+
z40.object({
|
|
657
669
|
left_margin: length.optional(),
|
|
658
670
|
right_margin: length.optional(),
|
|
659
671
|
top_margin: length.optional(),
|
|
660
672
|
bottom_margin: length.optional()
|
|
661
673
|
})
|
|
662
674
|
);
|
|
663
|
-
var schematic_component_port_arrangement_by_size =
|
|
664
|
-
left_size:
|
|
665
|
-
right_size:
|
|
666
|
-
top_size:
|
|
667
|
-
bottom_size:
|
|
675
|
+
var schematic_component_port_arrangement_by_size = z40.object({
|
|
676
|
+
left_size: z40.number(),
|
|
677
|
+
right_size: z40.number(),
|
|
678
|
+
top_size: z40.number().optional(),
|
|
679
|
+
bottom_size: z40.number().optional()
|
|
668
680
|
});
|
|
669
681
|
expectTypesMatch(true);
|
|
670
|
-
var schematic_component_port_arrangement_by_sides =
|
|
671
|
-
left_side:
|
|
672
|
-
pins:
|
|
682
|
+
var schematic_component_port_arrangement_by_sides = z40.object({
|
|
683
|
+
left_side: z40.object({
|
|
684
|
+
pins: z40.array(z40.number()),
|
|
673
685
|
// @ts-ignore
|
|
674
|
-
direction:
|
|
686
|
+
direction: z40.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
675
687
|
}).optional(),
|
|
676
|
-
right_side:
|
|
677
|
-
pins:
|
|
688
|
+
right_side: z40.object({
|
|
689
|
+
pins: z40.array(z40.number()),
|
|
678
690
|
// @ts-ignore
|
|
679
|
-
direction:
|
|
691
|
+
direction: z40.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
680
692
|
}).optional(),
|
|
681
|
-
top_side:
|
|
682
|
-
pins:
|
|
693
|
+
top_side: z40.object({
|
|
694
|
+
pins: z40.array(z40.number()),
|
|
683
695
|
// @ts-ignore
|
|
684
|
-
direction:
|
|
696
|
+
direction: z40.enum(["left-to-right", "right-to-left"]).optional()
|
|
685
697
|
}).optional(),
|
|
686
|
-
bottom_side:
|
|
687
|
-
pins:
|
|
698
|
+
bottom_side: z40.object({
|
|
699
|
+
pins: z40.array(z40.number()),
|
|
688
700
|
// @ts-ignore
|
|
689
|
-
direction:
|
|
701
|
+
direction: z40.enum(["left-to-right", "right-to-left"]).optional()
|
|
690
702
|
}).optional()
|
|
691
703
|
});
|
|
692
704
|
expectTypesMatch(true);
|
|
693
|
-
var port_arrangement =
|
|
705
|
+
var port_arrangement = z40.union([
|
|
694
706
|
schematic_component_port_arrangement_by_size,
|
|
695
707
|
schematic_component_port_arrangement_by_sides
|
|
696
708
|
]);
|
|
697
|
-
var schematic_component =
|
|
698
|
-
type:
|
|
709
|
+
var schematic_component = z40.object({
|
|
710
|
+
type: z40.literal("schematic_component"),
|
|
699
711
|
size,
|
|
700
712
|
center: point,
|
|
701
|
-
source_component_id:
|
|
702
|
-
schematic_component_id:
|
|
713
|
+
source_component_id: z40.string(),
|
|
714
|
+
schematic_component_id: z40.string(),
|
|
703
715
|
pin_spacing: length.optional(),
|
|
704
716
|
pin_styles: schematic_pin_styles.optional(),
|
|
705
717
|
box_width: length.optional(),
|
|
706
|
-
symbol_name:
|
|
718
|
+
symbol_name: z40.string().optional(),
|
|
707
719
|
port_arrangement: port_arrangement.optional(),
|
|
708
|
-
port_labels:
|
|
709
|
-
symbol_display_value:
|
|
710
|
-
subcircuit_id:
|
|
711
|
-
schematic_group_id:
|
|
720
|
+
port_labels: z40.record(z40.string()).optional(),
|
|
721
|
+
symbol_display_value: z40.string().optional(),
|
|
722
|
+
subcircuit_id: z40.string().optional(),
|
|
723
|
+
schematic_group_id: z40.string().optional()
|
|
712
724
|
});
|
|
713
725
|
expectTypesMatch(true);
|
|
714
726
|
|
|
715
727
|
// src/schematic/schematic_line.ts
|
|
716
|
-
import { z as
|
|
717
|
-
var schematic_line =
|
|
718
|
-
type:
|
|
719
|
-
schematic_component_id:
|
|
728
|
+
import { z as z41 } from "zod";
|
|
729
|
+
var schematic_line = z41.object({
|
|
730
|
+
type: z41.literal("schematic_line"),
|
|
731
|
+
schematic_component_id: z41.string(),
|
|
720
732
|
x1: distance,
|
|
721
733
|
x2: distance,
|
|
722
734
|
y1: distance,
|
|
@@ -725,41 +737,41 @@ var schematic_line = z40.object({
|
|
|
725
737
|
expectTypesMatch(true);
|
|
726
738
|
|
|
727
739
|
// src/schematic/schematic_trace.ts
|
|
728
|
-
import { z as
|
|
729
|
-
var schematic_trace =
|
|
730
|
-
type:
|
|
731
|
-
schematic_trace_id:
|
|
732
|
-
source_trace_id:
|
|
733
|
-
junctions:
|
|
734
|
-
|
|
735
|
-
x:
|
|
736
|
-
y:
|
|
740
|
+
import { z as z42 } from "zod";
|
|
741
|
+
var schematic_trace = z42.object({
|
|
742
|
+
type: z42.literal("schematic_trace"),
|
|
743
|
+
schematic_trace_id: z42.string(),
|
|
744
|
+
source_trace_id: z42.string(),
|
|
745
|
+
junctions: z42.array(
|
|
746
|
+
z42.object({
|
|
747
|
+
x: z42.number(),
|
|
748
|
+
y: z42.number()
|
|
737
749
|
})
|
|
738
750
|
),
|
|
739
|
-
edges:
|
|
740
|
-
|
|
741
|
-
from:
|
|
742
|
-
x:
|
|
743
|
-
y:
|
|
751
|
+
edges: z42.array(
|
|
752
|
+
z42.object({
|
|
753
|
+
from: z42.object({
|
|
754
|
+
x: z42.number(),
|
|
755
|
+
y: z42.number()
|
|
744
756
|
}),
|
|
745
|
-
to:
|
|
746
|
-
x:
|
|
747
|
-
y:
|
|
757
|
+
to: z42.object({
|
|
758
|
+
x: z42.number(),
|
|
759
|
+
y: z42.number()
|
|
748
760
|
}),
|
|
749
|
-
is_crossing:
|
|
750
|
-
from_schematic_port_id:
|
|
751
|
-
to_schematic_port_id:
|
|
761
|
+
is_crossing: z42.boolean().optional(),
|
|
762
|
+
from_schematic_port_id: z42.string().optional(),
|
|
763
|
+
to_schematic_port_id: z42.string().optional()
|
|
752
764
|
})
|
|
753
765
|
)
|
|
754
766
|
});
|
|
755
767
|
expectTypesMatch(true);
|
|
756
768
|
|
|
757
769
|
// src/schematic/schematic_text.ts
|
|
758
|
-
import { z as
|
|
770
|
+
import { z as z44 } from "zod";
|
|
759
771
|
|
|
760
772
|
// src/common/FivePointAnchor.ts
|
|
761
|
-
import { z as
|
|
762
|
-
var fivePointAnchor =
|
|
773
|
+
import { z as z43 } from "zod";
|
|
774
|
+
var fivePointAnchor = z43.enum([
|
|
763
775
|
"center",
|
|
764
776
|
"left",
|
|
765
777
|
"right",
|
|
@@ -768,101 +780,101 @@ var fivePointAnchor = z42.enum([
|
|
|
768
780
|
]);
|
|
769
781
|
|
|
770
782
|
// src/schematic/schematic_text.ts
|
|
771
|
-
var schematic_text =
|
|
772
|
-
type:
|
|
773
|
-
schematic_component_id:
|
|
774
|
-
schematic_text_id:
|
|
775
|
-
text:
|
|
776
|
-
font_size:
|
|
777
|
-
position:
|
|
783
|
+
var schematic_text = z44.object({
|
|
784
|
+
type: z44.literal("schematic_text"),
|
|
785
|
+
schematic_component_id: z44.string().optional(),
|
|
786
|
+
schematic_text_id: z44.string(),
|
|
787
|
+
text: z44.string(),
|
|
788
|
+
font_size: z44.number().default(0.18),
|
|
789
|
+
position: z44.object({
|
|
778
790
|
x: distance,
|
|
779
791
|
y: distance
|
|
780
792
|
}),
|
|
781
|
-
rotation:
|
|
782
|
-
anchor:
|
|
783
|
-
color:
|
|
793
|
+
rotation: z44.number().default(0),
|
|
794
|
+
anchor: z44.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
|
|
795
|
+
color: z44.string().default("#000000")
|
|
784
796
|
});
|
|
785
797
|
expectTypesMatch(true);
|
|
786
798
|
|
|
787
799
|
// src/schematic/schematic_port.ts
|
|
788
|
-
import { z as
|
|
789
|
-
var schematic_port =
|
|
790
|
-
type:
|
|
791
|
-
schematic_port_id:
|
|
792
|
-
source_port_id:
|
|
793
|
-
schematic_component_id:
|
|
800
|
+
import { z as z45 } from "zod";
|
|
801
|
+
var schematic_port = z45.object({
|
|
802
|
+
type: z45.literal("schematic_port"),
|
|
803
|
+
schematic_port_id: z45.string(),
|
|
804
|
+
source_port_id: z45.string(),
|
|
805
|
+
schematic_component_id: z45.string().optional(),
|
|
794
806
|
center: point,
|
|
795
|
-
facing_direction:
|
|
796
|
-
distance_from_component_edge:
|
|
797
|
-
side_of_component:
|
|
798
|
-
true_ccw_index:
|
|
799
|
-
pin_number:
|
|
800
|
-
display_pin_label:
|
|
807
|
+
facing_direction: z45.enum(["up", "down", "left", "right"]).optional(),
|
|
808
|
+
distance_from_component_edge: z45.number().optional(),
|
|
809
|
+
side_of_component: z45.enum(["top", "bottom", "left", "right"]).optional(),
|
|
810
|
+
true_ccw_index: z45.number().optional(),
|
|
811
|
+
pin_number: z45.number().optional(),
|
|
812
|
+
display_pin_label: z45.string().optional()
|
|
801
813
|
}).describe("Defines a port on a schematic component");
|
|
802
814
|
expectTypesMatch(true);
|
|
803
815
|
|
|
804
816
|
// src/schematic/schematic_net_label.ts
|
|
805
|
-
import { z as
|
|
806
|
-
var schematic_net_label =
|
|
807
|
-
type:
|
|
817
|
+
import { z as z46 } from "zod";
|
|
818
|
+
var schematic_net_label = z46.object({
|
|
819
|
+
type: z46.literal("schematic_net_label"),
|
|
808
820
|
schematic_net_label_id: getZodPrefixedIdWithDefault("schematic_net_label"),
|
|
809
|
-
schematic_trace_id:
|
|
810
|
-
source_trace_id:
|
|
811
|
-
source_net_id:
|
|
821
|
+
schematic_trace_id: z46.string().optional(),
|
|
822
|
+
source_trace_id: z46.string().optional(),
|
|
823
|
+
source_net_id: z46.string(),
|
|
812
824
|
center: point,
|
|
813
825
|
anchor_position: point.optional(),
|
|
814
|
-
anchor_side:
|
|
815
|
-
text:
|
|
816
|
-
symbol_name:
|
|
826
|
+
anchor_side: z46.enum(["top", "bottom", "left", "right"]),
|
|
827
|
+
text: z46.string(),
|
|
828
|
+
symbol_name: z46.string().optional()
|
|
817
829
|
});
|
|
818
830
|
expectTypesMatch(true);
|
|
819
831
|
|
|
820
832
|
// src/schematic/schematic_error.ts
|
|
821
|
-
import { z as
|
|
822
|
-
var schematic_error =
|
|
823
|
-
type:
|
|
824
|
-
schematic_error_id:
|
|
833
|
+
import { z as z47 } from "zod";
|
|
834
|
+
var schematic_error = z47.object({
|
|
835
|
+
type: z47.literal("schematic_error"),
|
|
836
|
+
schematic_error_id: z47.string(),
|
|
825
837
|
// eventually each error type should be broken out into a dir of files
|
|
826
|
-
error_type:
|
|
827
|
-
message:
|
|
838
|
+
error_type: z47.literal("schematic_port_not_found").default("schematic_port_not_found"),
|
|
839
|
+
message: z47.string()
|
|
828
840
|
}).describe("Defines a schematic error on the schematic");
|
|
829
841
|
expectTypesMatch(true);
|
|
830
842
|
|
|
831
843
|
// src/schematic/schematic_layout_error.ts
|
|
832
|
-
import { z as
|
|
833
|
-
var schematic_layout_error =
|
|
834
|
-
type:
|
|
844
|
+
import { z as z48 } from "zod";
|
|
845
|
+
var schematic_layout_error = z48.object({
|
|
846
|
+
type: z48.literal("schematic_layout_error"),
|
|
835
847
|
schematic_layout_error_id: getZodPrefixedIdWithDefault(
|
|
836
848
|
"schematic_layout_error"
|
|
837
849
|
),
|
|
838
|
-
error_type:
|
|
839
|
-
message:
|
|
840
|
-
source_group_id:
|
|
841
|
-
schematic_group_id:
|
|
850
|
+
error_type: z48.literal("schematic_layout_error").default("schematic_layout_error"),
|
|
851
|
+
message: z48.string(),
|
|
852
|
+
source_group_id: z48.string(),
|
|
853
|
+
schematic_group_id: z48.string()
|
|
842
854
|
}).describe("Error emitted when schematic layout fails for a group");
|
|
843
855
|
expectTypesMatch(true);
|
|
844
856
|
|
|
845
857
|
// src/schematic/schematic_debug_object.ts
|
|
846
|
-
import { z as
|
|
847
|
-
var schematic_debug_object_base =
|
|
848
|
-
type:
|
|
849
|
-
label:
|
|
858
|
+
import { z as z49 } from "zod";
|
|
859
|
+
var schematic_debug_object_base = z49.object({
|
|
860
|
+
type: z49.literal("schematic_debug_object"),
|
|
861
|
+
label: z49.string().optional()
|
|
850
862
|
});
|
|
851
863
|
var schematic_debug_rect = schematic_debug_object_base.extend({
|
|
852
|
-
shape:
|
|
864
|
+
shape: z49.literal("rect"),
|
|
853
865
|
center: point,
|
|
854
866
|
size
|
|
855
867
|
});
|
|
856
868
|
var schematic_debug_line = schematic_debug_object_base.extend({
|
|
857
|
-
shape:
|
|
869
|
+
shape: z49.literal("line"),
|
|
858
870
|
start: point,
|
|
859
871
|
end: point
|
|
860
872
|
});
|
|
861
873
|
var schematic_debug_point = schematic_debug_object_base.extend({
|
|
862
|
-
shape:
|
|
874
|
+
shape: z49.literal("point"),
|
|
863
875
|
center: point
|
|
864
876
|
});
|
|
865
|
-
var schematic_debug_object =
|
|
877
|
+
var schematic_debug_object = z49.discriminatedUnion("shape", [
|
|
866
878
|
schematic_debug_rect,
|
|
867
879
|
schematic_debug_line,
|
|
868
880
|
schematic_debug_point
|
|
@@ -870,53 +882,53 @@ var schematic_debug_object = z48.discriminatedUnion("shape", [
|
|
|
870
882
|
expectTypesMatch(true);
|
|
871
883
|
|
|
872
884
|
// src/schematic/schematic_voltage_probe.ts
|
|
873
|
-
import { z as
|
|
874
|
-
var schematic_voltage_probe =
|
|
875
|
-
type:
|
|
876
|
-
schematic_voltage_probe_id:
|
|
885
|
+
import { z as z50 } from "zod";
|
|
886
|
+
var schematic_voltage_probe = z50.object({
|
|
887
|
+
type: z50.literal("schematic_voltage_probe"),
|
|
888
|
+
schematic_voltage_probe_id: z50.string(),
|
|
877
889
|
position: point,
|
|
878
|
-
schematic_trace_id:
|
|
890
|
+
schematic_trace_id: z50.string(),
|
|
879
891
|
voltage: voltage.optional()
|
|
880
892
|
}).describe("Defines a voltage probe measurement point on a schematic trace");
|
|
881
893
|
expectTypesMatch(true);
|
|
882
894
|
|
|
883
895
|
// src/schematic/schematic_manual_edit_conflict_warning.ts
|
|
884
|
-
import { z as
|
|
885
|
-
var schematic_manual_edit_conflict_warning =
|
|
886
|
-
type:
|
|
896
|
+
import { z as z51 } from "zod";
|
|
897
|
+
var schematic_manual_edit_conflict_warning = z51.object({
|
|
898
|
+
type: z51.literal("schematic_manual_edit_conflict_warning"),
|
|
887
899
|
schematic_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
888
900
|
"schematic_manual_edit_conflict_warning"
|
|
889
901
|
),
|
|
890
|
-
warning_type:
|
|
891
|
-
message:
|
|
892
|
-
schematic_component_id:
|
|
893
|
-
schematic_group_id:
|
|
894
|
-
subcircuit_id:
|
|
895
|
-
source_component_id:
|
|
902
|
+
warning_type: z51.literal("schematic_manual_edit_conflict_warning").default("schematic_manual_edit_conflict_warning"),
|
|
903
|
+
message: z51.string(),
|
|
904
|
+
schematic_component_id: z51.string(),
|
|
905
|
+
schematic_group_id: z51.string().optional(),
|
|
906
|
+
subcircuit_id: z51.string().optional(),
|
|
907
|
+
source_component_id: z51.string()
|
|
896
908
|
}).describe(
|
|
897
909
|
"Warning emitted when a component has both manual placement and explicit schX/schY coordinates"
|
|
898
910
|
);
|
|
899
911
|
expectTypesMatch(true);
|
|
900
912
|
|
|
901
913
|
// src/schematic/schematic_group.ts
|
|
902
|
-
import { z as
|
|
903
|
-
var schematic_group =
|
|
904
|
-
type:
|
|
914
|
+
import { z as z52 } from "zod";
|
|
915
|
+
var schematic_group = z52.object({
|
|
916
|
+
type: z52.literal("schematic_group"),
|
|
905
917
|
schematic_group_id: getZodPrefixedIdWithDefault("schematic_group"),
|
|
906
|
-
source_group_id:
|
|
907
|
-
is_subcircuit:
|
|
908
|
-
subcircuit_id:
|
|
918
|
+
source_group_id: z52.string(),
|
|
919
|
+
is_subcircuit: z52.boolean().optional(),
|
|
920
|
+
subcircuit_id: z52.string().optional(),
|
|
909
921
|
width: length,
|
|
910
922
|
height: length,
|
|
911
923
|
center: point,
|
|
912
|
-
schematic_component_ids:
|
|
913
|
-
name:
|
|
914
|
-
description:
|
|
924
|
+
schematic_component_ids: z52.array(z52.string()),
|
|
925
|
+
name: z52.string().optional(),
|
|
926
|
+
description: z52.string().optional()
|
|
915
927
|
}).describe("Defines a group of components on the schematic");
|
|
916
928
|
expectTypesMatch(true);
|
|
917
929
|
|
|
918
930
|
// src/pcb/properties/layer_ref.ts
|
|
919
|
-
import { z as
|
|
931
|
+
import { z as z53 } from "zod";
|
|
920
932
|
var all_layers = [
|
|
921
933
|
"top",
|
|
922
934
|
"bottom",
|
|
@@ -927,9 +939,9 @@ var all_layers = [
|
|
|
927
939
|
"inner5",
|
|
928
940
|
"inner6"
|
|
929
941
|
];
|
|
930
|
-
var layer_string =
|
|
942
|
+
var layer_string = z53.enum(all_layers);
|
|
931
943
|
var layer_ref = layer_string.or(
|
|
932
|
-
|
|
944
|
+
z53.object({
|
|
933
945
|
name: layer_string
|
|
934
946
|
})
|
|
935
947
|
).transform((layer) => {
|
|
@@ -938,53 +950,53 @@ var layer_ref = layer_string.or(
|
|
|
938
950
|
}
|
|
939
951
|
return layer.name;
|
|
940
952
|
});
|
|
941
|
-
var visible_layer =
|
|
953
|
+
var visible_layer = z53.enum(["top", "bottom"]);
|
|
942
954
|
|
|
943
955
|
// src/pcb/properties/pcb_route_hints.ts
|
|
944
|
-
import { z as
|
|
945
|
-
var pcb_route_hint =
|
|
956
|
+
import { z as z54 } from "zod";
|
|
957
|
+
var pcb_route_hint = z54.object({
|
|
946
958
|
x: distance,
|
|
947
959
|
y: distance,
|
|
948
|
-
via:
|
|
960
|
+
via: z54.boolean().optional(),
|
|
949
961
|
via_to_layer: layer_ref.optional()
|
|
950
962
|
});
|
|
951
|
-
var pcb_route_hints =
|
|
963
|
+
var pcb_route_hints = z54.array(pcb_route_hint);
|
|
952
964
|
|
|
953
965
|
// src/pcb/properties/route_hint_point.ts
|
|
954
|
-
import { z as
|
|
955
|
-
var route_hint_point =
|
|
966
|
+
import { z as z55 } from "zod";
|
|
967
|
+
var route_hint_point = z55.object({
|
|
956
968
|
x: distance,
|
|
957
969
|
y: distance,
|
|
958
|
-
via:
|
|
970
|
+
via: z55.boolean().optional(),
|
|
959
971
|
to_layer: layer_ref.optional(),
|
|
960
972
|
trace_width: distance.optional()
|
|
961
973
|
});
|
|
962
974
|
|
|
963
975
|
// src/pcb/pcb_component.ts
|
|
964
|
-
import { z as
|
|
965
|
-
var pcb_component =
|
|
966
|
-
type:
|
|
976
|
+
import { z as z56 } from "zod";
|
|
977
|
+
var pcb_component = z56.object({
|
|
978
|
+
type: z56.literal("pcb_component"),
|
|
967
979
|
pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
|
|
968
|
-
source_component_id:
|
|
980
|
+
source_component_id: z56.string(),
|
|
969
981
|
center: point,
|
|
970
982
|
layer: layer_ref,
|
|
971
983
|
rotation,
|
|
972
984
|
width: length,
|
|
973
985
|
height: length,
|
|
974
|
-
subcircuit_id:
|
|
975
|
-
pcb_group_id:
|
|
986
|
+
subcircuit_id: z56.string().optional(),
|
|
987
|
+
pcb_group_id: z56.string().optional()
|
|
976
988
|
}).describe("Defines a component on the PCB");
|
|
977
989
|
expectTypesMatch(true);
|
|
978
990
|
|
|
979
991
|
// src/pcb/pcb_hole.ts
|
|
980
|
-
import { z as
|
|
981
|
-
var pcb_hole_circle_or_square =
|
|
982
|
-
type:
|
|
992
|
+
import { z as z57 } from "zod";
|
|
993
|
+
var pcb_hole_circle_or_square = z57.object({
|
|
994
|
+
type: z57.literal("pcb_hole"),
|
|
983
995
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
984
|
-
pcb_group_id:
|
|
985
|
-
subcircuit_id:
|
|
986
|
-
hole_shape:
|
|
987
|
-
hole_diameter:
|
|
996
|
+
pcb_group_id: z57.string().optional(),
|
|
997
|
+
subcircuit_id: z57.string().optional(),
|
|
998
|
+
hole_shape: z57.enum(["circle", "square"]),
|
|
999
|
+
hole_diameter: z57.number(),
|
|
988
1000
|
x: distance,
|
|
989
1001
|
y: distance
|
|
990
1002
|
});
|
|
@@ -992,14 +1004,14 @@ var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
|
|
|
992
1004
|
"Defines a circular or square hole on the PCB"
|
|
993
1005
|
);
|
|
994
1006
|
expectTypesMatch(true);
|
|
995
|
-
var pcb_hole_oval =
|
|
996
|
-
type:
|
|
1007
|
+
var pcb_hole_oval = z57.object({
|
|
1008
|
+
type: z57.literal("pcb_hole"),
|
|
997
1009
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
998
|
-
pcb_group_id:
|
|
999
|
-
subcircuit_id:
|
|
1000
|
-
hole_shape:
|
|
1001
|
-
hole_width:
|
|
1002
|
-
hole_height:
|
|
1010
|
+
pcb_group_id: z57.string().optional(),
|
|
1011
|
+
subcircuit_id: z57.string().optional(),
|
|
1012
|
+
hole_shape: z57.literal("oval"),
|
|
1013
|
+
hole_width: z57.number(),
|
|
1014
|
+
hole_height: z57.number(),
|
|
1003
1015
|
x: distance,
|
|
1004
1016
|
y: distance
|
|
1005
1017
|
});
|
|
@@ -1010,77 +1022,77 @@ expectTypesMatch(true);
|
|
|
1010
1022
|
var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval);
|
|
1011
1023
|
|
|
1012
1024
|
// src/pcb/pcb_plated_hole.ts
|
|
1013
|
-
import { z as
|
|
1014
|
-
var pcb_plated_hole_circle =
|
|
1015
|
-
type:
|
|
1016
|
-
shape:
|
|
1017
|
-
pcb_group_id:
|
|
1018
|
-
subcircuit_id:
|
|
1019
|
-
outer_diameter:
|
|
1020
|
-
hole_diameter:
|
|
1025
|
+
import { z as z58 } from "zod";
|
|
1026
|
+
var pcb_plated_hole_circle = z58.object({
|
|
1027
|
+
type: z58.literal("pcb_plated_hole"),
|
|
1028
|
+
shape: z58.literal("circle"),
|
|
1029
|
+
pcb_group_id: z58.string().optional(),
|
|
1030
|
+
subcircuit_id: z58.string().optional(),
|
|
1031
|
+
outer_diameter: z58.number(),
|
|
1032
|
+
hole_diameter: z58.number(),
|
|
1021
1033
|
x: distance,
|
|
1022
1034
|
y: distance,
|
|
1023
|
-
layers:
|
|
1024
|
-
port_hints:
|
|
1025
|
-
pcb_component_id:
|
|
1026
|
-
pcb_port_id:
|
|
1035
|
+
layers: z58.array(layer_ref),
|
|
1036
|
+
port_hints: z58.array(z58.string()).optional(),
|
|
1037
|
+
pcb_component_id: z58.string().optional(),
|
|
1038
|
+
pcb_port_id: z58.string().optional(),
|
|
1027
1039
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
1028
1040
|
});
|
|
1029
|
-
var pcb_plated_hole_oval =
|
|
1030
|
-
type:
|
|
1031
|
-
shape:
|
|
1032
|
-
pcb_group_id:
|
|
1033
|
-
subcircuit_id:
|
|
1034
|
-
outer_width:
|
|
1035
|
-
outer_height:
|
|
1036
|
-
hole_width:
|
|
1037
|
-
hole_height:
|
|
1041
|
+
var pcb_plated_hole_oval = z58.object({
|
|
1042
|
+
type: z58.literal("pcb_plated_hole"),
|
|
1043
|
+
shape: z58.enum(["oval", "pill"]),
|
|
1044
|
+
pcb_group_id: z58.string().optional(),
|
|
1045
|
+
subcircuit_id: z58.string().optional(),
|
|
1046
|
+
outer_width: z58.number(),
|
|
1047
|
+
outer_height: z58.number(),
|
|
1048
|
+
hole_width: z58.number(),
|
|
1049
|
+
hole_height: z58.number(),
|
|
1038
1050
|
x: distance,
|
|
1039
1051
|
y: distance,
|
|
1040
|
-
layers:
|
|
1041
|
-
port_hints:
|
|
1042
|
-
pcb_component_id:
|
|
1043
|
-
pcb_port_id:
|
|
1052
|
+
layers: z58.array(layer_ref),
|
|
1053
|
+
port_hints: z58.array(z58.string()).optional(),
|
|
1054
|
+
pcb_component_id: z58.string().optional(),
|
|
1055
|
+
pcb_port_id: z58.string().optional(),
|
|
1044
1056
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
1045
1057
|
});
|
|
1046
|
-
var pcb_circular_hole_with_rect_pad =
|
|
1047
|
-
type:
|
|
1048
|
-
shape:
|
|
1049
|
-
pcb_group_id:
|
|
1050
|
-
subcircuit_id:
|
|
1051
|
-
hole_shape:
|
|
1052
|
-
pad_shape:
|
|
1053
|
-
hole_diameter:
|
|
1054
|
-
rect_pad_width:
|
|
1055
|
-
rect_pad_height:
|
|
1058
|
+
var pcb_circular_hole_with_rect_pad = z58.object({
|
|
1059
|
+
type: z58.literal("pcb_plated_hole"),
|
|
1060
|
+
shape: z58.literal("circular_hole_with_rect_pad"),
|
|
1061
|
+
pcb_group_id: z58.string().optional(),
|
|
1062
|
+
subcircuit_id: z58.string().optional(),
|
|
1063
|
+
hole_shape: z58.literal("circle"),
|
|
1064
|
+
pad_shape: z58.literal("rect"),
|
|
1065
|
+
hole_diameter: z58.number(),
|
|
1066
|
+
rect_pad_width: z58.number(),
|
|
1067
|
+
rect_pad_height: z58.number(),
|
|
1056
1068
|
x: distance,
|
|
1057
1069
|
y: distance,
|
|
1058
|
-
layers:
|
|
1059
|
-
port_hints:
|
|
1060
|
-
pcb_component_id:
|
|
1061
|
-
pcb_port_id:
|
|
1070
|
+
layers: z58.array(layer_ref),
|
|
1071
|
+
port_hints: z58.array(z58.string()).optional(),
|
|
1072
|
+
pcb_component_id: z58.string().optional(),
|
|
1073
|
+
pcb_port_id: z58.string().optional(),
|
|
1062
1074
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
1063
1075
|
});
|
|
1064
|
-
var pcb_pill_hole_with_rect_pad =
|
|
1065
|
-
type:
|
|
1066
|
-
shape:
|
|
1067
|
-
pcb_group_id:
|
|
1068
|
-
subcircuit_id:
|
|
1069
|
-
hole_shape:
|
|
1070
|
-
pad_shape:
|
|
1071
|
-
hole_width:
|
|
1072
|
-
hole_height:
|
|
1073
|
-
rect_pad_width:
|
|
1074
|
-
rect_pad_height:
|
|
1076
|
+
var pcb_pill_hole_with_rect_pad = z58.object({
|
|
1077
|
+
type: z58.literal("pcb_plated_hole"),
|
|
1078
|
+
shape: z58.literal("pill_hole_with_rect_pad"),
|
|
1079
|
+
pcb_group_id: z58.string().optional(),
|
|
1080
|
+
subcircuit_id: z58.string().optional(),
|
|
1081
|
+
hole_shape: z58.literal("pill"),
|
|
1082
|
+
pad_shape: z58.literal("rect"),
|
|
1083
|
+
hole_width: z58.number(),
|
|
1084
|
+
hole_height: z58.number(),
|
|
1085
|
+
rect_pad_width: z58.number(),
|
|
1086
|
+
rect_pad_height: z58.number(),
|
|
1075
1087
|
x: distance,
|
|
1076
1088
|
y: distance,
|
|
1077
|
-
layers:
|
|
1078
|
-
port_hints:
|
|
1079
|
-
pcb_component_id:
|
|
1080
|
-
pcb_port_id:
|
|
1089
|
+
layers: z58.array(layer_ref),
|
|
1090
|
+
port_hints: z58.array(z58.string()).optional(),
|
|
1091
|
+
pcb_component_id: z58.string().optional(),
|
|
1092
|
+
pcb_port_id: z58.string().optional(),
|
|
1081
1093
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
1082
1094
|
});
|
|
1083
|
-
var pcb_plated_hole =
|
|
1095
|
+
var pcb_plated_hole = z58.union([
|
|
1084
1096
|
pcb_plated_hole_circle,
|
|
1085
1097
|
pcb_plated_hole_oval,
|
|
1086
1098
|
pcb_circular_hole_with_rect_pad,
|
|
@@ -1094,96 +1106,96 @@ expectTypesMatch(true);
|
|
|
1094
1106
|
expectTypesMatch(true);
|
|
1095
1107
|
|
|
1096
1108
|
// src/pcb/pcb_port.ts
|
|
1097
|
-
import { z as
|
|
1098
|
-
var pcb_port =
|
|
1099
|
-
type:
|
|
1109
|
+
import { z as z59 } from "zod";
|
|
1110
|
+
var pcb_port = z59.object({
|
|
1111
|
+
type: z59.literal("pcb_port"),
|
|
1100
1112
|
pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
|
|
1101
|
-
pcb_group_id:
|
|
1102
|
-
subcircuit_id:
|
|
1103
|
-
source_port_id:
|
|
1104
|
-
pcb_component_id:
|
|
1113
|
+
pcb_group_id: z59.string().optional(),
|
|
1114
|
+
subcircuit_id: z59.string().optional(),
|
|
1115
|
+
source_port_id: z59.string(),
|
|
1116
|
+
pcb_component_id: z59.string(),
|
|
1105
1117
|
x: distance,
|
|
1106
1118
|
y: distance,
|
|
1107
|
-
layers:
|
|
1119
|
+
layers: z59.array(layer_ref)
|
|
1108
1120
|
}).describe("Defines a port on the PCB");
|
|
1109
1121
|
expectTypesMatch(true);
|
|
1110
1122
|
|
|
1111
1123
|
// src/pcb/pcb_smtpad.ts
|
|
1112
|
-
import { z as
|
|
1113
|
-
var pcb_smtpad_circle =
|
|
1114
|
-
type:
|
|
1115
|
-
shape:
|
|
1124
|
+
import { z as z60 } from "zod";
|
|
1125
|
+
var pcb_smtpad_circle = z60.object({
|
|
1126
|
+
type: z60.literal("pcb_smtpad"),
|
|
1127
|
+
shape: z60.literal("circle"),
|
|
1116
1128
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1117
|
-
pcb_group_id:
|
|
1118
|
-
subcircuit_id:
|
|
1129
|
+
pcb_group_id: z60.string().optional(),
|
|
1130
|
+
subcircuit_id: z60.string().optional(),
|
|
1119
1131
|
x: distance,
|
|
1120
1132
|
y: distance,
|
|
1121
|
-
radius:
|
|
1133
|
+
radius: z60.number(),
|
|
1122
1134
|
layer: layer_ref,
|
|
1123
|
-
port_hints:
|
|
1124
|
-
pcb_component_id:
|
|
1125
|
-
pcb_port_id:
|
|
1135
|
+
port_hints: z60.array(z60.string()).optional(),
|
|
1136
|
+
pcb_component_id: z60.string().optional(),
|
|
1137
|
+
pcb_port_id: z60.string().optional()
|
|
1126
1138
|
});
|
|
1127
|
-
var pcb_smtpad_rect =
|
|
1128
|
-
type:
|
|
1129
|
-
shape:
|
|
1139
|
+
var pcb_smtpad_rect = z60.object({
|
|
1140
|
+
type: z60.literal("pcb_smtpad"),
|
|
1141
|
+
shape: z60.literal("rect"),
|
|
1130
1142
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1131
|
-
pcb_group_id:
|
|
1132
|
-
subcircuit_id:
|
|
1143
|
+
pcb_group_id: z60.string().optional(),
|
|
1144
|
+
subcircuit_id: z60.string().optional(),
|
|
1133
1145
|
x: distance,
|
|
1134
1146
|
y: distance,
|
|
1135
|
-
width:
|
|
1136
|
-
height:
|
|
1147
|
+
width: z60.number(),
|
|
1148
|
+
height: z60.number(),
|
|
1137
1149
|
layer: layer_ref,
|
|
1138
|
-
port_hints:
|
|
1139
|
-
pcb_component_id:
|
|
1140
|
-
pcb_port_id:
|
|
1150
|
+
port_hints: z60.array(z60.string()).optional(),
|
|
1151
|
+
pcb_component_id: z60.string().optional(),
|
|
1152
|
+
pcb_port_id: z60.string().optional()
|
|
1141
1153
|
});
|
|
1142
|
-
var pcb_smtpad_rotated_rect =
|
|
1143
|
-
type:
|
|
1144
|
-
shape:
|
|
1154
|
+
var pcb_smtpad_rotated_rect = z60.object({
|
|
1155
|
+
type: z60.literal("pcb_smtpad"),
|
|
1156
|
+
shape: z60.literal("rotated_rect"),
|
|
1145
1157
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1146
|
-
pcb_group_id:
|
|
1147
|
-
subcircuit_id:
|
|
1158
|
+
pcb_group_id: z60.string().optional(),
|
|
1159
|
+
subcircuit_id: z60.string().optional(),
|
|
1148
1160
|
x: distance,
|
|
1149
1161
|
y: distance,
|
|
1150
|
-
width:
|
|
1151
|
-
height:
|
|
1162
|
+
width: z60.number(),
|
|
1163
|
+
height: z60.number(),
|
|
1152
1164
|
ccw_rotation: rotation,
|
|
1153
1165
|
layer: layer_ref,
|
|
1154
|
-
port_hints:
|
|
1155
|
-
pcb_component_id:
|
|
1156
|
-
pcb_port_id:
|
|
1166
|
+
port_hints: z60.array(z60.string()).optional(),
|
|
1167
|
+
pcb_component_id: z60.string().optional(),
|
|
1168
|
+
pcb_port_id: z60.string().optional()
|
|
1157
1169
|
});
|
|
1158
|
-
var pcb_smtpad_pill =
|
|
1159
|
-
type:
|
|
1160
|
-
shape:
|
|
1170
|
+
var pcb_smtpad_pill = z60.object({
|
|
1171
|
+
type: z60.literal("pcb_smtpad"),
|
|
1172
|
+
shape: z60.literal("pill"),
|
|
1161
1173
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1162
|
-
pcb_group_id:
|
|
1163
|
-
subcircuit_id:
|
|
1174
|
+
pcb_group_id: z60.string().optional(),
|
|
1175
|
+
subcircuit_id: z60.string().optional(),
|
|
1164
1176
|
x: distance,
|
|
1165
1177
|
y: distance,
|
|
1166
|
-
width:
|
|
1167
|
-
height:
|
|
1168
|
-
radius:
|
|
1178
|
+
width: z60.number(),
|
|
1179
|
+
height: z60.number(),
|
|
1180
|
+
radius: z60.number(),
|
|
1169
1181
|
layer: layer_ref,
|
|
1170
|
-
port_hints:
|
|
1171
|
-
pcb_component_id:
|
|
1172
|
-
pcb_port_id:
|
|
1182
|
+
port_hints: z60.array(z60.string()).optional(),
|
|
1183
|
+
pcb_component_id: z60.string().optional(),
|
|
1184
|
+
pcb_port_id: z60.string().optional()
|
|
1173
1185
|
});
|
|
1174
|
-
var pcb_smtpad_polygon =
|
|
1175
|
-
type:
|
|
1176
|
-
shape:
|
|
1186
|
+
var pcb_smtpad_polygon = z60.object({
|
|
1187
|
+
type: z60.literal("pcb_smtpad"),
|
|
1188
|
+
shape: z60.literal("polygon"),
|
|
1177
1189
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1178
|
-
pcb_group_id:
|
|
1179
|
-
subcircuit_id:
|
|
1180
|
-
points:
|
|
1190
|
+
pcb_group_id: z60.string().optional(),
|
|
1191
|
+
subcircuit_id: z60.string().optional(),
|
|
1192
|
+
points: z60.array(point),
|
|
1181
1193
|
layer: layer_ref,
|
|
1182
|
-
port_hints:
|
|
1183
|
-
pcb_component_id:
|
|
1184
|
-
pcb_port_id:
|
|
1194
|
+
port_hints: z60.array(z60.string()).optional(),
|
|
1195
|
+
pcb_component_id: z60.string().optional(),
|
|
1196
|
+
pcb_port_id: z60.string().optional()
|
|
1185
1197
|
});
|
|
1186
|
-
var pcb_smtpad =
|
|
1198
|
+
var pcb_smtpad = z60.discriminatedUnion("shape", [
|
|
1187
1199
|
pcb_smtpad_circle,
|
|
1188
1200
|
pcb_smtpad_rect,
|
|
1189
1201
|
pcb_smtpad_rotated_rect,
|
|
@@ -1197,79 +1209,79 @@ expectTypesMatch(true);
|
|
|
1197
1209
|
expectTypesMatch(true);
|
|
1198
1210
|
|
|
1199
1211
|
// src/pcb/pcb_solder_paste.ts
|
|
1200
|
-
import { z as
|
|
1201
|
-
var pcb_solder_paste_circle =
|
|
1202
|
-
type:
|
|
1203
|
-
shape:
|
|
1212
|
+
import { z as z61 } from "zod";
|
|
1213
|
+
var pcb_solder_paste_circle = z61.object({
|
|
1214
|
+
type: z61.literal("pcb_solder_paste"),
|
|
1215
|
+
shape: z61.literal("circle"),
|
|
1204
1216
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1205
|
-
pcb_group_id:
|
|
1206
|
-
subcircuit_id:
|
|
1217
|
+
pcb_group_id: z61.string().optional(),
|
|
1218
|
+
subcircuit_id: z61.string().optional(),
|
|
1207
1219
|
x: distance,
|
|
1208
1220
|
y: distance,
|
|
1209
|
-
radius:
|
|
1221
|
+
radius: z61.number(),
|
|
1210
1222
|
layer: layer_ref,
|
|
1211
|
-
pcb_component_id:
|
|
1212
|
-
pcb_smtpad_id:
|
|
1223
|
+
pcb_component_id: z61.string().optional(),
|
|
1224
|
+
pcb_smtpad_id: z61.string().optional()
|
|
1213
1225
|
});
|
|
1214
|
-
var pcb_solder_paste_rect =
|
|
1215
|
-
type:
|
|
1216
|
-
shape:
|
|
1226
|
+
var pcb_solder_paste_rect = z61.object({
|
|
1227
|
+
type: z61.literal("pcb_solder_paste"),
|
|
1228
|
+
shape: z61.literal("rect"),
|
|
1217
1229
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1218
|
-
pcb_group_id:
|
|
1219
|
-
subcircuit_id:
|
|
1230
|
+
pcb_group_id: z61.string().optional(),
|
|
1231
|
+
subcircuit_id: z61.string().optional(),
|
|
1220
1232
|
x: distance,
|
|
1221
1233
|
y: distance,
|
|
1222
|
-
width:
|
|
1223
|
-
height:
|
|
1234
|
+
width: z61.number(),
|
|
1235
|
+
height: z61.number(),
|
|
1224
1236
|
layer: layer_ref,
|
|
1225
|
-
pcb_component_id:
|
|
1226
|
-
pcb_smtpad_id:
|
|
1237
|
+
pcb_component_id: z61.string().optional(),
|
|
1238
|
+
pcb_smtpad_id: z61.string().optional()
|
|
1227
1239
|
});
|
|
1228
|
-
var pcb_solder_paste_pill =
|
|
1229
|
-
type:
|
|
1230
|
-
shape:
|
|
1240
|
+
var pcb_solder_paste_pill = z61.object({
|
|
1241
|
+
type: z61.literal("pcb_solder_paste"),
|
|
1242
|
+
shape: z61.literal("pill"),
|
|
1231
1243
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1232
|
-
pcb_group_id:
|
|
1233
|
-
subcircuit_id:
|
|
1244
|
+
pcb_group_id: z61.string().optional(),
|
|
1245
|
+
subcircuit_id: z61.string().optional(),
|
|
1234
1246
|
x: distance,
|
|
1235
1247
|
y: distance,
|
|
1236
|
-
width:
|
|
1237
|
-
height:
|
|
1238
|
-
radius:
|
|
1248
|
+
width: z61.number(),
|
|
1249
|
+
height: z61.number(),
|
|
1250
|
+
radius: z61.number(),
|
|
1239
1251
|
layer: layer_ref,
|
|
1240
|
-
pcb_component_id:
|
|
1241
|
-
pcb_smtpad_id:
|
|
1252
|
+
pcb_component_id: z61.string().optional(),
|
|
1253
|
+
pcb_smtpad_id: z61.string().optional()
|
|
1242
1254
|
});
|
|
1243
|
-
var pcb_solder_paste_rotated_rect =
|
|
1244
|
-
type:
|
|
1245
|
-
shape:
|
|
1255
|
+
var pcb_solder_paste_rotated_rect = z61.object({
|
|
1256
|
+
type: z61.literal("pcb_solder_paste"),
|
|
1257
|
+
shape: z61.literal("rotated_rect"),
|
|
1246
1258
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1247
|
-
pcb_group_id:
|
|
1248
|
-
subcircuit_id:
|
|
1259
|
+
pcb_group_id: z61.string().optional(),
|
|
1260
|
+
subcircuit_id: z61.string().optional(),
|
|
1249
1261
|
x: distance,
|
|
1250
1262
|
y: distance,
|
|
1251
|
-
width:
|
|
1252
|
-
height:
|
|
1263
|
+
width: z61.number(),
|
|
1264
|
+
height: z61.number(),
|
|
1253
1265
|
ccw_rotation: distance,
|
|
1254
1266
|
layer: layer_ref,
|
|
1255
|
-
pcb_component_id:
|
|
1256
|
-
pcb_smtpad_id:
|
|
1267
|
+
pcb_component_id: z61.string().optional(),
|
|
1268
|
+
pcb_smtpad_id: z61.string().optional()
|
|
1257
1269
|
});
|
|
1258
|
-
var pcb_solder_paste_oval =
|
|
1259
|
-
type:
|
|
1260
|
-
shape:
|
|
1270
|
+
var pcb_solder_paste_oval = z61.object({
|
|
1271
|
+
type: z61.literal("pcb_solder_paste"),
|
|
1272
|
+
shape: z61.literal("oval"),
|
|
1261
1273
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1262
|
-
pcb_group_id:
|
|
1263
|
-
subcircuit_id:
|
|
1274
|
+
pcb_group_id: z61.string().optional(),
|
|
1275
|
+
subcircuit_id: z61.string().optional(),
|
|
1264
1276
|
x: distance,
|
|
1265
1277
|
y: distance,
|
|
1266
|
-
width:
|
|
1267
|
-
height:
|
|
1278
|
+
width: z61.number(),
|
|
1279
|
+
height: z61.number(),
|
|
1268
1280
|
layer: layer_ref,
|
|
1269
|
-
pcb_component_id:
|
|
1270
|
-
pcb_smtpad_id:
|
|
1281
|
+
pcb_component_id: z61.string().optional(),
|
|
1282
|
+
pcb_smtpad_id: z61.string().optional()
|
|
1271
1283
|
});
|
|
1272
|
-
var pcb_solder_paste =
|
|
1284
|
+
var pcb_solder_paste = z61.union([
|
|
1273
1285
|
pcb_solder_paste_circle,
|
|
1274
1286
|
pcb_solder_paste_rect,
|
|
1275
1287
|
pcb_solder_paste_pill,
|
|
@@ -1285,96 +1297,96 @@ expectTypesMatch(
|
|
|
1285
1297
|
expectTypesMatch(true);
|
|
1286
1298
|
|
|
1287
1299
|
// src/pcb/pcb_text.ts
|
|
1288
|
-
import { z as
|
|
1289
|
-
var pcb_text =
|
|
1290
|
-
type:
|
|
1300
|
+
import { z as z62 } from "zod";
|
|
1301
|
+
var pcb_text = z62.object({
|
|
1302
|
+
type: z62.literal("pcb_text"),
|
|
1291
1303
|
pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
|
|
1292
|
-
pcb_group_id:
|
|
1293
|
-
subcircuit_id:
|
|
1294
|
-
text:
|
|
1304
|
+
pcb_group_id: z62.string().optional(),
|
|
1305
|
+
subcircuit_id: z62.string().optional(),
|
|
1306
|
+
text: z62.string(),
|
|
1295
1307
|
center: point,
|
|
1296
1308
|
layer: layer_ref,
|
|
1297
1309
|
width: length,
|
|
1298
1310
|
height: length,
|
|
1299
|
-
lines:
|
|
1311
|
+
lines: z62.number(),
|
|
1300
1312
|
// @ts-ignore
|
|
1301
|
-
align:
|
|
1313
|
+
align: z62.enum(["bottom-left"])
|
|
1302
1314
|
}).describe("Defines text on the PCB");
|
|
1303
1315
|
expectTypesMatch(true);
|
|
1304
1316
|
|
|
1305
1317
|
// src/pcb/pcb_trace.ts
|
|
1306
|
-
import { z as
|
|
1307
|
-
var pcb_trace_route_point_wire =
|
|
1308
|
-
route_type:
|
|
1318
|
+
import { z as z63 } from "zod";
|
|
1319
|
+
var pcb_trace_route_point_wire = z63.object({
|
|
1320
|
+
route_type: z63.literal("wire"),
|
|
1309
1321
|
x: distance,
|
|
1310
1322
|
y: distance,
|
|
1311
1323
|
width: distance,
|
|
1312
|
-
start_pcb_port_id:
|
|
1313
|
-
end_pcb_port_id:
|
|
1324
|
+
start_pcb_port_id: z63.string().optional(),
|
|
1325
|
+
end_pcb_port_id: z63.string().optional(),
|
|
1314
1326
|
layer: layer_ref
|
|
1315
1327
|
});
|
|
1316
|
-
var pcb_trace_route_point_via =
|
|
1317
|
-
route_type:
|
|
1328
|
+
var pcb_trace_route_point_via = z63.object({
|
|
1329
|
+
route_type: z63.literal("via"),
|
|
1318
1330
|
x: distance,
|
|
1319
1331
|
y: distance,
|
|
1320
1332
|
hole_diameter: distance.optional(),
|
|
1321
1333
|
outer_diameter: distance.optional(),
|
|
1322
|
-
from_layer:
|
|
1323
|
-
to_layer:
|
|
1334
|
+
from_layer: z63.string(),
|
|
1335
|
+
to_layer: z63.string()
|
|
1324
1336
|
});
|
|
1325
|
-
var pcb_trace_route_point =
|
|
1337
|
+
var pcb_trace_route_point = z63.union([
|
|
1326
1338
|
pcb_trace_route_point_wire,
|
|
1327
1339
|
pcb_trace_route_point_via
|
|
1328
1340
|
]);
|
|
1329
|
-
var pcb_trace =
|
|
1330
|
-
type:
|
|
1331
|
-
source_trace_id:
|
|
1332
|
-
pcb_component_id:
|
|
1341
|
+
var pcb_trace = z63.object({
|
|
1342
|
+
type: z63.literal("pcb_trace"),
|
|
1343
|
+
source_trace_id: z63.string().optional(),
|
|
1344
|
+
pcb_component_id: z63.string().optional(),
|
|
1333
1345
|
pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
|
|
1334
|
-
pcb_group_id:
|
|
1335
|
-
subcircuit_id:
|
|
1336
|
-
route_thickness_mode:
|
|
1337
|
-
route_order_index:
|
|
1338
|
-
should_round_corners:
|
|
1339
|
-
trace_length:
|
|
1340
|
-
route:
|
|
1346
|
+
pcb_group_id: z63.string().optional(),
|
|
1347
|
+
subcircuit_id: z63.string().optional(),
|
|
1348
|
+
route_thickness_mode: z63.enum(["constant", "interpolated"]).default("constant").optional(),
|
|
1349
|
+
route_order_index: z63.number().optional(),
|
|
1350
|
+
should_round_corners: z63.boolean().optional(),
|
|
1351
|
+
trace_length: z63.number().optional(),
|
|
1352
|
+
route: z63.array(pcb_trace_route_point)
|
|
1341
1353
|
}).describe("Defines a trace on the PCB");
|
|
1342
1354
|
expectTypesMatch(true);
|
|
1343
1355
|
expectTypesMatch(true);
|
|
1344
1356
|
|
|
1345
1357
|
// src/pcb/pcb_trace_error.ts
|
|
1346
|
-
import { z as
|
|
1347
|
-
var pcb_trace_error =
|
|
1348
|
-
type:
|
|
1358
|
+
import { z as z64 } from "zod";
|
|
1359
|
+
var pcb_trace_error = z64.object({
|
|
1360
|
+
type: z64.literal("pcb_trace_error"),
|
|
1349
1361
|
pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
|
|
1350
|
-
error_type:
|
|
1351
|
-
message:
|
|
1362
|
+
error_type: z64.literal("pcb_trace_error").default("pcb_trace_error"),
|
|
1363
|
+
message: z64.string(),
|
|
1352
1364
|
center: point.optional(),
|
|
1353
|
-
pcb_trace_id:
|
|
1354
|
-
source_trace_id:
|
|
1355
|
-
pcb_component_ids:
|
|
1356
|
-
pcb_port_ids:
|
|
1365
|
+
pcb_trace_id: z64.string(),
|
|
1366
|
+
source_trace_id: z64.string(),
|
|
1367
|
+
pcb_component_ids: z64.array(z64.string()),
|
|
1368
|
+
pcb_port_ids: z64.array(z64.string())
|
|
1357
1369
|
}).describe("Defines a trace error on the PCB");
|
|
1358
1370
|
expectTypesMatch(true);
|
|
1359
1371
|
|
|
1360
1372
|
// src/pcb/pcb_port_not_matched_error.ts
|
|
1361
|
-
import { z as
|
|
1362
|
-
var pcb_port_not_matched_error =
|
|
1363
|
-
type:
|
|
1373
|
+
import { z as z65 } from "zod";
|
|
1374
|
+
var pcb_port_not_matched_error = z65.object({
|
|
1375
|
+
type: z65.literal("pcb_port_not_matched_error"),
|
|
1364
1376
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
1365
|
-
error_type:
|
|
1366
|
-
message:
|
|
1367
|
-
pcb_component_ids:
|
|
1377
|
+
error_type: z65.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
|
|
1378
|
+
message: z65.string(),
|
|
1379
|
+
pcb_component_ids: z65.array(z65.string())
|
|
1368
1380
|
}).describe("Defines a trace error on the PCB where a port is not matched");
|
|
1369
1381
|
expectTypesMatch(true);
|
|
1370
1382
|
|
|
1371
1383
|
// src/pcb/pcb_via.ts
|
|
1372
|
-
import { z as
|
|
1373
|
-
var pcb_via =
|
|
1374
|
-
type:
|
|
1384
|
+
import { z as z66 } from "zod";
|
|
1385
|
+
var pcb_via = z66.object({
|
|
1386
|
+
type: z66.literal("pcb_via"),
|
|
1375
1387
|
pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
|
|
1376
|
-
pcb_group_id:
|
|
1377
|
-
subcircuit_id:
|
|
1388
|
+
pcb_group_id: z66.string().optional(),
|
|
1389
|
+
subcircuit_id: z66.string().optional(),
|
|
1378
1390
|
x: distance,
|
|
1379
1391
|
y: distance,
|
|
1380
1392
|
outer_diameter: distance.default("0.6mm"),
|
|
@@ -1383,57 +1395,57 @@ var pcb_via = z65.object({
|
|
|
1383
1395
|
from_layer: layer_ref.optional(),
|
|
1384
1396
|
/** @deprecated */
|
|
1385
1397
|
to_layer: layer_ref.optional(),
|
|
1386
|
-
layers:
|
|
1387
|
-
pcb_trace_id:
|
|
1398
|
+
layers: z66.array(layer_ref),
|
|
1399
|
+
pcb_trace_id: z66.string().optional()
|
|
1388
1400
|
}).describe("Defines a via on the PCB");
|
|
1389
1401
|
expectTypesMatch(true);
|
|
1390
1402
|
|
|
1391
1403
|
// src/pcb/pcb_board.ts
|
|
1392
|
-
import { z as
|
|
1393
|
-
var pcb_board =
|
|
1394
|
-
type:
|
|
1404
|
+
import { z as z67 } from "zod";
|
|
1405
|
+
var pcb_board = z67.object({
|
|
1406
|
+
type: z67.literal("pcb_board"),
|
|
1395
1407
|
pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
|
|
1396
|
-
is_subcircuit:
|
|
1397
|
-
subcircuit_id:
|
|
1408
|
+
is_subcircuit: z67.boolean().optional(),
|
|
1409
|
+
subcircuit_id: z67.string().optional(),
|
|
1398
1410
|
width: length,
|
|
1399
1411
|
height: length,
|
|
1400
1412
|
center: point,
|
|
1401
1413
|
thickness: length.optional().default(1.4),
|
|
1402
|
-
num_layers:
|
|
1403
|
-
outline:
|
|
1404
|
-
material:
|
|
1414
|
+
num_layers: z67.number().optional().default(4),
|
|
1415
|
+
outline: z67.array(point).optional(),
|
|
1416
|
+
material: z67.enum(["fr4", "fr1"]).default("fr4")
|
|
1405
1417
|
}).describe("Defines the board outline of the PCB");
|
|
1406
1418
|
expectTypesMatch(true);
|
|
1407
1419
|
|
|
1408
1420
|
// src/pcb/pcb_placement_error.ts
|
|
1409
|
-
import { z as
|
|
1410
|
-
var pcb_placement_error =
|
|
1411
|
-
type:
|
|
1421
|
+
import { z as z68 } from "zod";
|
|
1422
|
+
var pcb_placement_error = z68.object({
|
|
1423
|
+
type: z68.literal("pcb_placement_error"),
|
|
1412
1424
|
pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
|
|
1413
|
-
error_type:
|
|
1414
|
-
message:
|
|
1425
|
+
error_type: z68.literal("pcb_placement_error").default("pcb_placement_error"),
|
|
1426
|
+
message: z68.string()
|
|
1415
1427
|
}).describe("Defines a placement error on the PCB");
|
|
1416
1428
|
expectTypesMatch(true);
|
|
1417
1429
|
|
|
1418
1430
|
// src/pcb/pcb_trace_hint.ts
|
|
1419
|
-
import { z as
|
|
1420
|
-
var pcb_trace_hint =
|
|
1421
|
-
type:
|
|
1431
|
+
import { z as z69 } from "zod";
|
|
1432
|
+
var pcb_trace_hint = z69.object({
|
|
1433
|
+
type: z69.literal("pcb_trace_hint"),
|
|
1422
1434
|
pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
|
|
1423
|
-
pcb_port_id:
|
|
1424
|
-
pcb_component_id:
|
|
1425
|
-
route:
|
|
1435
|
+
pcb_port_id: z69.string(),
|
|
1436
|
+
pcb_component_id: z69.string(),
|
|
1437
|
+
route: z69.array(route_hint_point)
|
|
1426
1438
|
}).describe("A hint that can be used during generation of a PCB trace");
|
|
1427
1439
|
expectTypesMatch(true);
|
|
1428
1440
|
|
|
1429
1441
|
// src/pcb/pcb_silkscreen_line.ts
|
|
1430
|
-
import { z as
|
|
1431
|
-
var pcb_silkscreen_line =
|
|
1432
|
-
type:
|
|
1442
|
+
import { z as z70 } from "zod";
|
|
1443
|
+
var pcb_silkscreen_line = z70.object({
|
|
1444
|
+
type: z70.literal("pcb_silkscreen_line"),
|
|
1433
1445
|
pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
|
|
1434
|
-
pcb_component_id:
|
|
1435
|
-
pcb_group_id:
|
|
1436
|
-
subcircuit_id:
|
|
1446
|
+
pcb_component_id: z70.string(),
|
|
1447
|
+
pcb_group_id: z70.string().optional(),
|
|
1448
|
+
subcircuit_id: z70.string().optional(),
|
|
1437
1449
|
stroke_width: distance.default("0.1mm"),
|
|
1438
1450
|
x1: distance,
|
|
1439
1451
|
y1: distance,
|
|
@@ -1444,67 +1456,67 @@ var pcb_silkscreen_line = z69.object({
|
|
|
1444
1456
|
expectTypesMatch(true);
|
|
1445
1457
|
|
|
1446
1458
|
// src/pcb/pcb_silkscreen_path.ts
|
|
1447
|
-
import { z as
|
|
1448
|
-
var pcb_silkscreen_path =
|
|
1449
|
-
type:
|
|
1459
|
+
import { z as z71 } from "zod";
|
|
1460
|
+
var pcb_silkscreen_path = z71.object({
|
|
1461
|
+
type: z71.literal("pcb_silkscreen_path"),
|
|
1450
1462
|
pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
|
|
1451
|
-
pcb_component_id:
|
|
1452
|
-
pcb_group_id:
|
|
1453
|
-
subcircuit_id:
|
|
1463
|
+
pcb_component_id: z71.string(),
|
|
1464
|
+
pcb_group_id: z71.string().optional(),
|
|
1465
|
+
subcircuit_id: z71.string().optional(),
|
|
1454
1466
|
layer: visible_layer,
|
|
1455
|
-
route:
|
|
1467
|
+
route: z71.array(point),
|
|
1456
1468
|
stroke_width: length
|
|
1457
1469
|
}).describe("Defines a silkscreen path on the PCB");
|
|
1458
1470
|
expectTypesMatch(true);
|
|
1459
1471
|
|
|
1460
1472
|
// src/pcb/pcb_silkscreen_text.ts
|
|
1461
|
-
import { z as
|
|
1462
|
-
var pcb_silkscreen_text =
|
|
1463
|
-
type:
|
|
1473
|
+
import { z as z72 } from "zod";
|
|
1474
|
+
var pcb_silkscreen_text = z72.object({
|
|
1475
|
+
type: z72.literal("pcb_silkscreen_text"),
|
|
1464
1476
|
pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
|
|
1465
|
-
pcb_group_id:
|
|
1466
|
-
subcircuit_id:
|
|
1467
|
-
font:
|
|
1477
|
+
pcb_group_id: z72.string().optional(),
|
|
1478
|
+
subcircuit_id: z72.string().optional(),
|
|
1479
|
+
font: z72.literal("tscircuit2024").default("tscircuit2024"),
|
|
1468
1480
|
font_size: distance.default("0.2mm"),
|
|
1469
|
-
pcb_component_id:
|
|
1470
|
-
text:
|
|
1471
|
-
ccw_rotation:
|
|
1481
|
+
pcb_component_id: z72.string(),
|
|
1482
|
+
text: z72.string(),
|
|
1483
|
+
ccw_rotation: z72.number().optional(),
|
|
1472
1484
|
layer: layer_ref,
|
|
1473
|
-
is_mirrored:
|
|
1485
|
+
is_mirrored: z72.boolean().default(false).optional(),
|
|
1474
1486
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
1475
1487
|
anchor_alignment: ninePointAnchor.default("center")
|
|
1476
1488
|
}).describe("Defines silkscreen text on the PCB");
|
|
1477
1489
|
expectTypesMatch(true);
|
|
1478
1490
|
|
|
1479
1491
|
// src/pcb/pcb_silkscreen_rect.ts
|
|
1480
|
-
import { z as
|
|
1481
|
-
var pcb_silkscreen_rect =
|
|
1482
|
-
type:
|
|
1492
|
+
import { z as z73 } from "zod";
|
|
1493
|
+
var pcb_silkscreen_rect = z73.object({
|
|
1494
|
+
type: z73.literal("pcb_silkscreen_rect"),
|
|
1483
1495
|
pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
|
|
1484
|
-
pcb_component_id:
|
|
1485
|
-
pcb_group_id:
|
|
1486
|
-
subcircuit_id:
|
|
1496
|
+
pcb_component_id: z73.string(),
|
|
1497
|
+
pcb_group_id: z73.string().optional(),
|
|
1498
|
+
subcircuit_id: z73.string().optional(),
|
|
1487
1499
|
center: point,
|
|
1488
1500
|
width: length,
|
|
1489
1501
|
height: length,
|
|
1490
1502
|
layer: layer_ref,
|
|
1491
1503
|
stroke_width: length.default("1mm"),
|
|
1492
|
-
is_filled:
|
|
1493
|
-
has_stroke:
|
|
1494
|
-
is_stroke_dashed:
|
|
1504
|
+
is_filled: z73.boolean().default(true).optional(),
|
|
1505
|
+
has_stroke: z73.boolean().optional(),
|
|
1506
|
+
is_stroke_dashed: z73.boolean().optional()
|
|
1495
1507
|
}).describe("Defines a silkscreen rect on the PCB");
|
|
1496
1508
|
expectTypesMatch(true);
|
|
1497
1509
|
|
|
1498
1510
|
// src/pcb/pcb_silkscreen_circle.ts
|
|
1499
|
-
import { z as
|
|
1500
|
-
var pcb_silkscreen_circle =
|
|
1501
|
-
type:
|
|
1511
|
+
import { z as z74 } from "zod";
|
|
1512
|
+
var pcb_silkscreen_circle = z74.object({
|
|
1513
|
+
type: z74.literal("pcb_silkscreen_circle"),
|
|
1502
1514
|
pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
|
|
1503
1515
|
"pcb_silkscreen_circle"
|
|
1504
1516
|
),
|
|
1505
|
-
pcb_component_id:
|
|
1506
|
-
pcb_group_id:
|
|
1507
|
-
subcircuit_id:
|
|
1517
|
+
pcb_component_id: z74.string(),
|
|
1518
|
+
pcb_group_id: z74.string().optional(),
|
|
1519
|
+
subcircuit_id: z74.string().optional(),
|
|
1508
1520
|
center: point,
|
|
1509
1521
|
radius: length,
|
|
1510
1522
|
layer: visible_layer,
|
|
@@ -1513,13 +1525,13 @@ var pcb_silkscreen_circle = z73.object({
|
|
|
1513
1525
|
expectTypesMatch(true);
|
|
1514
1526
|
|
|
1515
1527
|
// src/pcb/pcb_silkscreen_oval.ts
|
|
1516
|
-
import { z as
|
|
1517
|
-
var pcb_silkscreen_oval =
|
|
1518
|
-
type:
|
|
1528
|
+
import { z as z75 } from "zod";
|
|
1529
|
+
var pcb_silkscreen_oval = z75.object({
|
|
1530
|
+
type: z75.literal("pcb_silkscreen_oval"),
|
|
1519
1531
|
pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
|
|
1520
|
-
pcb_component_id:
|
|
1521
|
-
pcb_group_id:
|
|
1522
|
-
subcircuit_id:
|
|
1532
|
+
pcb_component_id: z75.string(),
|
|
1533
|
+
pcb_group_id: z75.string().optional(),
|
|
1534
|
+
subcircuit_id: z75.string().optional(),
|
|
1523
1535
|
center: point,
|
|
1524
1536
|
radius_x: distance,
|
|
1525
1537
|
radius_y: distance,
|
|
@@ -1528,86 +1540,86 @@ var pcb_silkscreen_oval = z74.object({
|
|
|
1528
1540
|
expectTypesMatch(true);
|
|
1529
1541
|
|
|
1530
1542
|
// src/pcb/pcb_fabrication_note_text.ts
|
|
1531
|
-
import { z as
|
|
1532
|
-
var pcb_fabrication_note_text =
|
|
1533
|
-
type:
|
|
1543
|
+
import { z as z76 } from "zod";
|
|
1544
|
+
var pcb_fabrication_note_text = z76.object({
|
|
1545
|
+
type: z76.literal("pcb_fabrication_note_text"),
|
|
1534
1546
|
pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
|
|
1535
1547
|
"pcb_fabrication_note_text"
|
|
1536
1548
|
),
|
|
1537
|
-
subcircuit_id:
|
|
1538
|
-
pcb_group_id:
|
|
1539
|
-
font:
|
|
1549
|
+
subcircuit_id: z76.string().optional(),
|
|
1550
|
+
pcb_group_id: z76.string().optional(),
|
|
1551
|
+
font: z76.literal("tscircuit2024").default("tscircuit2024"),
|
|
1540
1552
|
font_size: distance.default("1mm"),
|
|
1541
|
-
pcb_component_id:
|
|
1542
|
-
text:
|
|
1553
|
+
pcb_component_id: z76.string(),
|
|
1554
|
+
text: z76.string(),
|
|
1543
1555
|
layer: visible_layer,
|
|
1544
1556
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
1545
|
-
anchor_alignment:
|
|
1546
|
-
color:
|
|
1557
|
+
anchor_alignment: z76.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
1558
|
+
color: z76.string().optional()
|
|
1547
1559
|
}).describe(
|
|
1548
1560
|
"Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
|
|
1549
1561
|
);
|
|
1550
1562
|
expectTypesMatch(true);
|
|
1551
1563
|
|
|
1552
1564
|
// src/pcb/pcb_fabrication_note_path.ts
|
|
1553
|
-
import { z as
|
|
1554
|
-
var pcb_fabrication_note_path =
|
|
1555
|
-
type:
|
|
1565
|
+
import { z as z77 } from "zod";
|
|
1566
|
+
var pcb_fabrication_note_path = z77.object({
|
|
1567
|
+
type: z77.literal("pcb_fabrication_note_path"),
|
|
1556
1568
|
pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
|
|
1557
1569
|
"pcb_fabrication_note_path"
|
|
1558
1570
|
),
|
|
1559
|
-
pcb_component_id:
|
|
1560
|
-
subcircuit_id:
|
|
1571
|
+
pcb_component_id: z77.string(),
|
|
1572
|
+
subcircuit_id: z77.string().optional(),
|
|
1561
1573
|
layer: layer_ref,
|
|
1562
|
-
route:
|
|
1574
|
+
route: z77.array(point),
|
|
1563
1575
|
stroke_width: length,
|
|
1564
|
-
color:
|
|
1576
|
+
color: z77.string().optional()
|
|
1565
1577
|
}).describe(
|
|
1566
1578
|
"Defines a fabrication path on the PCB for fabricators or assemblers"
|
|
1567
1579
|
);
|
|
1568
1580
|
expectTypesMatch(true);
|
|
1569
1581
|
|
|
1570
1582
|
// src/pcb/pcb_keepout.ts
|
|
1571
|
-
import { z as
|
|
1572
|
-
var pcb_keepout =
|
|
1573
|
-
type:
|
|
1574
|
-
shape:
|
|
1575
|
-
pcb_group_id:
|
|
1576
|
-
subcircuit_id:
|
|
1583
|
+
import { z as z78 } from "zod";
|
|
1584
|
+
var pcb_keepout = z78.object({
|
|
1585
|
+
type: z78.literal("pcb_keepout"),
|
|
1586
|
+
shape: z78.literal("rect"),
|
|
1587
|
+
pcb_group_id: z78.string().optional(),
|
|
1588
|
+
subcircuit_id: z78.string().optional(),
|
|
1577
1589
|
center: point,
|
|
1578
1590
|
width: distance,
|
|
1579
1591
|
height: distance,
|
|
1580
|
-
pcb_keepout_id:
|
|
1581
|
-
layers:
|
|
1592
|
+
pcb_keepout_id: z78.string(),
|
|
1593
|
+
layers: z78.array(z78.string()),
|
|
1582
1594
|
// Specify layers where the keepout applies
|
|
1583
|
-
description:
|
|
1595
|
+
description: z78.string().optional()
|
|
1584
1596
|
// Optional description of the keepout
|
|
1585
1597
|
}).or(
|
|
1586
|
-
|
|
1587
|
-
type:
|
|
1588
|
-
shape:
|
|
1589
|
-
pcb_group_id:
|
|
1590
|
-
subcircuit_id:
|
|
1598
|
+
z78.object({
|
|
1599
|
+
type: z78.literal("pcb_keepout"),
|
|
1600
|
+
shape: z78.literal("circle"),
|
|
1601
|
+
pcb_group_id: z78.string().optional(),
|
|
1602
|
+
subcircuit_id: z78.string().optional(),
|
|
1591
1603
|
center: point,
|
|
1592
1604
|
radius: distance,
|
|
1593
|
-
pcb_keepout_id:
|
|
1594
|
-
layers:
|
|
1605
|
+
pcb_keepout_id: z78.string(),
|
|
1606
|
+
layers: z78.array(z78.string()),
|
|
1595
1607
|
// Specify layers where the keepout applies
|
|
1596
|
-
description:
|
|
1608
|
+
description: z78.string().optional()
|
|
1597
1609
|
// Optional description of the keepout
|
|
1598
1610
|
})
|
|
1599
1611
|
);
|
|
1600
1612
|
|
|
1601
1613
|
// src/pcb/pcb_cutout.ts
|
|
1602
|
-
import { z as
|
|
1603
|
-
var pcb_cutout_base =
|
|
1604
|
-
type:
|
|
1614
|
+
import { z as z79 } from "zod";
|
|
1615
|
+
var pcb_cutout_base = z79.object({
|
|
1616
|
+
type: z79.literal("pcb_cutout"),
|
|
1605
1617
|
pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
|
|
1606
|
-
pcb_group_id:
|
|
1607
|
-
subcircuit_id:
|
|
1618
|
+
pcb_group_id: z79.string().optional(),
|
|
1619
|
+
subcircuit_id: z79.string().optional()
|
|
1608
1620
|
});
|
|
1609
1621
|
var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
1610
|
-
shape:
|
|
1622
|
+
shape: z79.literal("rect"),
|
|
1611
1623
|
center: point,
|
|
1612
1624
|
width: length,
|
|
1613
1625
|
height: length,
|
|
@@ -1615,17 +1627,17 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
|
1615
1627
|
});
|
|
1616
1628
|
expectTypesMatch(true);
|
|
1617
1629
|
var pcb_cutout_circle = pcb_cutout_base.extend({
|
|
1618
|
-
shape:
|
|
1630
|
+
shape: z79.literal("circle"),
|
|
1619
1631
|
center: point,
|
|
1620
1632
|
radius: length
|
|
1621
1633
|
});
|
|
1622
1634
|
expectTypesMatch(true);
|
|
1623
1635
|
var pcb_cutout_polygon = pcb_cutout_base.extend({
|
|
1624
|
-
shape:
|
|
1625
|
-
points:
|
|
1636
|
+
shape: z79.literal("polygon"),
|
|
1637
|
+
points: z79.array(point)
|
|
1626
1638
|
});
|
|
1627
1639
|
expectTypesMatch(true);
|
|
1628
|
-
var pcb_cutout =
|
|
1640
|
+
var pcb_cutout = z79.discriminatedUnion("shape", [
|
|
1629
1641
|
pcb_cutout_rect,
|
|
1630
1642
|
pcb_cutout_circle,
|
|
1631
1643
|
pcb_cutout_polygon
|
|
@@ -1633,77 +1645,77 @@ var pcb_cutout = z78.discriminatedUnion("shape", [
|
|
|
1633
1645
|
expectTypesMatch(true);
|
|
1634
1646
|
|
|
1635
1647
|
// src/pcb/pcb_missing_footprint_error.ts
|
|
1636
|
-
import { z as
|
|
1637
|
-
var pcb_missing_footprint_error =
|
|
1638
|
-
type:
|
|
1648
|
+
import { z as z80 } from "zod";
|
|
1649
|
+
var pcb_missing_footprint_error = z80.object({
|
|
1650
|
+
type: z80.literal("pcb_missing_footprint_error"),
|
|
1639
1651
|
pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
|
|
1640
1652
|
"pcb_missing_footprint_error"
|
|
1641
1653
|
),
|
|
1642
|
-
pcb_group_id:
|
|
1643
|
-
subcircuit_id:
|
|
1644
|
-
error_type:
|
|
1645
|
-
source_component_id:
|
|
1646
|
-
message:
|
|
1654
|
+
pcb_group_id: z80.string().optional(),
|
|
1655
|
+
subcircuit_id: z80.string().optional(),
|
|
1656
|
+
error_type: z80.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
|
|
1657
|
+
source_component_id: z80.string(),
|
|
1658
|
+
message: z80.string()
|
|
1647
1659
|
}).describe("Defines a missing footprint error on the PCB");
|
|
1648
1660
|
expectTypesMatch(
|
|
1649
1661
|
true
|
|
1650
1662
|
);
|
|
1651
1663
|
|
|
1652
1664
|
// src/pcb/pcb_group.ts
|
|
1653
|
-
import { z as
|
|
1654
|
-
var pcb_group =
|
|
1655
|
-
type:
|
|
1665
|
+
import { z as z81 } from "zod";
|
|
1666
|
+
var pcb_group = z81.object({
|
|
1667
|
+
type: z81.literal("pcb_group"),
|
|
1656
1668
|
pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
|
|
1657
|
-
source_group_id:
|
|
1658
|
-
is_subcircuit:
|
|
1659
|
-
subcircuit_id:
|
|
1669
|
+
source_group_id: z81.string(),
|
|
1670
|
+
is_subcircuit: z81.boolean().optional(),
|
|
1671
|
+
subcircuit_id: z81.string().optional(),
|
|
1660
1672
|
width: length,
|
|
1661
1673
|
height: length,
|
|
1662
1674
|
center: point,
|
|
1663
|
-
pcb_component_ids:
|
|
1664
|
-
name:
|
|
1665
|
-
description:
|
|
1675
|
+
pcb_component_ids: z81.array(z81.string()),
|
|
1676
|
+
name: z81.string().optional(),
|
|
1677
|
+
description: z81.string().optional()
|
|
1666
1678
|
}).describe("Defines a group of components on the PCB");
|
|
1667
1679
|
expectTypesMatch(true);
|
|
1668
1680
|
|
|
1669
1681
|
// src/pcb/pcb_autorouting_error.ts
|
|
1670
|
-
import { z as
|
|
1671
|
-
var pcb_autorouting_error =
|
|
1672
|
-
type:
|
|
1682
|
+
import { z as z82 } from "zod";
|
|
1683
|
+
var pcb_autorouting_error = z82.object({
|
|
1684
|
+
type: z82.literal("pcb_autorouting_error"),
|
|
1673
1685
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
|
|
1674
|
-
error_type:
|
|
1675
|
-
message:
|
|
1686
|
+
error_type: z82.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
|
|
1687
|
+
message: z82.string()
|
|
1676
1688
|
}).describe("The autorouting has failed to route a portion of the board");
|
|
1677
1689
|
expectTypesMatch(true);
|
|
1678
1690
|
|
|
1679
1691
|
// src/pcb/pcb_manual_edit_conflict_warning.ts
|
|
1680
|
-
import { z as
|
|
1681
|
-
var pcb_manual_edit_conflict_warning =
|
|
1682
|
-
type:
|
|
1692
|
+
import { z as z83 } from "zod";
|
|
1693
|
+
var pcb_manual_edit_conflict_warning = z83.object({
|
|
1694
|
+
type: z83.literal("pcb_manual_edit_conflict_warning"),
|
|
1683
1695
|
pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
1684
1696
|
"pcb_manual_edit_conflict_warning"
|
|
1685
1697
|
),
|
|
1686
|
-
warning_type:
|
|
1687
|
-
message:
|
|
1688
|
-
pcb_component_id:
|
|
1689
|
-
pcb_group_id:
|
|
1690
|
-
subcircuit_id:
|
|
1691
|
-
source_component_id:
|
|
1698
|
+
warning_type: z83.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
|
|
1699
|
+
message: z83.string(),
|
|
1700
|
+
pcb_component_id: z83.string(),
|
|
1701
|
+
pcb_group_id: z83.string().optional(),
|
|
1702
|
+
subcircuit_id: z83.string().optional(),
|
|
1703
|
+
source_component_id: z83.string()
|
|
1692
1704
|
}).describe(
|
|
1693
1705
|
"Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
|
|
1694
1706
|
);
|
|
1695
1707
|
expectTypesMatch(true);
|
|
1696
1708
|
|
|
1697
1709
|
// src/pcb/pcb_breakout_point.ts
|
|
1698
|
-
import { z as
|
|
1699
|
-
var pcb_breakout_point =
|
|
1700
|
-
type:
|
|
1710
|
+
import { z as z84 } from "zod";
|
|
1711
|
+
var pcb_breakout_point = z84.object({
|
|
1712
|
+
type: z84.literal("pcb_breakout_point"),
|
|
1701
1713
|
pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
|
|
1702
|
-
pcb_group_id:
|
|
1703
|
-
subcircuit_id:
|
|
1704
|
-
source_trace_id:
|
|
1705
|
-
source_port_id:
|
|
1706
|
-
source_net_id:
|
|
1714
|
+
pcb_group_id: z84.string(),
|
|
1715
|
+
subcircuit_id: z84.string().optional(),
|
|
1716
|
+
source_trace_id: z84.string().optional(),
|
|
1717
|
+
source_port_id: z84.string().optional(),
|
|
1718
|
+
source_net_id: z84.string().optional(),
|
|
1707
1719
|
x: distance,
|
|
1708
1720
|
y: distance
|
|
1709
1721
|
}).describe(
|
|
@@ -1711,28 +1723,70 @@ var pcb_breakout_point = z83.object({
|
|
|
1711
1723
|
);
|
|
1712
1724
|
expectTypesMatch(true);
|
|
1713
1725
|
|
|
1726
|
+
// src/pcb/pcb_ground_plane.ts
|
|
1727
|
+
import { z as z85 } from "zod";
|
|
1728
|
+
var pcb_ground_plane = z85.object({
|
|
1729
|
+
type: z85.literal("pcb_ground_plane"),
|
|
1730
|
+
pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
|
|
1731
|
+
source_pcb_ground_plane_id: z85.string(),
|
|
1732
|
+
source_net_id: z85.string(),
|
|
1733
|
+
pcb_group_id: z85.string().optional(),
|
|
1734
|
+
subcircuit_id: z85.string().optional()
|
|
1735
|
+
}).describe("Defines a ground plane on the PCB");
|
|
1736
|
+
expectTypesMatch(true);
|
|
1737
|
+
|
|
1738
|
+
// src/pcb/pcb_ground_plane_region.ts
|
|
1739
|
+
import { z as z86 } from "zod";
|
|
1740
|
+
var pcb_ground_plane_region = z86.object({
|
|
1741
|
+
type: z86.literal("pcb_ground_plane_region"),
|
|
1742
|
+
pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
|
|
1743
|
+
"pcb_ground_plane_region"
|
|
1744
|
+
),
|
|
1745
|
+
pcb_ground_plane_id: z86.string(),
|
|
1746
|
+
pcb_group_id: z86.string().optional(),
|
|
1747
|
+
subcircuit_id: z86.string().optional(),
|
|
1748
|
+
layer: layer_ref,
|
|
1749
|
+
points: z86.array(point)
|
|
1750
|
+
}).describe("Defines a polygon region of a ground plane");
|
|
1751
|
+
expectTypesMatch(true);
|
|
1752
|
+
|
|
1753
|
+
// src/pcb/pcb_thermal_spoke.ts
|
|
1754
|
+
import { z as z87 } from "zod";
|
|
1755
|
+
var pcb_thermal_spoke = z87.object({
|
|
1756
|
+
type: z87.literal("pcb_thermal_spoke"),
|
|
1757
|
+
pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
|
|
1758
|
+
pcb_ground_plane_id: z87.string(),
|
|
1759
|
+
shape: z87.string(),
|
|
1760
|
+
spoke_count: z87.number(),
|
|
1761
|
+
spoke_thickness: distance,
|
|
1762
|
+
spoke_inner_diameter: distance,
|
|
1763
|
+
spoke_outer_diameter: distance,
|
|
1764
|
+
pcb_plated_hole_id: z87.string().optional()
|
|
1765
|
+
}).describe("Pattern for connecting a ground plane to a plated hole");
|
|
1766
|
+
expectTypesMatch(true);
|
|
1767
|
+
|
|
1714
1768
|
// src/cad/cad_component.ts
|
|
1715
|
-
import { z as
|
|
1716
|
-
var cad_component =
|
|
1717
|
-
type:
|
|
1718
|
-
cad_component_id:
|
|
1719
|
-
pcb_component_id:
|
|
1720
|
-
source_component_id:
|
|
1769
|
+
import { z as z88 } from "zod";
|
|
1770
|
+
var cad_component = z88.object({
|
|
1771
|
+
type: z88.literal("cad_component"),
|
|
1772
|
+
cad_component_id: z88.string(),
|
|
1773
|
+
pcb_component_id: z88.string(),
|
|
1774
|
+
source_component_id: z88.string(),
|
|
1721
1775
|
position: point3,
|
|
1722
1776
|
rotation: point3.optional(),
|
|
1723
1777
|
size: point3.optional(),
|
|
1724
1778
|
layer: layer_ref.optional(),
|
|
1725
1779
|
// These are all ways to generate/load the 3d model
|
|
1726
|
-
footprinter_string:
|
|
1727
|
-
model_obj_url:
|
|
1728
|
-
model_stl_url:
|
|
1729
|
-
model_3mf_url:
|
|
1730
|
-
model_jscad:
|
|
1780
|
+
footprinter_string: z88.string().optional(),
|
|
1781
|
+
model_obj_url: z88.string().optional(),
|
|
1782
|
+
model_stl_url: z88.string().optional(),
|
|
1783
|
+
model_3mf_url: z88.string().optional(),
|
|
1784
|
+
model_jscad: z88.any().optional()
|
|
1731
1785
|
}).describe("Defines a component on the PCB");
|
|
1732
1786
|
|
|
1733
1787
|
// src/any_circuit_element.ts
|
|
1734
|
-
import { z as
|
|
1735
|
-
var any_circuit_element =
|
|
1788
|
+
import { z as z89 } from "zod";
|
|
1789
|
+
var any_circuit_element = z89.union([
|
|
1736
1790
|
source_trace,
|
|
1737
1791
|
source_port,
|
|
1738
1792
|
any_source_component,
|
|
@@ -1755,6 +1809,7 @@ var any_circuit_element = z85.union([
|
|
|
1755
1809
|
source_simple_mosfet,
|
|
1756
1810
|
source_simple_potentiometer,
|
|
1757
1811
|
source_simple_push_button,
|
|
1812
|
+
source_pcb_ground_plane,
|
|
1758
1813
|
source_project_metadata,
|
|
1759
1814
|
pcb_component,
|
|
1760
1815
|
pcb_hole,
|
|
@@ -1785,6 +1840,9 @@ var any_circuit_element = z85.union([
|
|
|
1785
1840
|
pcb_autorouting_error,
|
|
1786
1841
|
pcb_breakout_point,
|
|
1787
1842
|
pcb_cutout,
|
|
1843
|
+
pcb_ground_plane,
|
|
1844
|
+
pcb_ground_plane_region,
|
|
1845
|
+
pcb_thermal_spoke,
|
|
1788
1846
|
schematic_box,
|
|
1789
1847
|
schematic_text,
|
|
1790
1848
|
schematic_line,
|
|
@@ -1831,6 +1889,8 @@ export {
|
|
|
1831
1889
|
pcb_cutout_rect,
|
|
1832
1890
|
pcb_fabrication_note_path,
|
|
1833
1891
|
pcb_fabrication_note_text,
|
|
1892
|
+
pcb_ground_plane,
|
|
1893
|
+
pcb_ground_plane_region,
|
|
1834
1894
|
pcb_group,
|
|
1835
1895
|
pcb_hole,
|
|
1836
1896
|
pcb_hole_circle_or_square_shape,
|
|
@@ -1854,6 +1914,7 @@ export {
|
|
|
1854
1914
|
pcb_smtpad_pill,
|
|
1855
1915
|
pcb_solder_paste,
|
|
1856
1916
|
pcb_text,
|
|
1917
|
+
pcb_thermal_spoke,
|
|
1857
1918
|
pcb_trace,
|
|
1858
1919
|
pcb_trace_error,
|
|
1859
1920
|
pcb_trace_hint,
|
|
@@ -1896,6 +1957,7 @@ export {
|
|
|
1896
1957
|
source_group,
|
|
1897
1958
|
source_missing_property_error,
|
|
1898
1959
|
source_net,
|
|
1960
|
+
source_pcb_ground_plane,
|
|
1899
1961
|
source_port,
|
|
1900
1962
|
source_project_metadata,
|
|
1901
1963
|
source_simple_battery,
|