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