circuit-json 0.0.290 → 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 +19 -0
- package/dist/index.d.mts +82 -3
- package/dist/index.mjs +981 -963
- 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,241 +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 z95 } from "zod";
|
|
2057
|
-
var pcb_note_text = z95.object({
|
|
2058
|
-
type: z95.literal("pcb_note_text"),
|
|
2059
|
-
pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
|
|
2060
|
-
pcb_component_id: z95.string().optional(),
|
|
2061
|
-
pcb_group_id: z95.string().optional(),
|
|
2062
|
-
subcircuit_id: z95.string().optional(),
|
|
2063
|
-
name: z95.string().optional(),
|
|
2064
|
-
font: z95.literal("tscircuit2024").default("tscircuit2024"),
|
|
2065
|
-
font_size: distance.default("1mm"),
|
|
2066
|
-
text: z95.string().optional(),
|
|
2067
|
-
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2068
|
-
anchor_alignment: z95.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
2069
|
-
color: z95.string().optional()
|
|
2070
|
-
}).describe("Defines a documentation note in text on the PCB");
|
|
2071
|
-
expectTypesMatch(true);
|
|
2072
|
-
|
|
2073
|
-
// src/pcb/pcb_note_rect.ts
|
|
2074
2072
|
import { z as z96 } from "zod";
|
|
2075
|
-
var
|
|
2076
|
-
type: z96.literal("
|
|
2077
|
-
|
|
2073
|
+
var pcb_note_text = z96.object({
|
|
2074
|
+
type: z96.literal("pcb_note_text"),
|
|
2075
|
+
pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
|
|
2078
2076
|
pcb_component_id: z96.string().optional(),
|
|
2079
2077
|
pcb_group_id: z96.string().optional(),
|
|
2080
2078
|
subcircuit_id: z96.string().optional(),
|
|
2081
2079
|
name: z96.string().optional(),
|
|
2080
|
+
font: z96.literal("tscircuit2024").default("tscircuit2024"),
|
|
2081
|
+
font_size: distance.default("1mm"),
|
|
2082
2082
|
text: z96.string().optional(),
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
height: length,
|
|
2086
|
-
stroke_width: length.default("0.1mm"),
|
|
2087
|
-
is_filled: z96.boolean().optional(),
|
|
2088
|
-
has_stroke: z96.boolean().optional(),
|
|
2089
|
-
is_stroke_dashed: z96.boolean().optional(),
|
|
2083
|
+
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2084
|
+
anchor_alignment: z96.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
2090
2085
|
color: z96.string().optional()
|
|
2091
|
-
}).describe("Defines a
|
|
2086
|
+
}).describe("Defines a documentation note in text on the PCB");
|
|
2092
2087
|
expectTypesMatch(true);
|
|
2093
2088
|
|
|
2094
|
-
// src/pcb/
|
|
2089
|
+
// src/pcb/pcb_note_rect.ts
|
|
2095
2090
|
import { z as z97 } from "zod";
|
|
2096
|
-
var
|
|
2097
|
-
type: z97.literal("
|
|
2098
|
-
|
|
2091
|
+
var pcb_note_rect = z97.object({
|
|
2092
|
+
type: z97.literal("pcb_note_rect"),
|
|
2093
|
+
pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
|
|
2099
2094
|
pcb_component_id: z97.string().optional(),
|
|
2100
2095
|
pcb_group_id: z97.string().optional(),
|
|
2101
2096
|
subcircuit_id: z97.string().optional(),
|
|
2102
2097
|
name: z97.string().optional(),
|
|
2103
2098
|
text: z97.string().optional(),
|
|
2104
|
-
|
|
2099
|
+
center: point,
|
|
2100
|
+
width: length,
|
|
2101
|
+
height: length,
|
|
2105
2102
|
stroke_width: length.default("0.1mm"),
|
|
2103
|
+
is_filled: z97.boolean().optional(),
|
|
2104
|
+
has_stroke: z97.boolean().optional(),
|
|
2105
|
+
is_stroke_dashed: z97.boolean().optional(),
|
|
2106
2106
|
color: z97.string().optional()
|
|
2107
|
-
}).describe("Defines a
|
|
2107
|
+
}).describe("Defines a rectangular documentation note on the PCB");
|
|
2108
2108
|
expectTypesMatch(true);
|
|
2109
2109
|
|
|
2110
|
-
// src/pcb/
|
|
2110
|
+
// src/pcb/pcb_note_path.ts
|
|
2111
2111
|
import { z as z98 } from "zod";
|
|
2112
|
-
var
|
|
2113
|
-
type: z98.literal("
|
|
2114
|
-
|
|
2112
|
+
var pcb_note_path = z98.object({
|
|
2113
|
+
type: z98.literal("pcb_note_path"),
|
|
2114
|
+
pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
|
|
2115
2115
|
pcb_component_id: z98.string().optional(),
|
|
2116
2116
|
pcb_group_id: z98.string().optional(),
|
|
2117
2117
|
subcircuit_id: z98.string().optional(),
|
|
2118
2118
|
name: z98.string().optional(),
|
|
2119
2119
|
text: z98.string().optional(),
|
|
2120
|
+
route: z98.array(point),
|
|
2121
|
+
stroke_width: length.default("0.1mm"),
|
|
2122
|
+
color: z98.string().optional()
|
|
2123
|
+
}).describe("Defines a polyline documentation note on the PCB");
|
|
2124
|
+
expectTypesMatch(true);
|
|
2125
|
+
|
|
2126
|
+
// src/pcb/pcb_note_line.ts
|
|
2127
|
+
import { z as z99 } from "zod";
|
|
2128
|
+
var pcb_note_line = z99.object({
|
|
2129
|
+
type: z99.literal("pcb_note_line"),
|
|
2130
|
+
pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
|
|
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(),
|
|
2120
2136
|
x1: distance,
|
|
2121
2137
|
y1: distance,
|
|
2122
2138
|
x2: distance,
|
|
2123
2139
|
y2: distance,
|
|
2124
2140
|
stroke_width: distance.default("0.1mm"),
|
|
2125
|
-
color:
|
|
2126
|
-
is_dashed:
|
|
2141
|
+
color: z99.string().optional(),
|
|
2142
|
+
is_dashed: z99.boolean().optional()
|
|
2127
2143
|
}).describe("Defines a straight documentation note line on the PCB");
|
|
2128
2144
|
expectTypesMatch(true);
|
|
2129
2145
|
|
|
2130
2146
|
// src/pcb/pcb_note_dimension.ts
|
|
2131
|
-
import { z as
|
|
2132
|
-
var pcb_note_dimension =
|
|
2133
|
-
type:
|
|
2147
|
+
import { z as z100 } from "zod";
|
|
2148
|
+
var pcb_note_dimension = z100.object({
|
|
2149
|
+
type: z100.literal("pcb_note_dimension"),
|
|
2134
2150
|
pcb_note_dimension_id: getZodPrefixedIdWithDefault("pcb_note_dimension"),
|
|
2135
|
-
pcb_component_id:
|
|
2136
|
-
pcb_group_id:
|
|
2137
|
-
subcircuit_id:
|
|
2138
|
-
name:
|
|
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(),
|
|
2139
2155
|
from: point,
|
|
2140
2156
|
to: point,
|
|
2141
|
-
text:
|
|
2142
|
-
font:
|
|
2157
|
+
text: z100.string().optional(),
|
|
2158
|
+
font: z100.literal("tscircuit2024").default("tscircuit2024"),
|
|
2143
2159
|
font_size: length.default("1mm"),
|
|
2144
|
-
color:
|
|
2160
|
+
color: z100.string().optional(),
|
|
2145
2161
|
arrow_size: length.default("1mm")
|
|
2146
2162
|
}).describe("Defines a measurement annotation within PCB documentation notes");
|
|
2147
2163
|
expectTypesMatch(true);
|
|
2148
2164
|
|
|
2149
2165
|
// src/pcb/pcb_footprint_overlap_error.ts
|
|
2150
|
-
import { z as
|
|
2151
|
-
var pcb_footprint_overlap_error =
|
|
2152
|
-
type:
|
|
2166
|
+
import { z as z101 } from "zod";
|
|
2167
|
+
var pcb_footprint_overlap_error = z101.object({
|
|
2168
|
+
type: z101.literal("pcb_footprint_overlap_error"),
|
|
2153
2169
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
2154
|
-
error_type:
|
|
2155
|
-
message:
|
|
2156
|
-
pcb_smtpad_ids:
|
|
2157
|
-
pcb_plated_hole_ids:
|
|
2158
|
-
pcb_hole_ids:
|
|
2159
|
-
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()
|
|
2160
2176
|
}).describe("Error emitted when a pcb footprint overlaps with another element");
|
|
2161
2177
|
expectTypesMatch(
|
|
2162
2178
|
true
|
|
2163
2179
|
);
|
|
2164
2180
|
|
|
2165
2181
|
// src/pcb/pcb_keepout.ts
|
|
2166
|
-
import { z as
|
|
2167
|
-
var pcb_keepout =
|
|
2168
|
-
type:
|
|
2169
|
-
shape:
|
|
2170
|
-
pcb_group_id:
|
|
2171
|
-
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(),
|
|
2172
2188
|
center: point,
|
|
2173
2189
|
width: distance,
|
|
2174
2190
|
height: distance,
|
|
2175
|
-
pcb_keepout_id:
|
|
2176
|
-
layers:
|
|
2191
|
+
pcb_keepout_id: z102.string(),
|
|
2192
|
+
layers: z102.array(z102.string()),
|
|
2177
2193
|
// Specify layers where the keepout applies
|
|
2178
|
-
description:
|
|
2194
|
+
description: z102.string().optional()
|
|
2179
2195
|
// Optional description of the keepout
|
|
2180
2196
|
}).or(
|
|
2181
|
-
|
|
2182
|
-
type:
|
|
2183
|
-
shape:
|
|
2184
|
-
pcb_group_id:
|
|
2185
|
-
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(),
|
|
2186
2202
|
center: point,
|
|
2187
2203
|
radius: distance,
|
|
2188
|
-
pcb_keepout_id:
|
|
2189
|
-
layers:
|
|
2204
|
+
pcb_keepout_id: z102.string(),
|
|
2205
|
+
layers: z102.array(z102.string()),
|
|
2190
2206
|
// Specify layers where the keepout applies
|
|
2191
|
-
description:
|
|
2207
|
+
description: z102.string().optional()
|
|
2192
2208
|
// Optional description of the keepout
|
|
2193
2209
|
})
|
|
2194
2210
|
);
|
|
2195
2211
|
expectTypesMatch(true);
|
|
2196
2212
|
|
|
2197
2213
|
// src/pcb/pcb_cutout.ts
|
|
2198
|
-
import { z as
|
|
2199
|
-
var pcb_cutout_base =
|
|
2200
|
-
type:
|
|
2214
|
+
import { z as z103 } from "zod";
|
|
2215
|
+
var pcb_cutout_base = z103.object({
|
|
2216
|
+
type: z103.literal("pcb_cutout"),
|
|
2201
2217
|
pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
|
|
2202
|
-
pcb_group_id:
|
|
2203
|
-
subcircuit_id:
|
|
2218
|
+
pcb_group_id: z103.string().optional(),
|
|
2219
|
+
subcircuit_id: z103.string().optional()
|
|
2204
2220
|
});
|
|
2205
2221
|
var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
2206
|
-
shape:
|
|
2222
|
+
shape: z103.literal("rect"),
|
|
2207
2223
|
center: point,
|
|
2208
2224
|
width: length,
|
|
2209
2225
|
height: length,
|
|
@@ -2211,17 +2227,17 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
|
2211
2227
|
});
|
|
2212
2228
|
expectTypesMatch(true);
|
|
2213
2229
|
var pcb_cutout_circle = pcb_cutout_base.extend({
|
|
2214
|
-
shape:
|
|
2230
|
+
shape: z103.literal("circle"),
|
|
2215
2231
|
center: point,
|
|
2216
2232
|
radius: length
|
|
2217
2233
|
});
|
|
2218
2234
|
expectTypesMatch(true);
|
|
2219
2235
|
var pcb_cutout_polygon = pcb_cutout_base.extend({
|
|
2220
|
-
shape:
|
|
2221
|
-
points:
|
|
2236
|
+
shape: z103.literal("polygon"),
|
|
2237
|
+
points: z103.array(point)
|
|
2222
2238
|
});
|
|
2223
2239
|
expectTypesMatch(true);
|
|
2224
|
-
var pcb_cutout =
|
|
2240
|
+
var pcb_cutout = z103.discriminatedUnion("shape", [
|
|
2225
2241
|
pcb_cutout_rect,
|
|
2226
2242
|
pcb_cutout_circle,
|
|
2227
2243
|
pcb_cutout_polygon
|
|
@@ -2229,120 +2245,120 @@ var pcb_cutout = z102.discriminatedUnion("shape", [
|
|
|
2229
2245
|
expectTypesMatch(true);
|
|
2230
2246
|
|
|
2231
2247
|
// src/pcb/pcb_missing_footprint_error.ts
|
|
2232
|
-
import { z as
|
|
2233
|
-
var pcb_missing_footprint_error =
|
|
2234
|
-
type:
|
|
2248
|
+
import { z as z104 } from "zod";
|
|
2249
|
+
var pcb_missing_footprint_error = z104.object({
|
|
2250
|
+
type: z104.literal("pcb_missing_footprint_error"),
|
|
2235
2251
|
pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
|
|
2236
2252
|
"pcb_missing_footprint_error"
|
|
2237
2253
|
),
|
|
2238
|
-
pcb_group_id:
|
|
2239
|
-
subcircuit_id:
|
|
2240
|
-
error_type:
|
|
2241
|
-
source_component_id:
|
|
2242
|
-
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()
|
|
2243
2259
|
}).describe("Defines a missing footprint error on the PCB");
|
|
2244
2260
|
expectTypesMatch(
|
|
2245
2261
|
true
|
|
2246
2262
|
);
|
|
2247
2263
|
|
|
2248
2264
|
// src/pcb/external_footprint_load_error.ts
|
|
2249
|
-
import { z as
|
|
2250
|
-
var external_footprint_load_error =
|
|
2251
|
-
type:
|
|
2265
|
+
import { z as z105 } from "zod";
|
|
2266
|
+
var external_footprint_load_error = z105.object({
|
|
2267
|
+
type: z105.literal("external_footprint_load_error"),
|
|
2252
2268
|
external_footprint_load_error_id: getZodPrefixedIdWithDefault(
|
|
2253
2269
|
"external_footprint_load_error"
|
|
2254
2270
|
),
|
|
2255
|
-
pcb_component_id:
|
|
2256
|
-
source_component_id:
|
|
2257
|
-
pcb_group_id:
|
|
2258
|
-
subcircuit_id:
|
|
2259
|
-
footprinter_string:
|
|
2260
|
-
error_type:
|
|
2261
|
-
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()
|
|
2262
2278
|
}).describe("Defines an error when an external footprint fails to load");
|
|
2263
2279
|
expectTypesMatch(true);
|
|
2264
2280
|
|
|
2265
2281
|
// src/pcb/circuit_json_footprint_load_error.ts
|
|
2266
|
-
import { z as
|
|
2267
|
-
var circuit_json_footprint_load_error =
|
|
2268
|
-
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"),
|
|
2269
2285
|
circuit_json_footprint_load_error_id: getZodPrefixedIdWithDefault(
|
|
2270
2286
|
"circuit_json_footprint_load_error"
|
|
2271
2287
|
),
|
|
2272
|
-
pcb_component_id:
|
|
2273
|
-
source_component_id:
|
|
2274
|
-
pcb_group_id:
|
|
2275
|
-
subcircuit_id:
|
|
2276
|
-
error_type:
|
|
2277
|
-
message:
|
|
2278
|
-
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()
|
|
2279
2295
|
}).describe("Defines an error when a circuit JSON footprint fails to load");
|
|
2280
2296
|
expectTypesMatch(true);
|
|
2281
2297
|
|
|
2282
2298
|
// src/pcb/pcb_group.ts
|
|
2283
|
-
import { z as
|
|
2284
|
-
var pcb_group =
|
|
2285
|
-
type:
|
|
2299
|
+
import { z as z107 } from "zod";
|
|
2300
|
+
var pcb_group = z107.object({
|
|
2301
|
+
type: z107.literal("pcb_group"),
|
|
2286
2302
|
pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
|
|
2287
|
-
source_group_id:
|
|
2288
|
-
is_subcircuit:
|
|
2289
|
-
subcircuit_id:
|
|
2303
|
+
source_group_id: z107.string(),
|
|
2304
|
+
is_subcircuit: z107.boolean().optional(),
|
|
2305
|
+
subcircuit_id: z107.string().optional(),
|
|
2290
2306
|
width: length.optional(),
|
|
2291
2307
|
height: length.optional(),
|
|
2292
2308
|
center: point,
|
|
2293
|
-
outline:
|
|
2309
|
+
outline: z107.array(point).optional(),
|
|
2294
2310
|
anchor_position: point.optional(),
|
|
2295
|
-
anchor_alignment:
|
|
2296
|
-
pcb_component_ids:
|
|
2297
|
-
name:
|
|
2298
|
-
description:
|
|
2299
|
-
layout_mode:
|
|
2300
|
-
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({
|
|
2301
2317
|
trace_clearance: length
|
|
2302
2318
|
}).optional(),
|
|
2303
|
-
autorouter_used_string:
|
|
2319
|
+
autorouter_used_string: z107.string().optional()
|
|
2304
2320
|
}).describe("Defines a group of components on the PCB");
|
|
2305
2321
|
expectTypesMatch(true);
|
|
2306
2322
|
|
|
2307
2323
|
// src/pcb/pcb_autorouting_error.ts
|
|
2308
|
-
import { z as
|
|
2309
|
-
var pcb_autorouting_error =
|
|
2310
|
-
type:
|
|
2324
|
+
import { z as z108 } from "zod";
|
|
2325
|
+
var pcb_autorouting_error = z108.object({
|
|
2326
|
+
type: z108.literal("pcb_autorouting_error"),
|
|
2311
2327
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
|
|
2312
|
-
error_type:
|
|
2313
|
-
message:
|
|
2314
|
-
subcircuit_id:
|
|
2328
|
+
error_type: z108.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
|
|
2329
|
+
message: z108.string(),
|
|
2330
|
+
subcircuit_id: z108.string().optional()
|
|
2315
2331
|
}).describe("The autorouting has failed to route a portion of the board");
|
|
2316
2332
|
expectTypesMatch(true);
|
|
2317
2333
|
|
|
2318
2334
|
// src/pcb/pcb_manual_edit_conflict_warning.ts
|
|
2319
|
-
import { z as
|
|
2320
|
-
var pcb_manual_edit_conflict_warning =
|
|
2321
|
-
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"),
|
|
2322
2338
|
pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
2323
2339
|
"pcb_manual_edit_conflict_warning"
|
|
2324
2340
|
),
|
|
2325
|
-
warning_type:
|
|
2326
|
-
message:
|
|
2327
|
-
pcb_component_id:
|
|
2328
|
-
pcb_group_id:
|
|
2329
|
-
subcircuit_id:
|
|
2330
|
-
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()
|
|
2331
2347
|
}).describe(
|
|
2332
2348
|
"Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
|
|
2333
2349
|
);
|
|
2334
2350
|
expectTypesMatch(true);
|
|
2335
2351
|
|
|
2336
2352
|
// src/pcb/pcb_breakout_point.ts
|
|
2337
|
-
import { z as
|
|
2338
|
-
var pcb_breakout_point =
|
|
2339
|
-
type:
|
|
2353
|
+
import { z as z110 } from "zod";
|
|
2354
|
+
var pcb_breakout_point = z110.object({
|
|
2355
|
+
type: z110.literal("pcb_breakout_point"),
|
|
2340
2356
|
pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
|
|
2341
|
-
pcb_group_id:
|
|
2342
|
-
subcircuit_id:
|
|
2343
|
-
source_trace_id:
|
|
2344
|
-
source_port_id:
|
|
2345
|
-
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(),
|
|
2346
2362
|
x: distance,
|
|
2347
2363
|
y: distance
|
|
2348
2364
|
}).describe(
|
|
@@ -2351,60 +2367,60 @@ var pcb_breakout_point = z109.object({
|
|
|
2351
2367
|
expectTypesMatch(true);
|
|
2352
2368
|
|
|
2353
2369
|
// src/pcb/pcb_ground_plane.ts
|
|
2354
|
-
import { z as
|
|
2355
|
-
var pcb_ground_plane =
|
|
2356
|
-
type:
|
|
2370
|
+
import { z as z111 } from "zod";
|
|
2371
|
+
var pcb_ground_plane = z111.object({
|
|
2372
|
+
type: z111.literal("pcb_ground_plane"),
|
|
2357
2373
|
pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
|
|
2358
|
-
source_pcb_ground_plane_id:
|
|
2359
|
-
source_net_id:
|
|
2360
|
-
pcb_group_id:
|
|
2361
|
-
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()
|
|
2362
2378
|
}).describe("Defines a ground plane on the PCB");
|
|
2363
2379
|
expectTypesMatch(true);
|
|
2364
2380
|
|
|
2365
2381
|
// src/pcb/pcb_ground_plane_region.ts
|
|
2366
|
-
import { z as
|
|
2367
|
-
var pcb_ground_plane_region =
|
|
2368
|
-
type:
|
|
2382
|
+
import { z as z112 } from "zod";
|
|
2383
|
+
var pcb_ground_plane_region = z112.object({
|
|
2384
|
+
type: z112.literal("pcb_ground_plane_region"),
|
|
2369
2385
|
pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
|
|
2370
2386
|
"pcb_ground_plane_region"
|
|
2371
2387
|
),
|
|
2372
|
-
pcb_ground_plane_id:
|
|
2373
|
-
pcb_group_id:
|
|
2374
|
-
subcircuit_id:
|
|
2388
|
+
pcb_ground_plane_id: z112.string(),
|
|
2389
|
+
pcb_group_id: z112.string().optional(),
|
|
2390
|
+
subcircuit_id: z112.string().optional(),
|
|
2375
2391
|
layer: layer_ref,
|
|
2376
|
-
points:
|
|
2392
|
+
points: z112.array(point)
|
|
2377
2393
|
}).describe("Defines a polygon region of a ground plane");
|
|
2378
2394
|
expectTypesMatch(true);
|
|
2379
2395
|
|
|
2380
2396
|
// src/pcb/pcb_thermal_spoke.ts
|
|
2381
|
-
import { z as
|
|
2382
|
-
var pcb_thermal_spoke =
|
|
2383
|
-
type:
|
|
2397
|
+
import { z as z113 } from "zod";
|
|
2398
|
+
var pcb_thermal_spoke = z113.object({
|
|
2399
|
+
type: z113.literal("pcb_thermal_spoke"),
|
|
2384
2400
|
pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
|
|
2385
|
-
pcb_ground_plane_id:
|
|
2386
|
-
shape:
|
|
2387
|
-
spoke_count:
|
|
2401
|
+
pcb_ground_plane_id: z113.string(),
|
|
2402
|
+
shape: z113.string(),
|
|
2403
|
+
spoke_count: z113.number(),
|
|
2388
2404
|
spoke_thickness: distance,
|
|
2389
2405
|
spoke_inner_diameter: distance,
|
|
2390
2406
|
spoke_outer_diameter: distance,
|
|
2391
|
-
pcb_plated_hole_id:
|
|
2392
|
-
subcircuit_id:
|
|
2407
|
+
pcb_plated_hole_id: z113.string().optional(),
|
|
2408
|
+
subcircuit_id: z113.string().optional()
|
|
2393
2409
|
}).describe("Pattern for connecting a ground plane to a plated hole");
|
|
2394
2410
|
expectTypesMatch(true);
|
|
2395
2411
|
|
|
2396
2412
|
// src/pcb/pcb_copper_pour.ts
|
|
2397
|
-
import { z as
|
|
2398
|
-
var pcb_copper_pour_base =
|
|
2399
|
-
type:
|
|
2413
|
+
import { z as z114 } from "zod";
|
|
2414
|
+
var pcb_copper_pour_base = z114.object({
|
|
2415
|
+
type: z114.literal("pcb_copper_pour"),
|
|
2400
2416
|
pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
|
|
2401
|
-
pcb_group_id:
|
|
2402
|
-
subcircuit_id:
|
|
2417
|
+
pcb_group_id: z114.string().optional(),
|
|
2418
|
+
subcircuit_id: z114.string().optional(),
|
|
2403
2419
|
layer: layer_ref,
|
|
2404
|
-
source_net_id:
|
|
2420
|
+
source_net_id: z114.string().optional()
|
|
2405
2421
|
});
|
|
2406
2422
|
var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
2407
|
-
shape:
|
|
2423
|
+
shape: z114.literal("rect"),
|
|
2408
2424
|
center: point,
|
|
2409
2425
|
width: length,
|
|
2410
2426
|
height: length,
|
|
@@ -2412,16 +2428,16 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
|
2412
2428
|
});
|
|
2413
2429
|
expectTypesMatch(true);
|
|
2414
2430
|
var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
|
|
2415
|
-
shape:
|
|
2431
|
+
shape: z114.literal("brep"),
|
|
2416
2432
|
brep_shape
|
|
2417
2433
|
});
|
|
2418
2434
|
expectTypesMatch(true);
|
|
2419
2435
|
var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
|
|
2420
|
-
shape:
|
|
2421
|
-
points:
|
|
2436
|
+
shape: z114.literal("polygon"),
|
|
2437
|
+
points: z114.array(point)
|
|
2422
2438
|
});
|
|
2423
2439
|
expectTypesMatch(true);
|
|
2424
|
-
var pcb_copper_pour =
|
|
2440
|
+
var pcb_copper_pour = z114.discriminatedUnion("shape", [
|
|
2425
2441
|
pcb_copper_pour_rect,
|
|
2426
2442
|
pcb_copper_pour_brep,
|
|
2427
2443
|
pcb_copper_pour_polygon
|
|
@@ -2429,147 +2445,147 @@ var pcb_copper_pour = z113.discriminatedUnion("shape", [
|
|
|
2429
2445
|
expectTypesMatch(true);
|
|
2430
2446
|
|
|
2431
2447
|
// src/pcb/pcb_component_outside_board_error.ts
|
|
2432
|
-
import { z as
|
|
2433
|
-
var pcb_component_outside_board_error =
|
|
2434
|
-
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"),
|
|
2435
2451
|
pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
|
|
2436
2452
|
"pcb_component_outside_board_error"
|
|
2437
2453
|
),
|
|
2438
|
-
error_type:
|
|
2439
|
-
message:
|
|
2440
|
-
pcb_component_id:
|
|
2441
|
-
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(),
|
|
2442
2458
|
component_center: point,
|
|
2443
|
-
component_bounds:
|
|
2444
|
-
min_x:
|
|
2445
|
-
max_x:
|
|
2446
|
-
min_y:
|
|
2447
|
-
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()
|
|
2448
2464
|
}),
|
|
2449
|
-
subcircuit_id:
|
|
2450
|
-
source_component_id:
|
|
2465
|
+
subcircuit_id: z115.string().optional(),
|
|
2466
|
+
source_component_id: z115.string().optional()
|
|
2451
2467
|
}).describe(
|
|
2452
2468
|
"Error emitted when a PCB component is placed outside the board boundaries"
|
|
2453
2469
|
);
|
|
2454
2470
|
expectTypesMatch(true);
|
|
2455
2471
|
|
|
2456
2472
|
// src/pcb/pcb_component_invalid_layer_error.ts
|
|
2457
|
-
import { z as
|
|
2458
|
-
var pcb_component_invalid_layer_error =
|
|
2459
|
-
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"),
|
|
2460
2476
|
pcb_component_invalid_layer_error_id: getZodPrefixedIdWithDefault(
|
|
2461
2477
|
"pcb_component_invalid_layer_error"
|
|
2462
2478
|
),
|
|
2463
|
-
error_type:
|
|
2464
|
-
message:
|
|
2465
|
-
pcb_component_id:
|
|
2466
|
-
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(),
|
|
2467
2483
|
layer: layer_ref,
|
|
2468
|
-
subcircuit_id:
|
|
2484
|
+
subcircuit_id: z116.string().optional()
|
|
2469
2485
|
}).describe(
|
|
2470
2486
|
"Error emitted when a component is placed on an invalid layer (components can only be on 'top' or 'bottom' layers)"
|
|
2471
2487
|
);
|
|
2472
2488
|
expectTypesMatch(true);
|
|
2473
2489
|
|
|
2474
2490
|
// src/pcb/pcb_via_clearance_error.ts
|
|
2475
|
-
import { z as
|
|
2476
|
-
var pcb_via_clearance_error =
|
|
2477
|
-
type:
|
|
2491
|
+
import { z as z117 } from "zod";
|
|
2492
|
+
var pcb_via_clearance_error = z117.object({
|
|
2493
|
+
type: z117.literal("pcb_via_clearance_error"),
|
|
2478
2494
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
2479
|
-
error_type:
|
|
2480
|
-
message:
|
|
2481
|
-
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),
|
|
2482
2498
|
minimum_clearance: distance.optional(),
|
|
2483
2499
|
actual_clearance: distance.optional(),
|
|
2484
|
-
pcb_center:
|
|
2485
|
-
x:
|
|
2486
|
-
y:
|
|
2500
|
+
pcb_center: z117.object({
|
|
2501
|
+
x: z117.number().optional(),
|
|
2502
|
+
y: z117.number().optional()
|
|
2487
2503
|
}).optional(),
|
|
2488
|
-
subcircuit_id:
|
|
2504
|
+
subcircuit_id: z117.string().optional()
|
|
2489
2505
|
}).describe("Error emitted when vias are closer than the allowed clearance");
|
|
2490
2506
|
expectTypesMatch(true);
|
|
2491
2507
|
|
|
2492
2508
|
// src/pcb/pcb_courtyard_rect.ts
|
|
2493
|
-
import { z as
|
|
2494
|
-
var pcb_courtyard_rect =
|
|
2495
|
-
type:
|
|
2509
|
+
import { z as z118 } from "zod";
|
|
2510
|
+
var pcb_courtyard_rect = z118.object({
|
|
2511
|
+
type: z118.literal("pcb_courtyard_rect"),
|
|
2496
2512
|
pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
|
|
2497
|
-
pcb_component_id:
|
|
2498
|
-
pcb_group_id:
|
|
2499
|
-
subcircuit_id:
|
|
2513
|
+
pcb_component_id: z118.string(),
|
|
2514
|
+
pcb_group_id: z118.string().optional(),
|
|
2515
|
+
subcircuit_id: z118.string().optional(),
|
|
2500
2516
|
center: point,
|
|
2501
2517
|
width: length,
|
|
2502
2518
|
height: length,
|
|
2503
2519
|
layer: visible_layer,
|
|
2504
|
-
color:
|
|
2520
|
+
color: z118.string().optional()
|
|
2505
2521
|
}).describe("Defines a courtyard rectangle on the PCB");
|
|
2506
2522
|
expectTypesMatch(true);
|
|
2507
2523
|
|
|
2508
2524
|
// src/pcb/pcb_courtyard_outline.ts
|
|
2509
|
-
import { z as
|
|
2510
|
-
var pcb_courtyard_outline =
|
|
2511
|
-
type:
|
|
2525
|
+
import { z as z119 } from "zod";
|
|
2526
|
+
var pcb_courtyard_outline = z119.object({
|
|
2527
|
+
type: z119.literal("pcb_courtyard_outline"),
|
|
2512
2528
|
pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
|
|
2513
2529
|
"pcb_courtyard_outline"
|
|
2514
2530
|
),
|
|
2515
|
-
pcb_component_id:
|
|
2516
|
-
pcb_group_id:
|
|
2517
|
-
subcircuit_id:
|
|
2531
|
+
pcb_component_id: z119.string(),
|
|
2532
|
+
pcb_group_id: z119.string().optional(),
|
|
2533
|
+
subcircuit_id: z119.string().optional(),
|
|
2518
2534
|
layer: visible_layer,
|
|
2519
|
-
outline:
|
|
2535
|
+
outline: z119.array(point).min(2),
|
|
2520
2536
|
stroke_width: length.default("0.1mm"),
|
|
2521
|
-
is_closed:
|
|
2522
|
-
is_stroke_dashed:
|
|
2523
|
-
color:
|
|
2537
|
+
is_closed: z119.boolean().optional(),
|
|
2538
|
+
is_stroke_dashed: z119.boolean().optional(),
|
|
2539
|
+
color: z119.string().optional()
|
|
2524
2540
|
}).describe("Defines a courtyard outline on the PCB");
|
|
2525
2541
|
expectTypesMatch(true);
|
|
2526
2542
|
|
|
2527
2543
|
// src/pcb/pcb_courtyard_polygon.ts
|
|
2528
|
-
import { z as
|
|
2529
|
-
var pcb_courtyard_polygon =
|
|
2530
|
-
type:
|
|
2544
|
+
import { z as z120 } from "zod";
|
|
2545
|
+
var pcb_courtyard_polygon = z120.object({
|
|
2546
|
+
type: z120.literal("pcb_courtyard_polygon"),
|
|
2531
2547
|
pcb_courtyard_polygon_id: getZodPrefixedIdWithDefault(
|
|
2532
2548
|
"pcb_courtyard_polygon"
|
|
2533
2549
|
),
|
|
2534
|
-
pcb_component_id:
|
|
2535
|
-
pcb_group_id:
|
|
2536
|
-
subcircuit_id:
|
|
2550
|
+
pcb_component_id: z120.string(),
|
|
2551
|
+
pcb_group_id: z120.string().optional(),
|
|
2552
|
+
subcircuit_id: z120.string().optional(),
|
|
2537
2553
|
layer: visible_layer,
|
|
2538
|
-
points:
|
|
2539
|
-
color:
|
|
2554
|
+
points: z120.array(point).min(3),
|
|
2555
|
+
color: z120.string().optional()
|
|
2540
2556
|
}).describe("Defines a courtyard polygon on the PCB");
|
|
2541
2557
|
expectTypesMatch(true);
|
|
2542
2558
|
|
|
2543
2559
|
// src/cad/cad_component.ts
|
|
2544
|
-
import { z as
|
|
2545
|
-
var cad_component =
|
|
2546
|
-
type:
|
|
2547
|
-
cad_component_id:
|
|
2548
|
-
pcb_component_id:
|
|
2549
|
-
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(),
|
|
2550
2566
|
position: point3,
|
|
2551
2567
|
rotation: point3.optional(),
|
|
2552
2568
|
size: point3.optional(),
|
|
2553
2569
|
layer: layer_ref.optional(),
|
|
2554
|
-
subcircuit_id:
|
|
2570
|
+
subcircuit_id: z121.string().optional(),
|
|
2555
2571
|
// These are all ways to generate/load the 3d model
|
|
2556
|
-
footprinter_string:
|
|
2557
|
-
model_obj_url:
|
|
2558
|
-
model_stl_url:
|
|
2559
|
-
model_3mf_url:
|
|
2560
|
-
model_gltf_url:
|
|
2561
|
-
model_glb_url:
|
|
2562
|
-
model_step_url:
|
|
2563
|
-
model_wrl_url:
|
|
2564
|
-
model_unit_to_mm_scale_factor:
|
|
2565
|
-
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()
|
|
2566
2582
|
}).describe("Defines a component on the PCB");
|
|
2567
2583
|
expectTypesMatch(true);
|
|
2568
2584
|
|
|
2569
2585
|
// src/simulation/simulation_voltage_source.ts
|
|
2570
|
-
import { z as
|
|
2571
|
-
var wave_shape =
|
|
2572
|
-
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) => {
|
|
2573
2589
|
if (typeof val === "string") {
|
|
2574
2590
|
if (val.endsWith("%")) {
|
|
2575
2591
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -2578,30 +2594,30 @@ var percentage = z121.union([z121.string(), z121.number()]).transform((val) => {
|
|
|
2578
2594
|
}
|
|
2579
2595
|
return val;
|
|
2580
2596
|
}).pipe(
|
|
2581
|
-
|
|
2597
|
+
z122.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
2582
2598
|
);
|
|
2583
|
-
var simulation_dc_voltage_source =
|
|
2584
|
-
type:
|
|
2599
|
+
var simulation_dc_voltage_source = z122.object({
|
|
2600
|
+
type: z122.literal("simulation_voltage_source"),
|
|
2585
2601
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
2586
2602
|
"simulation_voltage_source"
|
|
2587
2603
|
),
|
|
2588
|
-
is_dc_source:
|
|
2589
|
-
positive_source_port_id:
|
|
2590
|
-
negative_source_port_id:
|
|
2591
|
-
positive_source_net_id:
|
|
2592
|
-
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(),
|
|
2593
2609
|
voltage
|
|
2594
2610
|
}).describe("Defines a DC voltage source for simulation");
|
|
2595
|
-
var simulation_ac_voltage_source =
|
|
2596
|
-
type:
|
|
2611
|
+
var simulation_ac_voltage_source = z122.object({
|
|
2612
|
+
type: z122.literal("simulation_voltage_source"),
|
|
2597
2613
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
2598
2614
|
"simulation_voltage_source"
|
|
2599
2615
|
),
|
|
2600
|
-
is_dc_source:
|
|
2601
|
-
terminal1_source_port_id:
|
|
2602
|
-
terminal2_source_port_id:
|
|
2603
|
-
terminal1_source_net_id:
|
|
2604
|
-
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(),
|
|
2605
2621
|
voltage: voltage.optional(),
|
|
2606
2622
|
frequency: frequency.optional(),
|
|
2607
2623
|
peak_to_peak_voltage: voltage.optional(),
|
|
@@ -2609,25 +2625,25 @@ var simulation_ac_voltage_source = z121.object({
|
|
|
2609
2625
|
phase: rotation.optional(),
|
|
2610
2626
|
duty_cycle: percentage.optional()
|
|
2611
2627
|
}).describe("Defines an AC voltage source for simulation");
|
|
2612
|
-
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");
|
|
2613
2629
|
expectTypesMatch(true);
|
|
2614
2630
|
expectTypesMatch(true);
|
|
2615
2631
|
expectTypesMatch(true);
|
|
2616
2632
|
|
|
2617
2633
|
// src/simulation/simulation_experiment.ts
|
|
2618
|
-
import { z as
|
|
2619
|
-
var experiment_type =
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
|
|
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")
|
|
2624
2640
|
]);
|
|
2625
|
-
var simulation_experiment =
|
|
2626
|
-
type:
|
|
2641
|
+
var simulation_experiment = z123.object({
|
|
2642
|
+
type: z123.literal("simulation_experiment"),
|
|
2627
2643
|
simulation_experiment_id: getZodPrefixedIdWithDefault(
|
|
2628
2644
|
"simulation_experiment"
|
|
2629
2645
|
),
|
|
2630
|
-
name:
|
|
2646
|
+
name: z123.string(),
|
|
2631
2647
|
experiment_type,
|
|
2632
2648
|
time_per_step: duration_ms.optional(),
|
|
2633
2649
|
start_time_ms: ms.optional(),
|
|
@@ -2636,49 +2652,49 @@ var simulation_experiment = z122.object({
|
|
|
2636
2652
|
expectTypesMatch(true);
|
|
2637
2653
|
|
|
2638
2654
|
// src/simulation/simulation_transient_voltage_graph.ts
|
|
2639
|
-
import { z as
|
|
2640
|
-
var simulation_transient_voltage_graph =
|
|
2641
|
-
type:
|
|
2655
|
+
import { z as z124 } from "zod";
|
|
2656
|
+
var simulation_transient_voltage_graph = z124.object({
|
|
2657
|
+
type: z124.literal("simulation_transient_voltage_graph"),
|
|
2642
2658
|
simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
|
|
2643
2659
|
"simulation_transient_voltage_graph"
|
|
2644
2660
|
),
|
|
2645
|
-
simulation_experiment_id:
|
|
2646
|
-
timestamps_ms:
|
|
2647
|
-
voltage_levels:
|
|
2648
|
-
schematic_voltage_probe_id:
|
|
2649
|
-
simulation_voltage_probe_id:
|
|
2650
|
-
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(),
|
|
2651
2667
|
time_per_step: duration_ms,
|
|
2652
2668
|
start_time_ms: ms,
|
|
2653
2669
|
end_time_ms: ms,
|
|
2654
|
-
name:
|
|
2670
|
+
name: z124.string().optional()
|
|
2655
2671
|
}).describe("Stores voltage measurements over time for a simulation");
|
|
2656
2672
|
expectTypesMatch(true);
|
|
2657
2673
|
|
|
2658
2674
|
// src/simulation/simulation_switch.ts
|
|
2659
|
-
import { z as
|
|
2660
|
-
var simulation_switch =
|
|
2661
|
-
type:
|
|
2675
|
+
import { z as z125 } from "zod";
|
|
2676
|
+
var simulation_switch = z125.object({
|
|
2677
|
+
type: z125.literal("simulation_switch"),
|
|
2662
2678
|
simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
|
|
2663
|
-
source_component_id:
|
|
2679
|
+
source_component_id: z125.string().optional(),
|
|
2664
2680
|
closes_at: ms.optional(),
|
|
2665
2681
|
opens_at: ms.optional(),
|
|
2666
|
-
starts_closed:
|
|
2682
|
+
starts_closed: z125.boolean().optional(),
|
|
2667
2683
|
switching_frequency: frequency.optional()
|
|
2668
2684
|
}).describe("Defines a switch for simulation timing control");
|
|
2669
2685
|
expectTypesMatch(true);
|
|
2670
2686
|
|
|
2671
2687
|
// src/simulation/simulation_voltage_probe.ts
|
|
2672
|
-
import { z as
|
|
2673
|
-
var simulation_voltage_probe =
|
|
2674
|
-
type:
|
|
2688
|
+
import { z as z126 } from "zod";
|
|
2689
|
+
var simulation_voltage_probe = z126.object({
|
|
2690
|
+
type: z126.literal("simulation_voltage_probe"),
|
|
2675
2691
|
simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
|
|
2676
2692
|
"simulation_voltage_probe"
|
|
2677
2693
|
),
|
|
2678
|
-
source_port_id:
|
|
2679
|
-
source_net_id:
|
|
2680
|
-
name:
|
|
2681
|
-
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()
|
|
2682
2698
|
}).describe(
|
|
2683
2699
|
"Defines a voltage probe for simulation, connected to a port or a net"
|
|
2684
2700
|
).refine(
|
|
@@ -2690,8 +2706,8 @@ var simulation_voltage_probe = z125.object({
|
|
|
2690
2706
|
expectTypesMatch(true);
|
|
2691
2707
|
|
|
2692
2708
|
// src/any_circuit_element.ts
|
|
2693
|
-
import { z as
|
|
2694
|
-
var any_circuit_element =
|
|
2709
|
+
import { z as z127 } from "zod";
|
|
2710
|
+
var any_circuit_element = z127.union([
|
|
2695
2711
|
source_trace,
|
|
2696
2712
|
source_port,
|
|
2697
2713
|
any_source_component,
|
|
@@ -2720,6 +2736,7 @@ var any_circuit_element = z126.union([
|
|
|
2720
2736
|
source_project_metadata,
|
|
2721
2737
|
source_trace_not_connected_error,
|
|
2722
2738
|
source_pin_missing_trace_warning,
|
|
2739
|
+
unknown_error_finding_part,
|
|
2723
2740
|
pcb_component,
|
|
2724
2741
|
pcb_hole,
|
|
2725
2742
|
pcb_missing_footprint_error,
|
|
@@ -2972,6 +2989,7 @@ export {
|
|
|
2972
2989
|
supplier_name,
|
|
2973
2990
|
time,
|
|
2974
2991
|
timestamp,
|
|
2992
|
+
unknown_error_finding_part,
|
|
2975
2993
|
visible_layer,
|
|
2976
2994
|
voltage,
|
|
2977
2995
|
wave_shape
|