circuit-json 0.0.272 → 0.0.274
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 +18 -0
- package/dist/index.d.mts +68 -1
- package/dist/index.mjs +867 -854
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -695,7 +695,8 @@ var source_group = z38.object({
|
|
|
695
695
|
parent_source_group_id: z38.string().optional(),
|
|
696
696
|
is_subcircuit: z38.boolean().optional(),
|
|
697
697
|
show_as_schematic_box: z38.boolean().optional(),
|
|
698
|
-
name: z38.string().optional()
|
|
698
|
+
name: z38.string().optional(),
|
|
699
|
+
was_automatically_named: z38.boolean().optional()
|
|
699
700
|
});
|
|
700
701
|
expectTypesMatch(true);
|
|
701
702
|
|
|
@@ -717,22 +718,32 @@ var source_net = z39.object({
|
|
|
717
718
|
});
|
|
718
719
|
expectTypesMatch(true);
|
|
719
720
|
|
|
720
|
-
// src/source/
|
|
721
|
+
// src/source/source_board.ts
|
|
721
722
|
import { z as z40 } from "zod";
|
|
722
|
-
var
|
|
723
|
-
type: z40.literal("
|
|
724
|
-
|
|
723
|
+
var source_board = z40.object({
|
|
724
|
+
type: z40.literal("source_board"),
|
|
725
|
+
source_board_id: z40.string(),
|
|
725
726
|
source_group_id: z40.string(),
|
|
726
|
-
|
|
727
|
-
|
|
727
|
+
title: z40.string().optional()
|
|
728
|
+
}).describe("Defines a board in the source domain");
|
|
729
|
+
expectTypesMatch(true);
|
|
730
|
+
|
|
731
|
+
// src/source/source_pcb_ground_plane.ts
|
|
732
|
+
import { z as z41 } from "zod";
|
|
733
|
+
var source_pcb_ground_plane = z41.object({
|
|
734
|
+
type: z41.literal("source_pcb_ground_plane"),
|
|
735
|
+
source_pcb_ground_plane_id: z41.string(),
|
|
736
|
+
source_group_id: z41.string(),
|
|
737
|
+
source_net_id: z41.string(),
|
|
738
|
+
subcircuit_id: z41.string().optional()
|
|
728
739
|
}).describe("Defines a ground plane in the source domain");
|
|
729
740
|
expectTypesMatch(true);
|
|
730
741
|
|
|
731
742
|
// src/source/source_manually_placed_via.ts
|
|
732
|
-
import { z as
|
|
743
|
+
import { z as z43 } from "zod";
|
|
733
744
|
|
|
734
745
|
// src/pcb/properties/layer_ref.ts
|
|
735
|
-
import { z as
|
|
746
|
+
import { z as z42 } from "zod";
|
|
736
747
|
var all_layers = [
|
|
737
748
|
"top",
|
|
738
749
|
"bottom",
|
|
@@ -743,9 +754,9 @@ var all_layers = [
|
|
|
743
754
|
"inner5",
|
|
744
755
|
"inner6"
|
|
745
756
|
];
|
|
746
|
-
var layer_string =
|
|
757
|
+
var layer_string = z42.enum(all_layers);
|
|
747
758
|
var layer_ref = layer_string.or(
|
|
748
|
-
|
|
759
|
+
z42.object({
|
|
749
760
|
name: layer_string
|
|
750
761
|
})
|
|
751
762
|
).transform((layer) => {
|
|
@@ -755,220 +766,220 @@ var layer_ref = layer_string.or(
|
|
|
755
766
|
return layer.name;
|
|
756
767
|
});
|
|
757
768
|
expectTypesMatch(true);
|
|
758
|
-
var visible_layer =
|
|
769
|
+
var visible_layer = z42.enum(["top", "bottom"]);
|
|
759
770
|
|
|
760
771
|
// src/source/source_manually_placed_via.ts
|
|
761
|
-
var source_manually_placed_via =
|
|
762
|
-
type:
|
|
763
|
-
source_manually_placed_via_id:
|
|
764
|
-
source_group_id:
|
|
765
|
-
source_net_id:
|
|
766
|
-
subcircuit_id:
|
|
767
|
-
source_trace_id:
|
|
772
|
+
var source_manually_placed_via = z43.object({
|
|
773
|
+
type: z43.literal("source_manually_placed_via"),
|
|
774
|
+
source_manually_placed_via_id: z43.string(),
|
|
775
|
+
source_group_id: z43.string(),
|
|
776
|
+
source_net_id: z43.string(),
|
|
777
|
+
subcircuit_id: z43.string().optional(),
|
|
778
|
+
source_trace_id: z43.string().optional()
|
|
768
779
|
}).describe("Defines a via that is manually placed in the source domain");
|
|
769
780
|
expectTypesMatch(true);
|
|
770
781
|
|
|
771
782
|
// src/schematic/schematic_box.ts
|
|
772
|
-
import { z as
|
|
773
|
-
var schematic_box =
|
|
774
|
-
type:
|
|
775
|
-
schematic_component_id:
|
|
783
|
+
import { z as z44 } from "zod";
|
|
784
|
+
var schematic_box = z44.object({
|
|
785
|
+
type: z44.literal("schematic_box"),
|
|
786
|
+
schematic_component_id: z44.string().optional(),
|
|
776
787
|
width: distance,
|
|
777
788
|
height: distance,
|
|
778
|
-
is_dashed:
|
|
789
|
+
is_dashed: z44.boolean().default(false),
|
|
779
790
|
x: distance,
|
|
780
791
|
y: distance,
|
|
781
|
-
subcircuit_id:
|
|
792
|
+
subcircuit_id: z44.string().optional()
|
|
782
793
|
}).describe("Draws a box on the schematic");
|
|
783
794
|
expectTypesMatch(true);
|
|
784
795
|
|
|
785
796
|
// src/schematic/schematic_path.ts
|
|
786
|
-
import { z as
|
|
787
|
-
var schematic_path =
|
|
788
|
-
type:
|
|
789
|
-
schematic_component_id:
|
|
790
|
-
fill_color:
|
|
791
|
-
is_filled:
|
|
792
|
-
points:
|
|
793
|
-
subcircuit_id:
|
|
797
|
+
import { z as z45 } from "zod";
|
|
798
|
+
var schematic_path = z45.object({
|
|
799
|
+
type: z45.literal("schematic_path"),
|
|
800
|
+
schematic_component_id: z45.string(),
|
|
801
|
+
fill_color: z45.enum(["red", "blue"]).optional(),
|
|
802
|
+
is_filled: z45.boolean().optional(),
|
|
803
|
+
points: z45.array(point),
|
|
804
|
+
subcircuit_id: z45.string().optional()
|
|
794
805
|
});
|
|
795
806
|
expectTypesMatch(true);
|
|
796
807
|
|
|
797
808
|
// src/schematic/schematic_component.ts
|
|
798
|
-
import { z as
|
|
799
|
-
var schematic_pin_styles =
|
|
800
|
-
|
|
809
|
+
import { z as z46 } from "zod";
|
|
810
|
+
var schematic_pin_styles = z46.record(
|
|
811
|
+
z46.object({
|
|
801
812
|
left_margin: length.optional(),
|
|
802
813
|
right_margin: length.optional(),
|
|
803
814
|
top_margin: length.optional(),
|
|
804
815
|
bottom_margin: length.optional()
|
|
805
816
|
})
|
|
806
817
|
);
|
|
807
|
-
var schematic_component_port_arrangement_by_size =
|
|
808
|
-
left_size:
|
|
809
|
-
right_size:
|
|
810
|
-
top_size:
|
|
811
|
-
bottom_size:
|
|
818
|
+
var schematic_component_port_arrangement_by_size = z46.object({
|
|
819
|
+
left_size: z46.number(),
|
|
820
|
+
right_size: z46.number(),
|
|
821
|
+
top_size: z46.number().optional(),
|
|
822
|
+
bottom_size: z46.number().optional()
|
|
812
823
|
});
|
|
813
824
|
expectTypesMatch(true);
|
|
814
|
-
var schematic_component_port_arrangement_by_sides =
|
|
815
|
-
left_side:
|
|
816
|
-
pins:
|
|
825
|
+
var schematic_component_port_arrangement_by_sides = z46.object({
|
|
826
|
+
left_side: z46.object({
|
|
827
|
+
pins: z46.array(z46.number()),
|
|
817
828
|
// @ts-ignore
|
|
818
|
-
direction:
|
|
829
|
+
direction: z46.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
819
830
|
}).optional(),
|
|
820
|
-
right_side:
|
|
821
|
-
pins:
|
|
831
|
+
right_side: z46.object({
|
|
832
|
+
pins: z46.array(z46.number()),
|
|
822
833
|
// @ts-ignore
|
|
823
|
-
direction:
|
|
834
|
+
direction: z46.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
824
835
|
}).optional(),
|
|
825
|
-
top_side:
|
|
826
|
-
pins:
|
|
836
|
+
top_side: z46.object({
|
|
837
|
+
pins: z46.array(z46.number()),
|
|
827
838
|
// @ts-ignore
|
|
828
|
-
direction:
|
|
839
|
+
direction: z46.enum(["left-to-right", "right-to-left"]).optional()
|
|
829
840
|
}).optional(),
|
|
830
|
-
bottom_side:
|
|
831
|
-
pins:
|
|
841
|
+
bottom_side: z46.object({
|
|
842
|
+
pins: z46.array(z46.number()),
|
|
832
843
|
// @ts-ignore
|
|
833
|
-
direction:
|
|
844
|
+
direction: z46.enum(["left-to-right", "right-to-left"]).optional()
|
|
834
845
|
}).optional()
|
|
835
846
|
});
|
|
836
847
|
expectTypesMatch(true);
|
|
837
|
-
var port_arrangement =
|
|
848
|
+
var port_arrangement = z46.union([
|
|
838
849
|
schematic_component_port_arrangement_by_size,
|
|
839
850
|
schematic_component_port_arrangement_by_sides
|
|
840
851
|
]);
|
|
841
|
-
var schematic_component =
|
|
842
|
-
type:
|
|
852
|
+
var schematic_component = z46.object({
|
|
853
|
+
type: z46.literal("schematic_component"),
|
|
843
854
|
size,
|
|
844
855
|
center: point,
|
|
845
|
-
source_component_id:
|
|
846
|
-
schematic_component_id:
|
|
856
|
+
source_component_id: z46.string().optional(),
|
|
857
|
+
schematic_component_id: z46.string(),
|
|
847
858
|
pin_spacing: length.optional(),
|
|
848
859
|
pin_styles: schematic_pin_styles.optional(),
|
|
849
860
|
box_width: length.optional(),
|
|
850
|
-
symbol_name:
|
|
861
|
+
symbol_name: z46.string().optional(),
|
|
851
862
|
port_arrangement: port_arrangement.optional(),
|
|
852
|
-
port_labels:
|
|
853
|
-
symbol_display_value:
|
|
854
|
-
subcircuit_id:
|
|
855
|
-
schematic_group_id:
|
|
856
|
-
is_schematic_group:
|
|
857
|
-
source_group_id:
|
|
858
|
-
is_box_with_pins:
|
|
863
|
+
port_labels: z46.record(z46.string()).optional(),
|
|
864
|
+
symbol_display_value: z46.string().optional(),
|
|
865
|
+
subcircuit_id: z46.string().optional(),
|
|
866
|
+
schematic_group_id: z46.string().optional(),
|
|
867
|
+
is_schematic_group: z46.boolean().optional(),
|
|
868
|
+
source_group_id: z46.string().optional(),
|
|
869
|
+
is_box_with_pins: z46.boolean().optional().default(true)
|
|
859
870
|
});
|
|
860
871
|
expectTypesMatch(true);
|
|
861
872
|
|
|
862
873
|
// src/schematic/schematic_line.ts
|
|
863
|
-
import { z as
|
|
864
|
-
var schematic_line =
|
|
865
|
-
type:
|
|
874
|
+
import { z as z47 } from "zod";
|
|
875
|
+
var schematic_line = z47.object({
|
|
876
|
+
type: z47.literal("schematic_line"),
|
|
866
877
|
schematic_line_id: getZodPrefixedIdWithDefault("schematic_line"),
|
|
867
|
-
schematic_component_id:
|
|
878
|
+
schematic_component_id: z47.string(),
|
|
868
879
|
x1: distance,
|
|
869
880
|
y1: distance,
|
|
870
881
|
x2: distance,
|
|
871
882
|
y2: distance,
|
|
872
883
|
stroke_width: distance.nullable().optional(),
|
|
873
|
-
color:
|
|
874
|
-
is_dashed:
|
|
875
|
-
subcircuit_id:
|
|
884
|
+
color: z47.string().default("#000000"),
|
|
885
|
+
is_dashed: z47.boolean().default(false),
|
|
886
|
+
subcircuit_id: z47.string().optional()
|
|
876
887
|
}).describe("Draws a styled line on the schematic");
|
|
877
888
|
expectTypesMatch(true);
|
|
878
889
|
|
|
879
890
|
// src/schematic/schematic_rect.ts
|
|
880
|
-
import { z as
|
|
881
|
-
var schematic_rect =
|
|
882
|
-
type:
|
|
891
|
+
import { z as z48 } from "zod";
|
|
892
|
+
var schematic_rect = z48.object({
|
|
893
|
+
type: z48.literal("schematic_rect"),
|
|
883
894
|
schematic_rect_id: getZodPrefixedIdWithDefault("schematic_rect"),
|
|
884
|
-
schematic_component_id:
|
|
895
|
+
schematic_component_id: z48.string(),
|
|
885
896
|
center: point,
|
|
886
897
|
width: distance,
|
|
887
898
|
height: distance,
|
|
888
899
|
rotation: rotation.default(0),
|
|
889
900
|
stroke_width: distance.nullable().optional(),
|
|
890
|
-
color:
|
|
891
|
-
is_filled:
|
|
892
|
-
fill_color:
|
|
893
|
-
is_dashed:
|
|
894
|
-
subcircuit_id:
|
|
901
|
+
color: z48.string().default("#000000"),
|
|
902
|
+
is_filled: z48.boolean().default(false),
|
|
903
|
+
fill_color: z48.string().optional(),
|
|
904
|
+
is_dashed: z48.boolean().default(false),
|
|
905
|
+
subcircuit_id: z48.string().optional()
|
|
895
906
|
}).describe("Draws a styled rectangle on the schematic");
|
|
896
907
|
expectTypesMatch(true);
|
|
897
908
|
|
|
898
909
|
// src/schematic/schematic_circle.ts
|
|
899
|
-
import { z as
|
|
900
|
-
var schematic_circle =
|
|
901
|
-
type:
|
|
910
|
+
import { z as z49 } from "zod";
|
|
911
|
+
var schematic_circle = z49.object({
|
|
912
|
+
type: z49.literal("schematic_circle"),
|
|
902
913
|
schematic_circle_id: getZodPrefixedIdWithDefault("schematic_circle"),
|
|
903
|
-
schematic_component_id:
|
|
914
|
+
schematic_component_id: z49.string(),
|
|
904
915
|
center: point,
|
|
905
916
|
radius: distance,
|
|
906
917
|
stroke_width: distance.nullable().optional(),
|
|
907
|
-
color:
|
|
908
|
-
is_filled:
|
|
909
|
-
fill_color:
|
|
910
|
-
is_dashed:
|
|
911
|
-
subcircuit_id:
|
|
918
|
+
color: z49.string().default("#000000"),
|
|
919
|
+
is_filled: z49.boolean().default(false),
|
|
920
|
+
fill_color: z49.string().optional(),
|
|
921
|
+
is_dashed: z49.boolean().default(false),
|
|
922
|
+
subcircuit_id: z49.string().optional()
|
|
912
923
|
}).describe("Draws a styled circle on the schematic");
|
|
913
924
|
expectTypesMatch(true);
|
|
914
925
|
|
|
915
926
|
// src/schematic/schematic_arc.ts
|
|
916
|
-
import { z as
|
|
917
|
-
var schematic_arc =
|
|
918
|
-
type:
|
|
927
|
+
import { z as z50 } from "zod";
|
|
928
|
+
var schematic_arc = z50.object({
|
|
929
|
+
type: z50.literal("schematic_arc"),
|
|
919
930
|
schematic_arc_id: getZodPrefixedIdWithDefault("schematic_arc"),
|
|
920
|
-
schematic_component_id:
|
|
931
|
+
schematic_component_id: z50.string(),
|
|
921
932
|
center: point,
|
|
922
933
|
radius: distance,
|
|
923
934
|
start_angle_degrees: rotation,
|
|
924
935
|
end_angle_degrees: rotation,
|
|
925
|
-
direction:
|
|
936
|
+
direction: z50.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
|
|
926
937
|
stroke_width: distance.nullable().optional(),
|
|
927
|
-
color:
|
|
928
|
-
is_dashed:
|
|
929
|
-
subcircuit_id:
|
|
938
|
+
color: z50.string().default("#000000"),
|
|
939
|
+
is_dashed: z50.boolean().default(false),
|
|
940
|
+
subcircuit_id: z50.string().optional()
|
|
930
941
|
}).describe("Draws a styled arc on the schematic");
|
|
931
942
|
expectTypesMatch(true);
|
|
932
943
|
|
|
933
944
|
// src/schematic/schematic_trace.ts
|
|
934
|
-
import { z as
|
|
935
|
-
var schematic_trace =
|
|
936
|
-
type:
|
|
937
|
-
schematic_trace_id:
|
|
938
|
-
source_trace_id:
|
|
939
|
-
junctions:
|
|
940
|
-
|
|
941
|
-
x:
|
|
942
|
-
y:
|
|
945
|
+
import { z as z51 } from "zod";
|
|
946
|
+
var schematic_trace = z51.object({
|
|
947
|
+
type: z51.literal("schematic_trace"),
|
|
948
|
+
schematic_trace_id: z51.string(),
|
|
949
|
+
source_trace_id: z51.string().optional(),
|
|
950
|
+
junctions: z51.array(
|
|
951
|
+
z51.object({
|
|
952
|
+
x: z51.number(),
|
|
953
|
+
y: z51.number()
|
|
943
954
|
})
|
|
944
955
|
),
|
|
945
|
-
edges:
|
|
946
|
-
|
|
947
|
-
from:
|
|
948
|
-
x:
|
|
949
|
-
y:
|
|
956
|
+
edges: z51.array(
|
|
957
|
+
z51.object({
|
|
958
|
+
from: z51.object({
|
|
959
|
+
x: z51.number(),
|
|
960
|
+
y: z51.number()
|
|
950
961
|
}),
|
|
951
|
-
to:
|
|
952
|
-
x:
|
|
953
|
-
y:
|
|
962
|
+
to: z51.object({
|
|
963
|
+
x: z51.number(),
|
|
964
|
+
y: z51.number()
|
|
954
965
|
}),
|
|
955
|
-
is_crossing:
|
|
956
|
-
from_schematic_port_id:
|
|
957
|
-
to_schematic_port_id:
|
|
966
|
+
is_crossing: z51.boolean().optional(),
|
|
967
|
+
from_schematic_port_id: z51.string().optional(),
|
|
968
|
+
to_schematic_port_id: z51.string().optional()
|
|
958
969
|
})
|
|
959
970
|
),
|
|
960
|
-
subcircuit_id:
|
|
971
|
+
subcircuit_id: z51.string().optional(),
|
|
961
972
|
// TODO: make required in a future release
|
|
962
|
-
subcircuit_connectivity_map_key:
|
|
973
|
+
subcircuit_connectivity_map_key: z51.string().optional()
|
|
963
974
|
});
|
|
964
975
|
expectTypesMatch(true);
|
|
965
976
|
|
|
966
977
|
// src/schematic/schematic_text.ts
|
|
967
|
-
import { z as
|
|
978
|
+
import { z as z53 } from "zod";
|
|
968
979
|
|
|
969
980
|
// src/common/FivePointAnchor.ts
|
|
970
|
-
import { z as
|
|
971
|
-
var fivePointAnchor =
|
|
981
|
+
import { z as z52 } from "zod";
|
|
982
|
+
var fivePointAnchor = z52.enum([
|
|
972
983
|
"center",
|
|
973
984
|
"left",
|
|
974
985
|
"right",
|
|
@@ -978,111 +989,111 @@ var fivePointAnchor = z51.enum([
|
|
|
978
989
|
expectTypesMatch(true);
|
|
979
990
|
|
|
980
991
|
// src/schematic/schematic_text.ts
|
|
981
|
-
var schematic_text =
|
|
982
|
-
type:
|
|
983
|
-
schematic_component_id:
|
|
984
|
-
schematic_text_id:
|
|
985
|
-
text:
|
|
986
|
-
font_size:
|
|
987
|
-
position:
|
|
992
|
+
var schematic_text = z53.object({
|
|
993
|
+
type: z53.literal("schematic_text"),
|
|
994
|
+
schematic_component_id: z53.string().optional(),
|
|
995
|
+
schematic_text_id: z53.string(),
|
|
996
|
+
text: z53.string(),
|
|
997
|
+
font_size: z53.number().default(0.18),
|
|
998
|
+
position: z53.object({
|
|
988
999
|
x: distance,
|
|
989
1000
|
y: distance
|
|
990
1001
|
}),
|
|
991
|
-
rotation:
|
|
992
|
-
anchor:
|
|
993
|
-
color:
|
|
994
|
-
subcircuit_id:
|
|
1002
|
+
rotation: z53.number().default(0),
|
|
1003
|
+
anchor: z53.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
|
|
1004
|
+
color: z53.string().default("#000000"),
|
|
1005
|
+
subcircuit_id: z53.string().optional()
|
|
995
1006
|
});
|
|
996
1007
|
expectTypesMatch(true);
|
|
997
1008
|
|
|
998
1009
|
// src/schematic/schematic_port.ts
|
|
999
|
-
import { z as
|
|
1000
|
-
var schematic_port =
|
|
1001
|
-
type:
|
|
1002
|
-
schematic_port_id:
|
|
1003
|
-
source_port_id:
|
|
1004
|
-
schematic_component_id:
|
|
1010
|
+
import { z as z54 } from "zod";
|
|
1011
|
+
var schematic_port = z54.object({
|
|
1012
|
+
type: z54.literal("schematic_port"),
|
|
1013
|
+
schematic_port_id: z54.string(),
|
|
1014
|
+
source_port_id: z54.string(),
|
|
1015
|
+
schematic_component_id: z54.string().optional(),
|
|
1005
1016
|
center: point,
|
|
1006
|
-
facing_direction:
|
|
1007
|
-
distance_from_component_edge:
|
|
1008
|
-
side_of_component:
|
|
1009
|
-
true_ccw_index:
|
|
1010
|
-
pin_number:
|
|
1011
|
-
display_pin_label:
|
|
1012
|
-
subcircuit_id:
|
|
1013
|
-
is_connected:
|
|
1014
|
-
has_input_arrow:
|
|
1015
|
-
has_output_arrow:
|
|
1017
|
+
facing_direction: z54.enum(["up", "down", "left", "right"]).optional(),
|
|
1018
|
+
distance_from_component_edge: z54.number().optional(),
|
|
1019
|
+
side_of_component: z54.enum(["top", "bottom", "left", "right"]).optional(),
|
|
1020
|
+
true_ccw_index: z54.number().optional(),
|
|
1021
|
+
pin_number: z54.number().optional(),
|
|
1022
|
+
display_pin_label: z54.string().optional(),
|
|
1023
|
+
subcircuit_id: z54.string().optional(),
|
|
1024
|
+
is_connected: z54.boolean().optional(),
|
|
1025
|
+
has_input_arrow: z54.boolean().optional(),
|
|
1026
|
+
has_output_arrow: z54.boolean().optional()
|
|
1016
1027
|
}).describe("Defines a port on a schematic component");
|
|
1017
1028
|
expectTypesMatch(true);
|
|
1018
1029
|
|
|
1019
1030
|
// src/schematic/schematic_net_label.ts
|
|
1020
|
-
import { z as
|
|
1021
|
-
var schematic_net_label =
|
|
1022
|
-
type:
|
|
1031
|
+
import { z as z55 } from "zod";
|
|
1032
|
+
var schematic_net_label = z55.object({
|
|
1033
|
+
type: z55.literal("schematic_net_label"),
|
|
1023
1034
|
schematic_net_label_id: getZodPrefixedIdWithDefault("schematic_net_label"),
|
|
1024
|
-
schematic_trace_id:
|
|
1025
|
-
source_trace_id:
|
|
1026
|
-
source_net_id:
|
|
1035
|
+
schematic_trace_id: z55.string().optional(),
|
|
1036
|
+
source_trace_id: z55.string().optional(),
|
|
1037
|
+
source_net_id: z55.string(),
|
|
1027
1038
|
center: point,
|
|
1028
1039
|
anchor_position: point.optional(),
|
|
1029
|
-
anchor_side:
|
|
1030
|
-
text:
|
|
1031
|
-
symbol_name:
|
|
1032
|
-
is_movable:
|
|
1033
|
-
subcircuit_id:
|
|
1040
|
+
anchor_side: z55.enum(["top", "bottom", "left", "right"]),
|
|
1041
|
+
text: z55.string(),
|
|
1042
|
+
symbol_name: z55.string().optional(),
|
|
1043
|
+
is_movable: z55.boolean().optional(),
|
|
1044
|
+
subcircuit_id: z55.string().optional()
|
|
1034
1045
|
});
|
|
1035
1046
|
expectTypesMatch(true);
|
|
1036
1047
|
|
|
1037
1048
|
// src/schematic/schematic_error.ts
|
|
1038
|
-
import { z as
|
|
1039
|
-
var schematic_error =
|
|
1040
|
-
type:
|
|
1041
|
-
schematic_error_id:
|
|
1049
|
+
import { z as z56 } from "zod";
|
|
1050
|
+
var schematic_error = z56.object({
|
|
1051
|
+
type: z56.literal("schematic_error"),
|
|
1052
|
+
schematic_error_id: z56.string(),
|
|
1042
1053
|
// eventually each error type should be broken out into a dir of files
|
|
1043
|
-
error_type:
|
|
1044
|
-
message:
|
|
1045
|
-
subcircuit_id:
|
|
1054
|
+
error_type: z56.literal("schematic_port_not_found").default("schematic_port_not_found"),
|
|
1055
|
+
message: z56.string(),
|
|
1056
|
+
subcircuit_id: z56.string().optional()
|
|
1046
1057
|
}).describe("Defines a schematic error on the schematic");
|
|
1047
1058
|
expectTypesMatch(true);
|
|
1048
1059
|
|
|
1049
1060
|
// src/schematic/schematic_layout_error.ts
|
|
1050
|
-
import { z as
|
|
1051
|
-
var schematic_layout_error =
|
|
1052
|
-
type:
|
|
1061
|
+
import { z as z57 } from "zod";
|
|
1062
|
+
var schematic_layout_error = z57.object({
|
|
1063
|
+
type: z57.literal("schematic_layout_error"),
|
|
1053
1064
|
schematic_layout_error_id: getZodPrefixedIdWithDefault(
|
|
1054
1065
|
"schematic_layout_error"
|
|
1055
1066
|
),
|
|
1056
|
-
error_type:
|
|
1057
|
-
message:
|
|
1058
|
-
source_group_id:
|
|
1059
|
-
schematic_group_id:
|
|
1060
|
-
subcircuit_id:
|
|
1067
|
+
error_type: z57.literal("schematic_layout_error").default("schematic_layout_error"),
|
|
1068
|
+
message: z57.string(),
|
|
1069
|
+
source_group_id: z57.string(),
|
|
1070
|
+
schematic_group_id: z57.string(),
|
|
1071
|
+
subcircuit_id: z57.string().optional()
|
|
1061
1072
|
}).describe("Error emitted when schematic layout fails for a group");
|
|
1062
1073
|
expectTypesMatch(true);
|
|
1063
1074
|
|
|
1064
1075
|
// src/schematic/schematic_debug_object.ts
|
|
1065
|
-
import { z as
|
|
1066
|
-
var schematic_debug_object_base =
|
|
1067
|
-
type:
|
|
1068
|
-
label:
|
|
1069
|
-
subcircuit_id:
|
|
1076
|
+
import { z as z58 } from "zod";
|
|
1077
|
+
var schematic_debug_object_base = z58.object({
|
|
1078
|
+
type: z58.literal("schematic_debug_object"),
|
|
1079
|
+
label: z58.string().optional(),
|
|
1080
|
+
subcircuit_id: z58.string().optional()
|
|
1070
1081
|
});
|
|
1071
1082
|
var schematic_debug_rect = schematic_debug_object_base.extend({
|
|
1072
|
-
shape:
|
|
1083
|
+
shape: z58.literal("rect"),
|
|
1073
1084
|
center: point,
|
|
1074
1085
|
size
|
|
1075
1086
|
});
|
|
1076
1087
|
var schematic_debug_line = schematic_debug_object_base.extend({
|
|
1077
|
-
shape:
|
|
1088
|
+
shape: z58.literal("line"),
|
|
1078
1089
|
start: point,
|
|
1079
1090
|
end: point
|
|
1080
1091
|
});
|
|
1081
1092
|
var schematic_debug_point = schematic_debug_object_base.extend({
|
|
1082
|
-
shape:
|
|
1093
|
+
shape: z58.literal("point"),
|
|
1083
1094
|
center: point
|
|
1084
1095
|
});
|
|
1085
|
-
var schematic_debug_object =
|
|
1096
|
+
var schematic_debug_object = z58.discriminatedUnion("shape", [
|
|
1086
1097
|
schematic_debug_rect,
|
|
1087
1098
|
schematic_debug_line,
|
|
1088
1099
|
schematic_debug_point
|
|
@@ -1090,162 +1101,162 @@ var schematic_debug_object = z57.discriminatedUnion("shape", [
|
|
|
1090
1101
|
expectTypesMatch(true);
|
|
1091
1102
|
|
|
1092
1103
|
// src/schematic/schematic_voltage_probe.ts
|
|
1093
|
-
import { z as
|
|
1094
|
-
var schematic_voltage_probe =
|
|
1095
|
-
type:
|
|
1096
|
-
schematic_voltage_probe_id:
|
|
1104
|
+
import { z as z59 } from "zod";
|
|
1105
|
+
var schematic_voltage_probe = z59.object({
|
|
1106
|
+
type: z59.literal("schematic_voltage_probe"),
|
|
1107
|
+
schematic_voltage_probe_id: z59.string(),
|
|
1097
1108
|
position: point,
|
|
1098
|
-
schematic_trace_id:
|
|
1109
|
+
schematic_trace_id: z59.string(),
|
|
1099
1110
|
voltage: voltage.optional(),
|
|
1100
|
-
subcircuit_id:
|
|
1111
|
+
subcircuit_id: z59.string().optional()
|
|
1101
1112
|
}).describe("Defines a voltage probe measurement point on a schematic trace");
|
|
1102
1113
|
expectTypesMatch(true);
|
|
1103
1114
|
|
|
1104
1115
|
// src/schematic/schematic_manual_edit_conflict_warning.ts
|
|
1105
|
-
import { z as
|
|
1106
|
-
var schematic_manual_edit_conflict_warning =
|
|
1107
|
-
type:
|
|
1116
|
+
import { z as z60 } from "zod";
|
|
1117
|
+
var schematic_manual_edit_conflict_warning = z60.object({
|
|
1118
|
+
type: z60.literal("schematic_manual_edit_conflict_warning"),
|
|
1108
1119
|
schematic_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
1109
1120
|
"schematic_manual_edit_conflict_warning"
|
|
1110
1121
|
),
|
|
1111
|
-
warning_type:
|
|
1112
|
-
message:
|
|
1113
|
-
schematic_component_id:
|
|
1114
|
-
schematic_group_id:
|
|
1115
|
-
subcircuit_id:
|
|
1116
|
-
source_component_id:
|
|
1122
|
+
warning_type: z60.literal("schematic_manual_edit_conflict_warning").default("schematic_manual_edit_conflict_warning"),
|
|
1123
|
+
message: z60.string(),
|
|
1124
|
+
schematic_component_id: z60.string(),
|
|
1125
|
+
schematic_group_id: z60.string().optional(),
|
|
1126
|
+
subcircuit_id: z60.string().optional(),
|
|
1127
|
+
source_component_id: z60.string()
|
|
1117
1128
|
}).describe(
|
|
1118
1129
|
"Warning emitted when a component has both manual placement and explicit schX/schY coordinates"
|
|
1119
1130
|
);
|
|
1120
1131
|
expectTypesMatch(true);
|
|
1121
1132
|
|
|
1122
1133
|
// src/schematic/schematic_group.ts
|
|
1123
|
-
import { z as
|
|
1124
|
-
var schematic_group =
|
|
1125
|
-
type:
|
|
1134
|
+
import { z as z61 } from "zod";
|
|
1135
|
+
var schematic_group = z61.object({
|
|
1136
|
+
type: z61.literal("schematic_group"),
|
|
1126
1137
|
schematic_group_id: getZodPrefixedIdWithDefault("schematic_group"),
|
|
1127
|
-
source_group_id:
|
|
1128
|
-
is_subcircuit:
|
|
1129
|
-
subcircuit_id:
|
|
1138
|
+
source_group_id: z61.string(),
|
|
1139
|
+
is_subcircuit: z61.boolean().optional(),
|
|
1140
|
+
subcircuit_id: z61.string().optional(),
|
|
1130
1141
|
width: length,
|
|
1131
1142
|
height: length,
|
|
1132
1143
|
center: point,
|
|
1133
|
-
schematic_component_ids:
|
|
1134
|
-
show_as_schematic_box:
|
|
1135
|
-
name:
|
|
1136
|
-
description:
|
|
1144
|
+
schematic_component_ids: z61.array(z61.string()),
|
|
1145
|
+
show_as_schematic_box: z61.boolean().optional(),
|
|
1146
|
+
name: z61.string().optional(),
|
|
1147
|
+
description: z61.string().optional()
|
|
1137
1148
|
}).describe("Defines a group of components on the schematic");
|
|
1138
1149
|
expectTypesMatch(true);
|
|
1139
1150
|
|
|
1140
1151
|
// src/schematic/schematic_table.ts
|
|
1141
|
-
import { z as
|
|
1142
|
-
var schematic_table =
|
|
1143
|
-
type:
|
|
1152
|
+
import { z as z62 } from "zod";
|
|
1153
|
+
var schematic_table = z62.object({
|
|
1154
|
+
type: z62.literal("schematic_table"),
|
|
1144
1155
|
schematic_table_id: getZodPrefixedIdWithDefault("schematic_table"),
|
|
1145
1156
|
anchor_position: point,
|
|
1146
|
-
column_widths:
|
|
1147
|
-
row_heights:
|
|
1157
|
+
column_widths: z62.array(distance),
|
|
1158
|
+
row_heights: z62.array(distance),
|
|
1148
1159
|
cell_padding: distance.optional(),
|
|
1149
1160
|
border_width: distance.optional(),
|
|
1150
|
-
subcircuit_id:
|
|
1151
|
-
schematic_component_id:
|
|
1161
|
+
subcircuit_id: z62.string().optional(),
|
|
1162
|
+
schematic_component_id: z62.string().optional(),
|
|
1152
1163
|
anchor: ninePointAnchor.optional()
|
|
1153
1164
|
}).describe("Defines a table on the schematic");
|
|
1154
1165
|
expectTypesMatch(true);
|
|
1155
1166
|
|
|
1156
1167
|
// src/schematic/schematic_table_cell.ts
|
|
1157
|
-
import { z as
|
|
1158
|
-
var schematic_table_cell =
|
|
1159
|
-
type:
|
|
1168
|
+
import { z as z63 } from "zod";
|
|
1169
|
+
var schematic_table_cell = z63.object({
|
|
1170
|
+
type: z63.literal("schematic_table_cell"),
|
|
1160
1171
|
schematic_table_cell_id: getZodPrefixedIdWithDefault(
|
|
1161
1172
|
"schematic_table_cell"
|
|
1162
1173
|
),
|
|
1163
|
-
schematic_table_id:
|
|
1164
|
-
start_row_index:
|
|
1165
|
-
end_row_index:
|
|
1166
|
-
start_column_index:
|
|
1167
|
-
end_column_index:
|
|
1168
|
-
text:
|
|
1174
|
+
schematic_table_id: z63.string(),
|
|
1175
|
+
start_row_index: z63.number(),
|
|
1176
|
+
end_row_index: z63.number(),
|
|
1177
|
+
start_column_index: z63.number(),
|
|
1178
|
+
end_column_index: z63.number(),
|
|
1179
|
+
text: z63.string().optional(),
|
|
1169
1180
|
center: point,
|
|
1170
1181
|
width: distance,
|
|
1171
1182
|
height: distance,
|
|
1172
|
-
horizontal_align:
|
|
1173
|
-
vertical_align:
|
|
1183
|
+
horizontal_align: z63.enum(["left", "center", "right"]).optional(),
|
|
1184
|
+
vertical_align: z63.enum(["top", "middle", "bottom"]).optional(),
|
|
1174
1185
|
font_size: distance.optional(),
|
|
1175
|
-
subcircuit_id:
|
|
1186
|
+
subcircuit_id: z63.string().optional()
|
|
1176
1187
|
}).describe("Defines a cell within a schematic_table");
|
|
1177
1188
|
expectTypesMatch(true);
|
|
1178
1189
|
|
|
1179
1190
|
// src/pcb/properties/brep.ts
|
|
1180
|
-
import { z as
|
|
1181
|
-
var point_with_bulge =
|
|
1191
|
+
import { z as z64 } from "zod";
|
|
1192
|
+
var point_with_bulge = z64.object({
|
|
1182
1193
|
x: distance,
|
|
1183
1194
|
y: distance,
|
|
1184
|
-
bulge:
|
|
1195
|
+
bulge: z64.number().optional()
|
|
1185
1196
|
});
|
|
1186
1197
|
expectTypesMatch(true);
|
|
1187
|
-
var ring =
|
|
1188
|
-
vertices:
|
|
1198
|
+
var ring = z64.object({
|
|
1199
|
+
vertices: z64.array(point_with_bulge)
|
|
1189
1200
|
});
|
|
1190
1201
|
expectTypesMatch(true);
|
|
1191
|
-
var brep_shape =
|
|
1202
|
+
var brep_shape = z64.object({
|
|
1192
1203
|
outer_ring: ring,
|
|
1193
|
-
inner_rings:
|
|
1204
|
+
inner_rings: z64.array(ring).default([])
|
|
1194
1205
|
});
|
|
1195
1206
|
expectTypesMatch(true);
|
|
1196
1207
|
|
|
1197
1208
|
// src/pcb/properties/pcb_route_hints.ts
|
|
1198
|
-
import { z as
|
|
1199
|
-
var pcb_route_hint =
|
|
1209
|
+
import { z as z65 } from "zod";
|
|
1210
|
+
var pcb_route_hint = z65.object({
|
|
1200
1211
|
x: distance,
|
|
1201
1212
|
y: distance,
|
|
1202
|
-
via:
|
|
1213
|
+
via: z65.boolean().optional(),
|
|
1203
1214
|
via_to_layer: layer_ref.optional()
|
|
1204
1215
|
});
|
|
1205
|
-
var pcb_route_hints =
|
|
1216
|
+
var pcb_route_hints = z65.array(pcb_route_hint);
|
|
1206
1217
|
expectTypesMatch(true);
|
|
1207
1218
|
expectTypesMatch(true);
|
|
1208
1219
|
|
|
1209
1220
|
// src/pcb/properties/route_hint_point.ts
|
|
1210
|
-
import { z as
|
|
1211
|
-
var route_hint_point =
|
|
1221
|
+
import { z as z66 } from "zod";
|
|
1222
|
+
var route_hint_point = z66.object({
|
|
1212
1223
|
x: distance,
|
|
1213
1224
|
y: distance,
|
|
1214
|
-
via:
|
|
1225
|
+
via: z66.boolean().optional(),
|
|
1215
1226
|
to_layer: layer_ref.optional(),
|
|
1216
1227
|
trace_width: distance.optional()
|
|
1217
1228
|
});
|
|
1218
1229
|
expectTypesMatch(true);
|
|
1219
1230
|
|
|
1220
1231
|
// src/pcb/pcb_component.ts
|
|
1221
|
-
import { z as
|
|
1222
|
-
var pcb_component =
|
|
1223
|
-
type:
|
|
1232
|
+
import { z as z67 } from "zod";
|
|
1233
|
+
var pcb_component = z67.object({
|
|
1234
|
+
type: z67.literal("pcb_component"),
|
|
1224
1235
|
pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
|
|
1225
|
-
source_component_id:
|
|
1236
|
+
source_component_id: z67.string(),
|
|
1226
1237
|
center: point,
|
|
1227
1238
|
layer: layer_ref,
|
|
1228
1239
|
rotation,
|
|
1229
1240
|
width: length,
|
|
1230
1241
|
height: length,
|
|
1231
|
-
do_not_place:
|
|
1232
|
-
subcircuit_id:
|
|
1233
|
-
pcb_group_id:
|
|
1234
|
-
obstructs_within_bounds:
|
|
1242
|
+
do_not_place: z67.boolean().optional(),
|
|
1243
|
+
subcircuit_id: z67.string().optional(),
|
|
1244
|
+
pcb_group_id: z67.string().optional(),
|
|
1245
|
+
obstructs_within_bounds: z67.boolean().default(true).describe(
|
|
1235
1246
|
"Does this component take up all the space within its bounds on a layer. This is generally true except for when separated pin headers are being represented by a single component (in which case, chips can be placed between the pin headers) or for tall modules where chips fit underneath"
|
|
1236
1247
|
)
|
|
1237
1248
|
}).describe("Defines a component on the PCB");
|
|
1238
1249
|
expectTypesMatch(true);
|
|
1239
1250
|
|
|
1240
1251
|
// src/pcb/pcb_hole.ts
|
|
1241
|
-
import { z as
|
|
1242
|
-
var pcb_hole_circle_or_square =
|
|
1243
|
-
type:
|
|
1252
|
+
import { z as z68 } from "zod";
|
|
1253
|
+
var pcb_hole_circle_or_square = z68.object({
|
|
1254
|
+
type: z68.literal("pcb_hole"),
|
|
1244
1255
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1245
|
-
pcb_group_id:
|
|
1246
|
-
subcircuit_id:
|
|
1247
|
-
hole_shape:
|
|
1248
|
-
hole_diameter:
|
|
1256
|
+
pcb_group_id: z68.string().optional(),
|
|
1257
|
+
subcircuit_id: z68.string().optional(),
|
|
1258
|
+
hole_shape: z68.enum(["circle", "square"]),
|
|
1259
|
+
hole_diameter: z68.number(),
|
|
1249
1260
|
x: distance,
|
|
1250
1261
|
y: distance
|
|
1251
1262
|
});
|
|
@@ -1253,14 +1264,14 @@ var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
|
|
|
1253
1264
|
"Defines a circular or square hole on the PCB"
|
|
1254
1265
|
);
|
|
1255
1266
|
expectTypesMatch(true);
|
|
1256
|
-
var pcb_hole_oval =
|
|
1257
|
-
type:
|
|
1267
|
+
var pcb_hole_oval = z68.object({
|
|
1268
|
+
type: z68.literal("pcb_hole"),
|
|
1258
1269
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1259
|
-
pcb_group_id:
|
|
1260
|
-
subcircuit_id:
|
|
1261
|
-
hole_shape:
|
|
1262
|
-
hole_width:
|
|
1263
|
-
hole_height:
|
|
1270
|
+
pcb_group_id: z68.string().optional(),
|
|
1271
|
+
subcircuit_id: z68.string().optional(),
|
|
1272
|
+
hole_shape: z68.literal("oval"),
|
|
1273
|
+
hole_width: z68.number(),
|
|
1274
|
+
hole_height: z68.number(),
|
|
1264
1275
|
x: distance,
|
|
1265
1276
|
y: distance
|
|
1266
1277
|
});
|
|
@@ -1271,108 +1282,108 @@ expectTypesMatch(true);
|
|
|
1271
1282
|
var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval);
|
|
1272
1283
|
|
|
1273
1284
|
// src/pcb/pcb_plated_hole.ts
|
|
1274
|
-
import { z as
|
|
1275
|
-
var pcb_plated_hole_circle =
|
|
1276
|
-
type:
|
|
1277
|
-
shape:
|
|
1278
|
-
pcb_group_id:
|
|
1279
|
-
subcircuit_id:
|
|
1280
|
-
outer_diameter:
|
|
1281
|
-
hole_diameter:
|
|
1285
|
+
import { z as z69 } from "zod";
|
|
1286
|
+
var pcb_plated_hole_circle = z69.object({
|
|
1287
|
+
type: z69.literal("pcb_plated_hole"),
|
|
1288
|
+
shape: z69.literal("circle"),
|
|
1289
|
+
pcb_group_id: z69.string().optional(),
|
|
1290
|
+
subcircuit_id: z69.string().optional(),
|
|
1291
|
+
outer_diameter: z69.number(),
|
|
1292
|
+
hole_diameter: z69.number(),
|
|
1282
1293
|
x: distance,
|
|
1283
1294
|
y: distance,
|
|
1284
|
-
layers:
|
|
1285
|
-
port_hints:
|
|
1286
|
-
pcb_component_id:
|
|
1287
|
-
pcb_port_id:
|
|
1295
|
+
layers: z69.array(layer_ref),
|
|
1296
|
+
port_hints: z69.array(z69.string()).optional(),
|
|
1297
|
+
pcb_component_id: z69.string().optional(),
|
|
1298
|
+
pcb_port_id: z69.string().optional(),
|
|
1288
1299
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
1289
1300
|
});
|
|
1290
|
-
var pcb_plated_hole_oval =
|
|
1291
|
-
type:
|
|
1292
|
-
shape:
|
|
1293
|
-
pcb_group_id:
|
|
1294
|
-
subcircuit_id:
|
|
1295
|
-
outer_width:
|
|
1296
|
-
outer_height:
|
|
1297
|
-
hole_width:
|
|
1298
|
-
hole_height:
|
|
1301
|
+
var pcb_plated_hole_oval = z69.object({
|
|
1302
|
+
type: z69.literal("pcb_plated_hole"),
|
|
1303
|
+
shape: z69.enum(["oval", "pill"]),
|
|
1304
|
+
pcb_group_id: z69.string().optional(),
|
|
1305
|
+
subcircuit_id: z69.string().optional(),
|
|
1306
|
+
outer_width: z69.number(),
|
|
1307
|
+
outer_height: z69.number(),
|
|
1308
|
+
hole_width: z69.number(),
|
|
1309
|
+
hole_height: z69.number(),
|
|
1299
1310
|
x: distance,
|
|
1300
1311
|
y: distance,
|
|
1301
1312
|
ccw_rotation: rotation,
|
|
1302
|
-
layers:
|
|
1303
|
-
port_hints:
|
|
1304
|
-
pcb_component_id:
|
|
1305
|
-
pcb_port_id:
|
|
1313
|
+
layers: z69.array(layer_ref),
|
|
1314
|
+
port_hints: z69.array(z69.string()).optional(),
|
|
1315
|
+
pcb_component_id: z69.string().optional(),
|
|
1316
|
+
pcb_port_id: z69.string().optional(),
|
|
1306
1317
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
1307
1318
|
});
|
|
1308
|
-
var pcb_circular_hole_with_rect_pad =
|
|
1309
|
-
type:
|
|
1310
|
-
shape:
|
|
1311
|
-
pcb_group_id:
|
|
1312
|
-
subcircuit_id:
|
|
1313
|
-
hole_shape:
|
|
1314
|
-
pad_shape:
|
|
1315
|
-
hole_diameter:
|
|
1316
|
-
rect_pad_width:
|
|
1317
|
-
rect_pad_height:
|
|
1318
|
-
rect_border_radius:
|
|
1319
|
+
var pcb_circular_hole_with_rect_pad = z69.object({
|
|
1320
|
+
type: z69.literal("pcb_plated_hole"),
|
|
1321
|
+
shape: z69.literal("circular_hole_with_rect_pad"),
|
|
1322
|
+
pcb_group_id: z69.string().optional(),
|
|
1323
|
+
subcircuit_id: z69.string().optional(),
|
|
1324
|
+
hole_shape: z69.literal("circle"),
|
|
1325
|
+
pad_shape: z69.literal("rect"),
|
|
1326
|
+
hole_diameter: z69.number(),
|
|
1327
|
+
rect_pad_width: z69.number(),
|
|
1328
|
+
rect_pad_height: z69.number(),
|
|
1329
|
+
rect_border_radius: z69.number().optional(),
|
|
1319
1330
|
hole_offset_x: distance.default(0),
|
|
1320
1331
|
hole_offset_y: distance.default(0),
|
|
1321
1332
|
x: distance,
|
|
1322
1333
|
y: distance,
|
|
1323
|
-
layers:
|
|
1324
|
-
port_hints:
|
|
1325
|
-
pcb_component_id:
|
|
1326
|
-
pcb_port_id:
|
|
1334
|
+
layers: z69.array(layer_ref),
|
|
1335
|
+
port_hints: z69.array(z69.string()).optional(),
|
|
1336
|
+
pcb_component_id: z69.string().optional(),
|
|
1337
|
+
pcb_port_id: z69.string().optional(),
|
|
1327
1338
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
1328
1339
|
});
|
|
1329
|
-
var pcb_pill_hole_with_rect_pad =
|
|
1330
|
-
type:
|
|
1331
|
-
shape:
|
|
1332
|
-
pcb_group_id:
|
|
1333
|
-
subcircuit_id:
|
|
1334
|
-
hole_shape:
|
|
1335
|
-
pad_shape:
|
|
1336
|
-
hole_width:
|
|
1337
|
-
hole_height:
|
|
1338
|
-
rect_pad_width:
|
|
1339
|
-
rect_pad_height:
|
|
1340
|
-
rect_border_radius:
|
|
1340
|
+
var pcb_pill_hole_with_rect_pad = z69.object({
|
|
1341
|
+
type: z69.literal("pcb_plated_hole"),
|
|
1342
|
+
shape: z69.literal("pill_hole_with_rect_pad"),
|
|
1343
|
+
pcb_group_id: z69.string().optional(),
|
|
1344
|
+
subcircuit_id: z69.string().optional(),
|
|
1345
|
+
hole_shape: z69.literal("pill"),
|
|
1346
|
+
pad_shape: z69.literal("rect"),
|
|
1347
|
+
hole_width: z69.number(),
|
|
1348
|
+
hole_height: z69.number(),
|
|
1349
|
+
rect_pad_width: z69.number(),
|
|
1350
|
+
rect_pad_height: z69.number(),
|
|
1351
|
+
rect_border_radius: z69.number().optional(),
|
|
1341
1352
|
hole_offset_x: distance.default(0),
|
|
1342
1353
|
hole_offset_y: distance.default(0),
|
|
1343
1354
|
x: distance,
|
|
1344
1355
|
y: distance,
|
|
1345
|
-
layers:
|
|
1346
|
-
port_hints:
|
|
1347
|
-
pcb_component_id:
|
|
1348
|
-
pcb_port_id:
|
|
1356
|
+
layers: z69.array(layer_ref),
|
|
1357
|
+
port_hints: z69.array(z69.string()).optional(),
|
|
1358
|
+
pcb_component_id: z69.string().optional(),
|
|
1359
|
+
pcb_port_id: z69.string().optional(),
|
|
1349
1360
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
1350
1361
|
});
|
|
1351
|
-
var pcb_rotated_pill_hole_with_rect_pad =
|
|
1352
|
-
type:
|
|
1353
|
-
shape:
|
|
1354
|
-
pcb_group_id:
|
|
1355
|
-
subcircuit_id:
|
|
1356
|
-
hole_shape:
|
|
1357
|
-
pad_shape:
|
|
1358
|
-
hole_width:
|
|
1359
|
-
hole_height:
|
|
1362
|
+
var pcb_rotated_pill_hole_with_rect_pad = z69.object({
|
|
1363
|
+
type: z69.literal("pcb_plated_hole"),
|
|
1364
|
+
shape: z69.literal("rotated_pill_hole_with_rect_pad"),
|
|
1365
|
+
pcb_group_id: z69.string().optional(),
|
|
1366
|
+
subcircuit_id: z69.string().optional(),
|
|
1367
|
+
hole_shape: z69.literal("rotated_pill"),
|
|
1368
|
+
pad_shape: z69.literal("rect"),
|
|
1369
|
+
hole_width: z69.number(),
|
|
1370
|
+
hole_height: z69.number(),
|
|
1360
1371
|
hole_ccw_rotation: rotation,
|
|
1361
|
-
rect_pad_width:
|
|
1362
|
-
rect_pad_height:
|
|
1363
|
-
rect_border_radius:
|
|
1372
|
+
rect_pad_width: z69.number(),
|
|
1373
|
+
rect_pad_height: z69.number(),
|
|
1374
|
+
rect_border_radius: z69.number().optional(),
|
|
1364
1375
|
rect_ccw_rotation: rotation,
|
|
1365
1376
|
hole_offset_x: distance.default(0),
|
|
1366
1377
|
hole_offset_y: distance.default(0),
|
|
1367
1378
|
x: distance,
|
|
1368
1379
|
y: distance,
|
|
1369
|
-
layers:
|
|
1370
|
-
port_hints:
|
|
1371
|
-
pcb_component_id:
|
|
1372
|
-
pcb_port_id:
|
|
1380
|
+
layers: z69.array(layer_ref),
|
|
1381
|
+
port_hints: z69.array(z69.string()).optional(),
|
|
1382
|
+
pcb_component_id: z69.string().optional(),
|
|
1383
|
+
pcb_port_id: z69.string().optional(),
|
|
1373
1384
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
1374
1385
|
});
|
|
1375
|
-
var pcb_plated_hole =
|
|
1386
|
+
var pcb_plated_hole = z69.union([
|
|
1376
1387
|
pcb_plated_hole_circle,
|
|
1377
1388
|
pcb_plated_hole_oval,
|
|
1378
1389
|
pcb_circular_hole_with_rect_pad,
|
|
@@ -1388,122 +1399,122 @@ expectTypesMatch(true);
|
|
|
1388
1399
|
expectTypesMatch(true);
|
|
1389
1400
|
|
|
1390
1401
|
// src/pcb/pcb_port.ts
|
|
1391
|
-
import { z as
|
|
1392
|
-
var pcb_port =
|
|
1393
|
-
type:
|
|
1402
|
+
import { z as z70 } from "zod";
|
|
1403
|
+
var pcb_port = z70.object({
|
|
1404
|
+
type: z70.literal("pcb_port"),
|
|
1394
1405
|
pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
|
|
1395
|
-
pcb_group_id:
|
|
1396
|
-
subcircuit_id:
|
|
1397
|
-
source_port_id:
|
|
1398
|
-
pcb_component_id:
|
|
1406
|
+
pcb_group_id: z70.string().optional(),
|
|
1407
|
+
subcircuit_id: z70.string().optional(),
|
|
1408
|
+
source_port_id: z70.string(),
|
|
1409
|
+
pcb_component_id: z70.string(),
|
|
1399
1410
|
x: distance,
|
|
1400
1411
|
y: distance,
|
|
1401
|
-
layers:
|
|
1402
|
-
is_board_pinout:
|
|
1412
|
+
layers: z70.array(layer_ref),
|
|
1413
|
+
is_board_pinout: z70.boolean().optional()
|
|
1403
1414
|
}).describe("Defines a port on the PCB");
|
|
1404
1415
|
expectTypesMatch(true);
|
|
1405
1416
|
|
|
1406
1417
|
// src/pcb/pcb_smtpad.ts
|
|
1407
|
-
import { z as
|
|
1408
|
-
var pcb_smtpad_circle =
|
|
1409
|
-
type:
|
|
1410
|
-
shape:
|
|
1418
|
+
import { z as z71 } from "zod";
|
|
1419
|
+
var pcb_smtpad_circle = z71.object({
|
|
1420
|
+
type: z71.literal("pcb_smtpad"),
|
|
1421
|
+
shape: z71.literal("circle"),
|
|
1411
1422
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1412
|
-
pcb_group_id:
|
|
1413
|
-
subcircuit_id:
|
|
1423
|
+
pcb_group_id: z71.string().optional(),
|
|
1424
|
+
subcircuit_id: z71.string().optional(),
|
|
1414
1425
|
x: distance,
|
|
1415
1426
|
y: distance,
|
|
1416
|
-
radius:
|
|
1427
|
+
radius: z71.number(),
|
|
1417
1428
|
layer: layer_ref,
|
|
1418
|
-
port_hints:
|
|
1419
|
-
pcb_component_id:
|
|
1420
|
-
pcb_port_id:
|
|
1421
|
-
is_covered_with_solder_mask:
|
|
1422
|
-
});
|
|
1423
|
-
var pcb_smtpad_rect =
|
|
1424
|
-
type:
|
|
1425
|
-
shape:
|
|
1429
|
+
port_hints: z71.array(z71.string()).optional(),
|
|
1430
|
+
pcb_component_id: z71.string().optional(),
|
|
1431
|
+
pcb_port_id: z71.string().optional(),
|
|
1432
|
+
is_covered_with_solder_mask: z71.boolean().optional()
|
|
1433
|
+
});
|
|
1434
|
+
var pcb_smtpad_rect = z71.object({
|
|
1435
|
+
type: z71.literal("pcb_smtpad"),
|
|
1436
|
+
shape: z71.literal("rect"),
|
|
1426
1437
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1427
|
-
pcb_group_id:
|
|
1428
|
-
subcircuit_id:
|
|
1438
|
+
pcb_group_id: z71.string().optional(),
|
|
1439
|
+
subcircuit_id: z71.string().optional(),
|
|
1429
1440
|
x: distance,
|
|
1430
1441
|
y: distance,
|
|
1431
|
-
width:
|
|
1432
|
-
height:
|
|
1433
|
-
rect_border_radius:
|
|
1442
|
+
width: z71.number(),
|
|
1443
|
+
height: z71.number(),
|
|
1444
|
+
rect_border_radius: z71.number().optional(),
|
|
1434
1445
|
layer: layer_ref,
|
|
1435
|
-
port_hints:
|
|
1436
|
-
pcb_component_id:
|
|
1437
|
-
pcb_port_id:
|
|
1438
|
-
is_covered_with_solder_mask:
|
|
1439
|
-
});
|
|
1440
|
-
var pcb_smtpad_rotated_rect =
|
|
1441
|
-
type:
|
|
1442
|
-
shape:
|
|
1446
|
+
port_hints: z71.array(z71.string()).optional(),
|
|
1447
|
+
pcb_component_id: z71.string().optional(),
|
|
1448
|
+
pcb_port_id: z71.string().optional(),
|
|
1449
|
+
is_covered_with_solder_mask: z71.boolean().optional()
|
|
1450
|
+
});
|
|
1451
|
+
var pcb_smtpad_rotated_rect = z71.object({
|
|
1452
|
+
type: z71.literal("pcb_smtpad"),
|
|
1453
|
+
shape: z71.literal("rotated_rect"),
|
|
1443
1454
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1444
|
-
pcb_group_id:
|
|
1445
|
-
subcircuit_id:
|
|
1455
|
+
pcb_group_id: z71.string().optional(),
|
|
1456
|
+
subcircuit_id: z71.string().optional(),
|
|
1446
1457
|
x: distance,
|
|
1447
1458
|
y: distance,
|
|
1448
|
-
width:
|
|
1449
|
-
height:
|
|
1450
|
-
rect_border_radius:
|
|
1459
|
+
width: z71.number(),
|
|
1460
|
+
height: z71.number(),
|
|
1461
|
+
rect_border_radius: z71.number().optional(),
|
|
1451
1462
|
ccw_rotation: rotation,
|
|
1452
1463
|
layer: layer_ref,
|
|
1453
|
-
port_hints:
|
|
1454
|
-
pcb_component_id:
|
|
1455
|
-
pcb_port_id:
|
|
1456
|
-
is_covered_with_solder_mask:
|
|
1457
|
-
});
|
|
1458
|
-
var pcb_smtpad_pill =
|
|
1459
|
-
type:
|
|
1460
|
-
shape:
|
|
1464
|
+
port_hints: z71.array(z71.string()).optional(),
|
|
1465
|
+
pcb_component_id: z71.string().optional(),
|
|
1466
|
+
pcb_port_id: z71.string().optional(),
|
|
1467
|
+
is_covered_with_solder_mask: z71.boolean().optional()
|
|
1468
|
+
});
|
|
1469
|
+
var pcb_smtpad_pill = z71.object({
|
|
1470
|
+
type: z71.literal("pcb_smtpad"),
|
|
1471
|
+
shape: z71.literal("pill"),
|
|
1461
1472
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1462
|
-
pcb_group_id:
|
|
1463
|
-
subcircuit_id:
|
|
1473
|
+
pcb_group_id: z71.string().optional(),
|
|
1474
|
+
subcircuit_id: z71.string().optional(),
|
|
1464
1475
|
x: distance,
|
|
1465
1476
|
y: distance,
|
|
1466
|
-
width:
|
|
1467
|
-
height:
|
|
1468
|
-
radius:
|
|
1477
|
+
width: z71.number(),
|
|
1478
|
+
height: z71.number(),
|
|
1479
|
+
radius: z71.number(),
|
|
1469
1480
|
layer: layer_ref,
|
|
1470
|
-
port_hints:
|
|
1471
|
-
pcb_component_id:
|
|
1472
|
-
pcb_port_id:
|
|
1473
|
-
is_covered_with_solder_mask:
|
|
1474
|
-
});
|
|
1475
|
-
var pcb_smtpad_rotated_pill =
|
|
1476
|
-
type:
|
|
1477
|
-
shape:
|
|
1481
|
+
port_hints: z71.array(z71.string()).optional(),
|
|
1482
|
+
pcb_component_id: z71.string().optional(),
|
|
1483
|
+
pcb_port_id: z71.string().optional(),
|
|
1484
|
+
is_covered_with_solder_mask: z71.boolean().optional()
|
|
1485
|
+
});
|
|
1486
|
+
var pcb_smtpad_rotated_pill = z71.object({
|
|
1487
|
+
type: z71.literal("pcb_smtpad"),
|
|
1488
|
+
shape: z71.literal("rotated_pill"),
|
|
1478
1489
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1479
|
-
pcb_group_id:
|
|
1480
|
-
subcircuit_id:
|
|
1490
|
+
pcb_group_id: z71.string().optional(),
|
|
1491
|
+
subcircuit_id: z71.string().optional(),
|
|
1481
1492
|
x: distance,
|
|
1482
1493
|
y: distance,
|
|
1483
|
-
width:
|
|
1484
|
-
height:
|
|
1485
|
-
radius:
|
|
1494
|
+
width: z71.number(),
|
|
1495
|
+
height: z71.number(),
|
|
1496
|
+
radius: z71.number(),
|
|
1486
1497
|
ccw_rotation: rotation,
|
|
1487
1498
|
layer: layer_ref,
|
|
1488
|
-
port_hints:
|
|
1489
|
-
pcb_component_id:
|
|
1490
|
-
pcb_port_id:
|
|
1491
|
-
is_covered_with_solder_mask:
|
|
1492
|
-
});
|
|
1493
|
-
var pcb_smtpad_polygon =
|
|
1494
|
-
type:
|
|
1495
|
-
shape:
|
|
1499
|
+
port_hints: z71.array(z71.string()).optional(),
|
|
1500
|
+
pcb_component_id: z71.string().optional(),
|
|
1501
|
+
pcb_port_id: z71.string().optional(),
|
|
1502
|
+
is_covered_with_solder_mask: z71.boolean().optional()
|
|
1503
|
+
});
|
|
1504
|
+
var pcb_smtpad_polygon = z71.object({
|
|
1505
|
+
type: z71.literal("pcb_smtpad"),
|
|
1506
|
+
shape: z71.literal("polygon"),
|
|
1496
1507
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1497
|
-
pcb_group_id:
|
|
1498
|
-
subcircuit_id:
|
|
1499
|
-
points:
|
|
1508
|
+
pcb_group_id: z71.string().optional(),
|
|
1509
|
+
subcircuit_id: z71.string().optional(),
|
|
1510
|
+
points: z71.array(point),
|
|
1500
1511
|
layer: layer_ref,
|
|
1501
|
-
port_hints:
|
|
1502
|
-
pcb_component_id:
|
|
1503
|
-
pcb_port_id:
|
|
1504
|
-
is_covered_with_solder_mask:
|
|
1512
|
+
port_hints: z71.array(z71.string()).optional(),
|
|
1513
|
+
pcb_component_id: z71.string().optional(),
|
|
1514
|
+
pcb_port_id: z71.string().optional(),
|
|
1515
|
+
is_covered_with_solder_mask: z71.boolean().optional()
|
|
1505
1516
|
});
|
|
1506
|
-
var pcb_smtpad =
|
|
1517
|
+
var pcb_smtpad = z71.discriminatedUnion("shape", [
|
|
1507
1518
|
pcb_smtpad_circle,
|
|
1508
1519
|
pcb_smtpad_rect,
|
|
1509
1520
|
pcb_smtpad_rotated_rect,
|
|
@@ -1519,79 +1530,79 @@ expectTypesMatch(true);
|
|
|
1519
1530
|
expectTypesMatch(true);
|
|
1520
1531
|
|
|
1521
1532
|
// src/pcb/pcb_solder_paste.ts
|
|
1522
|
-
import { z as
|
|
1523
|
-
var pcb_solder_paste_circle =
|
|
1524
|
-
type:
|
|
1525
|
-
shape:
|
|
1533
|
+
import { z as z72 } from "zod";
|
|
1534
|
+
var pcb_solder_paste_circle = z72.object({
|
|
1535
|
+
type: z72.literal("pcb_solder_paste"),
|
|
1536
|
+
shape: z72.literal("circle"),
|
|
1526
1537
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1527
|
-
pcb_group_id:
|
|
1528
|
-
subcircuit_id:
|
|
1538
|
+
pcb_group_id: z72.string().optional(),
|
|
1539
|
+
subcircuit_id: z72.string().optional(),
|
|
1529
1540
|
x: distance,
|
|
1530
1541
|
y: distance,
|
|
1531
|
-
radius:
|
|
1542
|
+
radius: z72.number(),
|
|
1532
1543
|
layer: layer_ref,
|
|
1533
|
-
pcb_component_id:
|
|
1534
|
-
pcb_smtpad_id:
|
|
1544
|
+
pcb_component_id: z72.string().optional(),
|
|
1545
|
+
pcb_smtpad_id: z72.string().optional()
|
|
1535
1546
|
});
|
|
1536
|
-
var pcb_solder_paste_rect =
|
|
1537
|
-
type:
|
|
1538
|
-
shape:
|
|
1547
|
+
var pcb_solder_paste_rect = z72.object({
|
|
1548
|
+
type: z72.literal("pcb_solder_paste"),
|
|
1549
|
+
shape: z72.literal("rect"),
|
|
1539
1550
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1540
|
-
pcb_group_id:
|
|
1541
|
-
subcircuit_id:
|
|
1551
|
+
pcb_group_id: z72.string().optional(),
|
|
1552
|
+
subcircuit_id: z72.string().optional(),
|
|
1542
1553
|
x: distance,
|
|
1543
1554
|
y: distance,
|
|
1544
|
-
width:
|
|
1545
|
-
height:
|
|
1555
|
+
width: z72.number(),
|
|
1556
|
+
height: z72.number(),
|
|
1546
1557
|
layer: layer_ref,
|
|
1547
|
-
pcb_component_id:
|
|
1548
|
-
pcb_smtpad_id:
|
|
1558
|
+
pcb_component_id: z72.string().optional(),
|
|
1559
|
+
pcb_smtpad_id: z72.string().optional()
|
|
1549
1560
|
});
|
|
1550
|
-
var pcb_solder_paste_pill =
|
|
1551
|
-
type:
|
|
1552
|
-
shape:
|
|
1561
|
+
var pcb_solder_paste_pill = z72.object({
|
|
1562
|
+
type: z72.literal("pcb_solder_paste"),
|
|
1563
|
+
shape: z72.literal("pill"),
|
|
1553
1564
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1554
|
-
pcb_group_id:
|
|
1555
|
-
subcircuit_id:
|
|
1565
|
+
pcb_group_id: z72.string().optional(),
|
|
1566
|
+
subcircuit_id: z72.string().optional(),
|
|
1556
1567
|
x: distance,
|
|
1557
1568
|
y: distance,
|
|
1558
|
-
width:
|
|
1559
|
-
height:
|
|
1560
|
-
radius:
|
|
1569
|
+
width: z72.number(),
|
|
1570
|
+
height: z72.number(),
|
|
1571
|
+
radius: z72.number(),
|
|
1561
1572
|
layer: layer_ref,
|
|
1562
|
-
pcb_component_id:
|
|
1563
|
-
pcb_smtpad_id:
|
|
1573
|
+
pcb_component_id: z72.string().optional(),
|
|
1574
|
+
pcb_smtpad_id: z72.string().optional()
|
|
1564
1575
|
});
|
|
1565
|
-
var pcb_solder_paste_rotated_rect =
|
|
1566
|
-
type:
|
|
1567
|
-
shape:
|
|
1576
|
+
var pcb_solder_paste_rotated_rect = z72.object({
|
|
1577
|
+
type: z72.literal("pcb_solder_paste"),
|
|
1578
|
+
shape: z72.literal("rotated_rect"),
|
|
1568
1579
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1569
|
-
pcb_group_id:
|
|
1570
|
-
subcircuit_id:
|
|
1580
|
+
pcb_group_id: z72.string().optional(),
|
|
1581
|
+
subcircuit_id: z72.string().optional(),
|
|
1571
1582
|
x: distance,
|
|
1572
1583
|
y: distance,
|
|
1573
|
-
width:
|
|
1574
|
-
height:
|
|
1584
|
+
width: z72.number(),
|
|
1585
|
+
height: z72.number(),
|
|
1575
1586
|
ccw_rotation: distance,
|
|
1576
1587
|
layer: layer_ref,
|
|
1577
|
-
pcb_component_id:
|
|
1578
|
-
pcb_smtpad_id:
|
|
1588
|
+
pcb_component_id: z72.string().optional(),
|
|
1589
|
+
pcb_smtpad_id: z72.string().optional()
|
|
1579
1590
|
});
|
|
1580
|
-
var pcb_solder_paste_oval =
|
|
1581
|
-
type:
|
|
1582
|
-
shape:
|
|
1591
|
+
var pcb_solder_paste_oval = z72.object({
|
|
1592
|
+
type: z72.literal("pcb_solder_paste"),
|
|
1593
|
+
shape: z72.literal("oval"),
|
|
1583
1594
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1584
|
-
pcb_group_id:
|
|
1585
|
-
subcircuit_id:
|
|
1595
|
+
pcb_group_id: z72.string().optional(),
|
|
1596
|
+
subcircuit_id: z72.string().optional(),
|
|
1586
1597
|
x: distance,
|
|
1587
1598
|
y: distance,
|
|
1588
|
-
width:
|
|
1589
|
-
height:
|
|
1599
|
+
width: z72.number(),
|
|
1600
|
+
height: z72.number(),
|
|
1590
1601
|
layer: layer_ref,
|
|
1591
|
-
pcb_component_id:
|
|
1592
|
-
pcb_smtpad_id:
|
|
1602
|
+
pcb_component_id: z72.string().optional(),
|
|
1603
|
+
pcb_smtpad_id: z72.string().optional()
|
|
1593
1604
|
});
|
|
1594
|
-
var pcb_solder_paste =
|
|
1605
|
+
var pcb_solder_paste = z72.union([
|
|
1595
1606
|
pcb_solder_paste_circle,
|
|
1596
1607
|
pcb_solder_paste_rect,
|
|
1597
1608
|
pcb_solder_paste_pill,
|
|
@@ -1607,145 +1618,145 @@ expectTypesMatch(
|
|
|
1607
1618
|
expectTypesMatch(true);
|
|
1608
1619
|
|
|
1609
1620
|
// src/pcb/pcb_text.ts
|
|
1610
|
-
import { z as
|
|
1611
|
-
var pcb_text =
|
|
1612
|
-
type:
|
|
1621
|
+
import { z as z73 } from "zod";
|
|
1622
|
+
var pcb_text = z73.object({
|
|
1623
|
+
type: z73.literal("pcb_text"),
|
|
1613
1624
|
pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
|
|
1614
|
-
pcb_group_id:
|
|
1615
|
-
subcircuit_id:
|
|
1616
|
-
text:
|
|
1625
|
+
pcb_group_id: z73.string().optional(),
|
|
1626
|
+
subcircuit_id: z73.string().optional(),
|
|
1627
|
+
text: z73.string(),
|
|
1617
1628
|
center: point,
|
|
1618
1629
|
layer: layer_ref,
|
|
1619
1630
|
width: length,
|
|
1620
1631
|
height: length,
|
|
1621
|
-
lines:
|
|
1632
|
+
lines: z73.number(),
|
|
1622
1633
|
// @ts-ignore
|
|
1623
|
-
align:
|
|
1634
|
+
align: z73.enum(["bottom-left"])
|
|
1624
1635
|
}).describe("Defines text on the PCB");
|
|
1625
1636
|
expectTypesMatch(true);
|
|
1626
1637
|
|
|
1627
1638
|
// src/pcb/pcb_trace.ts
|
|
1628
|
-
import { z as
|
|
1629
|
-
var pcb_trace_route_point_wire =
|
|
1630
|
-
route_type:
|
|
1639
|
+
import { z as z74 } from "zod";
|
|
1640
|
+
var pcb_trace_route_point_wire = z74.object({
|
|
1641
|
+
route_type: z74.literal("wire"),
|
|
1631
1642
|
x: distance,
|
|
1632
1643
|
y: distance,
|
|
1633
1644
|
width: distance,
|
|
1634
|
-
start_pcb_port_id:
|
|
1635
|
-
end_pcb_port_id:
|
|
1645
|
+
start_pcb_port_id: z74.string().optional(),
|
|
1646
|
+
end_pcb_port_id: z74.string().optional(),
|
|
1636
1647
|
layer: layer_ref
|
|
1637
1648
|
});
|
|
1638
|
-
var pcb_trace_route_point_via =
|
|
1639
|
-
route_type:
|
|
1649
|
+
var pcb_trace_route_point_via = z74.object({
|
|
1650
|
+
route_type: z74.literal("via"),
|
|
1640
1651
|
x: distance,
|
|
1641
1652
|
y: distance,
|
|
1642
1653
|
hole_diameter: distance.optional(),
|
|
1643
1654
|
outer_diameter: distance.optional(),
|
|
1644
|
-
from_layer:
|
|
1645
|
-
to_layer:
|
|
1655
|
+
from_layer: z74.string(),
|
|
1656
|
+
to_layer: z74.string()
|
|
1646
1657
|
});
|
|
1647
|
-
var pcb_trace_route_point =
|
|
1658
|
+
var pcb_trace_route_point = z74.union([
|
|
1648
1659
|
pcb_trace_route_point_wire,
|
|
1649
1660
|
pcb_trace_route_point_via
|
|
1650
1661
|
]);
|
|
1651
|
-
var pcb_trace =
|
|
1652
|
-
type:
|
|
1653
|
-
source_trace_id:
|
|
1654
|
-
pcb_component_id:
|
|
1662
|
+
var pcb_trace = z74.object({
|
|
1663
|
+
type: z74.literal("pcb_trace"),
|
|
1664
|
+
source_trace_id: z74.string().optional(),
|
|
1665
|
+
pcb_component_id: z74.string().optional(),
|
|
1655
1666
|
pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
|
|
1656
|
-
pcb_group_id:
|
|
1657
|
-
subcircuit_id:
|
|
1658
|
-
route_thickness_mode:
|
|
1659
|
-
route_order_index:
|
|
1660
|
-
should_round_corners:
|
|
1661
|
-
trace_length:
|
|
1662
|
-
highlight_color:
|
|
1663
|
-
route:
|
|
1667
|
+
pcb_group_id: z74.string().optional(),
|
|
1668
|
+
subcircuit_id: z74.string().optional(),
|
|
1669
|
+
route_thickness_mode: z74.enum(["constant", "interpolated"]).default("constant").optional(),
|
|
1670
|
+
route_order_index: z74.number().optional(),
|
|
1671
|
+
should_round_corners: z74.boolean().optional(),
|
|
1672
|
+
trace_length: z74.number().optional(),
|
|
1673
|
+
highlight_color: z74.string().optional(),
|
|
1674
|
+
route: z74.array(pcb_trace_route_point)
|
|
1664
1675
|
}).describe("Defines a trace on the PCB");
|
|
1665
1676
|
expectTypesMatch(true);
|
|
1666
1677
|
expectTypesMatch(true);
|
|
1667
1678
|
|
|
1668
1679
|
// src/pcb/pcb_trace_error.ts
|
|
1669
|
-
import { z as
|
|
1670
|
-
var pcb_trace_error =
|
|
1671
|
-
type:
|
|
1680
|
+
import { z as z75 } from "zod";
|
|
1681
|
+
var pcb_trace_error = z75.object({
|
|
1682
|
+
type: z75.literal("pcb_trace_error"),
|
|
1672
1683
|
pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
|
|
1673
|
-
error_type:
|
|
1674
|
-
message:
|
|
1684
|
+
error_type: z75.literal("pcb_trace_error").default("pcb_trace_error"),
|
|
1685
|
+
message: z75.string(),
|
|
1675
1686
|
center: point.optional(),
|
|
1676
|
-
pcb_trace_id:
|
|
1677
|
-
source_trace_id:
|
|
1678
|
-
pcb_component_ids:
|
|
1679
|
-
pcb_port_ids:
|
|
1680
|
-
subcircuit_id:
|
|
1687
|
+
pcb_trace_id: z75.string(),
|
|
1688
|
+
source_trace_id: z75.string(),
|
|
1689
|
+
pcb_component_ids: z75.array(z75.string()),
|
|
1690
|
+
pcb_port_ids: z75.array(z75.string()),
|
|
1691
|
+
subcircuit_id: z75.string().optional()
|
|
1681
1692
|
}).describe("Defines a trace error on the PCB");
|
|
1682
1693
|
expectTypesMatch(true);
|
|
1683
1694
|
|
|
1684
1695
|
// src/pcb/pcb_trace_missing_error.ts
|
|
1685
|
-
import { z as
|
|
1686
|
-
var pcb_trace_missing_error =
|
|
1687
|
-
type:
|
|
1696
|
+
import { z as z76 } from "zod";
|
|
1697
|
+
var pcb_trace_missing_error = z76.object({
|
|
1698
|
+
type: z76.literal("pcb_trace_missing_error"),
|
|
1688
1699
|
pcb_trace_missing_error_id: getZodPrefixedIdWithDefault(
|
|
1689
1700
|
"pcb_trace_missing_error"
|
|
1690
1701
|
),
|
|
1691
|
-
error_type:
|
|
1692
|
-
message:
|
|
1702
|
+
error_type: z76.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
|
|
1703
|
+
message: z76.string(),
|
|
1693
1704
|
center: point.optional(),
|
|
1694
|
-
source_trace_id:
|
|
1695
|
-
pcb_component_ids:
|
|
1696
|
-
pcb_port_ids:
|
|
1697
|
-
subcircuit_id:
|
|
1705
|
+
source_trace_id: z76.string(),
|
|
1706
|
+
pcb_component_ids: z76.array(z76.string()),
|
|
1707
|
+
pcb_port_ids: z76.array(z76.string()),
|
|
1708
|
+
subcircuit_id: z76.string().optional()
|
|
1698
1709
|
}).describe(
|
|
1699
1710
|
"Defines an error when a source trace has no corresponding PCB trace"
|
|
1700
1711
|
);
|
|
1701
1712
|
expectTypesMatch(true);
|
|
1702
1713
|
|
|
1703
1714
|
// src/pcb/pcb_port_not_matched_error.ts
|
|
1704
|
-
import { z as
|
|
1705
|
-
var pcb_port_not_matched_error =
|
|
1706
|
-
type:
|
|
1715
|
+
import { z as z77 } from "zod";
|
|
1716
|
+
var pcb_port_not_matched_error = z77.object({
|
|
1717
|
+
type: z77.literal("pcb_port_not_matched_error"),
|
|
1707
1718
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
1708
|
-
error_type:
|
|
1709
|
-
message:
|
|
1710
|
-
pcb_component_ids:
|
|
1711
|
-
subcircuit_id:
|
|
1719
|
+
error_type: z77.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
|
|
1720
|
+
message: z77.string(),
|
|
1721
|
+
pcb_component_ids: z77.array(z77.string()),
|
|
1722
|
+
subcircuit_id: z77.string().optional()
|
|
1712
1723
|
}).describe("Defines a trace error on the PCB where a port is not matched");
|
|
1713
1724
|
expectTypesMatch(true);
|
|
1714
1725
|
|
|
1715
1726
|
// src/pcb/pcb_port_not_connected_error.ts
|
|
1716
|
-
import { z as
|
|
1717
|
-
var pcb_port_not_connected_error =
|
|
1718
|
-
type:
|
|
1727
|
+
import { z as z78 } from "zod";
|
|
1728
|
+
var pcb_port_not_connected_error = z78.object({
|
|
1729
|
+
type: z78.literal("pcb_port_not_connected_error"),
|
|
1719
1730
|
pcb_port_not_connected_error_id: getZodPrefixedIdWithDefault(
|
|
1720
1731
|
"pcb_port_not_connected_error"
|
|
1721
1732
|
),
|
|
1722
|
-
error_type:
|
|
1723
|
-
message:
|
|
1724
|
-
pcb_port_ids:
|
|
1725
|
-
pcb_component_ids:
|
|
1726
|
-
subcircuit_id:
|
|
1733
|
+
error_type: z78.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
|
|
1734
|
+
message: z78.string(),
|
|
1735
|
+
pcb_port_ids: z78.array(z78.string()),
|
|
1736
|
+
pcb_component_ids: z78.array(z78.string()),
|
|
1737
|
+
subcircuit_id: z78.string().optional()
|
|
1727
1738
|
}).describe("Defines an error when a pcb port is not connected to any trace");
|
|
1728
1739
|
expectTypesMatch(
|
|
1729
1740
|
true
|
|
1730
1741
|
);
|
|
1731
1742
|
|
|
1732
1743
|
// src/pcb/pcb_net.ts
|
|
1733
|
-
import { z as
|
|
1734
|
-
var pcb_net =
|
|
1735
|
-
type:
|
|
1744
|
+
import { z as z79 } from "zod";
|
|
1745
|
+
var pcb_net = z79.object({
|
|
1746
|
+
type: z79.literal("pcb_net"),
|
|
1736
1747
|
pcb_net_id: getZodPrefixedIdWithDefault("pcb_net"),
|
|
1737
|
-
source_net_id:
|
|
1738
|
-
highlight_color:
|
|
1748
|
+
source_net_id: z79.string().optional(),
|
|
1749
|
+
highlight_color: z79.string().optional()
|
|
1739
1750
|
}).describe("Defines a net on the PCB");
|
|
1740
1751
|
expectTypesMatch(true);
|
|
1741
1752
|
|
|
1742
1753
|
// src/pcb/pcb_via.ts
|
|
1743
|
-
import { z as
|
|
1744
|
-
var pcb_via =
|
|
1745
|
-
type:
|
|
1754
|
+
import { z as z80 } from "zod";
|
|
1755
|
+
var pcb_via = z80.object({
|
|
1756
|
+
type: z80.literal("pcb_via"),
|
|
1746
1757
|
pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
|
|
1747
|
-
pcb_group_id:
|
|
1748
|
-
subcircuit_id:
|
|
1758
|
+
pcb_group_id: z80.string().optional(),
|
|
1759
|
+
subcircuit_id: z80.string().optional(),
|
|
1749
1760
|
x: distance,
|
|
1750
1761
|
y: distance,
|
|
1751
1762
|
outer_diameter: distance.default("0.6mm"),
|
|
@@ -1754,59 +1765,59 @@ var pcb_via = z79.object({
|
|
|
1754
1765
|
from_layer: layer_ref.optional(),
|
|
1755
1766
|
/** @deprecated */
|
|
1756
1767
|
to_layer: layer_ref.optional(),
|
|
1757
|
-
layers:
|
|
1758
|
-
pcb_trace_id:
|
|
1768
|
+
layers: z80.array(layer_ref),
|
|
1769
|
+
pcb_trace_id: z80.string().optional()
|
|
1759
1770
|
}).describe("Defines a via on the PCB");
|
|
1760
1771
|
expectTypesMatch(true);
|
|
1761
1772
|
|
|
1762
1773
|
// src/pcb/pcb_board.ts
|
|
1763
|
-
import { z as
|
|
1764
|
-
var pcb_board =
|
|
1765
|
-
type:
|
|
1774
|
+
import { z as z81 } from "zod";
|
|
1775
|
+
var pcb_board = z81.object({
|
|
1776
|
+
type: z81.literal("pcb_board"),
|
|
1766
1777
|
pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
|
|
1767
|
-
is_subcircuit:
|
|
1768
|
-
subcircuit_id:
|
|
1778
|
+
is_subcircuit: z81.boolean().optional(),
|
|
1779
|
+
subcircuit_id: z81.string().optional(),
|
|
1769
1780
|
width: length,
|
|
1770
1781
|
height: length,
|
|
1771
1782
|
center: point,
|
|
1772
1783
|
thickness: length.optional().default(1.4),
|
|
1773
|
-
num_layers:
|
|
1774
|
-
outline:
|
|
1775
|
-
material:
|
|
1784
|
+
num_layers: z81.number().optional().default(4),
|
|
1785
|
+
outline: z81.array(point).optional(),
|
|
1786
|
+
material: z81.enum(["fr4", "fr1"]).default("fr4")
|
|
1776
1787
|
}).describe("Defines the board outline of the PCB");
|
|
1777
1788
|
expectTypesMatch(true);
|
|
1778
1789
|
|
|
1779
1790
|
// src/pcb/pcb_placement_error.ts
|
|
1780
|
-
import { z as
|
|
1781
|
-
var pcb_placement_error =
|
|
1782
|
-
type:
|
|
1791
|
+
import { z as z82 } from "zod";
|
|
1792
|
+
var pcb_placement_error = z82.object({
|
|
1793
|
+
type: z82.literal("pcb_placement_error"),
|
|
1783
1794
|
pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
|
|
1784
|
-
error_type:
|
|
1785
|
-
message:
|
|
1786
|
-
subcircuit_id:
|
|
1795
|
+
error_type: z82.literal("pcb_placement_error").default("pcb_placement_error"),
|
|
1796
|
+
message: z82.string(),
|
|
1797
|
+
subcircuit_id: z82.string().optional()
|
|
1787
1798
|
}).describe("Defines a placement error on the PCB");
|
|
1788
1799
|
expectTypesMatch(true);
|
|
1789
1800
|
|
|
1790
1801
|
// src/pcb/pcb_trace_hint.ts
|
|
1791
|
-
import { z as
|
|
1792
|
-
var pcb_trace_hint =
|
|
1793
|
-
type:
|
|
1802
|
+
import { z as z83 } from "zod";
|
|
1803
|
+
var pcb_trace_hint = z83.object({
|
|
1804
|
+
type: z83.literal("pcb_trace_hint"),
|
|
1794
1805
|
pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
|
|
1795
|
-
pcb_port_id:
|
|
1796
|
-
pcb_component_id:
|
|
1797
|
-
route:
|
|
1798
|
-
subcircuit_id:
|
|
1806
|
+
pcb_port_id: z83.string(),
|
|
1807
|
+
pcb_component_id: z83.string(),
|
|
1808
|
+
route: z83.array(route_hint_point),
|
|
1809
|
+
subcircuit_id: z83.string().optional()
|
|
1799
1810
|
}).describe("A hint that can be used during generation of a PCB trace");
|
|
1800
1811
|
expectTypesMatch(true);
|
|
1801
1812
|
|
|
1802
1813
|
// src/pcb/pcb_silkscreen_line.ts
|
|
1803
|
-
import { z as
|
|
1804
|
-
var pcb_silkscreen_line =
|
|
1805
|
-
type:
|
|
1814
|
+
import { z as z84 } from "zod";
|
|
1815
|
+
var pcb_silkscreen_line = z84.object({
|
|
1816
|
+
type: z84.literal("pcb_silkscreen_line"),
|
|
1806
1817
|
pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
|
|
1807
|
-
pcb_component_id:
|
|
1808
|
-
pcb_group_id:
|
|
1809
|
-
subcircuit_id:
|
|
1818
|
+
pcb_component_id: z84.string(),
|
|
1819
|
+
pcb_group_id: z84.string().optional(),
|
|
1820
|
+
subcircuit_id: z84.string().optional(),
|
|
1810
1821
|
stroke_width: distance.default("0.1mm"),
|
|
1811
1822
|
x1: distance,
|
|
1812
1823
|
y1: distance,
|
|
@@ -1817,32 +1828,32 @@ var pcb_silkscreen_line = z83.object({
|
|
|
1817
1828
|
expectTypesMatch(true);
|
|
1818
1829
|
|
|
1819
1830
|
// src/pcb/pcb_silkscreen_path.ts
|
|
1820
|
-
import { z as
|
|
1821
|
-
var pcb_silkscreen_path =
|
|
1822
|
-
type:
|
|
1831
|
+
import { z as z85 } from "zod";
|
|
1832
|
+
var pcb_silkscreen_path = z85.object({
|
|
1833
|
+
type: z85.literal("pcb_silkscreen_path"),
|
|
1823
1834
|
pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
|
|
1824
|
-
pcb_component_id:
|
|
1825
|
-
pcb_group_id:
|
|
1826
|
-
subcircuit_id:
|
|
1835
|
+
pcb_component_id: z85.string(),
|
|
1836
|
+
pcb_group_id: z85.string().optional(),
|
|
1837
|
+
subcircuit_id: z85.string().optional(),
|
|
1827
1838
|
layer: visible_layer,
|
|
1828
|
-
route:
|
|
1839
|
+
route: z85.array(point),
|
|
1829
1840
|
stroke_width: length
|
|
1830
1841
|
}).describe("Defines a silkscreen path on the PCB");
|
|
1831
1842
|
expectTypesMatch(true);
|
|
1832
1843
|
|
|
1833
1844
|
// src/pcb/pcb_silkscreen_text.ts
|
|
1834
|
-
import { z as
|
|
1835
|
-
var pcb_silkscreen_text =
|
|
1836
|
-
type:
|
|
1845
|
+
import { z as z86 } from "zod";
|
|
1846
|
+
var pcb_silkscreen_text = z86.object({
|
|
1847
|
+
type: z86.literal("pcb_silkscreen_text"),
|
|
1837
1848
|
pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
|
|
1838
|
-
pcb_group_id:
|
|
1839
|
-
subcircuit_id:
|
|
1840
|
-
font:
|
|
1849
|
+
pcb_group_id: z86.string().optional(),
|
|
1850
|
+
subcircuit_id: z86.string().optional(),
|
|
1851
|
+
font: z86.literal("tscircuit2024").default("tscircuit2024"),
|
|
1841
1852
|
font_size: distance.default("0.2mm"),
|
|
1842
|
-
pcb_component_id:
|
|
1843
|
-
text:
|
|
1844
|
-
is_knockout:
|
|
1845
|
-
knockout_padding:
|
|
1853
|
+
pcb_component_id: z86.string(),
|
|
1854
|
+
text: z86.string(),
|
|
1855
|
+
is_knockout: z86.boolean().default(false).optional(),
|
|
1856
|
+
knockout_padding: z86.object({
|
|
1846
1857
|
left: length,
|
|
1847
1858
|
top: length,
|
|
1848
1859
|
bottom: length,
|
|
@@ -1853,43 +1864,43 @@ var pcb_silkscreen_text = z85.object({
|
|
|
1853
1864
|
bottom: "0.2mm",
|
|
1854
1865
|
right: "0.2mm"
|
|
1855
1866
|
}).optional(),
|
|
1856
|
-
ccw_rotation:
|
|
1867
|
+
ccw_rotation: z86.number().optional(),
|
|
1857
1868
|
layer: layer_ref,
|
|
1858
|
-
is_mirrored:
|
|
1869
|
+
is_mirrored: z86.boolean().default(false).optional(),
|
|
1859
1870
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
1860
1871
|
anchor_alignment: ninePointAnchor.default("center")
|
|
1861
1872
|
}).describe("Defines silkscreen text on the PCB");
|
|
1862
1873
|
expectTypesMatch(true);
|
|
1863
1874
|
|
|
1864
1875
|
// src/pcb/pcb_silkscreen_rect.ts
|
|
1865
|
-
import { z as
|
|
1866
|
-
var pcb_silkscreen_rect =
|
|
1867
|
-
type:
|
|
1876
|
+
import { z as z87 } from "zod";
|
|
1877
|
+
var pcb_silkscreen_rect = z87.object({
|
|
1878
|
+
type: z87.literal("pcb_silkscreen_rect"),
|
|
1868
1879
|
pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
|
|
1869
|
-
pcb_component_id:
|
|
1870
|
-
pcb_group_id:
|
|
1871
|
-
subcircuit_id:
|
|
1880
|
+
pcb_component_id: z87.string(),
|
|
1881
|
+
pcb_group_id: z87.string().optional(),
|
|
1882
|
+
subcircuit_id: z87.string().optional(),
|
|
1872
1883
|
center: point,
|
|
1873
1884
|
width: length,
|
|
1874
1885
|
height: length,
|
|
1875
1886
|
layer: layer_ref,
|
|
1876
1887
|
stroke_width: length.default("1mm"),
|
|
1877
|
-
is_filled:
|
|
1878
|
-
has_stroke:
|
|
1879
|
-
is_stroke_dashed:
|
|
1888
|
+
is_filled: z87.boolean().default(true).optional(),
|
|
1889
|
+
has_stroke: z87.boolean().optional(),
|
|
1890
|
+
is_stroke_dashed: z87.boolean().optional()
|
|
1880
1891
|
}).describe("Defines a silkscreen rect on the PCB");
|
|
1881
1892
|
expectTypesMatch(true);
|
|
1882
1893
|
|
|
1883
1894
|
// src/pcb/pcb_silkscreen_circle.ts
|
|
1884
|
-
import { z as
|
|
1885
|
-
var pcb_silkscreen_circle =
|
|
1886
|
-
type:
|
|
1895
|
+
import { z as z88 } from "zod";
|
|
1896
|
+
var pcb_silkscreen_circle = z88.object({
|
|
1897
|
+
type: z88.literal("pcb_silkscreen_circle"),
|
|
1887
1898
|
pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
|
|
1888
1899
|
"pcb_silkscreen_circle"
|
|
1889
1900
|
),
|
|
1890
|
-
pcb_component_id:
|
|
1891
|
-
pcb_group_id:
|
|
1892
|
-
subcircuit_id:
|
|
1901
|
+
pcb_component_id: z88.string(),
|
|
1902
|
+
pcb_group_id: z88.string().optional(),
|
|
1903
|
+
subcircuit_id: z88.string().optional(),
|
|
1893
1904
|
center: point,
|
|
1894
1905
|
radius: length,
|
|
1895
1906
|
layer: visible_layer,
|
|
@@ -1898,13 +1909,13 @@ var pcb_silkscreen_circle = z87.object({
|
|
|
1898
1909
|
expectTypesMatch(true);
|
|
1899
1910
|
|
|
1900
1911
|
// src/pcb/pcb_silkscreen_oval.ts
|
|
1901
|
-
import { z as
|
|
1902
|
-
var pcb_silkscreen_oval =
|
|
1903
|
-
type:
|
|
1912
|
+
import { z as z89 } from "zod";
|
|
1913
|
+
var pcb_silkscreen_oval = z89.object({
|
|
1914
|
+
type: z89.literal("pcb_silkscreen_oval"),
|
|
1904
1915
|
pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
|
|
1905
|
-
pcb_component_id:
|
|
1906
|
-
pcb_group_id:
|
|
1907
|
-
subcircuit_id:
|
|
1916
|
+
pcb_component_id: z89.string(),
|
|
1917
|
+
pcb_group_id: z89.string().optional(),
|
|
1918
|
+
subcircuit_id: z89.string().optional(),
|
|
1908
1919
|
center: point,
|
|
1909
1920
|
radius_x: distance,
|
|
1910
1921
|
radius_y: distance,
|
|
@@ -1913,103 +1924,103 @@ var pcb_silkscreen_oval = z88.object({
|
|
|
1913
1924
|
expectTypesMatch(true);
|
|
1914
1925
|
|
|
1915
1926
|
// src/pcb/pcb_fabrication_note_text.ts
|
|
1916
|
-
import { z as
|
|
1917
|
-
var pcb_fabrication_note_text =
|
|
1918
|
-
type:
|
|
1927
|
+
import { z as z90 } from "zod";
|
|
1928
|
+
var pcb_fabrication_note_text = z90.object({
|
|
1929
|
+
type: z90.literal("pcb_fabrication_note_text"),
|
|
1919
1930
|
pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
|
|
1920
1931
|
"pcb_fabrication_note_text"
|
|
1921
1932
|
),
|
|
1922
|
-
subcircuit_id:
|
|
1923
|
-
pcb_group_id:
|
|
1924
|
-
font:
|
|
1933
|
+
subcircuit_id: z90.string().optional(),
|
|
1934
|
+
pcb_group_id: z90.string().optional(),
|
|
1935
|
+
font: z90.literal("tscircuit2024").default("tscircuit2024"),
|
|
1925
1936
|
font_size: distance.default("1mm"),
|
|
1926
|
-
pcb_component_id:
|
|
1927
|
-
text:
|
|
1937
|
+
pcb_component_id: z90.string(),
|
|
1938
|
+
text: z90.string(),
|
|
1928
1939
|
layer: visible_layer,
|
|
1929
1940
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
1930
|
-
anchor_alignment:
|
|
1931
|
-
color:
|
|
1941
|
+
anchor_alignment: z90.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
1942
|
+
color: z90.string().optional()
|
|
1932
1943
|
}).describe(
|
|
1933
1944
|
"Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
|
|
1934
1945
|
);
|
|
1935
1946
|
expectTypesMatch(true);
|
|
1936
1947
|
|
|
1937
1948
|
// src/pcb/pcb_fabrication_note_path.ts
|
|
1938
|
-
import { z as
|
|
1939
|
-
var pcb_fabrication_note_path =
|
|
1940
|
-
type:
|
|
1949
|
+
import { z as z91 } from "zod";
|
|
1950
|
+
var pcb_fabrication_note_path = z91.object({
|
|
1951
|
+
type: z91.literal("pcb_fabrication_note_path"),
|
|
1941
1952
|
pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
|
|
1942
1953
|
"pcb_fabrication_note_path"
|
|
1943
1954
|
),
|
|
1944
|
-
pcb_component_id:
|
|
1945
|
-
subcircuit_id:
|
|
1955
|
+
pcb_component_id: z91.string(),
|
|
1956
|
+
subcircuit_id: z91.string().optional(),
|
|
1946
1957
|
layer: layer_ref,
|
|
1947
|
-
route:
|
|
1958
|
+
route: z91.array(point),
|
|
1948
1959
|
stroke_width: length,
|
|
1949
|
-
color:
|
|
1960
|
+
color: z91.string().optional()
|
|
1950
1961
|
}).describe(
|
|
1951
1962
|
"Defines a fabrication path on the PCB for fabricators or assemblers"
|
|
1952
1963
|
);
|
|
1953
1964
|
expectTypesMatch(true);
|
|
1954
1965
|
|
|
1955
1966
|
// src/pcb/pcb_footprint_overlap_error.ts
|
|
1956
|
-
import { z as
|
|
1957
|
-
var pcb_footprint_overlap_error =
|
|
1958
|
-
type:
|
|
1967
|
+
import { z as z92 } from "zod";
|
|
1968
|
+
var pcb_footprint_overlap_error = z92.object({
|
|
1969
|
+
type: z92.literal("pcb_footprint_overlap_error"),
|
|
1959
1970
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
1960
|
-
error_type:
|
|
1961
|
-
message:
|
|
1962
|
-
pcb_smtpad_ids:
|
|
1963
|
-
pcb_plated_hole_ids:
|
|
1964
|
-
pcb_hole_ids:
|
|
1965
|
-
pcb_keepout_ids:
|
|
1971
|
+
error_type: z92.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
|
|
1972
|
+
message: z92.string(),
|
|
1973
|
+
pcb_smtpad_ids: z92.array(z92.string()).optional(),
|
|
1974
|
+
pcb_plated_hole_ids: z92.array(z92.string()).optional(),
|
|
1975
|
+
pcb_hole_ids: z92.array(z92.string()).optional(),
|
|
1976
|
+
pcb_keepout_ids: z92.array(z92.string()).optional()
|
|
1966
1977
|
}).describe("Error emitted when a pcb footprint overlaps with another element");
|
|
1967
1978
|
expectTypesMatch(
|
|
1968
1979
|
true
|
|
1969
1980
|
);
|
|
1970
1981
|
|
|
1971
1982
|
// src/pcb/pcb_keepout.ts
|
|
1972
|
-
import { z as
|
|
1973
|
-
var pcb_keepout =
|
|
1974
|
-
type:
|
|
1975
|
-
shape:
|
|
1976
|
-
pcb_group_id:
|
|
1977
|
-
subcircuit_id:
|
|
1983
|
+
import { z as z93 } from "zod";
|
|
1984
|
+
var pcb_keepout = z93.object({
|
|
1985
|
+
type: z93.literal("pcb_keepout"),
|
|
1986
|
+
shape: z93.literal("rect"),
|
|
1987
|
+
pcb_group_id: z93.string().optional(),
|
|
1988
|
+
subcircuit_id: z93.string().optional(),
|
|
1978
1989
|
center: point,
|
|
1979
1990
|
width: distance,
|
|
1980
1991
|
height: distance,
|
|
1981
|
-
pcb_keepout_id:
|
|
1982
|
-
layers:
|
|
1992
|
+
pcb_keepout_id: z93.string(),
|
|
1993
|
+
layers: z93.array(z93.string()),
|
|
1983
1994
|
// Specify layers where the keepout applies
|
|
1984
|
-
description:
|
|
1995
|
+
description: z93.string().optional()
|
|
1985
1996
|
// Optional description of the keepout
|
|
1986
1997
|
}).or(
|
|
1987
|
-
|
|
1988
|
-
type:
|
|
1989
|
-
shape:
|
|
1990
|
-
pcb_group_id:
|
|
1991
|
-
subcircuit_id:
|
|
1998
|
+
z93.object({
|
|
1999
|
+
type: z93.literal("pcb_keepout"),
|
|
2000
|
+
shape: z93.literal("circle"),
|
|
2001
|
+
pcb_group_id: z93.string().optional(),
|
|
2002
|
+
subcircuit_id: z93.string().optional(),
|
|
1992
2003
|
center: point,
|
|
1993
2004
|
radius: distance,
|
|
1994
|
-
pcb_keepout_id:
|
|
1995
|
-
layers:
|
|
2005
|
+
pcb_keepout_id: z93.string(),
|
|
2006
|
+
layers: z93.array(z93.string()),
|
|
1996
2007
|
// Specify layers where the keepout applies
|
|
1997
|
-
description:
|
|
2008
|
+
description: z93.string().optional()
|
|
1998
2009
|
// Optional description of the keepout
|
|
1999
2010
|
})
|
|
2000
2011
|
);
|
|
2001
2012
|
expectTypesMatch(true);
|
|
2002
2013
|
|
|
2003
2014
|
// src/pcb/pcb_cutout.ts
|
|
2004
|
-
import { z as
|
|
2005
|
-
var pcb_cutout_base =
|
|
2006
|
-
type:
|
|
2015
|
+
import { z as z94 } from "zod";
|
|
2016
|
+
var pcb_cutout_base = z94.object({
|
|
2017
|
+
type: z94.literal("pcb_cutout"),
|
|
2007
2018
|
pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
|
|
2008
|
-
pcb_group_id:
|
|
2009
|
-
subcircuit_id:
|
|
2019
|
+
pcb_group_id: z94.string().optional(),
|
|
2020
|
+
subcircuit_id: z94.string().optional()
|
|
2010
2021
|
});
|
|
2011
2022
|
var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
2012
|
-
shape:
|
|
2023
|
+
shape: z94.literal("rect"),
|
|
2013
2024
|
center: point,
|
|
2014
2025
|
width: length,
|
|
2015
2026
|
height: length,
|
|
@@ -2017,17 +2028,17 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
|
2017
2028
|
});
|
|
2018
2029
|
expectTypesMatch(true);
|
|
2019
2030
|
var pcb_cutout_circle = pcb_cutout_base.extend({
|
|
2020
|
-
shape:
|
|
2031
|
+
shape: z94.literal("circle"),
|
|
2021
2032
|
center: point,
|
|
2022
2033
|
radius: length
|
|
2023
2034
|
});
|
|
2024
2035
|
expectTypesMatch(true);
|
|
2025
2036
|
var pcb_cutout_polygon = pcb_cutout_base.extend({
|
|
2026
|
-
shape:
|
|
2027
|
-
points:
|
|
2037
|
+
shape: z94.literal("polygon"),
|
|
2038
|
+
points: z94.array(point)
|
|
2028
2039
|
});
|
|
2029
2040
|
expectTypesMatch(true);
|
|
2030
|
-
var pcb_cutout =
|
|
2041
|
+
var pcb_cutout = z94.discriminatedUnion("shape", [
|
|
2031
2042
|
pcb_cutout_rect,
|
|
2032
2043
|
pcb_cutout_circle,
|
|
2033
2044
|
pcb_cutout_polygon
|
|
@@ -2035,117 +2046,117 @@ var pcb_cutout = z93.discriminatedUnion("shape", [
|
|
|
2035
2046
|
expectTypesMatch(true);
|
|
2036
2047
|
|
|
2037
2048
|
// src/pcb/pcb_missing_footprint_error.ts
|
|
2038
|
-
import { z as
|
|
2039
|
-
var pcb_missing_footprint_error =
|
|
2040
|
-
type:
|
|
2049
|
+
import { z as z95 } from "zod";
|
|
2050
|
+
var pcb_missing_footprint_error = z95.object({
|
|
2051
|
+
type: z95.literal("pcb_missing_footprint_error"),
|
|
2041
2052
|
pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
|
|
2042
2053
|
"pcb_missing_footprint_error"
|
|
2043
2054
|
),
|
|
2044
|
-
pcb_group_id:
|
|
2045
|
-
subcircuit_id:
|
|
2046
|
-
error_type:
|
|
2047
|
-
source_component_id:
|
|
2048
|
-
message:
|
|
2055
|
+
pcb_group_id: z95.string().optional(),
|
|
2056
|
+
subcircuit_id: z95.string().optional(),
|
|
2057
|
+
error_type: z95.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
|
|
2058
|
+
source_component_id: z95.string(),
|
|
2059
|
+
message: z95.string()
|
|
2049
2060
|
}).describe("Defines a missing footprint error on the PCB");
|
|
2050
2061
|
expectTypesMatch(
|
|
2051
2062
|
true
|
|
2052
2063
|
);
|
|
2053
2064
|
|
|
2054
2065
|
// src/pcb/external_footprint_load_error.ts
|
|
2055
|
-
import { z as
|
|
2056
|
-
var external_footprint_load_error =
|
|
2057
|
-
type:
|
|
2066
|
+
import { z as z96 } from "zod";
|
|
2067
|
+
var external_footprint_load_error = z96.object({
|
|
2068
|
+
type: z96.literal("external_footprint_load_error"),
|
|
2058
2069
|
external_footprint_load_error_id: getZodPrefixedIdWithDefault(
|
|
2059
2070
|
"external_footprint_load_error"
|
|
2060
2071
|
),
|
|
2061
|
-
pcb_component_id:
|
|
2062
|
-
source_component_id:
|
|
2063
|
-
pcb_group_id:
|
|
2064
|
-
subcircuit_id:
|
|
2065
|
-
footprinter_string:
|
|
2066
|
-
error_type:
|
|
2067
|
-
message:
|
|
2072
|
+
pcb_component_id: z96.string(),
|
|
2073
|
+
source_component_id: z96.string(),
|
|
2074
|
+
pcb_group_id: z96.string().optional(),
|
|
2075
|
+
subcircuit_id: z96.string().optional(),
|
|
2076
|
+
footprinter_string: z96.string().optional(),
|
|
2077
|
+
error_type: z96.literal("external_footprint_load_error").default("external_footprint_load_error"),
|
|
2078
|
+
message: z96.string()
|
|
2068
2079
|
}).describe("Defines an error when an external footprint fails to load");
|
|
2069
2080
|
expectTypesMatch(true);
|
|
2070
2081
|
|
|
2071
2082
|
// src/pcb/circuit_json_footprint_load_error.ts
|
|
2072
|
-
import { z as
|
|
2073
|
-
var circuit_json_footprint_load_error =
|
|
2074
|
-
type:
|
|
2083
|
+
import { z as z97 } from "zod";
|
|
2084
|
+
var circuit_json_footprint_load_error = z97.object({
|
|
2085
|
+
type: z97.literal("circuit_json_footprint_load_error"),
|
|
2075
2086
|
circuit_json_footprint_load_error_id: getZodPrefixedIdWithDefault(
|
|
2076
2087
|
"circuit_json_footprint_load_error"
|
|
2077
2088
|
),
|
|
2078
|
-
pcb_component_id:
|
|
2079
|
-
source_component_id:
|
|
2080
|
-
pcb_group_id:
|
|
2081
|
-
subcircuit_id:
|
|
2082
|
-
error_type:
|
|
2083
|
-
message:
|
|
2084
|
-
circuit_json:
|
|
2089
|
+
pcb_component_id: z97.string(),
|
|
2090
|
+
source_component_id: z97.string(),
|
|
2091
|
+
pcb_group_id: z97.string().optional(),
|
|
2092
|
+
subcircuit_id: z97.string().optional(),
|
|
2093
|
+
error_type: z97.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
|
|
2094
|
+
message: z97.string(),
|
|
2095
|
+
circuit_json: z97.array(z97.any()).optional()
|
|
2085
2096
|
}).describe("Defines an error when a circuit JSON footprint fails to load");
|
|
2086
2097
|
expectTypesMatch(true);
|
|
2087
2098
|
|
|
2088
2099
|
// src/pcb/pcb_group.ts
|
|
2089
|
-
import { z as
|
|
2090
|
-
var pcb_group =
|
|
2091
|
-
type:
|
|
2100
|
+
import { z as z98 } from "zod";
|
|
2101
|
+
var pcb_group = z98.object({
|
|
2102
|
+
type: z98.literal("pcb_group"),
|
|
2092
2103
|
pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
|
|
2093
|
-
source_group_id:
|
|
2094
|
-
is_subcircuit:
|
|
2095
|
-
subcircuit_id:
|
|
2104
|
+
source_group_id: z98.string(),
|
|
2105
|
+
is_subcircuit: z98.boolean().optional(),
|
|
2106
|
+
subcircuit_id: z98.string().optional(),
|
|
2096
2107
|
width: length,
|
|
2097
2108
|
height: length,
|
|
2098
2109
|
center: point,
|
|
2099
|
-
pcb_component_ids:
|
|
2100
|
-
name:
|
|
2101
|
-
description:
|
|
2102
|
-
layout_mode:
|
|
2103
|
-
autorouter_configuration:
|
|
2110
|
+
pcb_component_ids: z98.array(z98.string()),
|
|
2111
|
+
name: z98.string().optional(),
|
|
2112
|
+
description: z98.string().optional(),
|
|
2113
|
+
layout_mode: z98.string().optional(),
|
|
2114
|
+
autorouter_configuration: z98.object({
|
|
2104
2115
|
trace_clearance: length
|
|
2105
2116
|
}).optional(),
|
|
2106
|
-
autorouter_used_string:
|
|
2117
|
+
autorouter_used_string: z98.string().optional()
|
|
2107
2118
|
}).describe("Defines a group of components on the PCB");
|
|
2108
2119
|
expectTypesMatch(true);
|
|
2109
2120
|
|
|
2110
2121
|
// src/pcb/pcb_autorouting_error.ts
|
|
2111
|
-
import { z as
|
|
2112
|
-
var pcb_autorouting_error =
|
|
2113
|
-
type:
|
|
2122
|
+
import { z as z99 } from "zod";
|
|
2123
|
+
var pcb_autorouting_error = z99.object({
|
|
2124
|
+
type: z99.literal("pcb_autorouting_error"),
|
|
2114
2125
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
|
|
2115
|
-
error_type:
|
|
2116
|
-
message:
|
|
2117
|
-
subcircuit_id:
|
|
2126
|
+
error_type: z99.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
|
|
2127
|
+
message: z99.string(),
|
|
2128
|
+
subcircuit_id: z99.string().optional()
|
|
2118
2129
|
}).describe("The autorouting has failed to route a portion of the board");
|
|
2119
2130
|
expectTypesMatch(true);
|
|
2120
2131
|
|
|
2121
2132
|
// src/pcb/pcb_manual_edit_conflict_warning.ts
|
|
2122
|
-
import { z as
|
|
2123
|
-
var pcb_manual_edit_conflict_warning =
|
|
2124
|
-
type:
|
|
2133
|
+
import { z as z100 } from "zod";
|
|
2134
|
+
var pcb_manual_edit_conflict_warning = z100.object({
|
|
2135
|
+
type: z100.literal("pcb_manual_edit_conflict_warning"),
|
|
2125
2136
|
pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
2126
2137
|
"pcb_manual_edit_conflict_warning"
|
|
2127
2138
|
),
|
|
2128
|
-
warning_type:
|
|
2129
|
-
message:
|
|
2130
|
-
pcb_component_id:
|
|
2131
|
-
pcb_group_id:
|
|
2132
|
-
subcircuit_id:
|
|
2133
|
-
source_component_id:
|
|
2139
|
+
warning_type: z100.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
|
|
2140
|
+
message: z100.string(),
|
|
2141
|
+
pcb_component_id: z100.string(),
|
|
2142
|
+
pcb_group_id: z100.string().optional(),
|
|
2143
|
+
subcircuit_id: z100.string().optional(),
|
|
2144
|
+
source_component_id: z100.string()
|
|
2134
2145
|
}).describe(
|
|
2135
2146
|
"Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
|
|
2136
2147
|
);
|
|
2137
2148
|
expectTypesMatch(true);
|
|
2138
2149
|
|
|
2139
2150
|
// src/pcb/pcb_breakout_point.ts
|
|
2140
|
-
import { z as
|
|
2141
|
-
var pcb_breakout_point =
|
|
2142
|
-
type:
|
|
2151
|
+
import { z as z101 } from "zod";
|
|
2152
|
+
var pcb_breakout_point = z101.object({
|
|
2153
|
+
type: z101.literal("pcb_breakout_point"),
|
|
2143
2154
|
pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
|
|
2144
|
-
pcb_group_id:
|
|
2145
|
-
subcircuit_id:
|
|
2146
|
-
source_trace_id:
|
|
2147
|
-
source_port_id:
|
|
2148
|
-
source_net_id:
|
|
2155
|
+
pcb_group_id: z101.string(),
|
|
2156
|
+
subcircuit_id: z101.string().optional(),
|
|
2157
|
+
source_trace_id: z101.string().optional(),
|
|
2158
|
+
source_port_id: z101.string().optional(),
|
|
2159
|
+
source_net_id: z101.string().optional(),
|
|
2149
2160
|
x: distance,
|
|
2150
2161
|
y: distance
|
|
2151
2162
|
}).describe(
|
|
@@ -2154,60 +2165,60 @@ var pcb_breakout_point = z100.object({
|
|
|
2154
2165
|
expectTypesMatch(true);
|
|
2155
2166
|
|
|
2156
2167
|
// src/pcb/pcb_ground_plane.ts
|
|
2157
|
-
import { z as
|
|
2158
|
-
var pcb_ground_plane =
|
|
2159
|
-
type:
|
|
2168
|
+
import { z as z102 } from "zod";
|
|
2169
|
+
var pcb_ground_plane = z102.object({
|
|
2170
|
+
type: z102.literal("pcb_ground_plane"),
|
|
2160
2171
|
pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
|
|
2161
|
-
source_pcb_ground_plane_id:
|
|
2162
|
-
source_net_id:
|
|
2163
|
-
pcb_group_id:
|
|
2164
|
-
subcircuit_id:
|
|
2172
|
+
source_pcb_ground_plane_id: z102.string(),
|
|
2173
|
+
source_net_id: z102.string(),
|
|
2174
|
+
pcb_group_id: z102.string().optional(),
|
|
2175
|
+
subcircuit_id: z102.string().optional()
|
|
2165
2176
|
}).describe("Defines a ground plane on the PCB");
|
|
2166
2177
|
expectTypesMatch(true);
|
|
2167
2178
|
|
|
2168
2179
|
// src/pcb/pcb_ground_plane_region.ts
|
|
2169
|
-
import { z as
|
|
2170
|
-
var pcb_ground_plane_region =
|
|
2171
|
-
type:
|
|
2180
|
+
import { z as z103 } from "zod";
|
|
2181
|
+
var pcb_ground_plane_region = z103.object({
|
|
2182
|
+
type: z103.literal("pcb_ground_plane_region"),
|
|
2172
2183
|
pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
|
|
2173
2184
|
"pcb_ground_plane_region"
|
|
2174
2185
|
),
|
|
2175
|
-
pcb_ground_plane_id:
|
|
2176
|
-
pcb_group_id:
|
|
2177
|
-
subcircuit_id:
|
|
2186
|
+
pcb_ground_plane_id: z103.string(),
|
|
2187
|
+
pcb_group_id: z103.string().optional(),
|
|
2188
|
+
subcircuit_id: z103.string().optional(),
|
|
2178
2189
|
layer: layer_ref,
|
|
2179
|
-
points:
|
|
2190
|
+
points: z103.array(point)
|
|
2180
2191
|
}).describe("Defines a polygon region of a ground plane");
|
|
2181
2192
|
expectTypesMatch(true);
|
|
2182
2193
|
|
|
2183
2194
|
// src/pcb/pcb_thermal_spoke.ts
|
|
2184
|
-
import { z as
|
|
2185
|
-
var pcb_thermal_spoke =
|
|
2186
|
-
type:
|
|
2195
|
+
import { z as z104 } from "zod";
|
|
2196
|
+
var pcb_thermal_spoke = z104.object({
|
|
2197
|
+
type: z104.literal("pcb_thermal_spoke"),
|
|
2187
2198
|
pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
|
|
2188
|
-
pcb_ground_plane_id:
|
|
2189
|
-
shape:
|
|
2190
|
-
spoke_count:
|
|
2199
|
+
pcb_ground_plane_id: z104.string(),
|
|
2200
|
+
shape: z104.string(),
|
|
2201
|
+
spoke_count: z104.number(),
|
|
2191
2202
|
spoke_thickness: distance,
|
|
2192
2203
|
spoke_inner_diameter: distance,
|
|
2193
2204
|
spoke_outer_diameter: distance,
|
|
2194
|
-
pcb_plated_hole_id:
|
|
2195
|
-
subcircuit_id:
|
|
2205
|
+
pcb_plated_hole_id: z104.string().optional(),
|
|
2206
|
+
subcircuit_id: z104.string().optional()
|
|
2196
2207
|
}).describe("Pattern for connecting a ground plane to a plated hole");
|
|
2197
2208
|
expectTypesMatch(true);
|
|
2198
2209
|
|
|
2199
2210
|
// src/pcb/pcb_copper_pour.ts
|
|
2200
|
-
import { z as
|
|
2201
|
-
var pcb_copper_pour_base =
|
|
2202
|
-
type:
|
|
2211
|
+
import { z as z105 } from "zod";
|
|
2212
|
+
var pcb_copper_pour_base = z105.object({
|
|
2213
|
+
type: z105.literal("pcb_copper_pour"),
|
|
2203
2214
|
pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
|
|
2204
|
-
pcb_group_id:
|
|
2205
|
-
subcircuit_id:
|
|
2215
|
+
pcb_group_id: z105.string().optional(),
|
|
2216
|
+
subcircuit_id: z105.string().optional(),
|
|
2206
2217
|
layer: layer_ref,
|
|
2207
|
-
source_net_id:
|
|
2218
|
+
source_net_id: z105.string().optional()
|
|
2208
2219
|
});
|
|
2209
2220
|
var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
2210
|
-
shape:
|
|
2221
|
+
shape: z105.literal("rect"),
|
|
2211
2222
|
center: point,
|
|
2212
2223
|
width: length,
|
|
2213
2224
|
height: length,
|
|
@@ -2215,16 +2226,16 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
|
2215
2226
|
});
|
|
2216
2227
|
expectTypesMatch(true);
|
|
2217
2228
|
var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
|
|
2218
|
-
shape:
|
|
2229
|
+
shape: z105.literal("brep"),
|
|
2219
2230
|
brep_shape
|
|
2220
2231
|
});
|
|
2221
2232
|
expectTypesMatch(true);
|
|
2222
2233
|
var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
|
|
2223
|
-
shape:
|
|
2224
|
-
points:
|
|
2234
|
+
shape: z105.literal("polygon"),
|
|
2235
|
+
points: z105.array(point)
|
|
2225
2236
|
});
|
|
2226
2237
|
expectTypesMatch(true);
|
|
2227
|
-
var pcb_copper_pour =
|
|
2238
|
+
var pcb_copper_pour = z105.discriminatedUnion("shape", [
|
|
2228
2239
|
pcb_copper_pour_rect,
|
|
2229
2240
|
pcb_copper_pour_brep,
|
|
2230
2241
|
pcb_copper_pour_polygon
|
|
@@ -2232,78 +2243,78 @@ var pcb_copper_pour = z104.discriminatedUnion("shape", [
|
|
|
2232
2243
|
expectTypesMatch(true);
|
|
2233
2244
|
|
|
2234
2245
|
// src/pcb/pcb_component_outside_board_error.ts
|
|
2235
|
-
import { z as
|
|
2236
|
-
var pcb_component_outside_board_error =
|
|
2237
|
-
type:
|
|
2246
|
+
import { z as z106 } from "zod";
|
|
2247
|
+
var pcb_component_outside_board_error = z106.object({
|
|
2248
|
+
type: z106.literal("pcb_component_outside_board_error"),
|
|
2238
2249
|
pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
|
|
2239
2250
|
"pcb_component_outside_board_error"
|
|
2240
2251
|
),
|
|
2241
|
-
error_type:
|
|
2242
|
-
message:
|
|
2243
|
-
pcb_component_id:
|
|
2244
|
-
pcb_board_id:
|
|
2252
|
+
error_type: z106.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
|
|
2253
|
+
message: z106.string(),
|
|
2254
|
+
pcb_component_id: z106.string(),
|
|
2255
|
+
pcb_board_id: z106.string(),
|
|
2245
2256
|
component_center: point,
|
|
2246
|
-
component_bounds:
|
|
2247
|
-
min_x:
|
|
2248
|
-
max_x:
|
|
2249
|
-
min_y:
|
|
2250
|
-
max_y:
|
|
2257
|
+
component_bounds: z106.object({
|
|
2258
|
+
min_x: z106.number(),
|
|
2259
|
+
max_x: z106.number(),
|
|
2260
|
+
min_y: z106.number(),
|
|
2261
|
+
max_y: z106.number()
|
|
2251
2262
|
}),
|
|
2252
|
-
subcircuit_id:
|
|
2253
|
-
source_component_id:
|
|
2263
|
+
subcircuit_id: z106.string().optional(),
|
|
2264
|
+
source_component_id: z106.string().optional()
|
|
2254
2265
|
}).describe(
|
|
2255
2266
|
"Error emitted when a PCB component is placed outside the board boundaries"
|
|
2256
2267
|
);
|
|
2257
2268
|
expectTypesMatch(true);
|
|
2258
2269
|
|
|
2259
2270
|
// src/pcb/pcb_via_clearance_error.ts
|
|
2260
|
-
import { z as
|
|
2261
|
-
var pcb_via_clearance_error =
|
|
2262
|
-
type:
|
|
2271
|
+
import { z as z107 } from "zod";
|
|
2272
|
+
var pcb_via_clearance_error = z107.object({
|
|
2273
|
+
type: z107.literal("pcb_via_clearance_error"),
|
|
2263
2274
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
2264
|
-
error_type:
|
|
2265
|
-
message:
|
|
2266
|
-
pcb_via_ids:
|
|
2275
|
+
error_type: z107.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
|
|
2276
|
+
message: z107.string(),
|
|
2277
|
+
pcb_via_ids: z107.array(z107.string()).min(2),
|
|
2267
2278
|
minimum_clearance: distance.optional(),
|
|
2268
2279
|
actual_clearance: distance.optional(),
|
|
2269
|
-
pcb_center:
|
|
2270
|
-
x:
|
|
2271
|
-
y:
|
|
2280
|
+
pcb_center: z107.object({
|
|
2281
|
+
x: z107.number().optional(),
|
|
2282
|
+
y: z107.number().optional()
|
|
2272
2283
|
}).optional(),
|
|
2273
|
-
subcircuit_id:
|
|
2284
|
+
subcircuit_id: z107.string().optional()
|
|
2274
2285
|
}).describe("Error emitted when vias are closer than the allowed clearance");
|
|
2275
2286
|
expectTypesMatch(true);
|
|
2276
2287
|
|
|
2277
2288
|
// src/cad/cad_component.ts
|
|
2278
|
-
import { z as
|
|
2279
|
-
var cad_component =
|
|
2280
|
-
type:
|
|
2281
|
-
cad_component_id:
|
|
2282
|
-
pcb_component_id:
|
|
2283
|
-
source_component_id:
|
|
2289
|
+
import { z as z108 } from "zod";
|
|
2290
|
+
var cad_component = z108.object({
|
|
2291
|
+
type: z108.literal("cad_component"),
|
|
2292
|
+
cad_component_id: z108.string(),
|
|
2293
|
+
pcb_component_id: z108.string(),
|
|
2294
|
+
source_component_id: z108.string(),
|
|
2284
2295
|
position: point3,
|
|
2285
2296
|
rotation: point3.optional(),
|
|
2286
2297
|
size: point3.optional(),
|
|
2287
2298
|
layer: layer_ref.optional(),
|
|
2288
|
-
subcircuit_id:
|
|
2299
|
+
subcircuit_id: z108.string().optional(),
|
|
2289
2300
|
// These are all ways to generate/load the 3d model
|
|
2290
|
-
footprinter_string:
|
|
2291
|
-
model_obj_url:
|
|
2292
|
-
model_stl_url:
|
|
2293
|
-
model_3mf_url:
|
|
2294
|
-
model_gltf_url:
|
|
2295
|
-
model_glb_url:
|
|
2296
|
-
model_step_url:
|
|
2297
|
-
model_wrl_url:
|
|
2298
|
-
model_unit_to_mm_scale_factor:
|
|
2299
|
-
model_jscad:
|
|
2301
|
+
footprinter_string: z108.string().optional(),
|
|
2302
|
+
model_obj_url: z108.string().optional(),
|
|
2303
|
+
model_stl_url: z108.string().optional(),
|
|
2304
|
+
model_3mf_url: z108.string().optional(),
|
|
2305
|
+
model_gltf_url: z108.string().optional(),
|
|
2306
|
+
model_glb_url: z108.string().optional(),
|
|
2307
|
+
model_step_url: z108.string().optional(),
|
|
2308
|
+
model_wrl_url: z108.string().optional(),
|
|
2309
|
+
model_unit_to_mm_scale_factor: z108.number().optional(),
|
|
2310
|
+
model_jscad: z108.any().optional()
|
|
2300
2311
|
}).describe("Defines a component on the PCB");
|
|
2301
2312
|
expectTypesMatch(true);
|
|
2302
2313
|
|
|
2303
2314
|
// src/simulation/simulation_voltage_source.ts
|
|
2304
|
-
import { z as
|
|
2305
|
-
var wave_shape =
|
|
2306
|
-
var percentage =
|
|
2315
|
+
import { z as z109 } from "zod";
|
|
2316
|
+
var wave_shape = z109.enum(["sinewave", "square", "triangle", "sawtooth"]);
|
|
2317
|
+
var percentage = z109.union([z109.string(), z109.number()]).transform((val) => {
|
|
2307
2318
|
if (typeof val === "string") {
|
|
2308
2319
|
if (val.endsWith("%")) {
|
|
2309
2320
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -2312,30 +2323,30 @@ var percentage = z108.union([z108.string(), z108.number()]).transform((val) => {
|
|
|
2312
2323
|
}
|
|
2313
2324
|
return val;
|
|
2314
2325
|
}).pipe(
|
|
2315
|
-
|
|
2326
|
+
z109.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
2316
2327
|
);
|
|
2317
|
-
var simulation_dc_voltage_source =
|
|
2318
|
-
type:
|
|
2328
|
+
var simulation_dc_voltage_source = z109.object({
|
|
2329
|
+
type: z109.literal("simulation_voltage_source"),
|
|
2319
2330
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
2320
2331
|
"simulation_voltage_source"
|
|
2321
2332
|
),
|
|
2322
|
-
is_dc_source:
|
|
2323
|
-
positive_source_port_id:
|
|
2324
|
-
negative_source_port_id:
|
|
2325
|
-
positive_source_net_id:
|
|
2326
|
-
negative_source_net_id:
|
|
2333
|
+
is_dc_source: z109.literal(true).optional().default(true),
|
|
2334
|
+
positive_source_port_id: z109.string().optional(),
|
|
2335
|
+
negative_source_port_id: z109.string().optional(),
|
|
2336
|
+
positive_source_net_id: z109.string().optional(),
|
|
2337
|
+
negative_source_net_id: z109.string().optional(),
|
|
2327
2338
|
voltage
|
|
2328
2339
|
}).describe("Defines a DC voltage source for simulation");
|
|
2329
|
-
var simulation_ac_voltage_source =
|
|
2330
|
-
type:
|
|
2340
|
+
var simulation_ac_voltage_source = z109.object({
|
|
2341
|
+
type: z109.literal("simulation_voltage_source"),
|
|
2331
2342
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
2332
2343
|
"simulation_voltage_source"
|
|
2333
2344
|
),
|
|
2334
|
-
is_dc_source:
|
|
2335
|
-
terminal1_source_port_id:
|
|
2336
|
-
terminal2_source_port_id:
|
|
2337
|
-
terminal1_source_net_id:
|
|
2338
|
-
terminal2_source_net_id:
|
|
2345
|
+
is_dc_source: z109.literal(false),
|
|
2346
|
+
terminal1_source_port_id: z109.string().optional(),
|
|
2347
|
+
terminal2_source_port_id: z109.string().optional(),
|
|
2348
|
+
terminal1_source_net_id: z109.string().optional(),
|
|
2349
|
+
terminal2_source_net_id: z109.string().optional(),
|
|
2339
2350
|
voltage: voltage.optional(),
|
|
2340
2351
|
frequency: frequency.optional(),
|
|
2341
2352
|
peak_to_peak_voltage: voltage.optional(),
|
|
@@ -2343,25 +2354,25 @@ var simulation_ac_voltage_source = z108.object({
|
|
|
2343
2354
|
phase: rotation.optional(),
|
|
2344
2355
|
duty_cycle: percentage.optional()
|
|
2345
2356
|
}).describe("Defines an AC voltage source for simulation");
|
|
2346
|
-
var simulation_voltage_source =
|
|
2357
|
+
var simulation_voltage_source = z109.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
|
|
2347
2358
|
expectTypesMatch(true);
|
|
2348
2359
|
expectTypesMatch(true);
|
|
2349
2360
|
expectTypesMatch(true);
|
|
2350
2361
|
|
|
2351
2362
|
// src/simulation/simulation_experiment.ts
|
|
2352
|
-
import { z as
|
|
2353
|
-
var experiment_type =
|
|
2354
|
-
|
|
2355
|
-
|
|
2356
|
-
|
|
2357
|
-
|
|
2363
|
+
import { z as z110 } from "zod";
|
|
2364
|
+
var experiment_type = z110.union([
|
|
2365
|
+
z110.literal("spice_dc_sweep"),
|
|
2366
|
+
z110.literal("spice_dc_operating_point"),
|
|
2367
|
+
z110.literal("spice_transient_analysis"),
|
|
2368
|
+
z110.literal("spice_ac_analysis")
|
|
2358
2369
|
]);
|
|
2359
|
-
var simulation_experiment =
|
|
2360
|
-
type:
|
|
2370
|
+
var simulation_experiment = z110.object({
|
|
2371
|
+
type: z110.literal("simulation_experiment"),
|
|
2361
2372
|
simulation_experiment_id: getZodPrefixedIdWithDefault(
|
|
2362
2373
|
"simulation_experiment"
|
|
2363
2374
|
),
|
|
2364
|
-
name:
|
|
2375
|
+
name: z110.string(),
|
|
2365
2376
|
experiment_type,
|
|
2366
2377
|
time_per_step: duration_ms.optional(),
|
|
2367
2378
|
start_time_ms: ms.optional(),
|
|
@@ -2370,47 +2381,47 @@ var simulation_experiment = z109.object({
|
|
|
2370
2381
|
expectTypesMatch(true);
|
|
2371
2382
|
|
|
2372
2383
|
// src/simulation/simulation_transient_voltage_graph.ts
|
|
2373
|
-
import { z as
|
|
2374
|
-
var simulation_transient_voltage_graph =
|
|
2375
|
-
type:
|
|
2384
|
+
import { z as z111 } from "zod";
|
|
2385
|
+
var simulation_transient_voltage_graph = z111.object({
|
|
2386
|
+
type: z111.literal("simulation_transient_voltage_graph"),
|
|
2376
2387
|
simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
|
|
2377
2388
|
"simulation_transient_voltage_graph"
|
|
2378
2389
|
),
|
|
2379
|
-
simulation_experiment_id:
|
|
2380
|
-
timestamps_ms:
|
|
2381
|
-
voltage_levels:
|
|
2382
|
-
schematic_voltage_probe_id:
|
|
2383
|
-
subcircuit_connectivity_map_key:
|
|
2390
|
+
simulation_experiment_id: z111.string(),
|
|
2391
|
+
timestamps_ms: z111.array(z111.number()).optional(),
|
|
2392
|
+
voltage_levels: z111.array(z111.number()),
|
|
2393
|
+
schematic_voltage_probe_id: z111.string().optional(),
|
|
2394
|
+
subcircuit_connectivity_map_key: z111.string().optional(),
|
|
2384
2395
|
time_per_step: duration_ms,
|
|
2385
2396
|
start_time_ms: ms,
|
|
2386
2397
|
end_time_ms: ms,
|
|
2387
|
-
name:
|
|
2398
|
+
name: z111.string().optional()
|
|
2388
2399
|
}).describe("Stores voltage measurements over time for a simulation");
|
|
2389
2400
|
expectTypesMatch(true);
|
|
2390
2401
|
|
|
2391
2402
|
// src/simulation/simulation_switch.ts
|
|
2392
|
-
import { z as
|
|
2393
|
-
var simulation_switch =
|
|
2394
|
-
type:
|
|
2403
|
+
import { z as z112 } from "zod";
|
|
2404
|
+
var simulation_switch = z112.object({
|
|
2405
|
+
type: z112.literal("simulation_switch"),
|
|
2395
2406
|
simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
|
|
2396
2407
|
closes_at: ms.optional(),
|
|
2397
2408
|
opens_at: ms.optional(),
|
|
2398
|
-
starts_closed:
|
|
2409
|
+
starts_closed: z112.boolean().optional(),
|
|
2399
2410
|
switching_frequency: frequency.optional()
|
|
2400
2411
|
}).describe("Defines a switch for simulation timing control");
|
|
2401
2412
|
expectTypesMatch(true);
|
|
2402
2413
|
|
|
2403
2414
|
// src/simulation/simulation_voltage_probe.ts
|
|
2404
|
-
import { z as
|
|
2405
|
-
var simulation_voltage_probe =
|
|
2406
|
-
type:
|
|
2415
|
+
import { z as z113 } from "zod";
|
|
2416
|
+
var simulation_voltage_probe = z113.object({
|
|
2417
|
+
type: z113.literal("simulation_voltage_probe"),
|
|
2407
2418
|
simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
|
|
2408
2419
|
"simulation_voltage_probe"
|
|
2409
2420
|
),
|
|
2410
|
-
source_port_id:
|
|
2411
|
-
source_net_id:
|
|
2412
|
-
name:
|
|
2413
|
-
subcircuit_id:
|
|
2421
|
+
source_port_id: z113.string().optional(),
|
|
2422
|
+
source_net_id: z113.string().optional(),
|
|
2423
|
+
name: z113.string().optional(),
|
|
2424
|
+
subcircuit_id: z113.string().optional()
|
|
2414
2425
|
}).describe(
|
|
2415
2426
|
"Defines a voltage probe for simulation, connected to a port or a net"
|
|
2416
2427
|
).refine(
|
|
@@ -2422,8 +2433,8 @@ var simulation_voltage_probe = z112.object({
|
|
|
2422
2433
|
expectTypesMatch(true);
|
|
2423
2434
|
|
|
2424
2435
|
// src/any_circuit_element.ts
|
|
2425
|
-
import { z as
|
|
2426
|
-
var any_circuit_element =
|
|
2436
|
+
import { z as z114 } from "zod";
|
|
2437
|
+
var any_circuit_element = z114.union([
|
|
2427
2438
|
source_trace,
|
|
2428
2439
|
source_port,
|
|
2429
2440
|
any_source_component,
|
|
@@ -2448,6 +2459,7 @@ var any_circuit_element = z113.union([
|
|
|
2448
2459
|
source_simple_push_button,
|
|
2449
2460
|
source_pcb_ground_plane,
|
|
2450
2461
|
source_manually_placed_via,
|
|
2462
|
+
source_board,
|
|
2451
2463
|
source_project_metadata,
|
|
2452
2464
|
source_trace_not_connected_error,
|
|
2453
2465
|
source_pin_missing_trace_warning,
|
|
@@ -2641,6 +2653,7 @@ export {
|
|
|
2641
2653
|
simulation_voltage_probe,
|
|
2642
2654
|
simulation_voltage_source,
|
|
2643
2655
|
size,
|
|
2656
|
+
source_board,
|
|
2644
2657
|
source_component_base,
|
|
2645
2658
|
source_failed_to_create_component_error,
|
|
2646
2659
|
source_group,
|