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