circuit-json 0.0.407 → 0.0.409
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/dist/index.d.mts +351 -30
- package/dist/index.mjs +1336 -1298
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -642,7 +642,7 @@ var source_pin_attributes = z23.object({
|
|
|
642
642
|
expectTypesMatch(true);
|
|
643
643
|
|
|
644
644
|
// src/source/any_source_component.ts
|
|
645
|
-
import { z as
|
|
645
|
+
import { z as z51 } from "zod";
|
|
646
646
|
|
|
647
647
|
// src/source/source_simple_fuse.ts
|
|
648
648
|
import { z as z24 } from "zod";
|
|
@@ -887,53 +887,70 @@ var source_pin_missing_trace_warning = z45.object({
|
|
|
887
887
|
);
|
|
888
888
|
expectTypesMatch(true);
|
|
889
889
|
|
|
890
|
-
// src/source/
|
|
890
|
+
// src/source/source_missing_manufacturer_part_number_warning.ts
|
|
891
891
|
import { z as z46 } from "zod";
|
|
892
|
+
var source_missing_manufacturer_part_number_warning = z46.object({
|
|
893
|
+
type: z46.literal("source_missing_manufacturer_part_number_warning"),
|
|
894
|
+
source_missing_manufacturer_part_number_warning_id: getZodPrefixedIdWithDefault(
|
|
895
|
+
"source_missing_manufacturer_part_number_warning"
|
|
896
|
+
),
|
|
897
|
+
warning_type: z46.literal("source_missing_manufacturer_part_number_warning").default("source_missing_manufacturer_part_number_warning"),
|
|
898
|
+
message: z46.string(),
|
|
899
|
+
source_component_id: z46.string(),
|
|
900
|
+
standard: z46.string(),
|
|
901
|
+
subcircuit_id: z46.string().optional()
|
|
902
|
+
}).describe(
|
|
903
|
+
"Warning emitted when a standard connector is missing manufacturer part number"
|
|
904
|
+
);
|
|
905
|
+
expectTypesMatch(true);
|
|
906
|
+
|
|
907
|
+
// src/source/source_simple_voltage_probe.ts
|
|
908
|
+
import { z as z47 } from "zod";
|
|
892
909
|
var source_simple_voltage_probe = source_component_base.extend({
|
|
893
|
-
ftype:
|
|
910
|
+
ftype: z47.literal("simple_voltage_probe")
|
|
894
911
|
});
|
|
895
912
|
expectTypesMatch(
|
|
896
913
|
true
|
|
897
914
|
);
|
|
898
915
|
|
|
899
916
|
// src/source/source_interconnect.ts
|
|
900
|
-
import { z as
|
|
917
|
+
import { z as z48 } from "zod";
|
|
901
918
|
var source_interconnect = source_component_base.extend({
|
|
902
|
-
ftype:
|
|
919
|
+
ftype: z48.literal("interconnect")
|
|
903
920
|
});
|
|
904
921
|
expectTypesMatch(true);
|
|
905
922
|
|
|
906
923
|
// src/source/source_i2c_misconfigured_error.ts
|
|
907
|
-
import { z as
|
|
924
|
+
import { z as z49 } from "zod";
|
|
908
925
|
var source_i2c_misconfigured_error = base_circuit_json_error.extend({
|
|
909
|
-
type:
|
|
926
|
+
type: z49.literal("source_i2c_misconfigured_error"),
|
|
910
927
|
source_i2c_misconfigured_error_id: getZodPrefixedIdWithDefault(
|
|
911
928
|
"source_i2c_misconfigured_error"
|
|
912
929
|
),
|
|
913
|
-
error_type:
|
|
914
|
-
source_port_ids:
|
|
930
|
+
error_type: z49.literal("source_i2c_misconfigured_error").default("source_i2c_misconfigured_error"),
|
|
931
|
+
source_port_ids: z49.array(z49.string())
|
|
915
932
|
}).describe(
|
|
916
933
|
"Error emitted when incompatible I2C pins (e.g. SDA and SCL) are connected to the same net"
|
|
917
934
|
);
|
|
918
935
|
expectTypesMatch(true);
|
|
919
936
|
|
|
920
937
|
// src/source/source_simple_voltage_source.ts
|
|
921
|
-
import { z as
|
|
938
|
+
import { z as z50 } from "zod";
|
|
922
939
|
var source_simple_voltage_source = source_component_base.extend({
|
|
923
|
-
ftype:
|
|
940
|
+
ftype: z50.literal("simple_voltage_source"),
|
|
924
941
|
voltage,
|
|
925
942
|
frequency: frequency.optional(),
|
|
926
943
|
peak_to_peak_voltage: voltage.optional(),
|
|
927
|
-
wave_shape:
|
|
944
|
+
wave_shape: z50.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
|
|
928
945
|
phase: rotation.optional(),
|
|
929
|
-
duty_cycle:
|
|
946
|
+
duty_cycle: z50.number().optional().describe("Duty cycle as a fraction (0 to 1)")
|
|
930
947
|
});
|
|
931
948
|
expectTypesMatch(
|
|
932
949
|
true
|
|
933
950
|
);
|
|
934
951
|
|
|
935
952
|
// src/source/any_source_component.ts
|
|
936
|
-
var any_source_component =
|
|
953
|
+
var any_source_component = z51.union([
|
|
937
954
|
source_simple_resistor,
|
|
938
955
|
source_simple_capacitor,
|
|
939
956
|
source_simple_diode,
|
|
@@ -968,126 +985,127 @@ var any_source_component = z50.union([
|
|
|
968
985
|
source_trace_not_connected_error,
|
|
969
986
|
source_property_ignored_warning,
|
|
970
987
|
source_pin_missing_trace_warning,
|
|
988
|
+
source_missing_manufacturer_part_number_warning,
|
|
971
989
|
source_i2c_misconfigured_error
|
|
972
990
|
]);
|
|
973
991
|
expectTypesMatch(true);
|
|
974
992
|
|
|
975
993
|
// src/source/source_port.ts
|
|
976
|
-
import { z as
|
|
977
|
-
var source_port =
|
|
978
|
-
type:
|
|
979
|
-
pin_number:
|
|
980
|
-
port_hints:
|
|
981
|
-
name:
|
|
982
|
-
source_port_id:
|
|
983
|
-
source_component_id:
|
|
984
|
-
source_group_id:
|
|
985
|
-
most_frequently_referenced_by_name:
|
|
986
|
-
subcircuit_id:
|
|
987
|
-
subcircuit_connectivity_map_key:
|
|
994
|
+
import { z as z52 } from "zod";
|
|
995
|
+
var source_port = z52.object({
|
|
996
|
+
type: z52.literal("source_port"),
|
|
997
|
+
pin_number: z52.number().optional(),
|
|
998
|
+
port_hints: z52.array(z52.string()).optional(),
|
|
999
|
+
name: z52.string(),
|
|
1000
|
+
source_port_id: z52.string(),
|
|
1001
|
+
source_component_id: z52.string().optional(),
|
|
1002
|
+
source_group_id: z52.string().optional(),
|
|
1003
|
+
most_frequently_referenced_by_name: z52.string().optional(),
|
|
1004
|
+
subcircuit_id: z52.string().optional(),
|
|
1005
|
+
subcircuit_connectivity_map_key: z52.string().optional()
|
|
988
1006
|
}).merge(source_pin_attributes);
|
|
989
1007
|
expectTypesMatch(true);
|
|
990
1008
|
|
|
991
1009
|
// src/source/source_component_internal_connection.ts
|
|
992
|
-
import { z as
|
|
993
|
-
var source_component_internal_connection =
|
|
994
|
-
type:
|
|
995
|
-
source_component_internal_connection_id:
|
|
996
|
-
source_component_id:
|
|
997
|
-
source_port_ids:
|
|
998
|
-
subcircuit_id:
|
|
1010
|
+
import { z as z53 } from "zod";
|
|
1011
|
+
var source_component_internal_connection = z53.object({
|
|
1012
|
+
type: z53.literal("source_component_internal_connection"),
|
|
1013
|
+
source_component_internal_connection_id: z53.string(),
|
|
1014
|
+
source_component_id: z53.string(),
|
|
1015
|
+
source_port_ids: z53.array(z53.string()),
|
|
1016
|
+
subcircuit_id: z53.string().optional()
|
|
999
1017
|
});
|
|
1000
1018
|
expectTypesMatch(true);
|
|
1001
1019
|
|
|
1002
1020
|
// src/source/source_trace.ts
|
|
1003
|
-
import { z as
|
|
1004
|
-
var source_trace =
|
|
1005
|
-
type:
|
|
1006
|
-
source_trace_id:
|
|
1007
|
-
connected_source_port_ids:
|
|
1008
|
-
connected_source_net_ids:
|
|
1009
|
-
subcircuit_id:
|
|
1010
|
-
subcircuit_connectivity_map_key:
|
|
1011
|
-
max_length:
|
|
1012
|
-
min_trace_thickness:
|
|
1013
|
-
display_name:
|
|
1021
|
+
import { z as z54 } from "zod";
|
|
1022
|
+
var source_trace = z54.object({
|
|
1023
|
+
type: z54.literal("source_trace"),
|
|
1024
|
+
source_trace_id: z54.string(),
|
|
1025
|
+
connected_source_port_ids: z54.array(z54.string()),
|
|
1026
|
+
connected_source_net_ids: z54.array(z54.string()),
|
|
1027
|
+
subcircuit_id: z54.string().optional(),
|
|
1028
|
+
subcircuit_connectivity_map_key: z54.string().optional(),
|
|
1029
|
+
max_length: z54.number().optional(),
|
|
1030
|
+
min_trace_thickness: z54.number().optional(),
|
|
1031
|
+
display_name: z54.string().optional()
|
|
1014
1032
|
});
|
|
1015
1033
|
expectTypesMatch(true);
|
|
1016
1034
|
|
|
1017
1035
|
// src/source/source_group.ts
|
|
1018
|
-
import { z as
|
|
1019
|
-
var source_group =
|
|
1020
|
-
type:
|
|
1021
|
-
source_group_id:
|
|
1022
|
-
subcircuit_id:
|
|
1023
|
-
parent_subcircuit_id:
|
|
1024
|
-
parent_source_group_id:
|
|
1025
|
-
is_subcircuit:
|
|
1026
|
-
show_as_schematic_box:
|
|
1027
|
-
name:
|
|
1028
|
-
was_automatically_named:
|
|
1036
|
+
import { z as z55 } from "zod";
|
|
1037
|
+
var source_group = z55.object({
|
|
1038
|
+
type: z55.literal("source_group"),
|
|
1039
|
+
source_group_id: z55.string(),
|
|
1040
|
+
subcircuit_id: z55.string().optional(),
|
|
1041
|
+
parent_subcircuit_id: z55.string().optional(),
|
|
1042
|
+
parent_source_group_id: z55.string().optional(),
|
|
1043
|
+
is_subcircuit: z55.boolean().optional(),
|
|
1044
|
+
show_as_schematic_box: z55.boolean().optional(),
|
|
1045
|
+
name: z55.string().optional(),
|
|
1046
|
+
was_automatically_named: z55.boolean().optional()
|
|
1029
1047
|
});
|
|
1030
1048
|
expectTypesMatch(true);
|
|
1031
1049
|
|
|
1032
1050
|
// src/source/source_net.ts
|
|
1033
|
-
import { z as
|
|
1034
|
-
var source_net =
|
|
1035
|
-
type:
|
|
1036
|
-
source_net_id:
|
|
1037
|
-
name:
|
|
1038
|
-
member_source_group_ids:
|
|
1039
|
-
is_power:
|
|
1040
|
-
is_ground:
|
|
1041
|
-
is_digital_signal:
|
|
1042
|
-
is_analog_signal:
|
|
1043
|
-
is_positive_voltage_source:
|
|
1044
|
-
trace_width:
|
|
1045
|
-
subcircuit_id:
|
|
1046
|
-
subcircuit_connectivity_map_key:
|
|
1051
|
+
import { z as z56 } from "zod";
|
|
1052
|
+
var source_net = z56.object({
|
|
1053
|
+
type: z56.literal("source_net"),
|
|
1054
|
+
source_net_id: z56.string(),
|
|
1055
|
+
name: z56.string(),
|
|
1056
|
+
member_source_group_ids: z56.array(z56.string()),
|
|
1057
|
+
is_power: z56.boolean().optional(),
|
|
1058
|
+
is_ground: z56.boolean().optional(),
|
|
1059
|
+
is_digital_signal: z56.boolean().optional(),
|
|
1060
|
+
is_analog_signal: z56.boolean().optional(),
|
|
1061
|
+
is_positive_voltage_source: z56.boolean().optional(),
|
|
1062
|
+
trace_width: z56.number().optional(),
|
|
1063
|
+
subcircuit_id: z56.string().optional(),
|
|
1064
|
+
subcircuit_connectivity_map_key: z56.string().optional()
|
|
1047
1065
|
});
|
|
1048
1066
|
expectTypesMatch(true);
|
|
1049
1067
|
|
|
1050
1068
|
// src/source/source_board.ts
|
|
1051
|
-
import { z as
|
|
1052
|
-
var source_board =
|
|
1053
|
-
type:
|
|
1054
|
-
source_board_id:
|
|
1055
|
-
source_group_id:
|
|
1056
|
-
title:
|
|
1069
|
+
import { z as z57 } from "zod";
|
|
1070
|
+
var source_board = z57.object({
|
|
1071
|
+
type: z57.literal("source_board"),
|
|
1072
|
+
source_board_id: z57.string(),
|
|
1073
|
+
source_group_id: z57.string(),
|
|
1074
|
+
title: z57.string().optional()
|
|
1057
1075
|
}).describe("Defines a board in the source domain");
|
|
1058
1076
|
expectTypesMatch(true);
|
|
1059
1077
|
|
|
1060
1078
|
// src/source/source_ambiguous_port_reference.ts
|
|
1061
|
-
import { z as
|
|
1079
|
+
import { z as z58 } from "zod";
|
|
1062
1080
|
var source_ambiguous_port_reference = base_circuit_json_error.extend({
|
|
1063
|
-
type:
|
|
1081
|
+
type: z58.literal("source_ambiguous_port_reference"),
|
|
1064
1082
|
source_ambiguous_port_reference_id: getZodPrefixedIdWithDefault(
|
|
1065
1083
|
"source_ambiguous_port_reference"
|
|
1066
1084
|
),
|
|
1067
|
-
error_type:
|
|
1068
|
-
source_port_id:
|
|
1069
|
-
source_component_id:
|
|
1085
|
+
error_type: z58.literal("source_ambiguous_port_reference").default("source_ambiguous_port_reference"),
|
|
1086
|
+
source_port_id: z58.string().optional(),
|
|
1087
|
+
source_component_id: z58.string().optional()
|
|
1070
1088
|
}).describe(
|
|
1071
1089
|
"Error emitted when a port hint matches multiple non-overlapping pads, making the port reference ambiguous"
|
|
1072
1090
|
);
|
|
1073
1091
|
expectTypesMatch(true);
|
|
1074
1092
|
|
|
1075
1093
|
// src/source/source_pcb_ground_plane.ts
|
|
1076
|
-
import { z as
|
|
1077
|
-
var source_pcb_ground_plane =
|
|
1078
|
-
type:
|
|
1079
|
-
source_pcb_ground_plane_id:
|
|
1080
|
-
source_group_id:
|
|
1081
|
-
source_net_id:
|
|
1082
|
-
subcircuit_id:
|
|
1094
|
+
import { z as z59 } from "zod";
|
|
1095
|
+
var source_pcb_ground_plane = z59.object({
|
|
1096
|
+
type: z59.literal("source_pcb_ground_plane"),
|
|
1097
|
+
source_pcb_ground_plane_id: z59.string(),
|
|
1098
|
+
source_group_id: z59.string(),
|
|
1099
|
+
source_net_id: z59.string(),
|
|
1100
|
+
subcircuit_id: z59.string().optional()
|
|
1083
1101
|
}).describe("Defines a ground plane in the source domain");
|
|
1084
1102
|
expectTypesMatch(true);
|
|
1085
1103
|
|
|
1086
1104
|
// src/source/source_manually_placed_via.ts
|
|
1087
|
-
import { z as
|
|
1105
|
+
import { z as z61 } from "zod";
|
|
1088
1106
|
|
|
1089
1107
|
// src/pcb/properties/layer_ref.ts
|
|
1090
|
-
import { z as
|
|
1108
|
+
import { z as z60 } from "zod";
|
|
1091
1109
|
var all_layers = [
|
|
1092
1110
|
"top",
|
|
1093
1111
|
"bottom",
|
|
@@ -1098,9 +1116,9 @@ var all_layers = [
|
|
|
1098
1116
|
"inner5",
|
|
1099
1117
|
"inner6"
|
|
1100
1118
|
];
|
|
1101
|
-
var layer_string =
|
|
1119
|
+
var layer_string = z60.enum(all_layers);
|
|
1102
1120
|
var layer_ref = layer_string.or(
|
|
1103
|
-
|
|
1121
|
+
z60.object({
|
|
1104
1122
|
name: layer_string
|
|
1105
1123
|
})
|
|
1106
1124
|
).transform((layer) => {
|
|
@@ -1110,207 +1128,207 @@ var layer_ref = layer_string.or(
|
|
|
1110
1128
|
return layer.name;
|
|
1111
1129
|
});
|
|
1112
1130
|
expectTypesMatch(true);
|
|
1113
|
-
var visible_layer =
|
|
1131
|
+
var visible_layer = z60.enum(["top", "bottom"]);
|
|
1114
1132
|
|
|
1115
1133
|
// src/source/source_manually_placed_via.ts
|
|
1116
|
-
var source_manually_placed_via =
|
|
1117
|
-
type:
|
|
1118
|
-
source_manually_placed_via_id:
|
|
1119
|
-
source_group_id:
|
|
1120
|
-
source_net_id:
|
|
1121
|
-
subcircuit_id:
|
|
1122
|
-
source_trace_id:
|
|
1134
|
+
var source_manually_placed_via = z61.object({
|
|
1135
|
+
type: z61.literal("source_manually_placed_via"),
|
|
1136
|
+
source_manually_placed_via_id: z61.string(),
|
|
1137
|
+
source_group_id: z61.string(),
|
|
1138
|
+
source_net_id: z61.string(),
|
|
1139
|
+
subcircuit_id: z61.string().optional(),
|
|
1140
|
+
source_trace_id: z61.string().optional()
|
|
1123
1141
|
}).describe("Defines a via that is manually placed in the source domain");
|
|
1124
1142
|
expectTypesMatch(true);
|
|
1125
1143
|
|
|
1126
1144
|
// src/source/source_no_power_pin_defined_warning.ts
|
|
1127
|
-
import { z as
|
|
1128
|
-
var source_no_power_pin_defined_warning =
|
|
1129
|
-
type:
|
|
1145
|
+
import { z as z62 } from "zod";
|
|
1146
|
+
var source_no_power_pin_defined_warning = z62.object({
|
|
1147
|
+
type: z62.literal("source_no_power_pin_defined_warning"),
|
|
1130
1148
|
source_no_power_pin_defined_warning_id: getZodPrefixedIdWithDefault(
|
|
1131
1149
|
"source_no_power_pin_defined_warning"
|
|
1132
1150
|
),
|
|
1133
|
-
warning_type:
|
|
1134
|
-
message:
|
|
1135
|
-
source_component_id:
|
|
1136
|
-
source_port_ids:
|
|
1137
|
-
subcircuit_id:
|
|
1151
|
+
warning_type: z62.literal("source_no_power_pin_defined_warning").default("source_no_power_pin_defined_warning"),
|
|
1152
|
+
message: z62.string(),
|
|
1153
|
+
source_component_id: z62.string(),
|
|
1154
|
+
source_port_ids: z62.array(z62.string()),
|
|
1155
|
+
subcircuit_id: z62.string().optional()
|
|
1138
1156
|
}).describe(
|
|
1139
1157
|
"Warning emitted when a chip has no source ports with requires_power=true"
|
|
1140
1158
|
);
|
|
1141
1159
|
expectTypesMatch(true);
|
|
1142
1160
|
|
|
1143
1161
|
// src/source/source_no_ground_pin_defined_warning.ts
|
|
1144
|
-
import { z as
|
|
1145
|
-
var source_no_ground_pin_defined_warning =
|
|
1146
|
-
type:
|
|
1162
|
+
import { z as z63 } from "zod";
|
|
1163
|
+
var source_no_ground_pin_defined_warning = z63.object({
|
|
1164
|
+
type: z63.literal("source_no_ground_pin_defined_warning"),
|
|
1147
1165
|
source_no_ground_pin_defined_warning_id: getZodPrefixedIdWithDefault(
|
|
1148
1166
|
"source_no_ground_pin_defined_warning"
|
|
1149
1167
|
),
|
|
1150
|
-
warning_type:
|
|
1151
|
-
message:
|
|
1152
|
-
source_component_id:
|
|
1153
|
-
source_port_ids:
|
|
1154
|
-
subcircuit_id:
|
|
1168
|
+
warning_type: z63.literal("source_no_ground_pin_defined_warning").default("source_no_ground_pin_defined_warning"),
|
|
1169
|
+
message: z63.string(),
|
|
1170
|
+
source_component_id: z63.string(),
|
|
1171
|
+
source_port_ids: z63.array(z63.string()),
|
|
1172
|
+
subcircuit_id: z63.string().optional()
|
|
1155
1173
|
}).describe(
|
|
1156
1174
|
"Warning emitted when a chip has no source ports marked as ground pins"
|
|
1157
1175
|
);
|
|
1158
1176
|
expectTypesMatch(true);
|
|
1159
1177
|
|
|
1160
1178
|
// src/source/source_component_pins_underspecified_warning.ts
|
|
1161
|
-
import { z as
|
|
1162
|
-
var source_component_pins_underspecified_warning =
|
|
1163
|
-
type:
|
|
1179
|
+
import { z as z64 } from "zod";
|
|
1180
|
+
var source_component_pins_underspecified_warning = z64.object({
|
|
1181
|
+
type: z64.literal("source_component_pins_underspecified_warning"),
|
|
1164
1182
|
source_component_pins_underspecified_warning_id: getZodPrefixedIdWithDefault(
|
|
1165
1183
|
"source_component_pins_underspecified_warning"
|
|
1166
1184
|
),
|
|
1167
|
-
warning_type:
|
|
1168
|
-
message:
|
|
1169
|
-
source_component_id:
|
|
1170
|
-
source_port_ids:
|
|
1171
|
-
subcircuit_id:
|
|
1185
|
+
warning_type: z64.literal("source_component_pins_underspecified_warning").default("source_component_pins_underspecified_warning"),
|
|
1186
|
+
message: z64.string(),
|
|
1187
|
+
source_component_id: z64.string(),
|
|
1188
|
+
source_port_ids: z64.array(z64.string()),
|
|
1189
|
+
subcircuit_id: z64.string().optional()
|
|
1172
1190
|
}).describe(
|
|
1173
1191
|
"Warning emitted when all ports on a source component are underspecified"
|
|
1174
1192
|
);
|
|
1175
1193
|
expectTypesMatch(true);
|
|
1176
1194
|
|
|
1177
1195
|
// src/source/source_pin_must_be_connected_error.ts
|
|
1178
|
-
import { z as
|
|
1196
|
+
import { z as z65 } from "zod";
|
|
1179
1197
|
var source_pin_must_be_connected_error = base_circuit_json_error.extend({
|
|
1180
|
-
type:
|
|
1198
|
+
type: z65.literal("source_pin_must_be_connected_error"),
|
|
1181
1199
|
source_pin_must_be_connected_error_id: getZodPrefixedIdWithDefault(
|
|
1182
1200
|
"source_pin_must_be_connected_error"
|
|
1183
1201
|
),
|
|
1184
|
-
error_type:
|
|
1185
|
-
source_component_id:
|
|
1186
|
-
source_port_id:
|
|
1187
|
-
subcircuit_id:
|
|
1202
|
+
error_type: z65.literal("source_pin_must_be_connected_error").default("source_pin_must_be_connected_error"),
|
|
1203
|
+
source_component_id: z65.string(),
|
|
1204
|
+
source_port_id: z65.string(),
|
|
1205
|
+
subcircuit_id: z65.string().optional()
|
|
1188
1206
|
}).describe(
|
|
1189
1207
|
"Error emitted when a pin with mustBeConnected attribute is not connected to any trace"
|
|
1190
1208
|
);
|
|
1191
1209
|
expectTypesMatch(true);
|
|
1192
1210
|
|
|
1193
1211
|
// src/source/unknown_error_finding_part.ts
|
|
1194
|
-
import { z as
|
|
1212
|
+
import { z as z66 } from "zod";
|
|
1195
1213
|
var unknown_error_finding_part = base_circuit_json_error.extend({
|
|
1196
|
-
type:
|
|
1214
|
+
type: z66.literal("unknown_error_finding_part"),
|
|
1197
1215
|
unknown_error_finding_part_id: getZodPrefixedIdWithDefault(
|
|
1198
1216
|
"unknown_error_finding_part"
|
|
1199
1217
|
),
|
|
1200
|
-
error_type:
|
|
1201
|
-
source_component_id:
|
|
1202
|
-
subcircuit_id:
|
|
1218
|
+
error_type: z66.literal("unknown_error_finding_part").default("unknown_error_finding_part"),
|
|
1219
|
+
source_component_id: z66.string().optional(),
|
|
1220
|
+
subcircuit_id: z66.string().optional()
|
|
1203
1221
|
}).describe(
|
|
1204
1222
|
"Error emitted when an unexpected error occurs while finding a part"
|
|
1205
1223
|
);
|
|
1206
1224
|
expectTypesMatch(true);
|
|
1207
1225
|
|
|
1208
1226
|
// src/schematic/schematic_box.ts
|
|
1209
|
-
import { z as
|
|
1210
|
-
var schematic_box =
|
|
1211
|
-
type:
|
|
1212
|
-
schematic_component_id:
|
|
1213
|
-
schematic_symbol_id:
|
|
1227
|
+
import { z as z67 } from "zod";
|
|
1228
|
+
var schematic_box = z67.object({
|
|
1229
|
+
type: z67.literal("schematic_box"),
|
|
1230
|
+
schematic_component_id: z67.string().optional(),
|
|
1231
|
+
schematic_symbol_id: z67.string().optional(),
|
|
1214
1232
|
width: distance,
|
|
1215
1233
|
height: distance,
|
|
1216
|
-
is_dashed:
|
|
1234
|
+
is_dashed: z67.boolean().default(false),
|
|
1217
1235
|
x: distance,
|
|
1218
1236
|
y: distance,
|
|
1219
|
-
subcircuit_id:
|
|
1237
|
+
subcircuit_id: z67.string().optional()
|
|
1220
1238
|
}).describe("Draws a box on the schematic");
|
|
1221
1239
|
expectTypesMatch(true);
|
|
1222
1240
|
|
|
1223
1241
|
// src/schematic/schematic_path.ts
|
|
1224
|
-
import { z as
|
|
1225
|
-
var schematic_path =
|
|
1226
|
-
type:
|
|
1242
|
+
import { z as z68 } from "zod";
|
|
1243
|
+
var schematic_path = z68.object({
|
|
1244
|
+
type: z68.literal("schematic_path"),
|
|
1227
1245
|
schematic_path_id: getZodPrefixedIdWithDefault("schematic_path"),
|
|
1228
|
-
schematic_component_id:
|
|
1229
|
-
schematic_symbol_id:
|
|
1230
|
-
fill_color:
|
|
1231
|
-
is_filled:
|
|
1246
|
+
schematic_component_id: z68.string().optional(),
|
|
1247
|
+
schematic_symbol_id: z68.string().optional(),
|
|
1248
|
+
fill_color: z68.string().optional(),
|
|
1249
|
+
is_filled: z68.boolean().optional(),
|
|
1232
1250
|
stroke_width: distance.nullable().optional(),
|
|
1233
|
-
stroke_color:
|
|
1234
|
-
points:
|
|
1235
|
-
subcircuit_id:
|
|
1251
|
+
stroke_color: z68.string().optional(),
|
|
1252
|
+
points: z68.array(point),
|
|
1253
|
+
subcircuit_id: z68.string().optional()
|
|
1236
1254
|
});
|
|
1237
1255
|
expectTypesMatch(true);
|
|
1238
1256
|
|
|
1239
1257
|
// src/schematic/schematic_component.ts
|
|
1240
|
-
import { z as
|
|
1241
|
-
var schematic_pin_styles =
|
|
1242
|
-
|
|
1258
|
+
import { z as z69 } from "zod";
|
|
1259
|
+
var schematic_pin_styles = z69.record(
|
|
1260
|
+
z69.object({
|
|
1243
1261
|
left_margin: length.optional(),
|
|
1244
1262
|
right_margin: length.optional(),
|
|
1245
1263
|
top_margin: length.optional(),
|
|
1246
1264
|
bottom_margin: length.optional()
|
|
1247
1265
|
})
|
|
1248
1266
|
);
|
|
1249
|
-
var schematic_component_port_arrangement_by_size =
|
|
1250
|
-
left_size:
|
|
1251
|
-
right_size:
|
|
1252
|
-
top_size:
|
|
1253
|
-
bottom_size:
|
|
1267
|
+
var schematic_component_port_arrangement_by_size = z69.object({
|
|
1268
|
+
left_size: z69.number(),
|
|
1269
|
+
right_size: z69.number(),
|
|
1270
|
+
top_size: z69.number().optional(),
|
|
1271
|
+
bottom_size: z69.number().optional()
|
|
1254
1272
|
});
|
|
1255
1273
|
expectTypesMatch(true);
|
|
1256
|
-
var schematic_component_port_arrangement_by_sides =
|
|
1257
|
-
left_side:
|
|
1258
|
-
pins:
|
|
1274
|
+
var schematic_component_port_arrangement_by_sides = z69.object({
|
|
1275
|
+
left_side: z69.object({
|
|
1276
|
+
pins: z69.array(z69.number()),
|
|
1259
1277
|
// @ts-ignore
|
|
1260
|
-
direction:
|
|
1278
|
+
direction: z69.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
1261
1279
|
}).optional(),
|
|
1262
|
-
right_side:
|
|
1263
|
-
pins:
|
|
1280
|
+
right_side: z69.object({
|
|
1281
|
+
pins: z69.array(z69.number()),
|
|
1264
1282
|
// @ts-ignore
|
|
1265
|
-
direction:
|
|
1283
|
+
direction: z69.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
1266
1284
|
}).optional(),
|
|
1267
|
-
top_side:
|
|
1268
|
-
pins:
|
|
1285
|
+
top_side: z69.object({
|
|
1286
|
+
pins: z69.array(z69.number()),
|
|
1269
1287
|
// @ts-ignore
|
|
1270
|
-
direction:
|
|
1288
|
+
direction: z69.enum(["left-to-right", "right-to-left"]).optional()
|
|
1271
1289
|
}).optional(),
|
|
1272
|
-
bottom_side:
|
|
1273
|
-
pins:
|
|
1290
|
+
bottom_side: z69.object({
|
|
1291
|
+
pins: z69.array(z69.number()),
|
|
1274
1292
|
// @ts-ignore
|
|
1275
|
-
direction:
|
|
1293
|
+
direction: z69.enum(["left-to-right", "right-to-left"]).optional()
|
|
1276
1294
|
}).optional()
|
|
1277
1295
|
});
|
|
1278
1296
|
expectTypesMatch(true);
|
|
1279
|
-
var port_arrangement =
|
|
1297
|
+
var port_arrangement = z69.union([
|
|
1280
1298
|
schematic_component_port_arrangement_by_size,
|
|
1281
1299
|
schematic_component_port_arrangement_by_sides
|
|
1282
1300
|
]);
|
|
1283
|
-
var schematic_component =
|
|
1284
|
-
type:
|
|
1301
|
+
var schematic_component = z69.object({
|
|
1302
|
+
type: z69.literal("schematic_component"),
|
|
1285
1303
|
size,
|
|
1286
1304
|
center: point,
|
|
1287
|
-
source_component_id:
|
|
1288
|
-
schematic_component_id:
|
|
1289
|
-
schematic_symbol_id:
|
|
1305
|
+
source_component_id: z69.string().optional(),
|
|
1306
|
+
schematic_component_id: z69.string(),
|
|
1307
|
+
schematic_symbol_id: z69.string().optional(),
|
|
1290
1308
|
pin_spacing: length.optional(),
|
|
1291
1309
|
pin_styles: schematic_pin_styles.optional(),
|
|
1292
1310
|
box_width: length.optional(),
|
|
1293
|
-
symbol_name:
|
|
1311
|
+
symbol_name: z69.string().optional(),
|
|
1294
1312
|
port_arrangement: port_arrangement.optional(),
|
|
1295
|
-
port_labels:
|
|
1296
|
-
symbol_display_value:
|
|
1297
|
-
subcircuit_id:
|
|
1298
|
-
schematic_group_id:
|
|
1299
|
-
is_schematic_group:
|
|
1300
|
-
source_group_id:
|
|
1301
|
-
is_box_with_pins:
|
|
1313
|
+
port_labels: z69.record(z69.string()).optional(),
|
|
1314
|
+
symbol_display_value: z69.string().optional(),
|
|
1315
|
+
subcircuit_id: z69.string().optional(),
|
|
1316
|
+
schematic_group_id: z69.string().optional(),
|
|
1317
|
+
is_schematic_group: z69.boolean().optional(),
|
|
1318
|
+
source_group_id: z69.string().optional(),
|
|
1319
|
+
is_box_with_pins: z69.boolean().optional().default(true)
|
|
1302
1320
|
});
|
|
1303
1321
|
expectTypesMatch(true);
|
|
1304
1322
|
|
|
1305
1323
|
// src/schematic/schematic_symbol.ts
|
|
1306
|
-
import { z as
|
|
1307
|
-
var schematicSymbolMetadata =
|
|
1324
|
+
import { z as z70 } from "zod";
|
|
1325
|
+
var schematicSymbolMetadata = z70.object({
|
|
1308
1326
|
kicad_symbol: kicadSymbolMetadata.optional()
|
|
1309
|
-
}).catchall(
|
|
1310
|
-
var schematic_symbol =
|
|
1311
|
-
type:
|
|
1312
|
-
schematic_symbol_id:
|
|
1313
|
-
name:
|
|
1327
|
+
}).catchall(z70.unknown());
|
|
1328
|
+
var schematic_symbol = z70.object({
|
|
1329
|
+
type: z70.literal("schematic_symbol"),
|
|
1330
|
+
schematic_symbol_id: z70.string(),
|
|
1331
|
+
name: z70.string().optional(),
|
|
1314
1332
|
metadata: schematicSymbolMetadata.optional()
|
|
1315
1333
|
}).describe(
|
|
1316
1334
|
"Defines a named schematic symbol that can be referenced by components."
|
|
@@ -1318,119 +1336,119 @@ var schematic_symbol = z69.object({
|
|
|
1318
1336
|
expectTypesMatch(true);
|
|
1319
1337
|
|
|
1320
1338
|
// src/schematic/schematic_line.ts
|
|
1321
|
-
import { z as
|
|
1322
|
-
var schematic_line =
|
|
1323
|
-
type:
|
|
1339
|
+
import { z as z71 } from "zod";
|
|
1340
|
+
var schematic_line = z71.object({
|
|
1341
|
+
type: z71.literal("schematic_line"),
|
|
1324
1342
|
schematic_line_id: getZodPrefixedIdWithDefault("schematic_line"),
|
|
1325
|
-
schematic_component_id:
|
|
1326
|
-
schematic_symbol_id:
|
|
1343
|
+
schematic_component_id: z71.string().optional(),
|
|
1344
|
+
schematic_symbol_id: z71.string().optional(),
|
|
1327
1345
|
x1: distance,
|
|
1328
1346
|
y1: distance,
|
|
1329
1347
|
x2: distance,
|
|
1330
1348
|
y2: distance,
|
|
1331
1349
|
stroke_width: distance.nullable().optional(),
|
|
1332
|
-
color:
|
|
1333
|
-
is_dashed:
|
|
1334
|
-
subcircuit_id:
|
|
1350
|
+
color: z71.string().default("#000000"),
|
|
1351
|
+
is_dashed: z71.boolean().default(false),
|
|
1352
|
+
subcircuit_id: z71.string().optional()
|
|
1335
1353
|
}).describe("Draws a styled line on the schematic");
|
|
1336
1354
|
expectTypesMatch(true);
|
|
1337
1355
|
|
|
1338
1356
|
// src/schematic/schematic_rect.ts
|
|
1339
|
-
import { z as
|
|
1340
|
-
var schematic_rect =
|
|
1341
|
-
type:
|
|
1357
|
+
import { z as z72 } from "zod";
|
|
1358
|
+
var schematic_rect = z72.object({
|
|
1359
|
+
type: z72.literal("schematic_rect"),
|
|
1342
1360
|
schematic_rect_id: getZodPrefixedIdWithDefault("schematic_rect"),
|
|
1343
|
-
schematic_component_id:
|
|
1344
|
-
schematic_symbol_id:
|
|
1361
|
+
schematic_component_id: z72.string().optional(),
|
|
1362
|
+
schematic_symbol_id: z72.string().optional(),
|
|
1345
1363
|
center: point,
|
|
1346
1364
|
width: distance,
|
|
1347
1365
|
height: distance,
|
|
1348
1366
|
rotation: rotation.default(0),
|
|
1349
1367
|
stroke_width: distance.nullable().optional(),
|
|
1350
|
-
color:
|
|
1351
|
-
is_filled:
|
|
1352
|
-
fill_color:
|
|
1353
|
-
is_dashed:
|
|
1354
|
-
subcircuit_id:
|
|
1368
|
+
color: z72.string().default("#000000"),
|
|
1369
|
+
is_filled: z72.boolean().default(false),
|
|
1370
|
+
fill_color: z72.string().optional(),
|
|
1371
|
+
is_dashed: z72.boolean().default(false),
|
|
1372
|
+
subcircuit_id: z72.string().optional()
|
|
1355
1373
|
}).describe("Draws a styled rectangle on the schematic");
|
|
1356
1374
|
expectTypesMatch(true);
|
|
1357
1375
|
|
|
1358
1376
|
// src/schematic/schematic_circle.ts
|
|
1359
|
-
import { z as
|
|
1360
|
-
var schematic_circle =
|
|
1361
|
-
type:
|
|
1377
|
+
import { z as z73 } from "zod";
|
|
1378
|
+
var schematic_circle = z73.object({
|
|
1379
|
+
type: z73.literal("schematic_circle"),
|
|
1362
1380
|
schematic_circle_id: getZodPrefixedIdWithDefault("schematic_circle"),
|
|
1363
|
-
schematic_component_id:
|
|
1364
|
-
schematic_symbol_id:
|
|
1381
|
+
schematic_component_id: z73.string().optional(),
|
|
1382
|
+
schematic_symbol_id: z73.string().optional(),
|
|
1365
1383
|
center: point,
|
|
1366
1384
|
radius: distance,
|
|
1367
1385
|
stroke_width: distance.nullable().optional(),
|
|
1368
|
-
color:
|
|
1369
|
-
is_filled:
|
|
1370
|
-
fill_color:
|
|
1371
|
-
is_dashed:
|
|
1372
|
-
subcircuit_id:
|
|
1386
|
+
color: z73.string().default("#000000"),
|
|
1387
|
+
is_filled: z73.boolean().default(false),
|
|
1388
|
+
fill_color: z73.string().optional(),
|
|
1389
|
+
is_dashed: z73.boolean().default(false),
|
|
1390
|
+
subcircuit_id: z73.string().optional()
|
|
1373
1391
|
}).describe("Draws a styled circle on the schematic");
|
|
1374
1392
|
expectTypesMatch(true);
|
|
1375
1393
|
|
|
1376
1394
|
// src/schematic/schematic_arc.ts
|
|
1377
|
-
import { z as
|
|
1378
|
-
var schematic_arc =
|
|
1379
|
-
type:
|
|
1395
|
+
import { z as z74 } from "zod";
|
|
1396
|
+
var schematic_arc = z74.object({
|
|
1397
|
+
type: z74.literal("schematic_arc"),
|
|
1380
1398
|
schematic_arc_id: getZodPrefixedIdWithDefault("schematic_arc"),
|
|
1381
|
-
schematic_component_id:
|
|
1382
|
-
schematic_symbol_id:
|
|
1399
|
+
schematic_component_id: z74.string().optional(),
|
|
1400
|
+
schematic_symbol_id: z74.string().optional(),
|
|
1383
1401
|
center: point,
|
|
1384
1402
|
radius: distance,
|
|
1385
1403
|
start_angle_degrees: rotation,
|
|
1386
1404
|
end_angle_degrees: rotation,
|
|
1387
|
-
direction:
|
|
1405
|
+
direction: z74.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
|
|
1388
1406
|
stroke_width: distance.nullable().optional(),
|
|
1389
|
-
color:
|
|
1390
|
-
is_dashed:
|
|
1391
|
-
subcircuit_id:
|
|
1407
|
+
color: z74.string().default("#000000"),
|
|
1408
|
+
is_dashed: z74.boolean().default(false),
|
|
1409
|
+
subcircuit_id: z74.string().optional()
|
|
1392
1410
|
}).describe("Draws a styled arc on the schematic");
|
|
1393
1411
|
expectTypesMatch(true);
|
|
1394
1412
|
|
|
1395
1413
|
// src/schematic/schematic_trace.ts
|
|
1396
|
-
import { z as
|
|
1397
|
-
var schematic_trace =
|
|
1398
|
-
type:
|
|
1399
|
-
schematic_trace_id:
|
|
1400
|
-
source_trace_id:
|
|
1401
|
-
junctions:
|
|
1402
|
-
|
|
1403
|
-
x:
|
|
1404
|
-
y:
|
|
1414
|
+
import { z as z75 } from "zod";
|
|
1415
|
+
var schematic_trace = z75.object({
|
|
1416
|
+
type: z75.literal("schematic_trace"),
|
|
1417
|
+
schematic_trace_id: z75.string(),
|
|
1418
|
+
source_trace_id: z75.string().optional(),
|
|
1419
|
+
junctions: z75.array(
|
|
1420
|
+
z75.object({
|
|
1421
|
+
x: z75.number(),
|
|
1422
|
+
y: z75.number()
|
|
1405
1423
|
})
|
|
1406
1424
|
),
|
|
1407
|
-
edges:
|
|
1408
|
-
|
|
1409
|
-
from:
|
|
1410
|
-
x:
|
|
1411
|
-
y:
|
|
1425
|
+
edges: z75.array(
|
|
1426
|
+
z75.object({
|
|
1427
|
+
from: z75.object({
|
|
1428
|
+
x: z75.number(),
|
|
1429
|
+
y: z75.number()
|
|
1412
1430
|
}),
|
|
1413
|
-
to:
|
|
1414
|
-
x:
|
|
1415
|
-
y:
|
|
1431
|
+
to: z75.object({
|
|
1432
|
+
x: z75.number(),
|
|
1433
|
+
y: z75.number()
|
|
1416
1434
|
}),
|
|
1417
|
-
is_crossing:
|
|
1418
|
-
from_schematic_port_id:
|
|
1419
|
-
to_schematic_port_id:
|
|
1435
|
+
is_crossing: z75.boolean().optional(),
|
|
1436
|
+
from_schematic_port_id: z75.string().optional(),
|
|
1437
|
+
to_schematic_port_id: z75.string().optional()
|
|
1420
1438
|
})
|
|
1421
1439
|
),
|
|
1422
|
-
subcircuit_id:
|
|
1440
|
+
subcircuit_id: z75.string().optional(),
|
|
1423
1441
|
// TODO: make required in a future release
|
|
1424
|
-
subcircuit_connectivity_map_key:
|
|
1442
|
+
subcircuit_connectivity_map_key: z75.string().optional()
|
|
1425
1443
|
});
|
|
1426
1444
|
expectTypesMatch(true);
|
|
1427
1445
|
|
|
1428
1446
|
// src/schematic/schematic_text.ts
|
|
1429
|
-
import { z as
|
|
1447
|
+
import { z as z77 } from "zod";
|
|
1430
1448
|
|
|
1431
1449
|
// src/common/FivePointAnchor.ts
|
|
1432
|
-
import { z as
|
|
1433
|
-
var fivePointAnchor =
|
|
1450
|
+
import { z as z76 } from "zod";
|
|
1451
|
+
var fivePointAnchor = z76.enum([
|
|
1434
1452
|
"center",
|
|
1435
1453
|
"left",
|
|
1436
1454
|
"right",
|
|
@@ -1440,111 +1458,111 @@ var fivePointAnchor = z75.enum([
|
|
|
1440
1458
|
expectTypesMatch(true);
|
|
1441
1459
|
|
|
1442
1460
|
// src/schematic/schematic_text.ts
|
|
1443
|
-
var schematic_text =
|
|
1444
|
-
type:
|
|
1445
|
-
schematic_component_id:
|
|
1446
|
-
schematic_symbol_id:
|
|
1447
|
-
schematic_text_id:
|
|
1448
|
-
text:
|
|
1449
|
-
font_size:
|
|
1450
|
-
position:
|
|
1461
|
+
var schematic_text = z77.object({
|
|
1462
|
+
type: z77.literal("schematic_text"),
|
|
1463
|
+
schematic_component_id: z77.string().optional(),
|
|
1464
|
+
schematic_symbol_id: z77.string().optional(),
|
|
1465
|
+
schematic_text_id: z77.string(),
|
|
1466
|
+
text: z77.string(),
|
|
1467
|
+
font_size: z77.number().default(0.18),
|
|
1468
|
+
position: z77.object({
|
|
1451
1469
|
x: distance,
|
|
1452
1470
|
y: distance
|
|
1453
1471
|
}),
|
|
1454
|
-
rotation:
|
|
1455
|
-
anchor:
|
|
1456
|
-
color:
|
|
1457
|
-
subcircuit_id:
|
|
1472
|
+
rotation: z77.number().default(0),
|
|
1473
|
+
anchor: z77.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
|
|
1474
|
+
color: z77.string().default("#000000"),
|
|
1475
|
+
subcircuit_id: z77.string().optional()
|
|
1458
1476
|
});
|
|
1459
1477
|
expectTypesMatch(true);
|
|
1460
1478
|
|
|
1461
1479
|
// src/schematic/schematic_port.ts
|
|
1462
|
-
import { z as
|
|
1463
|
-
var schematic_port =
|
|
1464
|
-
type:
|
|
1465
|
-
schematic_port_id:
|
|
1466
|
-
source_port_id:
|
|
1467
|
-
schematic_component_id:
|
|
1480
|
+
import { z as z78 } from "zod";
|
|
1481
|
+
var schematic_port = z78.object({
|
|
1482
|
+
type: z78.literal("schematic_port"),
|
|
1483
|
+
schematic_port_id: z78.string(),
|
|
1484
|
+
source_port_id: z78.string(),
|
|
1485
|
+
schematic_component_id: z78.string().optional(),
|
|
1468
1486
|
center: point,
|
|
1469
|
-
facing_direction:
|
|
1470
|
-
distance_from_component_edge:
|
|
1471
|
-
side_of_component:
|
|
1472
|
-
true_ccw_index:
|
|
1473
|
-
pin_number:
|
|
1474
|
-
display_pin_label:
|
|
1475
|
-
subcircuit_id:
|
|
1476
|
-
is_connected:
|
|
1477
|
-
has_input_arrow:
|
|
1478
|
-
has_output_arrow:
|
|
1479
|
-
is_drawn_with_inversion_circle:
|
|
1487
|
+
facing_direction: z78.enum(["up", "down", "left", "right"]).optional(),
|
|
1488
|
+
distance_from_component_edge: z78.number().optional(),
|
|
1489
|
+
side_of_component: z78.enum(["top", "bottom", "left", "right"]).optional(),
|
|
1490
|
+
true_ccw_index: z78.number().optional(),
|
|
1491
|
+
pin_number: z78.number().optional(),
|
|
1492
|
+
display_pin_label: z78.string().optional(),
|
|
1493
|
+
subcircuit_id: z78.string().optional(),
|
|
1494
|
+
is_connected: z78.boolean().optional(),
|
|
1495
|
+
has_input_arrow: z78.boolean().optional(),
|
|
1496
|
+
has_output_arrow: z78.boolean().optional(),
|
|
1497
|
+
is_drawn_with_inversion_circle: z78.boolean().optional()
|
|
1480
1498
|
}).describe("Defines a port on a schematic component");
|
|
1481
1499
|
expectTypesMatch(true);
|
|
1482
1500
|
|
|
1483
1501
|
// src/schematic/schematic_net_label.ts
|
|
1484
|
-
import { z as
|
|
1485
|
-
var schematic_net_label =
|
|
1486
|
-
type:
|
|
1502
|
+
import { z as z79 } from "zod";
|
|
1503
|
+
var schematic_net_label = z79.object({
|
|
1504
|
+
type: z79.literal("schematic_net_label"),
|
|
1487
1505
|
schematic_net_label_id: getZodPrefixedIdWithDefault("schematic_net_label"),
|
|
1488
|
-
schematic_trace_id:
|
|
1489
|
-
source_trace_id:
|
|
1490
|
-
source_net_id:
|
|
1506
|
+
schematic_trace_id: z79.string().optional(),
|
|
1507
|
+
source_trace_id: z79.string().optional(),
|
|
1508
|
+
source_net_id: z79.string(),
|
|
1491
1509
|
center: point,
|
|
1492
1510
|
anchor_position: point.optional(),
|
|
1493
|
-
anchor_side:
|
|
1494
|
-
text:
|
|
1495
|
-
symbol_name:
|
|
1496
|
-
is_movable:
|
|
1497
|
-
subcircuit_id:
|
|
1511
|
+
anchor_side: z79.enum(["top", "bottom", "left", "right"]),
|
|
1512
|
+
text: z79.string(),
|
|
1513
|
+
symbol_name: z79.string().optional(),
|
|
1514
|
+
is_movable: z79.boolean().optional(),
|
|
1515
|
+
subcircuit_id: z79.string().optional()
|
|
1498
1516
|
});
|
|
1499
1517
|
expectTypesMatch(true);
|
|
1500
1518
|
|
|
1501
1519
|
// src/schematic/schematic_error.ts
|
|
1502
|
-
import { z as
|
|
1520
|
+
import { z as z80 } from "zod";
|
|
1503
1521
|
var schematic_error = base_circuit_json_error.extend({
|
|
1504
|
-
type:
|
|
1505
|
-
schematic_error_id:
|
|
1522
|
+
type: z80.literal("schematic_error"),
|
|
1523
|
+
schematic_error_id: z80.string(),
|
|
1506
1524
|
// eventually each error type should be broken out into a dir of files
|
|
1507
|
-
error_type:
|
|
1508
|
-
subcircuit_id:
|
|
1525
|
+
error_type: z80.literal("schematic_port_not_found").default("schematic_port_not_found"),
|
|
1526
|
+
subcircuit_id: z80.string().optional()
|
|
1509
1527
|
}).describe("Defines a schematic error on the schematic");
|
|
1510
1528
|
expectTypesMatch(true);
|
|
1511
1529
|
|
|
1512
1530
|
// src/schematic/schematic_layout_error.ts
|
|
1513
|
-
import { z as
|
|
1531
|
+
import { z as z81 } from "zod";
|
|
1514
1532
|
var schematic_layout_error = base_circuit_json_error.extend({
|
|
1515
|
-
type:
|
|
1533
|
+
type: z81.literal("schematic_layout_error"),
|
|
1516
1534
|
schematic_layout_error_id: getZodPrefixedIdWithDefault(
|
|
1517
1535
|
"schematic_layout_error"
|
|
1518
1536
|
),
|
|
1519
|
-
error_type:
|
|
1520
|
-
source_group_id:
|
|
1521
|
-
schematic_group_id:
|
|
1522
|
-
subcircuit_id:
|
|
1537
|
+
error_type: z81.literal("schematic_layout_error").default("schematic_layout_error"),
|
|
1538
|
+
source_group_id: z81.string(),
|
|
1539
|
+
schematic_group_id: z81.string(),
|
|
1540
|
+
subcircuit_id: z81.string().optional()
|
|
1523
1541
|
}).describe("Error emitted when schematic layout fails for a group");
|
|
1524
1542
|
expectTypesMatch(true);
|
|
1525
1543
|
|
|
1526
1544
|
// src/schematic/schematic_debug_object.ts
|
|
1527
|
-
import { z as
|
|
1528
|
-
var schematic_debug_object_base =
|
|
1529
|
-
type:
|
|
1530
|
-
label:
|
|
1531
|
-
subcircuit_id:
|
|
1545
|
+
import { z as z82 } from "zod";
|
|
1546
|
+
var schematic_debug_object_base = z82.object({
|
|
1547
|
+
type: z82.literal("schematic_debug_object"),
|
|
1548
|
+
label: z82.string().optional(),
|
|
1549
|
+
subcircuit_id: z82.string().optional()
|
|
1532
1550
|
});
|
|
1533
1551
|
var schematic_debug_rect = schematic_debug_object_base.extend({
|
|
1534
|
-
shape:
|
|
1552
|
+
shape: z82.literal("rect"),
|
|
1535
1553
|
center: point,
|
|
1536
1554
|
size
|
|
1537
1555
|
});
|
|
1538
1556
|
var schematic_debug_line = schematic_debug_object_base.extend({
|
|
1539
|
-
shape:
|
|
1557
|
+
shape: z82.literal("line"),
|
|
1540
1558
|
start: point,
|
|
1541
1559
|
end: point
|
|
1542
1560
|
});
|
|
1543
1561
|
var schematic_debug_point = schematic_debug_object_base.extend({
|
|
1544
|
-
shape:
|
|
1562
|
+
shape: z82.literal("point"),
|
|
1545
1563
|
center: point
|
|
1546
1564
|
});
|
|
1547
|
-
var schematic_debug_object =
|
|
1565
|
+
var schematic_debug_object = z82.discriminatedUnion("shape", [
|
|
1548
1566
|
schematic_debug_rect,
|
|
1549
1567
|
schematic_debug_line,
|
|
1550
1568
|
schematic_debug_point
|
|
@@ -1552,171 +1570,171 @@ var schematic_debug_object = z81.discriminatedUnion("shape", [
|
|
|
1552
1570
|
expectTypesMatch(true);
|
|
1553
1571
|
|
|
1554
1572
|
// src/schematic/schematic_voltage_probe.ts
|
|
1555
|
-
import { z as
|
|
1556
|
-
var schematic_voltage_probe =
|
|
1557
|
-
type:
|
|
1558
|
-
schematic_voltage_probe_id:
|
|
1559
|
-
source_component_id:
|
|
1560
|
-
name:
|
|
1573
|
+
import { z as z83 } from "zod";
|
|
1574
|
+
var schematic_voltage_probe = z83.object({
|
|
1575
|
+
type: z83.literal("schematic_voltage_probe"),
|
|
1576
|
+
schematic_voltage_probe_id: z83.string(),
|
|
1577
|
+
source_component_id: z83.string().optional(),
|
|
1578
|
+
name: z83.string().optional(),
|
|
1561
1579
|
position: point,
|
|
1562
|
-
schematic_trace_id:
|
|
1580
|
+
schematic_trace_id: z83.string(),
|
|
1563
1581
|
voltage: voltage.optional(),
|
|
1564
|
-
subcircuit_id:
|
|
1565
|
-
color:
|
|
1582
|
+
subcircuit_id: z83.string().optional(),
|
|
1583
|
+
color: z83.string().optional(),
|
|
1566
1584
|
label_alignment: ninePointAnchor.optional()
|
|
1567
1585
|
}).describe("Defines a voltage probe measurement point on a schematic trace");
|
|
1568
1586
|
expectTypesMatch(true);
|
|
1569
1587
|
|
|
1570
1588
|
// src/schematic/schematic_manual_edit_conflict_warning.ts
|
|
1571
|
-
import { z as
|
|
1572
|
-
var schematic_manual_edit_conflict_warning =
|
|
1573
|
-
type:
|
|
1589
|
+
import { z as z84 } from "zod";
|
|
1590
|
+
var schematic_manual_edit_conflict_warning = z84.object({
|
|
1591
|
+
type: z84.literal("schematic_manual_edit_conflict_warning"),
|
|
1574
1592
|
schematic_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
1575
1593
|
"schematic_manual_edit_conflict_warning"
|
|
1576
1594
|
),
|
|
1577
|
-
warning_type:
|
|
1578
|
-
message:
|
|
1579
|
-
schematic_component_id:
|
|
1580
|
-
schematic_group_id:
|
|
1581
|
-
subcircuit_id:
|
|
1582
|
-
source_component_id:
|
|
1595
|
+
warning_type: z84.literal("schematic_manual_edit_conflict_warning").default("schematic_manual_edit_conflict_warning"),
|
|
1596
|
+
message: z84.string(),
|
|
1597
|
+
schematic_component_id: z84.string(),
|
|
1598
|
+
schematic_group_id: z84.string().optional(),
|
|
1599
|
+
subcircuit_id: z84.string().optional(),
|
|
1600
|
+
source_component_id: z84.string()
|
|
1583
1601
|
}).describe(
|
|
1584
1602
|
"Warning emitted when a component has both manual placement and explicit schX/schY coordinates"
|
|
1585
1603
|
);
|
|
1586
1604
|
expectTypesMatch(true);
|
|
1587
1605
|
|
|
1588
1606
|
// src/schematic/schematic_group.ts
|
|
1589
|
-
import { z as
|
|
1590
|
-
var schematic_group =
|
|
1591
|
-
type:
|
|
1607
|
+
import { z as z85 } from "zod";
|
|
1608
|
+
var schematic_group = z85.object({
|
|
1609
|
+
type: z85.literal("schematic_group"),
|
|
1592
1610
|
schematic_group_id: getZodPrefixedIdWithDefault("schematic_group"),
|
|
1593
|
-
source_group_id:
|
|
1594
|
-
is_subcircuit:
|
|
1595
|
-
subcircuit_id:
|
|
1611
|
+
source_group_id: z85.string(),
|
|
1612
|
+
is_subcircuit: z85.boolean().optional(),
|
|
1613
|
+
subcircuit_id: z85.string().optional(),
|
|
1596
1614
|
width: length,
|
|
1597
1615
|
height: length,
|
|
1598
1616
|
center: point,
|
|
1599
|
-
schematic_component_ids:
|
|
1600
|
-
show_as_schematic_box:
|
|
1601
|
-
name:
|
|
1602
|
-
description:
|
|
1617
|
+
schematic_component_ids: z85.array(z85.string()),
|
|
1618
|
+
show_as_schematic_box: z85.boolean().optional(),
|
|
1619
|
+
name: z85.string().optional(),
|
|
1620
|
+
description: z85.string().optional()
|
|
1603
1621
|
}).describe("Defines a group of components on the schematic");
|
|
1604
1622
|
expectTypesMatch(true);
|
|
1605
1623
|
|
|
1606
1624
|
// src/schematic/schematic_table.ts
|
|
1607
|
-
import { z as
|
|
1608
|
-
var schematic_table =
|
|
1609
|
-
type:
|
|
1625
|
+
import { z as z86 } from "zod";
|
|
1626
|
+
var schematic_table = z86.object({
|
|
1627
|
+
type: z86.literal("schematic_table"),
|
|
1610
1628
|
schematic_table_id: getZodPrefixedIdWithDefault("schematic_table"),
|
|
1611
1629
|
anchor_position: point,
|
|
1612
|
-
column_widths:
|
|
1613
|
-
row_heights:
|
|
1630
|
+
column_widths: z86.array(distance),
|
|
1631
|
+
row_heights: z86.array(distance),
|
|
1614
1632
|
cell_padding: distance.optional(),
|
|
1615
1633
|
border_width: distance.optional(),
|
|
1616
|
-
subcircuit_id:
|
|
1617
|
-
schematic_component_id:
|
|
1634
|
+
subcircuit_id: z86.string().optional(),
|
|
1635
|
+
schematic_component_id: z86.string().optional(),
|
|
1618
1636
|
anchor: ninePointAnchor.optional()
|
|
1619
1637
|
}).describe("Defines a table on the schematic");
|
|
1620
1638
|
expectTypesMatch(true);
|
|
1621
1639
|
|
|
1622
1640
|
// src/schematic/schematic_table_cell.ts
|
|
1623
|
-
import { z as
|
|
1624
|
-
var schematic_table_cell =
|
|
1625
|
-
type:
|
|
1641
|
+
import { z as z87 } from "zod";
|
|
1642
|
+
var schematic_table_cell = z87.object({
|
|
1643
|
+
type: z87.literal("schematic_table_cell"),
|
|
1626
1644
|
schematic_table_cell_id: getZodPrefixedIdWithDefault(
|
|
1627
1645
|
"schematic_table_cell"
|
|
1628
1646
|
),
|
|
1629
|
-
schematic_table_id:
|
|
1630
|
-
start_row_index:
|
|
1631
|
-
end_row_index:
|
|
1632
|
-
start_column_index:
|
|
1633
|
-
end_column_index:
|
|
1634
|
-
text:
|
|
1647
|
+
schematic_table_id: z87.string(),
|
|
1648
|
+
start_row_index: z87.number(),
|
|
1649
|
+
end_row_index: z87.number(),
|
|
1650
|
+
start_column_index: z87.number(),
|
|
1651
|
+
end_column_index: z87.number(),
|
|
1652
|
+
text: z87.string().optional(),
|
|
1635
1653
|
center: point,
|
|
1636
1654
|
width: distance,
|
|
1637
1655
|
height: distance,
|
|
1638
|
-
horizontal_align:
|
|
1639
|
-
vertical_align:
|
|
1656
|
+
horizontal_align: z87.enum(["left", "center", "right"]).optional(),
|
|
1657
|
+
vertical_align: z87.enum(["top", "middle", "bottom"]).optional(),
|
|
1640
1658
|
font_size: distance.optional(),
|
|
1641
|
-
subcircuit_id:
|
|
1659
|
+
subcircuit_id: z87.string().optional()
|
|
1642
1660
|
}).describe("Defines a cell within a schematic_table");
|
|
1643
1661
|
expectTypesMatch(true);
|
|
1644
1662
|
|
|
1645
1663
|
// src/schematic/schematic_sheet.ts
|
|
1646
|
-
import { z as
|
|
1647
|
-
var schematic_sheet =
|
|
1648
|
-
type:
|
|
1664
|
+
import { z as z88 } from "zod";
|
|
1665
|
+
var schematic_sheet = z88.object({
|
|
1666
|
+
type: z88.literal("schematic_sheet"),
|
|
1649
1667
|
schematic_sheet_id: getZodPrefixedIdWithDefault("schematic_sheet"),
|
|
1650
|
-
name:
|
|
1651
|
-
subcircuit_id:
|
|
1668
|
+
name: z88.string().optional(),
|
|
1669
|
+
subcircuit_id: z88.string().optional()
|
|
1652
1670
|
}).describe(
|
|
1653
1671
|
"Defines a schematic sheet or page that components can be placed on"
|
|
1654
1672
|
);
|
|
1655
1673
|
expectTypesMatch(true);
|
|
1656
1674
|
|
|
1657
1675
|
// src/pcb/properties/brep.ts
|
|
1658
|
-
import { z as
|
|
1659
|
-
var point_with_bulge =
|
|
1676
|
+
import { z as z89 } from "zod";
|
|
1677
|
+
var point_with_bulge = z89.object({
|
|
1660
1678
|
x: distance,
|
|
1661
1679
|
y: distance,
|
|
1662
|
-
bulge:
|
|
1680
|
+
bulge: z89.number().optional()
|
|
1663
1681
|
});
|
|
1664
1682
|
expectTypesMatch(true);
|
|
1665
|
-
var ring =
|
|
1666
|
-
vertices:
|
|
1683
|
+
var ring = z89.object({
|
|
1684
|
+
vertices: z89.array(point_with_bulge)
|
|
1667
1685
|
});
|
|
1668
1686
|
expectTypesMatch(true);
|
|
1669
|
-
var brep_shape =
|
|
1687
|
+
var brep_shape = z89.object({
|
|
1670
1688
|
outer_ring: ring,
|
|
1671
|
-
inner_rings:
|
|
1689
|
+
inner_rings: z89.array(ring).default([])
|
|
1672
1690
|
});
|
|
1673
1691
|
expectTypesMatch(true);
|
|
1674
1692
|
|
|
1675
1693
|
// src/pcb/properties/pcb_route_hints.ts
|
|
1676
|
-
import { z as
|
|
1677
|
-
var pcb_route_hint =
|
|
1694
|
+
import { z as z90 } from "zod";
|
|
1695
|
+
var pcb_route_hint = z90.object({
|
|
1678
1696
|
x: distance,
|
|
1679
1697
|
y: distance,
|
|
1680
|
-
via:
|
|
1698
|
+
via: z90.boolean().optional(),
|
|
1681
1699
|
via_to_layer: layer_ref.optional()
|
|
1682
1700
|
});
|
|
1683
|
-
var pcb_route_hints =
|
|
1701
|
+
var pcb_route_hints = z90.array(pcb_route_hint);
|
|
1684
1702
|
expectTypesMatch(true);
|
|
1685
1703
|
expectTypesMatch(true);
|
|
1686
1704
|
|
|
1687
1705
|
// src/pcb/properties/route_hint_point.ts
|
|
1688
|
-
import { z as
|
|
1689
|
-
var route_hint_point =
|
|
1706
|
+
import { z as z91 } from "zod";
|
|
1707
|
+
var route_hint_point = z91.object({
|
|
1690
1708
|
x: distance,
|
|
1691
1709
|
y: distance,
|
|
1692
|
-
via:
|
|
1710
|
+
via: z91.boolean().optional(),
|
|
1693
1711
|
to_layer: layer_ref.optional(),
|
|
1694
1712
|
trace_width: distance.optional()
|
|
1695
1713
|
});
|
|
1696
1714
|
expectTypesMatch(true);
|
|
1697
1715
|
|
|
1698
1716
|
// src/pcb/pcb_component.ts
|
|
1699
|
-
import { z as
|
|
1700
|
-
var pcb_component =
|
|
1701
|
-
type:
|
|
1717
|
+
import { z as z92 } from "zod";
|
|
1718
|
+
var pcb_component = z92.object({
|
|
1719
|
+
type: z92.literal("pcb_component"),
|
|
1702
1720
|
pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
|
|
1703
|
-
source_component_id:
|
|
1721
|
+
source_component_id: z92.string(),
|
|
1704
1722
|
center: point,
|
|
1705
1723
|
layer: layer_ref,
|
|
1706
1724
|
rotation,
|
|
1707
|
-
display_offset_x:
|
|
1725
|
+
display_offset_x: z92.string().optional().describe(
|
|
1708
1726
|
"How to display the x offset for this part, usually corresponding with how the user specified it"
|
|
1709
1727
|
),
|
|
1710
|
-
display_offset_y:
|
|
1728
|
+
display_offset_y: z92.string().optional().describe(
|
|
1711
1729
|
"How to display the y offset for this part, usually corresponding with how the user specified it"
|
|
1712
1730
|
),
|
|
1713
1731
|
width: length,
|
|
1714
1732
|
height: length,
|
|
1715
|
-
do_not_place:
|
|
1716
|
-
is_allowed_to_be_off_board:
|
|
1717
|
-
subcircuit_id:
|
|
1718
|
-
pcb_group_id:
|
|
1719
|
-
position_mode:
|
|
1733
|
+
do_not_place: z92.boolean().optional(),
|
|
1734
|
+
is_allowed_to_be_off_board: z92.boolean().optional(),
|
|
1735
|
+
subcircuit_id: z92.string().optional(),
|
|
1736
|
+
pcb_group_id: z92.string().optional(),
|
|
1737
|
+
position_mode: z92.enum([
|
|
1720
1738
|
"packed",
|
|
1721
1739
|
"relative_to_group_anchor",
|
|
1722
1740
|
"relative_to_another_component",
|
|
@@ -1724,122 +1742,122 @@ var pcb_component = z91.object({
|
|
|
1724
1742
|
]).optional(),
|
|
1725
1743
|
anchor_position: point.optional(),
|
|
1726
1744
|
anchor_alignment: ninePointAnchor.optional(),
|
|
1727
|
-
positioned_relative_to_pcb_group_id:
|
|
1728
|
-
positioned_relative_to_pcb_board_id:
|
|
1745
|
+
positioned_relative_to_pcb_group_id: z92.string().optional(),
|
|
1746
|
+
positioned_relative_to_pcb_board_id: z92.string().optional(),
|
|
1729
1747
|
cable_insertion_center: point.optional(),
|
|
1730
|
-
metadata:
|
|
1748
|
+
metadata: z92.object({
|
|
1731
1749
|
kicad_footprint: kicadFootprintMetadata.optional()
|
|
1732
1750
|
}).optional(),
|
|
1733
|
-
obstructs_within_bounds:
|
|
1751
|
+
obstructs_within_bounds: z92.boolean().default(true).describe(
|
|
1734
1752
|
"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"
|
|
1735
1753
|
)
|
|
1736
1754
|
}).describe("Defines a component on the PCB");
|
|
1737
1755
|
expectTypesMatch(true);
|
|
1738
1756
|
|
|
1739
1757
|
// src/pcb/pcb_hole.ts
|
|
1740
|
-
import { z as
|
|
1741
|
-
var pcb_hole_circle =
|
|
1742
|
-
type:
|
|
1758
|
+
import { z as z93 } from "zod";
|
|
1759
|
+
var pcb_hole_circle = z93.object({
|
|
1760
|
+
type: z93.literal("pcb_hole"),
|
|
1743
1761
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1744
|
-
pcb_group_id:
|
|
1745
|
-
subcircuit_id:
|
|
1746
|
-
pcb_component_id:
|
|
1747
|
-
hole_shape:
|
|
1748
|
-
hole_diameter:
|
|
1762
|
+
pcb_group_id: z93.string().optional(),
|
|
1763
|
+
subcircuit_id: z93.string().optional(),
|
|
1764
|
+
pcb_component_id: z93.string().optional(),
|
|
1765
|
+
hole_shape: z93.literal("circle"),
|
|
1766
|
+
hole_diameter: z93.number(),
|
|
1749
1767
|
x: distance,
|
|
1750
1768
|
y: distance,
|
|
1751
|
-
is_covered_with_solder_mask:
|
|
1752
|
-
soldermask_margin:
|
|
1769
|
+
is_covered_with_solder_mask: z93.boolean().optional(),
|
|
1770
|
+
soldermask_margin: z93.number().optional()
|
|
1753
1771
|
});
|
|
1754
1772
|
var pcb_hole_circle_shape = pcb_hole_circle.describe(
|
|
1755
1773
|
"Defines a circular hole on the PCB"
|
|
1756
1774
|
);
|
|
1757
1775
|
expectTypesMatch(true);
|
|
1758
|
-
var pcb_hole_rect =
|
|
1759
|
-
type:
|
|
1776
|
+
var pcb_hole_rect = z93.object({
|
|
1777
|
+
type: z93.literal("pcb_hole"),
|
|
1760
1778
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1761
|
-
pcb_group_id:
|
|
1762
|
-
subcircuit_id:
|
|
1763
|
-
pcb_component_id:
|
|
1764
|
-
hole_shape:
|
|
1765
|
-
hole_width:
|
|
1766
|
-
hole_height:
|
|
1779
|
+
pcb_group_id: z93.string().optional(),
|
|
1780
|
+
subcircuit_id: z93.string().optional(),
|
|
1781
|
+
pcb_component_id: z93.string().optional(),
|
|
1782
|
+
hole_shape: z93.literal("rect"),
|
|
1783
|
+
hole_width: z93.number(),
|
|
1784
|
+
hole_height: z93.number(),
|
|
1767
1785
|
x: distance,
|
|
1768
1786
|
y: distance,
|
|
1769
|
-
is_covered_with_solder_mask:
|
|
1770
|
-
soldermask_margin:
|
|
1787
|
+
is_covered_with_solder_mask: z93.boolean().optional(),
|
|
1788
|
+
soldermask_margin: z93.number().optional()
|
|
1771
1789
|
});
|
|
1772
1790
|
var pcb_hole_rect_shape = pcb_hole_rect.describe(
|
|
1773
1791
|
"Defines a rectangular (square-capable) hole on the PCB. Use equal width/height for square."
|
|
1774
1792
|
);
|
|
1775
1793
|
expectTypesMatch(true);
|
|
1776
|
-
var pcb_hole_circle_or_square =
|
|
1777
|
-
type:
|
|
1794
|
+
var pcb_hole_circle_or_square = z93.object({
|
|
1795
|
+
type: z93.literal("pcb_hole"),
|
|
1778
1796
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1779
|
-
pcb_group_id:
|
|
1780
|
-
subcircuit_id:
|
|
1781
|
-
pcb_component_id:
|
|
1782
|
-
hole_shape:
|
|
1783
|
-
hole_diameter:
|
|
1797
|
+
pcb_group_id: z93.string().optional(),
|
|
1798
|
+
subcircuit_id: z93.string().optional(),
|
|
1799
|
+
pcb_component_id: z93.string().optional(),
|
|
1800
|
+
hole_shape: z93.enum(["circle", "square"]),
|
|
1801
|
+
hole_diameter: z93.number(),
|
|
1784
1802
|
x: distance,
|
|
1785
1803
|
y: distance,
|
|
1786
|
-
is_covered_with_solder_mask:
|
|
1787
|
-
soldermask_margin:
|
|
1804
|
+
is_covered_with_solder_mask: z93.boolean().optional(),
|
|
1805
|
+
soldermask_margin: z93.number().optional()
|
|
1788
1806
|
});
|
|
1789
1807
|
var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
|
|
1790
1808
|
"Defines a circular or square hole on the PCB"
|
|
1791
1809
|
);
|
|
1792
1810
|
expectTypesMatch(true);
|
|
1793
|
-
var pcb_hole_oval =
|
|
1794
|
-
type:
|
|
1811
|
+
var pcb_hole_oval = z93.object({
|
|
1812
|
+
type: z93.literal("pcb_hole"),
|
|
1795
1813
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1796
|
-
pcb_group_id:
|
|
1797
|
-
subcircuit_id:
|
|
1798
|
-
pcb_component_id:
|
|
1799
|
-
hole_shape:
|
|
1800
|
-
hole_width:
|
|
1801
|
-
hole_height:
|
|
1814
|
+
pcb_group_id: z93.string().optional(),
|
|
1815
|
+
subcircuit_id: z93.string().optional(),
|
|
1816
|
+
pcb_component_id: z93.string().optional(),
|
|
1817
|
+
hole_shape: z93.literal("oval"),
|
|
1818
|
+
hole_width: z93.number(),
|
|
1819
|
+
hole_height: z93.number(),
|
|
1802
1820
|
x: distance,
|
|
1803
1821
|
y: distance,
|
|
1804
|
-
is_covered_with_solder_mask:
|
|
1805
|
-
soldermask_margin:
|
|
1822
|
+
is_covered_with_solder_mask: z93.boolean().optional(),
|
|
1823
|
+
soldermask_margin: z93.number().optional()
|
|
1806
1824
|
});
|
|
1807
1825
|
var pcb_hole_oval_shape = pcb_hole_oval.describe(
|
|
1808
1826
|
"Defines an oval hole on the PCB"
|
|
1809
1827
|
);
|
|
1810
1828
|
expectTypesMatch(true);
|
|
1811
|
-
var pcb_hole_pill =
|
|
1812
|
-
type:
|
|
1829
|
+
var pcb_hole_pill = z93.object({
|
|
1830
|
+
type: z93.literal("pcb_hole"),
|
|
1813
1831
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1814
|
-
pcb_group_id:
|
|
1815
|
-
subcircuit_id:
|
|
1816
|
-
pcb_component_id:
|
|
1817
|
-
hole_shape:
|
|
1818
|
-
hole_width:
|
|
1819
|
-
hole_height:
|
|
1832
|
+
pcb_group_id: z93.string().optional(),
|
|
1833
|
+
subcircuit_id: z93.string().optional(),
|
|
1834
|
+
pcb_component_id: z93.string().optional(),
|
|
1835
|
+
hole_shape: z93.literal("pill"),
|
|
1836
|
+
hole_width: z93.number(),
|
|
1837
|
+
hole_height: z93.number(),
|
|
1820
1838
|
x: distance,
|
|
1821
1839
|
y: distance,
|
|
1822
|
-
is_covered_with_solder_mask:
|
|
1823
|
-
soldermask_margin:
|
|
1840
|
+
is_covered_with_solder_mask: z93.boolean().optional(),
|
|
1841
|
+
soldermask_margin: z93.number().optional()
|
|
1824
1842
|
});
|
|
1825
1843
|
var pcb_hole_pill_shape = pcb_hole_pill.describe(
|
|
1826
1844
|
"Defines a pill-shaped hole on the PCB"
|
|
1827
1845
|
);
|
|
1828
1846
|
expectTypesMatch(true);
|
|
1829
|
-
var pcb_hole_rotated_pill =
|
|
1830
|
-
type:
|
|
1847
|
+
var pcb_hole_rotated_pill = z93.object({
|
|
1848
|
+
type: z93.literal("pcb_hole"),
|
|
1831
1849
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1832
|
-
pcb_group_id:
|
|
1833
|
-
subcircuit_id:
|
|
1834
|
-
pcb_component_id:
|
|
1835
|
-
hole_shape:
|
|
1836
|
-
hole_width:
|
|
1837
|
-
hole_height:
|
|
1850
|
+
pcb_group_id: z93.string().optional(),
|
|
1851
|
+
subcircuit_id: z93.string().optional(),
|
|
1852
|
+
pcb_component_id: z93.string().optional(),
|
|
1853
|
+
hole_shape: z93.literal("rotated_pill"),
|
|
1854
|
+
hole_width: z93.number(),
|
|
1855
|
+
hole_height: z93.number(),
|
|
1838
1856
|
x: distance,
|
|
1839
1857
|
y: distance,
|
|
1840
1858
|
ccw_rotation: rotation,
|
|
1841
|
-
is_covered_with_solder_mask:
|
|
1842
|
-
soldermask_margin:
|
|
1859
|
+
is_covered_with_solder_mask: z93.boolean().optional(),
|
|
1860
|
+
soldermask_margin: z93.number().optional()
|
|
1843
1861
|
});
|
|
1844
1862
|
var pcb_hole_rotated_pill_shape = pcb_hole_rotated_pill.describe(
|
|
1845
1863
|
"Defines a rotated pill-shaped hole on the PCB"
|
|
@@ -1848,147 +1866,147 @@ expectTypesMatch(true);
|
|
|
1848
1866
|
var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval).or(pcb_hole_pill).or(pcb_hole_rotated_pill).or(pcb_hole_circle).or(pcb_hole_rect);
|
|
1849
1867
|
|
|
1850
1868
|
// src/pcb/pcb_plated_hole.ts
|
|
1851
|
-
import { z as
|
|
1852
|
-
var pcb_plated_hole_circle =
|
|
1853
|
-
type:
|
|
1854
|
-
shape:
|
|
1855
|
-
pcb_group_id:
|
|
1856
|
-
subcircuit_id:
|
|
1857
|
-
outer_diameter:
|
|
1858
|
-
hole_diameter:
|
|
1859
|
-
is_covered_with_solder_mask:
|
|
1869
|
+
import { z as z94 } from "zod";
|
|
1870
|
+
var pcb_plated_hole_circle = z94.object({
|
|
1871
|
+
type: z94.literal("pcb_plated_hole"),
|
|
1872
|
+
shape: z94.literal("circle"),
|
|
1873
|
+
pcb_group_id: z94.string().optional(),
|
|
1874
|
+
subcircuit_id: z94.string().optional(),
|
|
1875
|
+
outer_diameter: z94.number(),
|
|
1876
|
+
hole_diameter: z94.number(),
|
|
1877
|
+
is_covered_with_solder_mask: z94.boolean().optional(),
|
|
1860
1878
|
x: distance,
|
|
1861
1879
|
y: distance,
|
|
1862
|
-
layers:
|
|
1863
|
-
port_hints:
|
|
1864
|
-
pcb_component_id:
|
|
1865
|
-
pcb_port_id:
|
|
1880
|
+
layers: z94.array(layer_ref),
|
|
1881
|
+
port_hints: z94.array(z94.string()).optional(),
|
|
1882
|
+
pcb_component_id: z94.string().optional(),
|
|
1883
|
+
pcb_port_id: z94.string().optional(),
|
|
1866
1884
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1867
|
-
soldermask_margin:
|
|
1885
|
+
soldermask_margin: z94.number().optional()
|
|
1868
1886
|
});
|
|
1869
|
-
var pcb_plated_hole_oval =
|
|
1870
|
-
type:
|
|
1871
|
-
shape:
|
|
1872
|
-
pcb_group_id:
|
|
1873
|
-
subcircuit_id:
|
|
1874
|
-
outer_width:
|
|
1875
|
-
outer_height:
|
|
1876
|
-
hole_width:
|
|
1877
|
-
hole_height:
|
|
1878
|
-
is_covered_with_solder_mask:
|
|
1887
|
+
var pcb_plated_hole_oval = z94.object({
|
|
1888
|
+
type: z94.literal("pcb_plated_hole"),
|
|
1889
|
+
shape: z94.enum(["oval", "pill"]),
|
|
1890
|
+
pcb_group_id: z94.string().optional(),
|
|
1891
|
+
subcircuit_id: z94.string().optional(),
|
|
1892
|
+
outer_width: z94.number(),
|
|
1893
|
+
outer_height: z94.number(),
|
|
1894
|
+
hole_width: z94.number(),
|
|
1895
|
+
hole_height: z94.number(),
|
|
1896
|
+
is_covered_with_solder_mask: z94.boolean().optional(),
|
|
1879
1897
|
x: distance,
|
|
1880
1898
|
y: distance,
|
|
1881
1899
|
ccw_rotation: rotation,
|
|
1882
|
-
layers:
|
|
1883
|
-
port_hints:
|
|
1884
|
-
pcb_component_id:
|
|
1885
|
-
pcb_port_id:
|
|
1900
|
+
layers: z94.array(layer_ref),
|
|
1901
|
+
port_hints: z94.array(z94.string()).optional(),
|
|
1902
|
+
pcb_component_id: z94.string().optional(),
|
|
1903
|
+
pcb_port_id: z94.string().optional(),
|
|
1886
1904
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1887
|
-
soldermask_margin:
|
|
1905
|
+
soldermask_margin: z94.number().optional()
|
|
1888
1906
|
});
|
|
1889
|
-
var pcb_circular_hole_with_rect_pad =
|
|
1890
|
-
type:
|
|
1891
|
-
shape:
|
|
1892
|
-
pcb_group_id:
|
|
1893
|
-
subcircuit_id:
|
|
1894
|
-
hole_shape:
|
|
1895
|
-
pad_shape:
|
|
1896
|
-
hole_diameter:
|
|
1897
|
-
rect_pad_width:
|
|
1898
|
-
rect_pad_height:
|
|
1899
|
-
rect_border_radius:
|
|
1907
|
+
var pcb_circular_hole_with_rect_pad = z94.object({
|
|
1908
|
+
type: z94.literal("pcb_plated_hole"),
|
|
1909
|
+
shape: z94.literal("circular_hole_with_rect_pad"),
|
|
1910
|
+
pcb_group_id: z94.string().optional(),
|
|
1911
|
+
subcircuit_id: z94.string().optional(),
|
|
1912
|
+
hole_shape: z94.literal("circle"),
|
|
1913
|
+
pad_shape: z94.literal("rect"),
|
|
1914
|
+
hole_diameter: z94.number(),
|
|
1915
|
+
rect_pad_width: z94.number(),
|
|
1916
|
+
rect_pad_height: z94.number(),
|
|
1917
|
+
rect_border_radius: z94.number().optional(),
|
|
1900
1918
|
hole_offset_x: distance.default(0),
|
|
1901
1919
|
hole_offset_y: distance.default(0),
|
|
1902
|
-
is_covered_with_solder_mask:
|
|
1920
|
+
is_covered_with_solder_mask: z94.boolean().optional(),
|
|
1903
1921
|
x: distance,
|
|
1904
1922
|
y: distance,
|
|
1905
|
-
layers:
|
|
1906
|
-
port_hints:
|
|
1907
|
-
pcb_component_id:
|
|
1908
|
-
pcb_port_id:
|
|
1923
|
+
layers: z94.array(layer_ref),
|
|
1924
|
+
port_hints: z94.array(z94.string()).optional(),
|
|
1925
|
+
pcb_component_id: z94.string().optional(),
|
|
1926
|
+
pcb_port_id: z94.string().optional(),
|
|
1909
1927
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1910
|
-
soldermask_margin:
|
|
1928
|
+
soldermask_margin: z94.number().optional(),
|
|
1911
1929
|
rect_ccw_rotation: rotation.optional()
|
|
1912
1930
|
});
|
|
1913
|
-
var pcb_pill_hole_with_rect_pad =
|
|
1914
|
-
type:
|
|
1915
|
-
shape:
|
|
1916
|
-
pcb_group_id:
|
|
1917
|
-
subcircuit_id:
|
|
1918
|
-
hole_shape:
|
|
1919
|
-
pad_shape:
|
|
1920
|
-
hole_width:
|
|
1921
|
-
hole_height:
|
|
1922
|
-
rect_pad_width:
|
|
1923
|
-
rect_pad_height:
|
|
1924
|
-
rect_border_radius:
|
|
1931
|
+
var pcb_pill_hole_with_rect_pad = z94.object({
|
|
1932
|
+
type: z94.literal("pcb_plated_hole"),
|
|
1933
|
+
shape: z94.literal("pill_hole_with_rect_pad"),
|
|
1934
|
+
pcb_group_id: z94.string().optional(),
|
|
1935
|
+
subcircuit_id: z94.string().optional(),
|
|
1936
|
+
hole_shape: z94.literal("pill"),
|
|
1937
|
+
pad_shape: z94.literal("rect"),
|
|
1938
|
+
hole_width: z94.number(),
|
|
1939
|
+
hole_height: z94.number(),
|
|
1940
|
+
rect_pad_width: z94.number(),
|
|
1941
|
+
rect_pad_height: z94.number(),
|
|
1942
|
+
rect_border_radius: z94.number().optional(),
|
|
1925
1943
|
hole_offset_x: distance.default(0),
|
|
1926
1944
|
hole_offset_y: distance.default(0),
|
|
1927
|
-
is_covered_with_solder_mask:
|
|
1945
|
+
is_covered_with_solder_mask: z94.boolean().optional(),
|
|
1928
1946
|
x: distance,
|
|
1929
1947
|
y: distance,
|
|
1930
|
-
layers:
|
|
1931
|
-
port_hints:
|
|
1932
|
-
pcb_component_id:
|
|
1933
|
-
pcb_port_id:
|
|
1948
|
+
layers: z94.array(layer_ref),
|
|
1949
|
+
port_hints: z94.array(z94.string()).optional(),
|
|
1950
|
+
pcb_component_id: z94.string().optional(),
|
|
1951
|
+
pcb_port_id: z94.string().optional(),
|
|
1934
1952
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1935
|
-
soldermask_margin:
|
|
1953
|
+
soldermask_margin: z94.number().optional()
|
|
1936
1954
|
});
|
|
1937
|
-
var pcb_rotated_pill_hole_with_rect_pad =
|
|
1938
|
-
type:
|
|
1939
|
-
shape:
|
|
1940
|
-
pcb_group_id:
|
|
1941
|
-
subcircuit_id:
|
|
1942
|
-
hole_shape:
|
|
1943
|
-
pad_shape:
|
|
1944
|
-
hole_width:
|
|
1945
|
-
hole_height:
|
|
1955
|
+
var pcb_rotated_pill_hole_with_rect_pad = z94.object({
|
|
1956
|
+
type: z94.literal("pcb_plated_hole"),
|
|
1957
|
+
shape: z94.literal("rotated_pill_hole_with_rect_pad"),
|
|
1958
|
+
pcb_group_id: z94.string().optional(),
|
|
1959
|
+
subcircuit_id: z94.string().optional(),
|
|
1960
|
+
hole_shape: z94.literal("rotated_pill"),
|
|
1961
|
+
pad_shape: z94.literal("rect"),
|
|
1962
|
+
hole_width: z94.number(),
|
|
1963
|
+
hole_height: z94.number(),
|
|
1946
1964
|
hole_ccw_rotation: rotation,
|
|
1947
|
-
rect_pad_width:
|
|
1948
|
-
rect_pad_height:
|
|
1949
|
-
rect_border_radius:
|
|
1965
|
+
rect_pad_width: z94.number(),
|
|
1966
|
+
rect_pad_height: z94.number(),
|
|
1967
|
+
rect_border_radius: z94.number().optional(),
|
|
1950
1968
|
rect_ccw_rotation: rotation,
|
|
1951
1969
|
hole_offset_x: distance.default(0),
|
|
1952
1970
|
hole_offset_y: distance.default(0),
|
|
1953
|
-
is_covered_with_solder_mask:
|
|
1971
|
+
is_covered_with_solder_mask: z94.boolean().optional(),
|
|
1954
1972
|
x: distance,
|
|
1955
1973
|
y: distance,
|
|
1956
|
-
layers:
|
|
1957
|
-
port_hints:
|
|
1958
|
-
pcb_component_id:
|
|
1959
|
-
pcb_port_id:
|
|
1974
|
+
layers: z94.array(layer_ref),
|
|
1975
|
+
port_hints: z94.array(z94.string()).optional(),
|
|
1976
|
+
pcb_component_id: z94.string().optional(),
|
|
1977
|
+
pcb_port_id: z94.string().optional(),
|
|
1960
1978
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1961
|
-
soldermask_margin:
|
|
1979
|
+
soldermask_margin: z94.number().optional()
|
|
1962
1980
|
});
|
|
1963
|
-
var pcb_hole_with_polygon_pad =
|
|
1964
|
-
type:
|
|
1965
|
-
shape:
|
|
1966
|
-
pcb_group_id:
|
|
1967
|
-
subcircuit_id:
|
|
1968
|
-
hole_shape:
|
|
1969
|
-
hole_diameter:
|
|
1970
|
-
hole_width:
|
|
1971
|
-
hole_height:
|
|
1972
|
-
pad_outline:
|
|
1973
|
-
|
|
1981
|
+
var pcb_hole_with_polygon_pad = z94.object({
|
|
1982
|
+
type: z94.literal("pcb_plated_hole"),
|
|
1983
|
+
shape: z94.literal("hole_with_polygon_pad"),
|
|
1984
|
+
pcb_group_id: z94.string().optional(),
|
|
1985
|
+
subcircuit_id: z94.string().optional(),
|
|
1986
|
+
hole_shape: z94.enum(["circle", "oval", "pill", "rotated_pill"]),
|
|
1987
|
+
hole_diameter: z94.number().optional(),
|
|
1988
|
+
hole_width: z94.number().optional(),
|
|
1989
|
+
hole_height: z94.number().optional(),
|
|
1990
|
+
pad_outline: z94.array(
|
|
1991
|
+
z94.object({
|
|
1974
1992
|
x: distance,
|
|
1975
1993
|
y: distance
|
|
1976
1994
|
})
|
|
1977
1995
|
).min(3),
|
|
1978
1996
|
hole_offset_x: distance.default(0),
|
|
1979
1997
|
hole_offset_y: distance.default(0),
|
|
1980
|
-
is_covered_with_solder_mask:
|
|
1998
|
+
is_covered_with_solder_mask: z94.boolean().optional(),
|
|
1981
1999
|
x: distance,
|
|
1982
2000
|
y: distance,
|
|
1983
|
-
layers:
|
|
1984
|
-
port_hints:
|
|
1985
|
-
pcb_component_id:
|
|
1986
|
-
pcb_port_id:
|
|
2001
|
+
layers: z94.array(layer_ref),
|
|
2002
|
+
port_hints: z94.array(z94.string()).optional(),
|
|
2003
|
+
pcb_component_id: z94.string().optional(),
|
|
2004
|
+
pcb_port_id: z94.string().optional(),
|
|
1987
2005
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1988
|
-
soldermask_margin:
|
|
2006
|
+
soldermask_margin: z94.number().optional(),
|
|
1989
2007
|
ccw_rotation: rotation.optional()
|
|
1990
2008
|
});
|
|
1991
|
-
var pcb_plated_hole =
|
|
2009
|
+
var pcb_plated_hole = z94.union([
|
|
1992
2010
|
pcb_plated_hole_circle,
|
|
1993
2011
|
pcb_plated_hole_oval,
|
|
1994
2012
|
pcb_circular_hole_with_rect_pad,
|
|
@@ -2006,138 +2024,138 @@ expectTypesMatch(true);
|
|
|
2006
2024
|
expectTypesMatch(true);
|
|
2007
2025
|
|
|
2008
2026
|
// src/pcb/pcb_port.ts
|
|
2009
|
-
import { z as
|
|
2010
|
-
var pcb_port =
|
|
2011
|
-
type:
|
|
2027
|
+
import { z as z95 } from "zod";
|
|
2028
|
+
var pcb_port = z95.object({
|
|
2029
|
+
type: z95.literal("pcb_port"),
|
|
2012
2030
|
pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
|
|
2013
|
-
pcb_group_id:
|
|
2014
|
-
subcircuit_id:
|
|
2015
|
-
source_port_id:
|
|
2016
|
-
pcb_component_id:
|
|
2031
|
+
pcb_group_id: z95.string().optional(),
|
|
2032
|
+
subcircuit_id: z95.string().optional(),
|
|
2033
|
+
source_port_id: z95.string(),
|
|
2034
|
+
pcb_component_id: z95.string().optional(),
|
|
2017
2035
|
x: distance,
|
|
2018
2036
|
y: distance,
|
|
2019
|
-
layers:
|
|
2020
|
-
is_board_pinout:
|
|
2037
|
+
layers: z95.array(layer_ref),
|
|
2038
|
+
is_board_pinout: z95.boolean().optional()
|
|
2021
2039
|
}).describe("Defines a port on the PCB");
|
|
2022
2040
|
expectTypesMatch(true);
|
|
2023
2041
|
|
|
2024
2042
|
// src/pcb/pcb_smtpad.ts
|
|
2025
|
-
import { z as
|
|
2026
|
-
var pcb_smtpad_circle =
|
|
2027
|
-
type:
|
|
2028
|
-
shape:
|
|
2043
|
+
import { z as z96 } from "zod";
|
|
2044
|
+
var pcb_smtpad_circle = z96.object({
|
|
2045
|
+
type: z96.literal("pcb_smtpad"),
|
|
2046
|
+
shape: z96.literal("circle"),
|
|
2029
2047
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
2030
|
-
pcb_group_id:
|
|
2031
|
-
subcircuit_id:
|
|
2048
|
+
pcb_group_id: z96.string().optional(),
|
|
2049
|
+
subcircuit_id: z96.string().optional(),
|
|
2032
2050
|
x: distance,
|
|
2033
2051
|
y: distance,
|
|
2034
|
-
radius:
|
|
2052
|
+
radius: z96.number(),
|
|
2035
2053
|
layer: layer_ref,
|
|
2036
|
-
port_hints:
|
|
2037
|
-
pcb_component_id:
|
|
2038
|
-
pcb_port_id:
|
|
2039
|
-
is_covered_with_solder_mask:
|
|
2040
|
-
soldermask_margin:
|
|
2054
|
+
port_hints: z96.array(z96.string()).optional(),
|
|
2055
|
+
pcb_component_id: z96.string().optional(),
|
|
2056
|
+
pcb_port_id: z96.string().optional(),
|
|
2057
|
+
is_covered_with_solder_mask: z96.boolean().optional(),
|
|
2058
|
+
soldermask_margin: z96.number().optional()
|
|
2041
2059
|
});
|
|
2042
|
-
var pcb_smtpad_rect =
|
|
2043
|
-
type:
|
|
2044
|
-
shape:
|
|
2060
|
+
var pcb_smtpad_rect = z96.object({
|
|
2061
|
+
type: z96.literal("pcb_smtpad"),
|
|
2062
|
+
shape: z96.literal("rect"),
|
|
2045
2063
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
2046
|
-
pcb_group_id:
|
|
2047
|
-
subcircuit_id:
|
|
2064
|
+
pcb_group_id: z96.string().optional(),
|
|
2065
|
+
subcircuit_id: z96.string().optional(),
|
|
2048
2066
|
x: distance,
|
|
2049
2067
|
y: distance,
|
|
2050
|
-
width:
|
|
2051
|
-
height:
|
|
2052
|
-
rect_border_radius:
|
|
2053
|
-
corner_radius:
|
|
2068
|
+
width: z96.number(),
|
|
2069
|
+
height: z96.number(),
|
|
2070
|
+
rect_border_radius: z96.number().optional(),
|
|
2071
|
+
corner_radius: z96.number().optional(),
|
|
2054
2072
|
layer: layer_ref,
|
|
2055
|
-
port_hints:
|
|
2056
|
-
pcb_component_id:
|
|
2057
|
-
pcb_port_id:
|
|
2058
|
-
is_covered_with_solder_mask:
|
|
2059
|
-
soldermask_margin:
|
|
2060
|
-
soldermask_margin_left:
|
|
2061
|
-
soldermask_margin_top:
|
|
2062
|
-
soldermask_margin_right:
|
|
2063
|
-
soldermask_margin_bottom:
|
|
2064
|
-
});
|
|
2065
|
-
var pcb_smtpad_rotated_rect =
|
|
2066
|
-
type:
|
|
2067
|
-
shape:
|
|
2073
|
+
port_hints: z96.array(z96.string()).optional(),
|
|
2074
|
+
pcb_component_id: z96.string().optional(),
|
|
2075
|
+
pcb_port_id: z96.string().optional(),
|
|
2076
|
+
is_covered_with_solder_mask: z96.boolean().optional(),
|
|
2077
|
+
soldermask_margin: z96.number().optional(),
|
|
2078
|
+
soldermask_margin_left: z96.number().optional(),
|
|
2079
|
+
soldermask_margin_top: z96.number().optional(),
|
|
2080
|
+
soldermask_margin_right: z96.number().optional(),
|
|
2081
|
+
soldermask_margin_bottom: z96.number().optional()
|
|
2082
|
+
});
|
|
2083
|
+
var pcb_smtpad_rotated_rect = z96.object({
|
|
2084
|
+
type: z96.literal("pcb_smtpad"),
|
|
2085
|
+
shape: z96.literal("rotated_rect"),
|
|
2068
2086
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
2069
|
-
pcb_group_id:
|
|
2070
|
-
subcircuit_id:
|
|
2087
|
+
pcb_group_id: z96.string().optional(),
|
|
2088
|
+
subcircuit_id: z96.string().optional(),
|
|
2071
2089
|
x: distance,
|
|
2072
2090
|
y: distance,
|
|
2073
|
-
width:
|
|
2074
|
-
height:
|
|
2075
|
-
rect_border_radius:
|
|
2076
|
-
corner_radius:
|
|
2091
|
+
width: z96.number(),
|
|
2092
|
+
height: z96.number(),
|
|
2093
|
+
rect_border_radius: z96.number().optional(),
|
|
2094
|
+
corner_radius: z96.number().optional(),
|
|
2077
2095
|
ccw_rotation: rotation,
|
|
2078
2096
|
layer: layer_ref,
|
|
2079
|
-
port_hints:
|
|
2080
|
-
pcb_component_id:
|
|
2081
|
-
pcb_port_id:
|
|
2082
|
-
is_covered_with_solder_mask:
|
|
2083
|
-
soldermask_margin:
|
|
2084
|
-
soldermask_margin_left:
|
|
2085
|
-
soldermask_margin_top:
|
|
2086
|
-
soldermask_margin_right:
|
|
2087
|
-
soldermask_margin_bottom:
|
|
2088
|
-
});
|
|
2089
|
-
var pcb_smtpad_pill =
|
|
2090
|
-
type:
|
|
2091
|
-
shape:
|
|
2097
|
+
port_hints: z96.array(z96.string()).optional(),
|
|
2098
|
+
pcb_component_id: z96.string().optional(),
|
|
2099
|
+
pcb_port_id: z96.string().optional(),
|
|
2100
|
+
is_covered_with_solder_mask: z96.boolean().optional(),
|
|
2101
|
+
soldermask_margin: z96.number().optional(),
|
|
2102
|
+
soldermask_margin_left: z96.number().optional(),
|
|
2103
|
+
soldermask_margin_top: z96.number().optional(),
|
|
2104
|
+
soldermask_margin_right: z96.number().optional(),
|
|
2105
|
+
soldermask_margin_bottom: z96.number().optional()
|
|
2106
|
+
});
|
|
2107
|
+
var pcb_smtpad_pill = z96.object({
|
|
2108
|
+
type: z96.literal("pcb_smtpad"),
|
|
2109
|
+
shape: z96.literal("pill"),
|
|
2092
2110
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
2093
|
-
pcb_group_id:
|
|
2094
|
-
subcircuit_id:
|
|
2111
|
+
pcb_group_id: z96.string().optional(),
|
|
2112
|
+
subcircuit_id: z96.string().optional(),
|
|
2095
2113
|
x: distance,
|
|
2096
2114
|
y: distance,
|
|
2097
|
-
width:
|
|
2098
|
-
height:
|
|
2099
|
-
radius:
|
|
2115
|
+
width: z96.number(),
|
|
2116
|
+
height: z96.number(),
|
|
2117
|
+
radius: z96.number(),
|
|
2100
2118
|
layer: layer_ref,
|
|
2101
|
-
port_hints:
|
|
2102
|
-
pcb_component_id:
|
|
2103
|
-
pcb_port_id:
|
|
2104
|
-
is_covered_with_solder_mask:
|
|
2105
|
-
soldermask_margin:
|
|
2119
|
+
port_hints: z96.array(z96.string()).optional(),
|
|
2120
|
+
pcb_component_id: z96.string().optional(),
|
|
2121
|
+
pcb_port_id: z96.string().optional(),
|
|
2122
|
+
is_covered_with_solder_mask: z96.boolean().optional(),
|
|
2123
|
+
soldermask_margin: z96.number().optional()
|
|
2106
2124
|
});
|
|
2107
|
-
var pcb_smtpad_rotated_pill =
|
|
2108
|
-
type:
|
|
2109
|
-
shape:
|
|
2125
|
+
var pcb_smtpad_rotated_pill = z96.object({
|
|
2126
|
+
type: z96.literal("pcb_smtpad"),
|
|
2127
|
+
shape: z96.literal("rotated_pill"),
|
|
2110
2128
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
2111
|
-
pcb_group_id:
|
|
2112
|
-
subcircuit_id:
|
|
2129
|
+
pcb_group_id: z96.string().optional(),
|
|
2130
|
+
subcircuit_id: z96.string().optional(),
|
|
2113
2131
|
x: distance,
|
|
2114
2132
|
y: distance,
|
|
2115
|
-
width:
|
|
2116
|
-
height:
|
|
2117
|
-
radius:
|
|
2133
|
+
width: z96.number(),
|
|
2134
|
+
height: z96.number(),
|
|
2135
|
+
radius: z96.number(),
|
|
2118
2136
|
ccw_rotation: rotation,
|
|
2119
2137
|
layer: layer_ref,
|
|
2120
|
-
port_hints:
|
|
2121
|
-
pcb_component_id:
|
|
2122
|
-
pcb_port_id:
|
|
2123
|
-
is_covered_with_solder_mask:
|
|
2124
|
-
soldermask_margin:
|
|
2138
|
+
port_hints: z96.array(z96.string()).optional(),
|
|
2139
|
+
pcb_component_id: z96.string().optional(),
|
|
2140
|
+
pcb_port_id: z96.string().optional(),
|
|
2141
|
+
is_covered_with_solder_mask: z96.boolean().optional(),
|
|
2142
|
+
soldermask_margin: z96.number().optional()
|
|
2125
2143
|
});
|
|
2126
|
-
var pcb_smtpad_polygon =
|
|
2127
|
-
type:
|
|
2128
|
-
shape:
|
|
2144
|
+
var pcb_smtpad_polygon = z96.object({
|
|
2145
|
+
type: z96.literal("pcb_smtpad"),
|
|
2146
|
+
shape: z96.literal("polygon"),
|
|
2129
2147
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
2130
|
-
pcb_group_id:
|
|
2131
|
-
subcircuit_id:
|
|
2132
|
-
points:
|
|
2148
|
+
pcb_group_id: z96.string().optional(),
|
|
2149
|
+
subcircuit_id: z96.string().optional(),
|
|
2150
|
+
points: z96.array(point),
|
|
2133
2151
|
layer: layer_ref,
|
|
2134
|
-
port_hints:
|
|
2135
|
-
pcb_component_id:
|
|
2136
|
-
pcb_port_id:
|
|
2137
|
-
is_covered_with_solder_mask:
|
|
2138
|
-
soldermask_margin:
|
|
2152
|
+
port_hints: z96.array(z96.string()).optional(),
|
|
2153
|
+
pcb_component_id: z96.string().optional(),
|
|
2154
|
+
pcb_port_id: z96.string().optional(),
|
|
2155
|
+
is_covered_with_solder_mask: z96.boolean().optional(),
|
|
2156
|
+
soldermask_margin: z96.number().optional()
|
|
2139
2157
|
});
|
|
2140
|
-
var pcb_smtpad =
|
|
2158
|
+
var pcb_smtpad = z96.discriminatedUnion("shape", [
|
|
2141
2159
|
pcb_smtpad_circle,
|
|
2142
2160
|
pcb_smtpad_rect,
|
|
2143
2161
|
pcb_smtpad_rotated_rect,
|
|
@@ -2153,79 +2171,79 @@ expectTypesMatch(true);
|
|
|
2153
2171
|
expectTypesMatch(true);
|
|
2154
2172
|
|
|
2155
2173
|
// src/pcb/pcb_solder_paste.ts
|
|
2156
|
-
import { z as
|
|
2157
|
-
var pcb_solder_paste_circle =
|
|
2158
|
-
type:
|
|
2159
|
-
shape:
|
|
2174
|
+
import { z as z97 } from "zod";
|
|
2175
|
+
var pcb_solder_paste_circle = z97.object({
|
|
2176
|
+
type: z97.literal("pcb_solder_paste"),
|
|
2177
|
+
shape: z97.literal("circle"),
|
|
2160
2178
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2161
|
-
pcb_group_id:
|
|
2162
|
-
subcircuit_id:
|
|
2179
|
+
pcb_group_id: z97.string().optional(),
|
|
2180
|
+
subcircuit_id: z97.string().optional(),
|
|
2163
2181
|
x: distance,
|
|
2164
2182
|
y: distance,
|
|
2165
|
-
radius:
|
|
2183
|
+
radius: z97.number(),
|
|
2166
2184
|
layer: layer_ref,
|
|
2167
|
-
pcb_component_id:
|
|
2168
|
-
pcb_smtpad_id:
|
|
2185
|
+
pcb_component_id: z97.string().optional(),
|
|
2186
|
+
pcb_smtpad_id: z97.string().optional()
|
|
2169
2187
|
});
|
|
2170
|
-
var pcb_solder_paste_rect =
|
|
2171
|
-
type:
|
|
2172
|
-
shape:
|
|
2188
|
+
var pcb_solder_paste_rect = z97.object({
|
|
2189
|
+
type: z97.literal("pcb_solder_paste"),
|
|
2190
|
+
shape: z97.literal("rect"),
|
|
2173
2191
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2174
|
-
pcb_group_id:
|
|
2175
|
-
subcircuit_id:
|
|
2192
|
+
pcb_group_id: z97.string().optional(),
|
|
2193
|
+
subcircuit_id: z97.string().optional(),
|
|
2176
2194
|
x: distance,
|
|
2177
2195
|
y: distance,
|
|
2178
|
-
width:
|
|
2179
|
-
height:
|
|
2196
|
+
width: z97.number(),
|
|
2197
|
+
height: z97.number(),
|
|
2180
2198
|
layer: layer_ref,
|
|
2181
|
-
pcb_component_id:
|
|
2182
|
-
pcb_smtpad_id:
|
|
2199
|
+
pcb_component_id: z97.string().optional(),
|
|
2200
|
+
pcb_smtpad_id: z97.string().optional()
|
|
2183
2201
|
});
|
|
2184
|
-
var pcb_solder_paste_pill =
|
|
2185
|
-
type:
|
|
2186
|
-
shape:
|
|
2202
|
+
var pcb_solder_paste_pill = z97.object({
|
|
2203
|
+
type: z97.literal("pcb_solder_paste"),
|
|
2204
|
+
shape: z97.literal("pill"),
|
|
2187
2205
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2188
|
-
pcb_group_id:
|
|
2189
|
-
subcircuit_id:
|
|
2206
|
+
pcb_group_id: z97.string().optional(),
|
|
2207
|
+
subcircuit_id: z97.string().optional(),
|
|
2190
2208
|
x: distance,
|
|
2191
2209
|
y: distance,
|
|
2192
|
-
width:
|
|
2193
|
-
height:
|
|
2194
|
-
radius:
|
|
2210
|
+
width: z97.number(),
|
|
2211
|
+
height: z97.number(),
|
|
2212
|
+
radius: z97.number(),
|
|
2195
2213
|
layer: layer_ref,
|
|
2196
|
-
pcb_component_id:
|
|
2197
|
-
pcb_smtpad_id:
|
|
2214
|
+
pcb_component_id: z97.string().optional(),
|
|
2215
|
+
pcb_smtpad_id: z97.string().optional()
|
|
2198
2216
|
});
|
|
2199
|
-
var pcb_solder_paste_rotated_rect =
|
|
2200
|
-
type:
|
|
2201
|
-
shape:
|
|
2217
|
+
var pcb_solder_paste_rotated_rect = z97.object({
|
|
2218
|
+
type: z97.literal("pcb_solder_paste"),
|
|
2219
|
+
shape: z97.literal("rotated_rect"),
|
|
2202
2220
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2203
|
-
pcb_group_id:
|
|
2204
|
-
subcircuit_id:
|
|
2221
|
+
pcb_group_id: z97.string().optional(),
|
|
2222
|
+
subcircuit_id: z97.string().optional(),
|
|
2205
2223
|
x: distance,
|
|
2206
2224
|
y: distance,
|
|
2207
|
-
width:
|
|
2208
|
-
height:
|
|
2225
|
+
width: z97.number(),
|
|
2226
|
+
height: z97.number(),
|
|
2209
2227
|
ccw_rotation: distance,
|
|
2210
2228
|
layer: layer_ref,
|
|
2211
|
-
pcb_component_id:
|
|
2212
|
-
pcb_smtpad_id:
|
|
2229
|
+
pcb_component_id: z97.string().optional(),
|
|
2230
|
+
pcb_smtpad_id: z97.string().optional()
|
|
2213
2231
|
});
|
|
2214
|
-
var pcb_solder_paste_oval =
|
|
2215
|
-
type:
|
|
2216
|
-
shape:
|
|
2232
|
+
var pcb_solder_paste_oval = z97.object({
|
|
2233
|
+
type: z97.literal("pcb_solder_paste"),
|
|
2234
|
+
shape: z97.literal("oval"),
|
|
2217
2235
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2218
|
-
pcb_group_id:
|
|
2219
|
-
subcircuit_id:
|
|
2236
|
+
pcb_group_id: z97.string().optional(),
|
|
2237
|
+
subcircuit_id: z97.string().optional(),
|
|
2220
2238
|
x: distance,
|
|
2221
2239
|
y: distance,
|
|
2222
|
-
width:
|
|
2223
|
-
height:
|
|
2240
|
+
width: z97.number(),
|
|
2241
|
+
height: z97.number(),
|
|
2224
2242
|
layer: layer_ref,
|
|
2225
|
-
pcb_component_id:
|
|
2226
|
-
pcb_smtpad_id:
|
|
2243
|
+
pcb_component_id: z97.string().optional(),
|
|
2244
|
+
pcb_smtpad_id: z97.string().optional()
|
|
2227
2245
|
});
|
|
2228
|
-
var pcb_solder_paste =
|
|
2246
|
+
var pcb_solder_paste = z97.union([
|
|
2229
2247
|
pcb_solder_paste_circle,
|
|
2230
2248
|
pcb_solder_paste_rect,
|
|
2231
2249
|
pcb_solder_paste_pill,
|
|
@@ -2241,146 +2259,162 @@ expectTypesMatch(
|
|
|
2241
2259
|
expectTypesMatch(true);
|
|
2242
2260
|
|
|
2243
2261
|
// src/pcb/pcb_text.ts
|
|
2244
|
-
import { z as
|
|
2245
|
-
var pcb_text =
|
|
2246
|
-
type:
|
|
2262
|
+
import { z as z98 } from "zod";
|
|
2263
|
+
var pcb_text = z98.object({
|
|
2264
|
+
type: z98.literal("pcb_text"),
|
|
2247
2265
|
pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
|
|
2248
|
-
pcb_group_id:
|
|
2249
|
-
subcircuit_id:
|
|
2250
|
-
text:
|
|
2266
|
+
pcb_group_id: z98.string().optional(),
|
|
2267
|
+
subcircuit_id: z98.string().optional(),
|
|
2268
|
+
text: z98.string(),
|
|
2251
2269
|
center: point,
|
|
2252
2270
|
layer: layer_ref,
|
|
2253
2271
|
width: length,
|
|
2254
2272
|
height: length,
|
|
2255
|
-
lines:
|
|
2273
|
+
lines: z98.number(),
|
|
2256
2274
|
// @ts-ignore
|
|
2257
|
-
align:
|
|
2275
|
+
align: z98.enum(["bottom-left"])
|
|
2258
2276
|
}).describe("Defines text on the PCB");
|
|
2259
2277
|
expectTypesMatch(true);
|
|
2260
2278
|
|
|
2261
2279
|
// src/pcb/pcb_trace.ts
|
|
2262
|
-
import { z as
|
|
2263
|
-
var pcb_trace_route_point_wire =
|
|
2264
|
-
route_type:
|
|
2280
|
+
import { z as z99 } from "zod";
|
|
2281
|
+
var pcb_trace_route_point_wire = z99.object({
|
|
2282
|
+
route_type: z99.literal("wire"),
|
|
2265
2283
|
x: distance,
|
|
2266
2284
|
y: distance,
|
|
2267
2285
|
width: distance,
|
|
2268
|
-
copper_pour_id:
|
|
2269
|
-
is_inside_copper_pour:
|
|
2270
|
-
start_pcb_port_id:
|
|
2271
|
-
end_pcb_port_id:
|
|
2286
|
+
copper_pour_id: z99.string().optional(),
|
|
2287
|
+
is_inside_copper_pour: z99.boolean().optional(),
|
|
2288
|
+
start_pcb_port_id: z99.string().optional(),
|
|
2289
|
+
end_pcb_port_id: z99.string().optional(),
|
|
2272
2290
|
layer: layer_ref
|
|
2273
2291
|
});
|
|
2274
|
-
var pcb_trace_route_point_via =
|
|
2275
|
-
route_type:
|
|
2292
|
+
var pcb_trace_route_point_via = z99.object({
|
|
2293
|
+
route_type: z99.literal("via"),
|
|
2276
2294
|
x: distance,
|
|
2277
2295
|
y: distance,
|
|
2278
|
-
copper_pour_id:
|
|
2279
|
-
is_inside_copper_pour:
|
|
2296
|
+
copper_pour_id: z99.string().optional(),
|
|
2297
|
+
is_inside_copper_pour: z99.boolean().optional(),
|
|
2280
2298
|
hole_diameter: distance.optional(),
|
|
2281
2299
|
outer_diameter: distance.optional(),
|
|
2282
2300
|
from_layer: layer_ref,
|
|
2283
2301
|
to_layer: layer_ref
|
|
2284
2302
|
});
|
|
2285
|
-
var pcb_trace_route_point =
|
|
2303
|
+
var pcb_trace_route_point = z99.union([
|
|
2286
2304
|
pcb_trace_route_point_wire,
|
|
2287
2305
|
pcb_trace_route_point_via
|
|
2288
2306
|
]);
|
|
2289
|
-
var pcb_trace =
|
|
2290
|
-
type:
|
|
2291
|
-
source_trace_id:
|
|
2292
|
-
pcb_component_id:
|
|
2307
|
+
var pcb_trace = z99.object({
|
|
2308
|
+
type: z99.literal("pcb_trace"),
|
|
2309
|
+
source_trace_id: z99.string().optional(),
|
|
2310
|
+
pcb_component_id: z99.string().optional(),
|
|
2293
2311
|
pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
|
|
2294
|
-
pcb_group_id:
|
|
2295
|
-
subcircuit_id:
|
|
2296
|
-
route_thickness_mode:
|
|
2297
|
-
route_order_index:
|
|
2298
|
-
should_round_corners:
|
|
2299
|
-
trace_length:
|
|
2300
|
-
highlight_color:
|
|
2301
|
-
route:
|
|
2312
|
+
pcb_group_id: z99.string().optional(),
|
|
2313
|
+
subcircuit_id: z99.string().optional(),
|
|
2314
|
+
route_thickness_mode: z99.enum(["constant", "interpolated"]).default("constant").optional(),
|
|
2315
|
+
route_order_index: z99.number().optional(),
|
|
2316
|
+
should_round_corners: z99.boolean().optional(),
|
|
2317
|
+
trace_length: z99.number().optional(),
|
|
2318
|
+
highlight_color: z99.string().optional(),
|
|
2319
|
+
route: z99.array(pcb_trace_route_point)
|
|
2302
2320
|
}).describe("Defines a trace on the PCB");
|
|
2303
2321
|
expectTypesMatch(true);
|
|
2304
2322
|
expectTypesMatch(true);
|
|
2305
2323
|
|
|
2324
|
+
// src/pcb/pcb_trace_warning.ts
|
|
2325
|
+
import { z as z100 } from "zod";
|
|
2326
|
+
var pcb_trace_warning = z100.object({
|
|
2327
|
+
type: z100.literal("pcb_trace_warning"),
|
|
2328
|
+
pcb_trace_warning_id: getZodPrefixedIdWithDefault("pcb_trace_warning"),
|
|
2329
|
+
warning_type: z100.literal("pcb_trace_warning").default("pcb_trace_warning"),
|
|
2330
|
+
message: z100.string(),
|
|
2331
|
+
center: point.optional(),
|
|
2332
|
+
pcb_trace_id: z100.string(),
|
|
2333
|
+
source_trace_id: z100.string(),
|
|
2334
|
+
pcb_component_ids: z100.array(z100.string()),
|
|
2335
|
+
pcb_port_ids: z100.array(z100.string()),
|
|
2336
|
+
subcircuit_id: z100.string().optional()
|
|
2337
|
+
}).describe("Defines a trace warning on the PCB");
|
|
2338
|
+
expectTypesMatch(true);
|
|
2339
|
+
|
|
2306
2340
|
// src/pcb/pcb_trace_error.ts
|
|
2307
|
-
import { z as
|
|
2341
|
+
import { z as z101 } from "zod";
|
|
2308
2342
|
var pcb_trace_error = base_circuit_json_error.extend({
|
|
2309
|
-
type:
|
|
2343
|
+
type: z101.literal("pcb_trace_error"),
|
|
2310
2344
|
pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
|
|
2311
|
-
error_type:
|
|
2345
|
+
error_type: z101.literal("pcb_trace_error").default("pcb_trace_error"),
|
|
2312
2346
|
center: point.optional(),
|
|
2313
|
-
pcb_trace_id:
|
|
2314
|
-
source_trace_id:
|
|
2315
|
-
pcb_component_ids:
|
|
2316
|
-
pcb_port_ids:
|
|
2317
|
-
subcircuit_id:
|
|
2347
|
+
pcb_trace_id: z101.string(),
|
|
2348
|
+
source_trace_id: z101.string(),
|
|
2349
|
+
pcb_component_ids: z101.array(z101.string()),
|
|
2350
|
+
pcb_port_ids: z101.array(z101.string()),
|
|
2351
|
+
subcircuit_id: z101.string().optional()
|
|
2318
2352
|
}).describe("Defines a trace error on the PCB");
|
|
2319
2353
|
expectTypesMatch(true);
|
|
2320
2354
|
|
|
2321
2355
|
// src/pcb/pcb_trace_missing_error.ts
|
|
2322
|
-
import { z as
|
|
2356
|
+
import { z as z102 } from "zod";
|
|
2323
2357
|
var pcb_trace_missing_error = base_circuit_json_error.extend({
|
|
2324
|
-
type:
|
|
2358
|
+
type: z102.literal("pcb_trace_missing_error"),
|
|
2325
2359
|
pcb_trace_missing_error_id: getZodPrefixedIdWithDefault(
|
|
2326
2360
|
"pcb_trace_missing_error"
|
|
2327
2361
|
),
|
|
2328
|
-
error_type:
|
|
2362
|
+
error_type: z102.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
|
|
2329
2363
|
center: point.optional(),
|
|
2330
|
-
source_trace_id:
|
|
2331
|
-
pcb_component_ids:
|
|
2332
|
-
pcb_port_ids:
|
|
2333
|
-
subcircuit_id:
|
|
2364
|
+
source_trace_id: z102.string(),
|
|
2365
|
+
pcb_component_ids: z102.array(z102.string()),
|
|
2366
|
+
pcb_port_ids: z102.array(z102.string()),
|
|
2367
|
+
subcircuit_id: z102.string().optional()
|
|
2334
2368
|
}).describe(
|
|
2335
2369
|
"Defines an error when a source trace has no corresponding PCB trace"
|
|
2336
2370
|
);
|
|
2337
2371
|
expectTypesMatch(true);
|
|
2338
2372
|
|
|
2339
2373
|
// src/pcb/pcb_port_not_matched_error.ts
|
|
2340
|
-
import { z as
|
|
2374
|
+
import { z as z103 } from "zod";
|
|
2341
2375
|
var pcb_port_not_matched_error = base_circuit_json_error.extend({
|
|
2342
|
-
type:
|
|
2376
|
+
type: z103.literal("pcb_port_not_matched_error"),
|
|
2343
2377
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
2344
|
-
error_type:
|
|
2345
|
-
pcb_component_ids:
|
|
2346
|
-
subcircuit_id:
|
|
2378
|
+
error_type: z103.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
|
|
2379
|
+
pcb_component_ids: z103.array(z103.string()),
|
|
2380
|
+
subcircuit_id: z103.string().optional()
|
|
2347
2381
|
}).describe("Defines a trace error on the PCB where a port is not matched");
|
|
2348
2382
|
expectTypesMatch(true);
|
|
2349
2383
|
|
|
2350
2384
|
// src/pcb/pcb_port_not_connected_error.ts
|
|
2351
|
-
import { z as
|
|
2385
|
+
import { z as z104 } from "zod";
|
|
2352
2386
|
var pcb_port_not_connected_error = base_circuit_json_error.extend({
|
|
2353
|
-
type:
|
|
2387
|
+
type: z104.literal("pcb_port_not_connected_error"),
|
|
2354
2388
|
pcb_port_not_connected_error_id: getZodPrefixedIdWithDefault(
|
|
2355
2389
|
"pcb_port_not_connected_error"
|
|
2356
2390
|
),
|
|
2357
|
-
error_type:
|
|
2358
|
-
pcb_port_ids:
|
|
2359
|
-
pcb_component_ids:
|
|
2360
|
-
subcircuit_id:
|
|
2391
|
+
error_type: z104.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
|
|
2392
|
+
pcb_port_ids: z104.array(z104.string()),
|
|
2393
|
+
pcb_component_ids: z104.array(z104.string()),
|
|
2394
|
+
subcircuit_id: z104.string().optional()
|
|
2361
2395
|
}).describe("Defines an error when a pcb port is not connected to any trace");
|
|
2362
2396
|
expectTypesMatch(
|
|
2363
2397
|
true
|
|
2364
2398
|
);
|
|
2365
2399
|
|
|
2366
2400
|
// src/pcb/pcb_net.ts
|
|
2367
|
-
import { z as
|
|
2368
|
-
var pcb_net =
|
|
2369
|
-
type:
|
|
2401
|
+
import { z as z105 } from "zod";
|
|
2402
|
+
var pcb_net = z105.object({
|
|
2403
|
+
type: z105.literal("pcb_net"),
|
|
2370
2404
|
pcb_net_id: getZodPrefixedIdWithDefault("pcb_net"),
|
|
2371
|
-
source_net_id:
|
|
2372
|
-
highlight_color:
|
|
2405
|
+
source_net_id: z105.string().optional(),
|
|
2406
|
+
highlight_color: z105.string().optional()
|
|
2373
2407
|
}).describe("Defines a net on the PCB");
|
|
2374
2408
|
expectTypesMatch(true);
|
|
2375
2409
|
|
|
2376
2410
|
// src/pcb/pcb_via.ts
|
|
2377
|
-
import { z as
|
|
2378
|
-
var pcb_via =
|
|
2379
|
-
type:
|
|
2411
|
+
import { z as z106 } from "zod";
|
|
2412
|
+
var pcb_via = z106.object({
|
|
2413
|
+
type: z106.literal("pcb_via"),
|
|
2380
2414
|
pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
|
|
2381
|
-
pcb_group_id:
|
|
2382
|
-
subcircuit_id:
|
|
2383
|
-
subcircuit_connectivity_map_key:
|
|
2415
|
+
pcb_group_id: z106.string().optional(),
|
|
2416
|
+
subcircuit_id: z106.string().optional(),
|
|
2417
|
+
subcircuit_connectivity_map_key: z106.string().optional(),
|
|
2384
2418
|
x: distance,
|
|
2385
2419
|
y: distance,
|
|
2386
2420
|
outer_diameter: distance.default("0.6mm"),
|
|
@@ -2389,101 +2423,101 @@ var pcb_via = z104.object({
|
|
|
2389
2423
|
from_layer: layer_ref.optional(),
|
|
2390
2424
|
/** @deprecated */
|
|
2391
2425
|
to_layer: layer_ref.optional(),
|
|
2392
|
-
layers:
|
|
2393
|
-
pcb_trace_id:
|
|
2394
|
-
net_is_assignable:
|
|
2395
|
-
net_assigned:
|
|
2396
|
-
is_tented:
|
|
2426
|
+
layers: z106.array(layer_ref),
|
|
2427
|
+
pcb_trace_id: z106.string().optional(),
|
|
2428
|
+
net_is_assignable: z106.boolean().optional(),
|
|
2429
|
+
net_assigned: z106.boolean().optional(),
|
|
2430
|
+
is_tented: z106.boolean().optional()
|
|
2397
2431
|
}).describe("Defines a via on the PCB");
|
|
2398
2432
|
expectTypesMatch(true);
|
|
2399
2433
|
|
|
2400
2434
|
// src/pcb/pcb_board.ts
|
|
2401
|
-
import { z as
|
|
2402
|
-
var pcb_board =
|
|
2403
|
-
type:
|
|
2435
|
+
import { z as z107 } from "zod";
|
|
2436
|
+
var pcb_board = z107.object({
|
|
2437
|
+
type: z107.literal("pcb_board"),
|
|
2404
2438
|
pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
|
|
2405
|
-
pcb_panel_id:
|
|
2406
|
-
carrier_pcb_board_id:
|
|
2407
|
-
is_subcircuit:
|
|
2408
|
-
subcircuit_id:
|
|
2409
|
-
is_mounted_to_carrier_board:
|
|
2439
|
+
pcb_panel_id: z107.string().optional(),
|
|
2440
|
+
carrier_pcb_board_id: z107.string().optional(),
|
|
2441
|
+
is_subcircuit: z107.boolean().optional(),
|
|
2442
|
+
subcircuit_id: z107.string().optional(),
|
|
2443
|
+
is_mounted_to_carrier_board: z107.boolean().optional(),
|
|
2410
2444
|
width: length.optional(),
|
|
2411
2445
|
height: length.optional(),
|
|
2412
2446
|
center: point,
|
|
2413
|
-
display_offset_x:
|
|
2447
|
+
display_offset_x: z107.string().optional().describe(
|
|
2414
2448
|
"How to display the x offset for this board, usually corresponding with how the user specified it"
|
|
2415
2449
|
),
|
|
2416
|
-
display_offset_y:
|
|
2450
|
+
display_offset_y: z107.string().optional().describe(
|
|
2417
2451
|
"How to display the y offset for this board, usually corresponding with how the user specified it"
|
|
2418
2452
|
),
|
|
2419
2453
|
thickness: length.optional().default(1.4),
|
|
2420
|
-
num_layers:
|
|
2421
|
-
outline:
|
|
2422
|
-
shape:
|
|
2423
|
-
material:
|
|
2454
|
+
num_layers: z107.number().optional().default(4),
|
|
2455
|
+
outline: z107.array(point).optional(),
|
|
2456
|
+
shape: z107.enum(["rect", "polygon"]).optional(),
|
|
2457
|
+
material: z107.enum(["fr4", "fr1"]).default("fr4"),
|
|
2424
2458
|
anchor_position: point.optional(),
|
|
2425
2459
|
anchor_alignment: ninePointAnchor.optional(),
|
|
2426
|
-
position_mode:
|
|
2460
|
+
position_mode: z107.enum(["relative_to_panel_anchor", "none"]).optional()
|
|
2427
2461
|
}).describe("Defines the board outline of the PCB");
|
|
2428
2462
|
expectTypesMatch(true);
|
|
2429
2463
|
|
|
2430
2464
|
// src/pcb/pcb_panel.ts
|
|
2431
|
-
import { z as
|
|
2432
|
-
var pcb_panel =
|
|
2433
|
-
type:
|
|
2465
|
+
import { z as z108 } from "zod";
|
|
2466
|
+
var pcb_panel = z108.object({
|
|
2467
|
+
type: z108.literal("pcb_panel"),
|
|
2434
2468
|
pcb_panel_id: getZodPrefixedIdWithDefault("pcb_panel"),
|
|
2435
2469
|
width: length,
|
|
2436
2470
|
height: length,
|
|
2437
2471
|
center: point,
|
|
2438
2472
|
thickness: length.optional().default(1.4),
|
|
2439
|
-
covered_with_solder_mask:
|
|
2473
|
+
covered_with_solder_mask: z108.boolean().optional().default(true)
|
|
2440
2474
|
}).describe("Defines a PCB panel that can contain multiple boards");
|
|
2441
2475
|
expectTypesMatch(true);
|
|
2442
2476
|
|
|
2443
2477
|
// src/pcb/pcb_placement_error.ts
|
|
2444
|
-
import { z as
|
|
2478
|
+
import { z as z109 } from "zod";
|
|
2445
2479
|
var pcb_placement_error = base_circuit_json_error.extend({
|
|
2446
|
-
type:
|
|
2480
|
+
type: z109.literal("pcb_placement_error"),
|
|
2447
2481
|
pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
|
|
2448
|
-
error_type:
|
|
2449
|
-
subcircuit_id:
|
|
2482
|
+
error_type: z109.literal("pcb_placement_error").default("pcb_placement_error"),
|
|
2483
|
+
subcircuit_id: z109.string().optional()
|
|
2450
2484
|
}).describe("Defines a placement error on the PCB");
|
|
2451
2485
|
expectTypesMatch(true);
|
|
2452
2486
|
|
|
2453
2487
|
// src/pcb/pcb_panelization_placement_error.ts
|
|
2454
|
-
import { z as
|
|
2488
|
+
import { z as z110 } from "zod";
|
|
2455
2489
|
var pcb_panelization_placement_error = base_circuit_json_error.extend({
|
|
2456
|
-
type:
|
|
2490
|
+
type: z110.literal("pcb_panelization_placement_error"),
|
|
2457
2491
|
pcb_panelization_placement_error_id: getZodPrefixedIdWithDefault(
|
|
2458
2492
|
"pcb_panelization_placement_error"
|
|
2459
2493
|
),
|
|
2460
|
-
error_type:
|
|
2461
|
-
pcb_panel_id:
|
|
2462
|
-
pcb_board_id:
|
|
2463
|
-
subcircuit_id:
|
|
2494
|
+
error_type: z110.literal("pcb_panelization_placement_error").default("pcb_panelization_placement_error"),
|
|
2495
|
+
pcb_panel_id: z110.string().optional(),
|
|
2496
|
+
pcb_board_id: z110.string().optional(),
|
|
2497
|
+
subcircuit_id: z110.string().optional()
|
|
2464
2498
|
}).describe("Defines a panelization placement error on the PCB");
|
|
2465
2499
|
expectTypesMatch(true);
|
|
2466
2500
|
|
|
2467
2501
|
// src/pcb/pcb_trace_hint.ts
|
|
2468
|
-
import { z as
|
|
2469
|
-
var pcb_trace_hint =
|
|
2470
|
-
type:
|
|
2502
|
+
import { z as z111 } from "zod";
|
|
2503
|
+
var pcb_trace_hint = z111.object({
|
|
2504
|
+
type: z111.literal("pcb_trace_hint"),
|
|
2471
2505
|
pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
|
|
2472
|
-
pcb_port_id:
|
|
2473
|
-
pcb_component_id:
|
|
2474
|
-
route:
|
|
2475
|
-
subcircuit_id:
|
|
2506
|
+
pcb_port_id: z111.string(),
|
|
2507
|
+
pcb_component_id: z111.string(),
|
|
2508
|
+
route: z111.array(route_hint_point),
|
|
2509
|
+
subcircuit_id: z111.string().optional()
|
|
2476
2510
|
}).describe("A hint that can be used during generation of a PCB trace");
|
|
2477
2511
|
expectTypesMatch(true);
|
|
2478
2512
|
|
|
2479
2513
|
// src/pcb/pcb_silkscreen_line.ts
|
|
2480
|
-
import { z as
|
|
2481
|
-
var pcb_silkscreen_line =
|
|
2482
|
-
type:
|
|
2514
|
+
import { z as z112 } from "zod";
|
|
2515
|
+
var pcb_silkscreen_line = z112.object({
|
|
2516
|
+
type: z112.literal("pcb_silkscreen_line"),
|
|
2483
2517
|
pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
|
|
2484
|
-
pcb_component_id:
|
|
2485
|
-
pcb_group_id:
|
|
2486
|
-
subcircuit_id:
|
|
2518
|
+
pcb_component_id: z112.string(),
|
|
2519
|
+
pcb_group_id: z112.string().optional(),
|
|
2520
|
+
subcircuit_id: z112.string().optional(),
|
|
2487
2521
|
stroke_width: distance.default("0.1mm"),
|
|
2488
2522
|
x1: distance,
|
|
2489
2523
|
y1: distance,
|
|
@@ -2494,32 +2528,32 @@ var pcb_silkscreen_line = z110.object({
|
|
|
2494
2528
|
expectTypesMatch(true);
|
|
2495
2529
|
|
|
2496
2530
|
// src/pcb/pcb_silkscreen_path.ts
|
|
2497
|
-
import { z as
|
|
2498
|
-
var pcb_silkscreen_path =
|
|
2499
|
-
type:
|
|
2531
|
+
import { z as z113 } from "zod";
|
|
2532
|
+
var pcb_silkscreen_path = z113.object({
|
|
2533
|
+
type: z113.literal("pcb_silkscreen_path"),
|
|
2500
2534
|
pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
|
|
2501
|
-
pcb_component_id:
|
|
2502
|
-
pcb_group_id:
|
|
2503
|
-
subcircuit_id:
|
|
2535
|
+
pcb_component_id: z113.string(),
|
|
2536
|
+
pcb_group_id: z113.string().optional(),
|
|
2537
|
+
subcircuit_id: z113.string().optional(),
|
|
2504
2538
|
layer: visible_layer,
|
|
2505
|
-
route:
|
|
2539
|
+
route: z113.array(point),
|
|
2506
2540
|
stroke_width: length
|
|
2507
2541
|
}).describe("Defines a silkscreen path on the PCB");
|
|
2508
2542
|
expectTypesMatch(true);
|
|
2509
2543
|
|
|
2510
2544
|
// src/pcb/pcb_silkscreen_text.ts
|
|
2511
|
-
import { z as
|
|
2512
|
-
var pcb_silkscreen_text =
|
|
2513
|
-
type:
|
|
2545
|
+
import { z as z114 } from "zod";
|
|
2546
|
+
var pcb_silkscreen_text = z114.object({
|
|
2547
|
+
type: z114.literal("pcb_silkscreen_text"),
|
|
2514
2548
|
pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
|
|
2515
|
-
pcb_group_id:
|
|
2516
|
-
subcircuit_id:
|
|
2517
|
-
font:
|
|
2549
|
+
pcb_group_id: z114.string().optional(),
|
|
2550
|
+
subcircuit_id: z114.string().optional(),
|
|
2551
|
+
font: z114.literal("tscircuit2024").default("tscircuit2024"),
|
|
2518
2552
|
font_size: distance.default("0.2mm"),
|
|
2519
|
-
pcb_component_id:
|
|
2520
|
-
text:
|
|
2521
|
-
is_knockout:
|
|
2522
|
-
knockout_padding:
|
|
2553
|
+
pcb_component_id: z114.string(),
|
|
2554
|
+
text: z114.string(),
|
|
2555
|
+
is_knockout: z114.boolean().default(false).optional(),
|
|
2556
|
+
knockout_padding: z114.object({
|
|
2523
2557
|
left: length,
|
|
2524
2558
|
top: length,
|
|
2525
2559
|
bottom: length,
|
|
@@ -2530,27 +2564,27 @@ var pcb_silkscreen_text = z112.object({
|
|
|
2530
2564
|
bottom: "0.2mm",
|
|
2531
2565
|
right: "0.2mm"
|
|
2532
2566
|
}).optional(),
|
|
2533
|
-
ccw_rotation:
|
|
2567
|
+
ccw_rotation: z114.number().optional(),
|
|
2534
2568
|
layer: layer_ref,
|
|
2535
|
-
is_mirrored:
|
|
2569
|
+
is_mirrored: z114.boolean().default(false).optional(),
|
|
2536
2570
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2537
2571
|
anchor_alignment: ninePointAnchor.default("center")
|
|
2538
2572
|
}).describe("Defines silkscreen text on the PCB");
|
|
2539
2573
|
expectTypesMatch(true);
|
|
2540
2574
|
|
|
2541
2575
|
// src/pcb/pcb_copper_text.ts
|
|
2542
|
-
import { z as
|
|
2543
|
-
var pcb_copper_text =
|
|
2544
|
-
type:
|
|
2576
|
+
import { z as z115 } from "zod";
|
|
2577
|
+
var pcb_copper_text = z115.object({
|
|
2578
|
+
type: z115.literal("pcb_copper_text"),
|
|
2545
2579
|
pcb_copper_text_id: getZodPrefixedIdWithDefault("pcb_copper_text"),
|
|
2546
|
-
pcb_group_id:
|
|
2547
|
-
subcircuit_id:
|
|
2548
|
-
font:
|
|
2580
|
+
pcb_group_id: z115.string().optional(),
|
|
2581
|
+
subcircuit_id: z115.string().optional(),
|
|
2582
|
+
font: z115.literal("tscircuit2024").default("tscircuit2024"),
|
|
2549
2583
|
font_size: distance.default("0.2mm"),
|
|
2550
|
-
pcb_component_id:
|
|
2551
|
-
text:
|
|
2552
|
-
is_knockout:
|
|
2553
|
-
knockout_padding:
|
|
2584
|
+
pcb_component_id: z115.string(),
|
|
2585
|
+
text: z115.string(),
|
|
2586
|
+
is_knockout: z115.boolean().default(false).optional(),
|
|
2587
|
+
knockout_padding: z115.object({
|
|
2554
2588
|
left: length,
|
|
2555
2589
|
top: length,
|
|
2556
2590
|
bottom: length,
|
|
@@ -2561,61 +2595,61 @@ var pcb_copper_text = z113.object({
|
|
|
2561
2595
|
bottom: "0.2mm",
|
|
2562
2596
|
right: "0.2mm"
|
|
2563
2597
|
}).optional(),
|
|
2564
|
-
ccw_rotation:
|
|
2598
|
+
ccw_rotation: z115.number().optional(),
|
|
2565
2599
|
layer: layer_ref,
|
|
2566
|
-
is_mirrored:
|
|
2600
|
+
is_mirrored: z115.boolean().default(false).optional(),
|
|
2567
2601
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2568
2602
|
anchor_alignment: ninePointAnchor.default("center")
|
|
2569
2603
|
}).describe("Defines copper text on the PCB");
|
|
2570
2604
|
expectTypesMatch(true);
|
|
2571
2605
|
|
|
2572
2606
|
// src/pcb/pcb_silkscreen_rect.ts
|
|
2573
|
-
import { z as
|
|
2574
|
-
var pcb_silkscreen_rect =
|
|
2575
|
-
type:
|
|
2607
|
+
import { z as z116 } from "zod";
|
|
2608
|
+
var pcb_silkscreen_rect = z116.object({
|
|
2609
|
+
type: z116.literal("pcb_silkscreen_rect"),
|
|
2576
2610
|
pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
|
|
2577
|
-
pcb_component_id:
|
|
2578
|
-
pcb_group_id:
|
|
2579
|
-
subcircuit_id:
|
|
2611
|
+
pcb_component_id: z116.string(),
|
|
2612
|
+
pcb_group_id: z116.string().optional(),
|
|
2613
|
+
subcircuit_id: z116.string().optional(),
|
|
2580
2614
|
center: point,
|
|
2581
2615
|
width: length,
|
|
2582
2616
|
height: length,
|
|
2583
2617
|
layer: layer_ref,
|
|
2584
2618
|
stroke_width: length.default("1mm"),
|
|
2585
2619
|
corner_radius: length.optional(),
|
|
2586
|
-
is_filled:
|
|
2587
|
-
has_stroke:
|
|
2588
|
-
is_stroke_dashed:
|
|
2589
|
-
ccw_rotation:
|
|
2620
|
+
is_filled: z116.boolean().default(true).optional(),
|
|
2621
|
+
has_stroke: z116.boolean().optional(),
|
|
2622
|
+
is_stroke_dashed: z116.boolean().optional(),
|
|
2623
|
+
ccw_rotation: z116.number().optional()
|
|
2590
2624
|
}).describe("Defines a silkscreen rect on the PCB");
|
|
2591
2625
|
expectTypesMatch(true);
|
|
2592
2626
|
|
|
2593
2627
|
// src/pcb/pcb_silkscreen_circle.ts
|
|
2594
|
-
import { z as
|
|
2595
|
-
var pcb_silkscreen_circle =
|
|
2596
|
-
type:
|
|
2628
|
+
import { z as z117 } from "zod";
|
|
2629
|
+
var pcb_silkscreen_circle = z117.object({
|
|
2630
|
+
type: z117.literal("pcb_silkscreen_circle"),
|
|
2597
2631
|
pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
|
|
2598
2632
|
"pcb_silkscreen_circle"
|
|
2599
2633
|
),
|
|
2600
|
-
pcb_component_id:
|
|
2601
|
-
pcb_group_id:
|
|
2602
|
-
subcircuit_id:
|
|
2634
|
+
pcb_component_id: z117.string(),
|
|
2635
|
+
pcb_group_id: z117.string().optional(),
|
|
2636
|
+
subcircuit_id: z117.string().optional(),
|
|
2603
2637
|
center: point,
|
|
2604
2638
|
radius: length,
|
|
2605
2639
|
layer: visible_layer,
|
|
2606
2640
|
stroke_width: length.default("1mm"),
|
|
2607
|
-
is_filled:
|
|
2641
|
+
is_filled: z117.boolean().optional()
|
|
2608
2642
|
}).describe("Defines a silkscreen circle on the PCB");
|
|
2609
2643
|
expectTypesMatch(true);
|
|
2610
2644
|
|
|
2611
2645
|
// src/pcb/pcb_silkscreen_oval.ts
|
|
2612
|
-
import { z as
|
|
2613
|
-
var pcb_silkscreen_oval =
|
|
2614
|
-
type:
|
|
2646
|
+
import { z as z118 } from "zod";
|
|
2647
|
+
var pcb_silkscreen_oval = z118.object({
|
|
2648
|
+
type: z118.literal("pcb_silkscreen_oval"),
|
|
2615
2649
|
pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
|
|
2616
|
-
pcb_component_id:
|
|
2617
|
-
pcb_group_id:
|
|
2618
|
-
subcircuit_id:
|
|
2650
|
+
pcb_component_id: z118.string(),
|
|
2651
|
+
pcb_group_id: z118.string().optional(),
|
|
2652
|
+
subcircuit_id: z118.string().optional(),
|
|
2619
2653
|
center: point,
|
|
2620
2654
|
radius_x: distance,
|
|
2621
2655
|
radius_y: distance,
|
|
@@ -2625,240 +2659,240 @@ var pcb_silkscreen_oval = z116.object({
|
|
|
2625
2659
|
expectTypesMatch(true);
|
|
2626
2660
|
|
|
2627
2661
|
// src/pcb/pcb_silkscreen_pill.ts
|
|
2628
|
-
import { z as
|
|
2629
|
-
var pcb_silkscreen_pill =
|
|
2630
|
-
type:
|
|
2662
|
+
import { z as z119 } from "zod";
|
|
2663
|
+
var pcb_silkscreen_pill = z119.object({
|
|
2664
|
+
type: z119.literal("pcb_silkscreen_pill"),
|
|
2631
2665
|
pcb_silkscreen_pill_id: getZodPrefixedIdWithDefault("pcb_silkscreen_pill"),
|
|
2632
|
-
pcb_component_id:
|
|
2633
|
-
pcb_group_id:
|
|
2634
|
-
subcircuit_id:
|
|
2666
|
+
pcb_component_id: z119.string(),
|
|
2667
|
+
pcb_group_id: z119.string().optional(),
|
|
2668
|
+
subcircuit_id: z119.string().optional(),
|
|
2635
2669
|
center: point,
|
|
2636
2670
|
width: length,
|
|
2637
2671
|
height: length,
|
|
2638
2672
|
layer: layer_ref,
|
|
2639
|
-
ccw_rotation:
|
|
2673
|
+
ccw_rotation: z119.number().optional()
|
|
2640
2674
|
}).describe("Defines a silkscreen pill on the PCB");
|
|
2641
2675
|
expectTypesMatch(true);
|
|
2642
2676
|
|
|
2643
2677
|
// src/pcb/pcb_fabrication_note_text.ts
|
|
2644
|
-
import { z as
|
|
2645
|
-
var pcb_fabrication_note_text =
|
|
2646
|
-
type:
|
|
2678
|
+
import { z as z120 } from "zod";
|
|
2679
|
+
var pcb_fabrication_note_text = z120.object({
|
|
2680
|
+
type: z120.literal("pcb_fabrication_note_text"),
|
|
2647
2681
|
pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
|
|
2648
2682
|
"pcb_fabrication_note_text"
|
|
2649
2683
|
),
|
|
2650
|
-
subcircuit_id:
|
|
2651
|
-
pcb_group_id:
|
|
2652
|
-
font:
|
|
2684
|
+
subcircuit_id: z120.string().optional(),
|
|
2685
|
+
pcb_group_id: z120.string().optional(),
|
|
2686
|
+
font: z120.literal("tscircuit2024").default("tscircuit2024"),
|
|
2653
2687
|
font_size: distance.default("1mm"),
|
|
2654
|
-
pcb_component_id:
|
|
2655
|
-
text:
|
|
2688
|
+
pcb_component_id: z120.string(),
|
|
2689
|
+
text: z120.string(),
|
|
2656
2690
|
layer: visible_layer,
|
|
2657
2691
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2658
|
-
anchor_alignment:
|
|
2659
|
-
color:
|
|
2692
|
+
anchor_alignment: z120.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
2693
|
+
color: z120.string().optional()
|
|
2660
2694
|
}).describe(
|
|
2661
2695
|
"Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
|
|
2662
2696
|
);
|
|
2663
2697
|
expectTypesMatch(true);
|
|
2664
2698
|
|
|
2665
2699
|
// src/pcb/pcb_fabrication_note_path.ts
|
|
2666
|
-
import { z as
|
|
2667
|
-
var pcb_fabrication_note_path =
|
|
2668
|
-
type:
|
|
2700
|
+
import { z as z121 } from "zod";
|
|
2701
|
+
var pcb_fabrication_note_path = z121.object({
|
|
2702
|
+
type: z121.literal("pcb_fabrication_note_path"),
|
|
2669
2703
|
pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
|
|
2670
2704
|
"pcb_fabrication_note_path"
|
|
2671
2705
|
),
|
|
2672
|
-
pcb_component_id:
|
|
2673
|
-
subcircuit_id:
|
|
2706
|
+
pcb_component_id: z121.string(),
|
|
2707
|
+
subcircuit_id: z121.string().optional(),
|
|
2674
2708
|
layer: layer_ref,
|
|
2675
|
-
route:
|
|
2709
|
+
route: z121.array(point),
|
|
2676
2710
|
stroke_width: length,
|
|
2677
|
-
color:
|
|
2711
|
+
color: z121.string().optional()
|
|
2678
2712
|
}).describe(
|
|
2679
2713
|
"Defines a fabrication path on the PCB for fabricators or assemblers"
|
|
2680
2714
|
);
|
|
2681
2715
|
expectTypesMatch(true);
|
|
2682
2716
|
|
|
2683
2717
|
// src/pcb/pcb_fabrication_note_rect.ts
|
|
2684
|
-
import { z as
|
|
2685
|
-
var pcb_fabrication_note_rect =
|
|
2686
|
-
type:
|
|
2718
|
+
import { z as z122 } from "zod";
|
|
2719
|
+
var pcb_fabrication_note_rect = z122.object({
|
|
2720
|
+
type: z122.literal("pcb_fabrication_note_rect"),
|
|
2687
2721
|
pcb_fabrication_note_rect_id: getZodPrefixedIdWithDefault(
|
|
2688
2722
|
"pcb_fabrication_note_rect"
|
|
2689
2723
|
),
|
|
2690
|
-
pcb_component_id:
|
|
2691
|
-
pcb_group_id:
|
|
2692
|
-
subcircuit_id:
|
|
2724
|
+
pcb_component_id: z122.string(),
|
|
2725
|
+
pcb_group_id: z122.string().optional(),
|
|
2726
|
+
subcircuit_id: z122.string().optional(),
|
|
2693
2727
|
center: point,
|
|
2694
2728
|
width: length,
|
|
2695
2729
|
height: length,
|
|
2696
2730
|
layer: visible_layer,
|
|
2697
2731
|
stroke_width: length.default("0.1mm"),
|
|
2698
2732
|
corner_radius: length.optional(),
|
|
2699
|
-
is_filled:
|
|
2700
|
-
has_stroke:
|
|
2701
|
-
is_stroke_dashed:
|
|
2702
|
-
color:
|
|
2733
|
+
is_filled: z122.boolean().optional(),
|
|
2734
|
+
has_stroke: z122.boolean().optional(),
|
|
2735
|
+
is_stroke_dashed: z122.boolean().optional(),
|
|
2736
|
+
color: z122.string().optional()
|
|
2703
2737
|
}).describe("Defines a fabrication note rectangle on the PCB");
|
|
2704
2738
|
expectTypesMatch(true);
|
|
2705
2739
|
|
|
2706
2740
|
// src/pcb/pcb_fabrication_note_dimension.ts
|
|
2707
|
-
import { z as
|
|
2708
|
-
var pcb_fabrication_note_dimension =
|
|
2709
|
-
type:
|
|
2741
|
+
import { z as z123 } from "zod";
|
|
2742
|
+
var pcb_fabrication_note_dimension = z123.object({
|
|
2743
|
+
type: z123.literal("pcb_fabrication_note_dimension"),
|
|
2710
2744
|
pcb_fabrication_note_dimension_id: getZodPrefixedIdWithDefault(
|
|
2711
2745
|
"pcb_fabrication_note_dimension"
|
|
2712
2746
|
),
|
|
2713
|
-
pcb_component_id:
|
|
2714
|
-
pcb_group_id:
|
|
2715
|
-
subcircuit_id:
|
|
2747
|
+
pcb_component_id: z123.string(),
|
|
2748
|
+
pcb_group_id: z123.string().optional(),
|
|
2749
|
+
subcircuit_id: z123.string().optional(),
|
|
2716
2750
|
layer: visible_layer,
|
|
2717
2751
|
from: point,
|
|
2718
2752
|
to: point,
|
|
2719
|
-
text:
|
|
2720
|
-
text_ccw_rotation:
|
|
2753
|
+
text: z123.string().optional(),
|
|
2754
|
+
text_ccw_rotation: z123.number().optional(),
|
|
2721
2755
|
offset: length.optional(),
|
|
2722
2756
|
offset_distance: length.optional(),
|
|
2723
|
-
offset_direction:
|
|
2724
|
-
x:
|
|
2725
|
-
y:
|
|
2757
|
+
offset_direction: z123.object({
|
|
2758
|
+
x: z123.number(),
|
|
2759
|
+
y: z123.number()
|
|
2726
2760
|
}).optional(),
|
|
2727
|
-
font:
|
|
2761
|
+
font: z123.literal("tscircuit2024").default("tscircuit2024"),
|
|
2728
2762
|
font_size: length.default("1mm"),
|
|
2729
|
-
color:
|
|
2763
|
+
color: z123.string().optional(),
|
|
2730
2764
|
arrow_size: length.default("1mm")
|
|
2731
2765
|
}).describe("Defines a measurement annotation within PCB fabrication notes");
|
|
2732
2766
|
expectTypesMatch(true);
|
|
2733
2767
|
|
|
2734
2768
|
// src/pcb/pcb_note_text.ts
|
|
2735
|
-
import { z as
|
|
2736
|
-
var pcb_note_text =
|
|
2737
|
-
type:
|
|
2769
|
+
import { z as z124 } from "zod";
|
|
2770
|
+
var pcb_note_text = z124.object({
|
|
2771
|
+
type: z124.literal("pcb_note_text"),
|
|
2738
2772
|
pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
|
|
2739
|
-
pcb_component_id:
|
|
2740
|
-
pcb_group_id:
|
|
2741
|
-
subcircuit_id:
|
|
2742
|
-
name:
|
|
2743
|
-
font:
|
|
2773
|
+
pcb_component_id: z124.string().optional(),
|
|
2774
|
+
pcb_group_id: z124.string().optional(),
|
|
2775
|
+
subcircuit_id: z124.string().optional(),
|
|
2776
|
+
name: z124.string().optional(),
|
|
2777
|
+
font: z124.literal("tscircuit2024").default("tscircuit2024"),
|
|
2744
2778
|
font_size: distance.default("1mm"),
|
|
2745
|
-
text:
|
|
2779
|
+
text: z124.string().optional(),
|
|
2746
2780
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2747
|
-
anchor_alignment:
|
|
2781
|
+
anchor_alignment: z124.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
2748
2782
|
layer: visible_layer.default("top"),
|
|
2749
|
-
color:
|
|
2783
|
+
color: z124.string().optional()
|
|
2750
2784
|
}).describe("Defines a documentation note in text on the PCB");
|
|
2751
2785
|
expectTypesMatch(true);
|
|
2752
2786
|
|
|
2753
2787
|
// src/pcb/pcb_note_rect.ts
|
|
2754
|
-
import { z as
|
|
2755
|
-
var pcb_note_rect =
|
|
2756
|
-
type:
|
|
2788
|
+
import { z as z125 } from "zod";
|
|
2789
|
+
var pcb_note_rect = z125.object({
|
|
2790
|
+
type: z125.literal("pcb_note_rect"),
|
|
2757
2791
|
pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
|
|
2758
|
-
pcb_component_id:
|
|
2759
|
-
pcb_group_id:
|
|
2760
|
-
subcircuit_id:
|
|
2761
|
-
name:
|
|
2762
|
-
text:
|
|
2792
|
+
pcb_component_id: z125.string().optional(),
|
|
2793
|
+
pcb_group_id: z125.string().optional(),
|
|
2794
|
+
subcircuit_id: z125.string().optional(),
|
|
2795
|
+
name: z125.string().optional(),
|
|
2796
|
+
text: z125.string().optional(),
|
|
2763
2797
|
center: point,
|
|
2764
2798
|
width: length,
|
|
2765
2799
|
height: length,
|
|
2766
2800
|
layer: visible_layer.default("top"),
|
|
2767
2801
|
stroke_width: length.default("0.1mm"),
|
|
2768
2802
|
corner_radius: length.optional(),
|
|
2769
|
-
is_filled:
|
|
2770
|
-
has_stroke:
|
|
2771
|
-
is_stroke_dashed:
|
|
2772
|
-
color:
|
|
2803
|
+
is_filled: z125.boolean().optional(),
|
|
2804
|
+
has_stroke: z125.boolean().optional(),
|
|
2805
|
+
is_stroke_dashed: z125.boolean().optional(),
|
|
2806
|
+
color: z125.string().optional()
|
|
2773
2807
|
}).describe("Defines a rectangular documentation note on the PCB");
|
|
2774
2808
|
expectTypesMatch(true);
|
|
2775
2809
|
|
|
2776
2810
|
// src/pcb/pcb_note_path.ts
|
|
2777
|
-
import { z as
|
|
2778
|
-
var pcb_note_path =
|
|
2779
|
-
type:
|
|
2811
|
+
import { z as z126 } from "zod";
|
|
2812
|
+
var pcb_note_path = z126.object({
|
|
2813
|
+
type: z126.literal("pcb_note_path"),
|
|
2780
2814
|
pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
|
|
2781
|
-
pcb_component_id:
|
|
2782
|
-
pcb_group_id:
|
|
2783
|
-
subcircuit_id:
|
|
2784
|
-
name:
|
|
2785
|
-
text:
|
|
2786
|
-
route:
|
|
2815
|
+
pcb_component_id: z126.string().optional(),
|
|
2816
|
+
pcb_group_id: z126.string().optional(),
|
|
2817
|
+
subcircuit_id: z126.string().optional(),
|
|
2818
|
+
name: z126.string().optional(),
|
|
2819
|
+
text: z126.string().optional(),
|
|
2820
|
+
route: z126.array(point),
|
|
2787
2821
|
layer: visible_layer.default("top"),
|
|
2788
2822
|
stroke_width: length.default("0.1mm"),
|
|
2789
|
-
color:
|
|
2823
|
+
color: z126.string().optional()
|
|
2790
2824
|
}).describe("Defines a polyline documentation note on the PCB");
|
|
2791
2825
|
expectTypesMatch(true);
|
|
2792
2826
|
|
|
2793
2827
|
// src/pcb/pcb_note_line.ts
|
|
2794
|
-
import { z as
|
|
2795
|
-
var pcb_note_line =
|
|
2796
|
-
type:
|
|
2828
|
+
import { z as z127 } from "zod";
|
|
2829
|
+
var pcb_note_line = z127.object({
|
|
2830
|
+
type: z127.literal("pcb_note_line"),
|
|
2797
2831
|
pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
|
|
2798
|
-
pcb_component_id:
|
|
2799
|
-
pcb_group_id:
|
|
2800
|
-
subcircuit_id:
|
|
2801
|
-
name:
|
|
2802
|
-
text:
|
|
2832
|
+
pcb_component_id: z127.string().optional(),
|
|
2833
|
+
pcb_group_id: z127.string().optional(),
|
|
2834
|
+
subcircuit_id: z127.string().optional(),
|
|
2835
|
+
name: z127.string().optional(),
|
|
2836
|
+
text: z127.string().optional(),
|
|
2803
2837
|
x1: distance,
|
|
2804
2838
|
y1: distance,
|
|
2805
2839
|
x2: distance,
|
|
2806
2840
|
y2: distance,
|
|
2807
2841
|
layer: visible_layer.default("top"),
|
|
2808
2842
|
stroke_width: distance.default("0.1mm"),
|
|
2809
|
-
color:
|
|
2810
|
-
is_dashed:
|
|
2843
|
+
color: z127.string().optional(),
|
|
2844
|
+
is_dashed: z127.boolean().optional()
|
|
2811
2845
|
}).describe("Defines a straight documentation note line on the PCB");
|
|
2812
2846
|
expectTypesMatch(true);
|
|
2813
2847
|
|
|
2814
2848
|
// src/pcb/pcb_note_dimension.ts
|
|
2815
|
-
import { z as
|
|
2816
|
-
var pcb_note_dimension =
|
|
2817
|
-
type:
|
|
2849
|
+
import { z as z128 } from "zod";
|
|
2850
|
+
var pcb_note_dimension = z128.object({
|
|
2851
|
+
type: z128.literal("pcb_note_dimension"),
|
|
2818
2852
|
pcb_note_dimension_id: getZodPrefixedIdWithDefault("pcb_note_dimension"),
|
|
2819
|
-
pcb_component_id:
|
|
2820
|
-
pcb_group_id:
|
|
2821
|
-
subcircuit_id:
|
|
2822
|
-
name:
|
|
2853
|
+
pcb_component_id: z128.string().optional(),
|
|
2854
|
+
pcb_group_id: z128.string().optional(),
|
|
2855
|
+
subcircuit_id: z128.string().optional(),
|
|
2856
|
+
name: z128.string().optional(),
|
|
2823
2857
|
from: point,
|
|
2824
2858
|
to: point,
|
|
2825
|
-
text:
|
|
2826
|
-
text_ccw_rotation:
|
|
2859
|
+
text: z128.string().optional(),
|
|
2860
|
+
text_ccw_rotation: z128.number().optional(),
|
|
2827
2861
|
offset_distance: length.optional(),
|
|
2828
|
-
offset_direction:
|
|
2829
|
-
x:
|
|
2830
|
-
y:
|
|
2862
|
+
offset_direction: z128.object({
|
|
2863
|
+
x: z128.number(),
|
|
2864
|
+
y: z128.number()
|
|
2831
2865
|
}).optional(),
|
|
2832
|
-
font:
|
|
2866
|
+
font: z128.literal("tscircuit2024").default("tscircuit2024"),
|
|
2833
2867
|
font_size: length.default("1mm"),
|
|
2834
2868
|
layer: visible_layer.default("top"),
|
|
2835
|
-
color:
|
|
2869
|
+
color: z128.string().optional(),
|
|
2836
2870
|
arrow_size: length.default("1mm")
|
|
2837
2871
|
}).describe("Defines a measurement annotation within PCB documentation notes");
|
|
2838
2872
|
expectTypesMatch(true);
|
|
2839
2873
|
|
|
2840
2874
|
// src/pcb/pcb_footprint_overlap_error.ts
|
|
2841
|
-
import { z as
|
|
2875
|
+
import { z as z129 } from "zod";
|
|
2842
2876
|
var pcb_footprint_overlap_error = base_circuit_json_error.extend({
|
|
2843
|
-
type:
|
|
2877
|
+
type: z129.literal("pcb_footprint_overlap_error"),
|
|
2844
2878
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
2845
|
-
error_type:
|
|
2846
|
-
pcb_smtpad_ids:
|
|
2847
|
-
pcb_plated_hole_ids:
|
|
2848
|
-
pcb_hole_ids:
|
|
2849
|
-
pcb_keepout_ids:
|
|
2879
|
+
error_type: z129.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
|
|
2880
|
+
pcb_smtpad_ids: z129.array(z129.string()).optional(),
|
|
2881
|
+
pcb_plated_hole_ids: z129.array(z129.string()).optional(),
|
|
2882
|
+
pcb_hole_ids: z129.array(z129.string()).optional(),
|
|
2883
|
+
pcb_keepout_ids: z129.array(z129.string()).optional()
|
|
2850
2884
|
}).describe("Error emitted when a pcb footprint overlaps with another element");
|
|
2851
2885
|
expectTypesMatch(
|
|
2852
2886
|
true
|
|
2853
2887
|
);
|
|
2854
2888
|
|
|
2855
2889
|
// src/pcb/pcb_courtyard_overlap_error.ts
|
|
2856
|
-
import { z as
|
|
2890
|
+
import { z as z130 } from "zod";
|
|
2857
2891
|
var pcb_courtyard_overlap_error = base_circuit_json_error.extend({
|
|
2858
|
-
type:
|
|
2892
|
+
type: z130.literal("pcb_courtyard_overlap_error"),
|
|
2859
2893
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
2860
|
-
error_type:
|
|
2861
|
-
pcb_component_ids:
|
|
2894
|
+
error_type: z130.literal("pcb_courtyard_overlap_error").default("pcb_courtyard_overlap_error"),
|
|
2895
|
+
pcb_component_ids: z130.tuple([z130.string(), z130.string()])
|
|
2862
2896
|
}).describe(
|
|
2863
2897
|
"Error emitted when the courtyard (CrtYd) of one PCB component overlaps with the courtyard of another"
|
|
2864
2898
|
);
|
|
@@ -2867,49 +2901,49 @@ expectTypesMatch(
|
|
|
2867
2901
|
);
|
|
2868
2902
|
|
|
2869
2903
|
// src/pcb/pcb_keepout.ts
|
|
2870
|
-
import { z as
|
|
2871
|
-
var pcb_keepout =
|
|
2872
|
-
type:
|
|
2873
|
-
shape:
|
|
2874
|
-
pcb_group_id:
|
|
2875
|
-
subcircuit_id:
|
|
2904
|
+
import { z as z131 } from "zod";
|
|
2905
|
+
var pcb_keepout = z131.object({
|
|
2906
|
+
type: z131.literal("pcb_keepout"),
|
|
2907
|
+
shape: z131.literal("rect"),
|
|
2908
|
+
pcb_group_id: z131.string().optional(),
|
|
2909
|
+
subcircuit_id: z131.string().optional(),
|
|
2876
2910
|
center: point,
|
|
2877
2911
|
width: distance,
|
|
2878
2912
|
height: distance,
|
|
2879
|
-
pcb_keepout_id:
|
|
2880
|
-
layers:
|
|
2913
|
+
pcb_keepout_id: z131.string(),
|
|
2914
|
+
layers: z131.array(z131.string()),
|
|
2881
2915
|
// Specify layers where the keepout applies
|
|
2882
|
-
description:
|
|
2916
|
+
description: z131.string().optional()
|
|
2883
2917
|
// Optional description of the keepout
|
|
2884
2918
|
}).or(
|
|
2885
|
-
|
|
2886
|
-
type:
|
|
2887
|
-
shape:
|
|
2888
|
-
pcb_group_id:
|
|
2889
|
-
subcircuit_id:
|
|
2919
|
+
z131.object({
|
|
2920
|
+
type: z131.literal("pcb_keepout"),
|
|
2921
|
+
shape: z131.literal("circle"),
|
|
2922
|
+
pcb_group_id: z131.string().optional(),
|
|
2923
|
+
subcircuit_id: z131.string().optional(),
|
|
2890
2924
|
center: point,
|
|
2891
2925
|
radius: distance,
|
|
2892
|
-
pcb_keepout_id:
|
|
2893
|
-
layers:
|
|
2926
|
+
pcb_keepout_id: z131.string(),
|
|
2927
|
+
layers: z131.array(z131.string()),
|
|
2894
2928
|
// Specify layers where the keepout applies
|
|
2895
|
-
description:
|
|
2929
|
+
description: z131.string().optional()
|
|
2896
2930
|
// Optional description of the keepout
|
|
2897
2931
|
})
|
|
2898
2932
|
);
|
|
2899
2933
|
expectTypesMatch(true);
|
|
2900
2934
|
|
|
2901
2935
|
// src/pcb/pcb_cutout.ts
|
|
2902
|
-
import { z as
|
|
2903
|
-
var pcb_cutout_base =
|
|
2904
|
-
type:
|
|
2936
|
+
import { z as z132 } from "zod";
|
|
2937
|
+
var pcb_cutout_base = z132.object({
|
|
2938
|
+
type: z132.literal("pcb_cutout"),
|
|
2905
2939
|
pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
|
|
2906
|
-
pcb_group_id:
|
|
2907
|
-
subcircuit_id:
|
|
2908
|
-
pcb_board_id:
|
|
2909
|
-
pcb_panel_id:
|
|
2940
|
+
pcb_group_id: z132.string().optional(),
|
|
2941
|
+
subcircuit_id: z132.string().optional(),
|
|
2942
|
+
pcb_board_id: z132.string().optional(),
|
|
2943
|
+
pcb_panel_id: z132.string().optional()
|
|
2910
2944
|
});
|
|
2911
2945
|
var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
2912
|
-
shape:
|
|
2946
|
+
shape: z132.literal("rect"),
|
|
2913
2947
|
center: point,
|
|
2914
2948
|
width: length,
|
|
2915
2949
|
height: length,
|
|
@@ -2918,26 +2952,26 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
|
2918
2952
|
});
|
|
2919
2953
|
expectTypesMatch(true);
|
|
2920
2954
|
var pcb_cutout_circle = pcb_cutout_base.extend({
|
|
2921
|
-
shape:
|
|
2955
|
+
shape: z132.literal("circle"),
|
|
2922
2956
|
center: point,
|
|
2923
2957
|
radius: length
|
|
2924
2958
|
});
|
|
2925
2959
|
expectTypesMatch(true);
|
|
2926
2960
|
var pcb_cutout_polygon = pcb_cutout_base.extend({
|
|
2927
|
-
shape:
|
|
2928
|
-
points:
|
|
2961
|
+
shape: z132.literal("polygon"),
|
|
2962
|
+
points: z132.array(point)
|
|
2929
2963
|
});
|
|
2930
2964
|
expectTypesMatch(true);
|
|
2931
2965
|
var pcb_cutout_path = pcb_cutout_base.extend({
|
|
2932
|
-
shape:
|
|
2933
|
-
route:
|
|
2966
|
+
shape: z132.literal("path"),
|
|
2967
|
+
route: z132.array(point),
|
|
2934
2968
|
slot_width: length,
|
|
2935
2969
|
slot_length: length.optional(),
|
|
2936
2970
|
space_between_slots: length.optional(),
|
|
2937
2971
|
slot_corner_radius: length.optional()
|
|
2938
2972
|
});
|
|
2939
2973
|
expectTypesMatch(true);
|
|
2940
|
-
var pcb_cutout =
|
|
2974
|
+
var pcb_cutout = z132.discriminatedUnion("shape", [
|
|
2941
2975
|
pcb_cutout_rect,
|
|
2942
2976
|
pcb_cutout_circle,
|
|
2943
2977
|
pcb_cutout_polygon,
|
|
@@ -2946,147 +2980,147 @@ var pcb_cutout = z130.discriminatedUnion("shape", [
|
|
|
2946
2980
|
expectTypesMatch(true);
|
|
2947
2981
|
|
|
2948
2982
|
// src/pcb/pcb_missing_footprint_error.ts
|
|
2949
|
-
import { z as
|
|
2983
|
+
import { z as z133 } from "zod";
|
|
2950
2984
|
var pcb_missing_footprint_error = base_circuit_json_error.extend({
|
|
2951
|
-
type:
|
|
2985
|
+
type: z133.literal("pcb_missing_footprint_error"),
|
|
2952
2986
|
pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
|
|
2953
2987
|
"pcb_missing_footprint_error"
|
|
2954
2988
|
),
|
|
2955
|
-
pcb_group_id:
|
|
2956
|
-
subcircuit_id:
|
|
2957
|
-
error_type:
|
|
2958
|
-
source_component_id:
|
|
2989
|
+
pcb_group_id: z133.string().optional(),
|
|
2990
|
+
subcircuit_id: z133.string().optional(),
|
|
2991
|
+
error_type: z133.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
|
|
2992
|
+
source_component_id: z133.string()
|
|
2959
2993
|
}).describe("Defines a missing footprint error on the PCB");
|
|
2960
2994
|
expectTypesMatch(
|
|
2961
2995
|
true
|
|
2962
2996
|
);
|
|
2963
2997
|
|
|
2964
2998
|
// src/pcb/external_footprint_load_error.ts
|
|
2965
|
-
import { z as
|
|
2999
|
+
import { z as z134 } from "zod";
|
|
2966
3000
|
var external_footprint_load_error = base_circuit_json_error.extend({
|
|
2967
|
-
type:
|
|
3001
|
+
type: z134.literal("external_footprint_load_error"),
|
|
2968
3002
|
external_footprint_load_error_id: getZodPrefixedIdWithDefault(
|
|
2969
3003
|
"external_footprint_load_error"
|
|
2970
3004
|
),
|
|
2971
|
-
pcb_component_id:
|
|
2972
|
-
source_component_id:
|
|
2973
|
-
pcb_group_id:
|
|
2974
|
-
subcircuit_id:
|
|
2975
|
-
footprinter_string:
|
|
2976
|
-
error_type:
|
|
3005
|
+
pcb_component_id: z134.string(),
|
|
3006
|
+
source_component_id: z134.string(),
|
|
3007
|
+
pcb_group_id: z134.string().optional(),
|
|
3008
|
+
subcircuit_id: z134.string().optional(),
|
|
3009
|
+
footprinter_string: z134.string().optional(),
|
|
3010
|
+
error_type: z134.literal("external_footprint_load_error").default("external_footprint_load_error")
|
|
2977
3011
|
}).describe("Defines an error when an external footprint fails to load");
|
|
2978
3012
|
expectTypesMatch(true);
|
|
2979
3013
|
|
|
2980
3014
|
// src/pcb/circuit_json_footprint_load_error.ts
|
|
2981
|
-
import { z as
|
|
3015
|
+
import { z as z135 } from "zod";
|
|
2982
3016
|
var circuit_json_footprint_load_error = base_circuit_json_error.extend({
|
|
2983
|
-
type:
|
|
3017
|
+
type: z135.literal("circuit_json_footprint_load_error"),
|
|
2984
3018
|
circuit_json_footprint_load_error_id: getZodPrefixedIdWithDefault(
|
|
2985
3019
|
"circuit_json_footprint_load_error"
|
|
2986
3020
|
),
|
|
2987
|
-
pcb_component_id:
|
|
2988
|
-
source_component_id:
|
|
2989
|
-
pcb_group_id:
|
|
2990
|
-
subcircuit_id:
|
|
2991
|
-
error_type:
|
|
2992
|
-
circuit_json:
|
|
3021
|
+
pcb_component_id: z135.string(),
|
|
3022
|
+
source_component_id: z135.string(),
|
|
3023
|
+
pcb_group_id: z135.string().optional(),
|
|
3024
|
+
subcircuit_id: z135.string().optional(),
|
|
3025
|
+
error_type: z135.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
|
|
3026
|
+
circuit_json: z135.array(z135.any()).optional()
|
|
2993
3027
|
}).describe("Defines an error when a circuit JSON footprint fails to load");
|
|
2994
3028
|
expectTypesMatch(true);
|
|
2995
3029
|
|
|
2996
3030
|
// src/pcb/pcb_group.ts
|
|
2997
|
-
import { z as
|
|
2998
|
-
var pcb_group =
|
|
2999
|
-
type:
|
|
3031
|
+
import { z as z136 } from "zod";
|
|
3032
|
+
var pcb_group = z136.object({
|
|
3033
|
+
type: z136.literal("pcb_group"),
|
|
3000
3034
|
pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
|
|
3001
|
-
source_group_id:
|
|
3002
|
-
is_subcircuit:
|
|
3003
|
-
subcircuit_id:
|
|
3035
|
+
source_group_id: z136.string(),
|
|
3036
|
+
is_subcircuit: z136.boolean().optional(),
|
|
3037
|
+
subcircuit_id: z136.string().optional(),
|
|
3004
3038
|
width: length.optional(),
|
|
3005
3039
|
height: length.optional(),
|
|
3006
3040
|
center: point,
|
|
3007
|
-
display_offset_x:
|
|
3041
|
+
display_offset_x: z136.string().optional().describe(
|
|
3008
3042
|
"How to display the x offset for this group, usually corresponding with how the user specified it"
|
|
3009
3043
|
),
|
|
3010
|
-
display_offset_y:
|
|
3044
|
+
display_offset_y: z136.string().optional().describe(
|
|
3011
3045
|
"How to display the y offset for this group, usually corresponding with how the user specified it"
|
|
3012
3046
|
),
|
|
3013
|
-
outline:
|
|
3047
|
+
outline: z136.array(point).optional(),
|
|
3014
3048
|
anchor_position: point.optional(),
|
|
3015
3049
|
anchor_alignment: ninePointAnchor.default("center"),
|
|
3016
|
-
position_mode:
|
|
3017
|
-
positioned_relative_to_pcb_group_id:
|
|
3018
|
-
positioned_relative_to_pcb_board_id:
|
|
3019
|
-
pcb_component_ids:
|
|
3020
|
-
child_layout_mode:
|
|
3021
|
-
name:
|
|
3022
|
-
description:
|
|
3023
|
-
layout_mode:
|
|
3024
|
-
autorouter_configuration:
|
|
3050
|
+
position_mode: z136.enum(["packed", "relative_to_group_anchor", "none"]).optional(),
|
|
3051
|
+
positioned_relative_to_pcb_group_id: z136.string().optional(),
|
|
3052
|
+
positioned_relative_to_pcb_board_id: z136.string().optional(),
|
|
3053
|
+
pcb_component_ids: z136.array(z136.string()),
|
|
3054
|
+
child_layout_mode: z136.enum(["packed", "none"]).optional(),
|
|
3055
|
+
name: z136.string().optional(),
|
|
3056
|
+
description: z136.string().optional(),
|
|
3057
|
+
layout_mode: z136.string().optional(),
|
|
3058
|
+
autorouter_configuration: z136.object({
|
|
3025
3059
|
trace_clearance: length
|
|
3026
3060
|
}).optional(),
|
|
3027
|
-
autorouter_used_string:
|
|
3061
|
+
autorouter_used_string: z136.string().optional()
|
|
3028
3062
|
}).describe("Defines a group of components on the PCB");
|
|
3029
3063
|
expectTypesMatch(true);
|
|
3030
3064
|
|
|
3031
3065
|
// src/pcb/pcb_autorouting_error.ts
|
|
3032
|
-
import { z as
|
|
3066
|
+
import { z as z137 } from "zod";
|
|
3033
3067
|
var pcb_autorouting_error = base_circuit_json_error.extend({
|
|
3034
|
-
type:
|
|
3068
|
+
type: z137.literal("pcb_autorouting_error"),
|
|
3035
3069
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
|
|
3036
|
-
error_type:
|
|
3037
|
-
subcircuit_id:
|
|
3070
|
+
error_type: z137.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
|
|
3071
|
+
subcircuit_id: z137.string().optional()
|
|
3038
3072
|
}).describe("The autorouting has failed to route a portion of the board");
|
|
3039
3073
|
expectTypesMatch(true);
|
|
3040
3074
|
|
|
3041
3075
|
// src/pcb/pcb_manual_edit_conflict_warning.ts
|
|
3042
|
-
import { z as
|
|
3043
|
-
var pcb_manual_edit_conflict_warning =
|
|
3044
|
-
type:
|
|
3076
|
+
import { z as z138 } from "zod";
|
|
3077
|
+
var pcb_manual_edit_conflict_warning = z138.object({
|
|
3078
|
+
type: z138.literal("pcb_manual_edit_conflict_warning"),
|
|
3045
3079
|
pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
3046
3080
|
"pcb_manual_edit_conflict_warning"
|
|
3047
3081
|
),
|
|
3048
|
-
warning_type:
|
|
3049
|
-
message:
|
|
3050
|
-
pcb_component_id:
|
|
3051
|
-
pcb_group_id:
|
|
3052
|
-
subcircuit_id:
|
|
3053
|
-
source_component_id:
|
|
3082
|
+
warning_type: z138.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
|
|
3083
|
+
message: z138.string(),
|
|
3084
|
+
pcb_component_id: z138.string(),
|
|
3085
|
+
pcb_group_id: z138.string().optional(),
|
|
3086
|
+
subcircuit_id: z138.string().optional(),
|
|
3087
|
+
source_component_id: z138.string()
|
|
3054
3088
|
}).describe(
|
|
3055
3089
|
"Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
|
|
3056
3090
|
);
|
|
3057
3091
|
expectTypesMatch(true);
|
|
3058
3092
|
|
|
3059
3093
|
// src/pcb/pcb_connector_not_in_accessible_orientation_warning.ts
|
|
3060
|
-
import { z as
|
|
3061
|
-
var connectorOrientationDirection =
|
|
3062
|
-
var pcb_connector_not_in_accessible_orientation_warning =
|
|
3063
|
-
type:
|
|
3094
|
+
import { z as z139 } from "zod";
|
|
3095
|
+
var connectorOrientationDirection = z139.enum(["x-", "x+", "y+", "y-"]);
|
|
3096
|
+
var pcb_connector_not_in_accessible_orientation_warning = z139.object({
|
|
3097
|
+
type: z139.literal("pcb_connector_not_in_accessible_orientation_warning"),
|
|
3064
3098
|
pcb_connector_not_in_accessible_orientation_warning_id: getZodPrefixedIdWithDefault(
|
|
3065
3099
|
"pcb_connector_not_in_accessible_orientation_warning"
|
|
3066
3100
|
),
|
|
3067
|
-
warning_type:
|
|
3068
|
-
message:
|
|
3069
|
-
pcb_component_id:
|
|
3070
|
-
source_component_id:
|
|
3071
|
-
pcb_board_id:
|
|
3101
|
+
warning_type: z139.literal("pcb_connector_not_in_accessible_orientation_warning").default("pcb_connector_not_in_accessible_orientation_warning"),
|
|
3102
|
+
message: z139.string(),
|
|
3103
|
+
pcb_component_id: z139.string(),
|
|
3104
|
+
source_component_id: z139.string().optional(),
|
|
3105
|
+
pcb_board_id: z139.string().optional(),
|
|
3072
3106
|
facing_direction: connectorOrientationDirection,
|
|
3073
3107
|
recommended_facing_direction: connectorOrientationDirection,
|
|
3074
|
-
subcircuit_id:
|
|
3108
|
+
subcircuit_id: z139.string().optional()
|
|
3075
3109
|
}).describe(
|
|
3076
3110
|
"Warning emitted when a connector PCB component is facing inward toward the board and should be reoriented to an outward-facing direction"
|
|
3077
3111
|
);
|
|
3078
3112
|
expectTypesMatch(true);
|
|
3079
3113
|
|
|
3080
3114
|
// src/pcb/pcb_breakout_point.ts
|
|
3081
|
-
import { z as
|
|
3082
|
-
var pcb_breakout_point =
|
|
3083
|
-
type:
|
|
3115
|
+
import { z as z140 } from "zod";
|
|
3116
|
+
var pcb_breakout_point = z140.object({
|
|
3117
|
+
type: z140.literal("pcb_breakout_point"),
|
|
3084
3118
|
pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
|
|
3085
|
-
pcb_group_id:
|
|
3086
|
-
subcircuit_id:
|
|
3087
|
-
source_trace_id:
|
|
3088
|
-
source_port_id:
|
|
3089
|
-
source_net_id:
|
|
3119
|
+
pcb_group_id: z140.string(),
|
|
3120
|
+
subcircuit_id: z140.string().optional(),
|
|
3121
|
+
source_trace_id: z140.string().optional(),
|
|
3122
|
+
source_port_id: z140.string().optional(),
|
|
3123
|
+
source_net_id: z140.string().optional(),
|
|
3090
3124
|
x: distance,
|
|
3091
3125
|
y: distance
|
|
3092
3126
|
}).describe(
|
|
@@ -3095,61 +3129,61 @@ var pcb_breakout_point = z138.object({
|
|
|
3095
3129
|
expectTypesMatch(true);
|
|
3096
3130
|
|
|
3097
3131
|
// src/pcb/pcb_ground_plane.ts
|
|
3098
|
-
import { z as
|
|
3099
|
-
var pcb_ground_plane =
|
|
3100
|
-
type:
|
|
3132
|
+
import { z as z141 } from "zod";
|
|
3133
|
+
var pcb_ground_plane = z141.object({
|
|
3134
|
+
type: z141.literal("pcb_ground_plane"),
|
|
3101
3135
|
pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
|
|
3102
|
-
source_pcb_ground_plane_id:
|
|
3103
|
-
source_net_id:
|
|
3104
|
-
pcb_group_id:
|
|
3105
|
-
subcircuit_id:
|
|
3136
|
+
source_pcb_ground_plane_id: z141.string(),
|
|
3137
|
+
source_net_id: z141.string(),
|
|
3138
|
+
pcb_group_id: z141.string().optional(),
|
|
3139
|
+
subcircuit_id: z141.string().optional()
|
|
3106
3140
|
}).describe("Defines a ground plane on the PCB");
|
|
3107
3141
|
expectTypesMatch(true);
|
|
3108
3142
|
|
|
3109
3143
|
// src/pcb/pcb_ground_plane_region.ts
|
|
3110
|
-
import { z as
|
|
3111
|
-
var pcb_ground_plane_region =
|
|
3112
|
-
type:
|
|
3144
|
+
import { z as z142 } from "zod";
|
|
3145
|
+
var pcb_ground_plane_region = z142.object({
|
|
3146
|
+
type: z142.literal("pcb_ground_plane_region"),
|
|
3113
3147
|
pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
|
|
3114
3148
|
"pcb_ground_plane_region"
|
|
3115
3149
|
),
|
|
3116
|
-
pcb_ground_plane_id:
|
|
3117
|
-
pcb_group_id:
|
|
3118
|
-
subcircuit_id:
|
|
3150
|
+
pcb_ground_plane_id: z142.string(),
|
|
3151
|
+
pcb_group_id: z142.string().optional(),
|
|
3152
|
+
subcircuit_id: z142.string().optional(),
|
|
3119
3153
|
layer: layer_ref,
|
|
3120
|
-
points:
|
|
3154
|
+
points: z142.array(point)
|
|
3121
3155
|
}).describe("Defines a polygon region of a ground plane");
|
|
3122
3156
|
expectTypesMatch(true);
|
|
3123
3157
|
|
|
3124
3158
|
// src/pcb/pcb_thermal_spoke.ts
|
|
3125
|
-
import { z as
|
|
3126
|
-
var pcb_thermal_spoke =
|
|
3127
|
-
type:
|
|
3159
|
+
import { z as z143 } from "zod";
|
|
3160
|
+
var pcb_thermal_spoke = z143.object({
|
|
3161
|
+
type: z143.literal("pcb_thermal_spoke"),
|
|
3128
3162
|
pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
|
|
3129
|
-
pcb_ground_plane_id:
|
|
3130
|
-
shape:
|
|
3131
|
-
spoke_count:
|
|
3163
|
+
pcb_ground_plane_id: z143.string(),
|
|
3164
|
+
shape: z143.string(),
|
|
3165
|
+
spoke_count: z143.number(),
|
|
3132
3166
|
spoke_thickness: distance,
|
|
3133
3167
|
spoke_inner_diameter: distance,
|
|
3134
3168
|
spoke_outer_diameter: distance,
|
|
3135
|
-
pcb_plated_hole_id:
|
|
3136
|
-
subcircuit_id:
|
|
3169
|
+
pcb_plated_hole_id: z143.string().optional(),
|
|
3170
|
+
subcircuit_id: z143.string().optional()
|
|
3137
3171
|
}).describe("Pattern for connecting a ground plane to a plated hole");
|
|
3138
3172
|
expectTypesMatch(true);
|
|
3139
3173
|
|
|
3140
3174
|
// src/pcb/pcb_copper_pour.ts
|
|
3141
|
-
import { z as
|
|
3142
|
-
var pcb_copper_pour_base =
|
|
3143
|
-
type:
|
|
3175
|
+
import { z as z144 } from "zod";
|
|
3176
|
+
var pcb_copper_pour_base = z144.object({
|
|
3177
|
+
type: z144.literal("pcb_copper_pour"),
|
|
3144
3178
|
pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
|
|
3145
|
-
pcb_group_id:
|
|
3146
|
-
subcircuit_id:
|
|
3179
|
+
pcb_group_id: z144.string().optional(),
|
|
3180
|
+
subcircuit_id: z144.string().optional(),
|
|
3147
3181
|
layer: layer_ref,
|
|
3148
|
-
source_net_id:
|
|
3149
|
-
covered_with_solder_mask:
|
|
3182
|
+
source_net_id: z144.string().optional(),
|
|
3183
|
+
covered_with_solder_mask: z144.boolean().optional().default(true)
|
|
3150
3184
|
});
|
|
3151
3185
|
var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
3152
|
-
shape:
|
|
3186
|
+
shape: z144.literal("rect"),
|
|
3153
3187
|
center: point,
|
|
3154
3188
|
width: length,
|
|
3155
3189
|
height: length,
|
|
@@ -3157,16 +3191,16 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
|
3157
3191
|
});
|
|
3158
3192
|
expectTypesMatch(true);
|
|
3159
3193
|
var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
|
|
3160
|
-
shape:
|
|
3194
|
+
shape: z144.literal("brep"),
|
|
3161
3195
|
brep_shape
|
|
3162
3196
|
});
|
|
3163
3197
|
expectTypesMatch(true);
|
|
3164
3198
|
var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
|
|
3165
|
-
shape:
|
|
3166
|
-
points:
|
|
3199
|
+
shape: z144.literal("polygon"),
|
|
3200
|
+
points: z144.array(point)
|
|
3167
3201
|
});
|
|
3168
3202
|
expectTypesMatch(true);
|
|
3169
|
-
var pcb_copper_pour =
|
|
3203
|
+
var pcb_copper_pour = z144.discriminatedUnion("shape", [
|
|
3170
3204
|
pcb_copper_pour_rect,
|
|
3171
3205
|
pcb_copper_pour_brep,
|
|
3172
3206
|
pcb_copper_pour_polygon
|
|
@@ -3174,149 +3208,149 @@ var pcb_copper_pour = z142.discriminatedUnion("shape", [
|
|
|
3174
3208
|
expectTypesMatch(true);
|
|
3175
3209
|
|
|
3176
3210
|
// src/pcb/pcb_component_outside_board_error.ts
|
|
3177
|
-
import { z as
|
|
3211
|
+
import { z as z145 } from "zod";
|
|
3178
3212
|
var pcb_component_outside_board_error = base_circuit_json_error.extend({
|
|
3179
|
-
type:
|
|
3213
|
+
type: z145.literal("pcb_component_outside_board_error"),
|
|
3180
3214
|
pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
|
|
3181
3215
|
"pcb_component_outside_board_error"
|
|
3182
3216
|
),
|
|
3183
|
-
error_type:
|
|
3184
|
-
pcb_component_id:
|
|
3185
|
-
pcb_board_id:
|
|
3217
|
+
error_type: z145.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
|
|
3218
|
+
pcb_component_id: z145.string(),
|
|
3219
|
+
pcb_board_id: z145.string(),
|
|
3186
3220
|
component_center: point,
|
|
3187
|
-
component_bounds:
|
|
3188
|
-
min_x:
|
|
3189
|
-
max_x:
|
|
3190
|
-
min_y:
|
|
3191
|
-
max_y:
|
|
3221
|
+
component_bounds: z145.object({
|
|
3222
|
+
min_x: z145.number(),
|
|
3223
|
+
max_x: z145.number(),
|
|
3224
|
+
min_y: z145.number(),
|
|
3225
|
+
max_y: z145.number()
|
|
3192
3226
|
}),
|
|
3193
|
-
subcircuit_id:
|
|
3194
|
-
source_component_id:
|
|
3227
|
+
subcircuit_id: z145.string().optional(),
|
|
3228
|
+
source_component_id: z145.string().optional()
|
|
3195
3229
|
}).describe(
|
|
3196
3230
|
"Error emitted when a PCB component is placed outside the board boundaries"
|
|
3197
3231
|
);
|
|
3198
3232
|
expectTypesMatch(true);
|
|
3199
3233
|
|
|
3200
3234
|
// src/pcb/pcb_component_not_on_board_edge_error.ts
|
|
3201
|
-
import { z as
|
|
3235
|
+
import { z as z146 } from "zod";
|
|
3202
3236
|
var pcb_component_not_on_board_edge_error = base_circuit_json_error.extend({
|
|
3203
|
-
type:
|
|
3237
|
+
type: z146.literal("pcb_component_not_on_board_edge_error"),
|
|
3204
3238
|
pcb_component_not_on_board_edge_error_id: getZodPrefixedIdWithDefault(
|
|
3205
3239
|
"pcb_component_not_on_board_edge_error"
|
|
3206
3240
|
),
|
|
3207
|
-
error_type:
|
|
3208
|
-
pcb_component_id:
|
|
3209
|
-
pcb_board_id:
|
|
3241
|
+
error_type: z146.literal("pcb_component_not_on_board_edge_error").default("pcb_component_not_on_board_edge_error"),
|
|
3242
|
+
pcb_component_id: z146.string(),
|
|
3243
|
+
pcb_board_id: z146.string(),
|
|
3210
3244
|
component_center: point,
|
|
3211
|
-
pad_to_nearest_board_edge_distance:
|
|
3212
|
-
source_component_id:
|
|
3213
|
-
subcircuit_id:
|
|
3245
|
+
pad_to_nearest_board_edge_distance: z146.number(),
|
|
3246
|
+
source_component_id: z146.string().optional(),
|
|
3247
|
+
subcircuit_id: z146.string().optional()
|
|
3214
3248
|
}).describe(
|
|
3215
3249
|
"Error emitted when a component that must be placed on the board edge is centered away from the edge"
|
|
3216
3250
|
);
|
|
3217
3251
|
expectTypesMatch(true);
|
|
3218
3252
|
|
|
3219
3253
|
// src/pcb/pcb_component_invalid_layer_error.ts
|
|
3220
|
-
import { z as
|
|
3254
|
+
import { z as z147 } from "zod";
|
|
3221
3255
|
var pcb_component_invalid_layer_error = base_circuit_json_error.extend({
|
|
3222
|
-
type:
|
|
3256
|
+
type: z147.literal("pcb_component_invalid_layer_error"),
|
|
3223
3257
|
pcb_component_invalid_layer_error_id: getZodPrefixedIdWithDefault(
|
|
3224
3258
|
"pcb_component_invalid_layer_error"
|
|
3225
3259
|
),
|
|
3226
|
-
error_type:
|
|
3227
|
-
pcb_component_id:
|
|
3228
|
-
source_component_id:
|
|
3260
|
+
error_type: z147.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
|
|
3261
|
+
pcb_component_id: z147.string().optional(),
|
|
3262
|
+
source_component_id: z147.string(),
|
|
3229
3263
|
layer: layer_ref,
|
|
3230
|
-
subcircuit_id:
|
|
3264
|
+
subcircuit_id: z147.string().optional()
|
|
3231
3265
|
}).describe(
|
|
3232
3266
|
"Error emitted when a component is placed on an invalid layer (components can only be on 'top' or 'bottom' layers)"
|
|
3233
3267
|
);
|
|
3234
3268
|
expectTypesMatch(true);
|
|
3235
3269
|
|
|
3236
3270
|
// src/pcb/pcb_via_clearance_error.ts
|
|
3237
|
-
import { z as
|
|
3271
|
+
import { z as z148 } from "zod";
|
|
3238
3272
|
var pcb_via_clearance_error = base_circuit_json_error.extend({
|
|
3239
|
-
type:
|
|
3273
|
+
type: z148.literal("pcb_via_clearance_error"),
|
|
3240
3274
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
3241
|
-
error_type:
|
|
3242
|
-
pcb_via_ids:
|
|
3275
|
+
error_type: z148.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
|
|
3276
|
+
pcb_via_ids: z148.array(z148.string()).min(2),
|
|
3243
3277
|
minimum_clearance: distance.optional(),
|
|
3244
3278
|
actual_clearance: distance.optional(),
|
|
3245
|
-
pcb_center:
|
|
3246
|
-
x:
|
|
3247
|
-
y:
|
|
3279
|
+
pcb_center: z148.object({
|
|
3280
|
+
x: z148.number().optional(),
|
|
3281
|
+
y: z148.number().optional()
|
|
3248
3282
|
}).optional(),
|
|
3249
|
-
subcircuit_id:
|
|
3283
|
+
subcircuit_id: z148.string().optional()
|
|
3250
3284
|
}).describe("Error emitted when vias are closer than the allowed clearance");
|
|
3251
3285
|
expectTypesMatch(true);
|
|
3252
3286
|
|
|
3253
3287
|
// src/pcb/pcb_courtyard_rect.ts
|
|
3254
|
-
import { z as
|
|
3255
|
-
var pcb_courtyard_rect =
|
|
3256
|
-
type:
|
|
3288
|
+
import { z as z149 } from "zod";
|
|
3289
|
+
var pcb_courtyard_rect = z149.object({
|
|
3290
|
+
type: z149.literal("pcb_courtyard_rect"),
|
|
3257
3291
|
pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
|
|
3258
|
-
pcb_component_id:
|
|
3259
|
-
pcb_group_id:
|
|
3260
|
-
subcircuit_id:
|
|
3292
|
+
pcb_component_id: z149.string(),
|
|
3293
|
+
pcb_group_id: z149.string().optional(),
|
|
3294
|
+
subcircuit_id: z149.string().optional(),
|
|
3261
3295
|
center: point,
|
|
3262
3296
|
width: length,
|
|
3263
3297
|
height: length,
|
|
3264
3298
|
layer: visible_layer,
|
|
3265
3299
|
ccw_rotation: rotation.optional(),
|
|
3266
|
-
color:
|
|
3300
|
+
color: z149.string().optional()
|
|
3267
3301
|
}).describe("Defines a courtyard rectangle on the PCB");
|
|
3268
3302
|
expectTypesMatch(true);
|
|
3269
3303
|
|
|
3270
3304
|
// src/pcb/pcb_courtyard_outline.ts
|
|
3271
|
-
import { z as
|
|
3272
|
-
var pcb_courtyard_outline =
|
|
3273
|
-
type:
|
|
3305
|
+
import { z as z150 } from "zod";
|
|
3306
|
+
var pcb_courtyard_outline = z150.object({
|
|
3307
|
+
type: z150.literal("pcb_courtyard_outline"),
|
|
3274
3308
|
pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
|
|
3275
3309
|
"pcb_courtyard_outline"
|
|
3276
3310
|
),
|
|
3277
|
-
pcb_component_id:
|
|
3278
|
-
pcb_group_id:
|
|
3279
|
-
subcircuit_id:
|
|
3311
|
+
pcb_component_id: z150.string(),
|
|
3312
|
+
pcb_group_id: z150.string().optional(),
|
|
3313
|
+
subcircuit_id: z150.string().optional(),
|
|
3280
3314
|
layer: visible_layer,
|
|
3281
|
-
outline:
|
|
3315
|
+
outline: z150.array(point).min(2)
|
|
3282
3316
|
}).describe("Defines a courtyard outline on the PCB");
|
|
3283
3317
|
expectTypesMatch(true);
|
|
3284
3318
|
|
|
3285
3319
|
// src/pcb/pcb_courtyard_polygon.ts
|
|
3286
|
-
import { z as
|
|
3287
|
-
var pcb_courtyard_polygon =
|
|
3288
|
-
type:
|
|
3320
|
+
import { z as z151 } from "zod";
|
|
3321
|
+
var pcb_courtyard_polygon = z151.object({
|
|
3322
|
+
type: z151.literal("pcb_courtyard_polygon"),
|
|
3289
3323
|
pcb_courtyard_polygon_id: getZodPrefixedIdWithDefault(
|
|
3290
3324
|
"pcb_courtyard_polygon"
|
|
3291
3325
|
),
|
|
3292
|
-
pcb_component_id:
|
|
3293
|
-
pcb_group_id:
|
|
3294
|
-
subcircuit_id:
|
|
3326
|
+
pcb_component_id: z151.string(),
|
|
3327
|
+
pcb_group_id: z151.string().optional(),
|
|
3328
|
+
subcircuit_id: z151.string().optional(),
|
|
3295
3329
|
layer: visible_layer,
|
|
3296
|
-
points:
|
|
3297
|
-
color:
|
|
3330
|
+
points: z151.array(point).min(3),
|
|
3331
|
+
color: z151.string().optional()
|
|
3298
3332
|
}).describe("Defines a courtyard polygon on the PCB");
|
|
3299
3333
|
expectTypesMatch(true);
|
|
3300
3334
|
|
|
3301
3335
|
// src/pcb/pcb_courtyard_circle.ts
|
|
3302
|
-
import { z as
|
|
3303
|
-
var pcb_courtyard_circle =
|
|
3304
|
-
type:
|
|
3336
|
+
import { z as z152 } from "zod";
|
|
3337
|
+
var pcb_courtyard_circle = z152.object({
|
|
3338
|
+
type: z152.literal("pcb_courtyard_circle"),
|
|
3305
3339
|
pcb_courtyard_circle_id: getZodPrefixedIdWithDefault(
|
|
3306
3340
|
"pcb_courtyard_circle"
|
|
3307
3341
|
),
|
|
3308
|
-
pcb_component_id:
|
|
3309
|
-
pcb_group_id:
|
|
3310
|
-
subcircuit_id:
|
|
3342
|
+
pcb_component_id: z152.string(),
|
|
3343
|
+
pcb_group_id: z152.string().optional(),
|
|
3344
|
+
subcircuit_id: z152.string().optional(),
|
|
3311
3345
|
center: point,
|
|
3312
3346
|
radius: length,
|
|
3313
3347
|
layer: visible_layer,
|
|
3314
|
-
color:
|
|
3348
|
+
color: z152.string().optional()
|
|
3315
3349
|
}).describe("Defines a courtyard circle on the PCB");
|
|
3316
3350
|
expectTypesMatch(true);
|
|
3317
3351
|
|
|
3318
3352
|
// src/cad/cad_component.ts
|
|
3319
|
-
import { z as
|
|
3353
|
+
import { z as z153 } from "zod";
|
|
3320
3354
|
|
|
3321
3355
|
// src/cad/cad_model_conventions.ts
|
|
3322
3356
|
var cad_model_formats = [
|
|
@@ -3347,48 +3381,48 @@ var cadModelDefaultDirectionMap = {
|
|
|
3347
3381
|
};
|
|
3348
3382
|
|
|
3349
3383
|
// src/cad/cad_component.ts
|
|
3350
|
-
var cad_component =
|
|
3351
|
-
type:
|
|
3352
|
-
cad_component_id:
|
|
3353
|
-
pcb_component_id:
|
|
3354
|
-
source_component_id:
|
|
3384
|
+
var cad_component = z153.object({
|
|
3385
|
+
type: z153.literal("cad_component"),
|
|
3386
|
+
cad_component_id: z153.string(),
|
|
3387
|
+
pcb_component_id: z153.string(),
|
|
3388
|
+
source_component_id: z153.string(),
|
|
3355
3389
|
position: point3,
|
|
3356
3390
|
rotation: point3.optional(),
|
|
3357
3391
|
size: point3.optional(),
|
|
3358
3392
|
layer: layer_ref.optional(),
|
|
3359
|
-
subcircuit_id:
|
|
3393
|
+
subcircuit_id: z153.string().optional(),
|
|
3360
3394
|
// These are all ways to generate/load the 3d model
|
|
3361
|
-
footprinter_string:
|
|
3362
|
-
model_obj_url:
|
|
3363
|
-
model_stl_url:
|
|
3364
|
-
model_3mf_url:
|
|
3365
|
-
model_gltf_url:
|
|
3366
|
-
model_glb_url:
|
|
3367
|
-
model_step_url:
|
|
3368
|
-
model_wrl_url:
|
|
3395
|
+
footprinter_string: z153.string().optional(),
|
|
3396
|
+
model_obj_url: z153.string().optional(),
|
|
3397
|
+
model_stl_url: z153.string().optional(),
|
|
3398
|
+
model_3mf_url: z153.string().optional(),
|
|
3399
|
+
model_gltf_url: z153.string().optional(),
|
|
3400
|
+
model_glb_url: z153.string().optional(),
|
|
3401
|
+
model_step_url: z153.string().optional(),
|
|
3402
|
+
model_wrl_url: z153.string().optional(),
|
|
3369
3403
|
model_asset: asset.optional(),
|
|
3370
|
-
model_unit_to_mm_scale_factor:
|
|
3371
|
-
model_board_normal_direction:
|
|
3404
|
+
model_unit_to_mm_scale_factor: z153.number().optional(),
|
|
3405
|
+
model_board_normal_direction: z153.enum(cad_model_axis_directions).optional().describe(
|
|
3372
3406
|
`The direction in the model's coordinate space that is considered "up" or "coming out of the board surface"`
|
|
3373
3407
|
),
|
|
3374
3408
|
model_origin_position: point3.optional(),
|
|
3375
|
-
model_origin_alignment:
|
|
3409
|
+
model_origin_alignment: z153.enum([
|
|
3376
3410
|
"unknown",
|
|
3377
3411
|
"center",
|
|
3378
3412
|
"center_of_component_on_board_surface",
|
|
3379
3413
|
"bottom_center_of_component"
|
|
3380
3414
|
]).optional(),
|
|
3381
|
-
model_object_fit:
|
|
3382
|
-
model_jscad:
|
|
3383
|
-
show_as_translucent_model:
|
|
3384
|
-
anchor_alignment:
|
|
3415
|
+
model_object_fit: z153.enum(["contain_within_bounds", "fill_bounds"]).optional().default("contain_within_bounds"),
|
|
3416
|
+
model_jscad: z153.any().optional(),
|
|
3417
|
+
show_as_translucent_model: z153.boolean().optional(),
|
|
3418
|
+
anchor_alignment: z153.enum(["center", "center_of_component_on_board_surface"]).optional().default("center")
|
|
3385
3419
|
}).describe("Defines a component on the PCB");
|
|
3386
3420
|
expectTypesMatch(true);
|
|
3387
3421
|
|
|
3388
3422
|
// src/simulation/simulation_voltage_source.ts
|
|
3389
|
-
import { z as
|
|
3390
|
-
var wave_shape =
|
|
3391
|
-
var percentage =
|
|
3423
|
+
import { z as z154 } from "zod";
|
|
3424
|
+
var wave_shape = z154.enum(["sinewave", "square", "triangle", "sawtooth"]);
|
|
3425
|
+
var percentage = z154.union([z154.string(), z154.number()]).transform((val) => {
|
|
3392
3426
|
if (typeof val === "string") {
|
|
3393
3427
|
if (val.endsWith("%")) {
|
|
3394
3428
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -3397,30 +3431,30 @@ var percentage = z152.union([z152.string(), z152.number()]).transform((val) => {
|
|
|
3397
3431
|
}
|
|
3398
3432
|
return val;
|
|
3399
3433
|
}).pipe(
|
|
3400
|
-
|
|
3434
|
+
z154.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
3401
3435
|
);
|
|
3402
|
-
var simulation_dc_voltage_source =
|
|
3403
|
-
type:
|
|
3436
|
+
var simulation_dc_voltage_source = z154.object({
|
|
3437
|
+
type: z154.literal("simulation_voltage_source"),
|
|
3404
3438
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
3405
3439
|
"simulation_voltage_source"
|
|
3406
3440
|
),
|
|
3407
|
-
is_dc_source:
|
|
3408
|
-
positive_source_port_id:
|
|
3409
|
-
negative_source_port_id:
|
|
3410
|
-
positive_source_net_id:
|
|
3411
|
-
negative_source_net_id:
|
|
3441
|
+
is_dc_source: z154.literal(true).optional().default(true),
|
|
3442
|
+
positive_source_port_id: z154.string().optional(),
|
|
3443
|
+
negative_source_port_id: z154.string().optional(),
|
|
3444
|
+
positive_source_net_id: z154.string().optional(),
|
|
3445
|
+
negative_source_net_id: z154.string().optional(),
|
|
3412
3446
|
voltage
|
|
3413
3447
|
}).describe("Defines a DC voltage source for simulation");
|
|
3414
|
-
var simulation_ac_voltage_source =
|
|
3415
|
-
type:
|
|
3448
|
+
var simulation_ac_voltage_source = z154.object({
|
|
3449
|
+
type: z154.literal("simulation_voltage_source"),
|
|
3416
3450
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
3417
3451
|
"simulation_voltage_source"
|
|
3418
3452
|
),
|
|
3419
|
-
is_dc_source:
|
|
3420
|
-
terminal1_source_port_id:
|
|
3421
|
-
terminal2_source_port_id:
|
|
3422
|
-
terminal1_source_net_id:
|
|
3423
|
-
terminal2_source_net_id:
|
|
3453
|
+
is_dc_source: z154.literal(false),
|
|
3454
|
+
terminal1_source_port_id: z154.string().optional(),
|
|
3455
|
+
terminal2_source_port_id: z154.string().optional(),
|
|
3456
|
+
terminal1_source_net_id: z154.string().optional(),
|
|
3457
|
+
terminal2_source_net_id: z154.string().optional(),
|
|
3424
3458
|
voltage: voltage.optional(),
|
|
3425
3459
|
frequency: frequency.optional(),
|
|
3426
3460
|
peak_to_peak_voltage: voltage.optional(),
|
|
@@ -3428,14 +3462,14 @@ var simulation_ac_voltage_source = z152.object({
|
|
|
3428
3462
|
phase: rotation.optional(),
|
|
3429
3463
|
duty_cycle: percentage.optional()
|
|
3430
3464
|
}).describe("Defines an AC voltage source for simulation");
|
|
3431
|
-
var simulation_voltage_source =
|
|
3465
|
+
var simulation_voltage_source = z154.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
|
|
3432
3466
|
expectTypesMatch(true);
|
|
3433
3467
|
expectTypesMatch(true);
|
|
3434
3468
|
expectTypesMatch(true);
|
|
3435
3469
|
|
|
3436
3470
|
// src/simulation/simulation_current_source.ts
|
|
3437
|
-
import { z as
|
|
3438
|
-
var percentage2 =
|
|
3471
|
+
import { z as z155 } from "zod";
|
|
3472
|
+
var percentage2 = z155.union([z155.string(), z155.number()]).transform((val) => {
|
|
3439
3473
|
if (typeof val === "string") {
|
|
3440
3474
|
if (val.endsWith("%")) {
|
|
3441
3475
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -3444,30 +3478,30 @@ var percentage2 = z153.union([z153.string(), z153.number()]).transform((val) =>
|
|
|
3444
3478
|
}
|
|
3445
3479
|
return val;
|
|
3446
3480
|
}).pipe(
|
|
3447
|
-
|
|
3481
|
+
z155.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
3448
3482
|
);
|
|
3449
|
-
var simulation_dc_current_source =
|
|
3450
|
-
type:
|
|
3483
|
+
var simulation_dc_current_source = z155.object({
|
|
3484
|
+
type: z155.literal("simulation_current_source"),
|
|
3451
3485
|
simulation_current_source_id: getZodPrefixedIdWithDefault(
|
|
3452
3486
|
"simulation_current_source"
|
|
3453
3487
|
),
|
|
3454
|
-
is_dc_source:
|
|
3455
|
-
positive_source_port_id:
|
|
3456
|
-
negative_source_port_id:
|
|
3457
|
-
positive_source_net_id:
|
|
3458
|
-
negative_source_net_id:
|
|
3488
|
+
is_dc_source: z155.literal(true).optional().default(true),
|
|
3489
|
+
positive_source_port_id: z155.string().optional(),
|
|
3490
|
+
negative_source_port_id: z155.string().optional(),
|
|
3491
|
+
positive_source_net_id: z155.string().optional(),
|
|
3492
|
+
negative_source_net_id: z155.string().optional(),
|
|
3459
3493
|
current
|
|
3460
3494
|
}).describe("Defines a DC current source for simulation");
|
|
3461
|
-
var simulation_ac_current_source =
|
|
3462
|
-
type:
|
|
3495
|
+
var simulation_ac_current_source = z155.object({
|
|
3496
|
+
type: z155.literal("simulation_current_source"),
|
|
3463
3497
|
simulation_current_source_id: getZodPrefixedIdWithDefault(
|
|
3464
3498
|
"simulation_current_source"
|
|
3465
3499
|
),
|
|
3466
|
-
is_dc_source:
|
|
3467
|
-
terminal1_source_port_id:
|
|
3468
|
-
terminal2_source_port_id:
|
|
3469
|
-
terminal1_source_net_id:
|
|
3470
|
-
terminal2_source_net_id:
|
|
3500
|
+
is_dc_source: z155.literal(false),
|
|
3501
|
+
terminal1_source_port_id: z155.string().optional(),
|
|
3502
|
+
terminal2_source_port_id: z155.string().optional(),
|
|
3503
|
+
terminal1_source_net_id: z155.string().optional(),
|
|
3504
|
+
terminal2_source_net_id: z155.string().optional(),
|
|
3471
3505
|
current: current.optional(),
|
|
3472
3506
|
frequency: frequency.optional(),
|
|
3473
3507
|
peak_to_peak_current: current.optional(),
|
|
@@ -3475,25 +3509,25 @@ var simulation_ac_current_source = z153.object({
|
|
|
3475
3509
|
phase: rotation.optional(),
|
|
3476
3510
|
duty_cycle: percentage2.optional()
|
|
3477
3511
|
}).describe("Defines an AC current source for simulation");
|
|
3478
|
-
var simulation_current_source =
|
|
3512
|
+
var simulation_current_source = z155.union([simulation_dc_current_source, simulation_ac_current_source]).describe("Defines a current source for simulation");
|
|
3479
3513
|
expectTypesMatch(true);
|
|
3480
3514
|
expectTypesMatch(true);
|
|
3481
3515
|
expectTypesMatch(true);
|
|
3482
3516
|
|
|
3483
3517
|
// src/simulation/simulation_experiment.ts
|
|
3484
|
-
import { z as
|
|
3485
|
-
var experiment_type =
|
|
3486
|
-
|
|
3487
|
-
|
|
3488
|
-
|
|
3489
|
-
|
|
3518
|
+
import { z as z156 } from "zod";
|
|
3519
|
+
var experiment_type = z156.union([
|
|
3520
|
+
z156.literal("spice_dc_sweep"),
|
|
3521
|
+
z156.literal("spice_dc_operating_point"),
|
|
3522
|
+
z156.literal("spice_transient_analysis"),
|
|
3523
|
+
z156.literal("spice_ac_analysis")
|
|
3490
3524
|
]);
|
|
3491
|
-
var simulation_experiment =
|
|
3492
|
-
type:
|
|
3525
|
+
var simulation_experiment = z156.object({
|
|
3526
|
+
type: z156.literal("simulation_experiment"),
|
|
3493
3527
|
simulation_experiment_id: getZodPrefixedIdWithDefault(
|
|
3494
3528
|
"simulation_experiment"
|
|
3495
3529
|
),
|
|
3496
|
-
name:
|
|
3530
|
+
name: z156.string(),
|
|
3497
3531
|
experiment_type,
|
|
3498
3532
|
time_per_step: duration_ms.optional(),
|
|
3499
3533
|
start_time_ms: ms.optional(),
|
|
@@ -3502,53 +3536,53 @@ var simulation_experiment = z154.object({
|
|
|
3502
3536
|
expectTypesMatch(true);
|
|
3503
3537
|
|
|
3504
3538
|
// src/simulation/simulation_transient_voltage_graph.ts
|
|
3505
|
-
import { z as
|
|
3506
|
-
var simulation_transient_voltage_graph =
|
|
3507
|
-
type:
|
|
3539
|
+
import { z as z157 } from "zod";
|
|
3540
|
+
var simulation_transient_voltage_graph = z157.object({
|
|
3541
|
+
type: z157.literal("simulation_transient_voltage_graph"),
|
|
3508
3542
|
simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
|
|
3509
3543
|
"simulation_transient_voltage_graph"
|
|
3510
3544
|
),
|
|
3511
|
-
simulation_experiment_id:
|
|
3512
|
-
timestamps_ms:
|
|
3513
|
-
voltage_levels:
|
|
3514
|
-
source_component_id:
|
|
3515
|
-
subcircuit_connectivity_map_key:
|
|
3545
|
+
simulation_experiment_id: z157.string(),
|
|
3546
|
+
timestamps_ms: z157.array(z157.number()).optional(),
|
|
3547
|
+
voltage_levels: z157.array(z157.number()),
|
|
3548
|
+
source_component_id: z157.string().optional(),
|
|
3549
|
+
subcircuit_connectivity_map_key: z157.string().optional(),
|
|
3516
3550
|
time_per_step: duration_ms,
|
|
3517
3551
|
start_time_ms: ms,
|
|
3518
3552
|
end_time_ms: ms,
|
|
3519
|
-
name:
|
|
3520
|
-
color:
|
|
3553
|
+
name: z157.string().optional(),
|
|
3554
|
+
color: z157.string().optional()
|
|
3521
3555
|
}).describe("Stores voltage measurements over time for a simulation");
|
|
3522
3556
|
expectTypesMatch(true);
|
|
3523
3557
|
|
|
3524
3558
|
// src/simulation/simulation_switch.ts
|
|
3525
|
-
import { z as
|
|
3526
|
-
var simulation_switch =
|
|
3527
|
-
type:
|
|
3559
|
+
import { z as z158 } from "zod";
|
|
3560
|
+
var simulation_switch = z158.object({
|
|
3561
|
+
type: z158.literal("simulation_switch"),
|
|
3528
3562
|
simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
|
|
3529
|
-
source_component_id:
|
|
3563
|
+
source_component_id: z158.string().optional(),
|
|
3530
3564
|
closes_at: ms.optional(),
|
|
3531
3565
|
opens_at: ms.optional(),
|
|
3532
|
-
starts_closed:
|
|
3566
|
+
starts_closed: z158.boolean().optional(),
|
|
3533
3567
|
switching_frequency: frequency.optional()
|
|
3534
3568
|
}).describe("Defines a switch for simulation timing control");
|
|
3535
3569
|
expectTypesMatch(true);
|
|
3536
3570
|
|
|
3537
3571
|
// src/simulation/simulation_voltage_probe.ts
|
|
3538
|
-
import { z as
|
|
3539
|
-
var simulation_voltage_probe =
|
|
3540
|
-
type:
|
|
3572
|
+
import { z as z159 } from "zod";
|
|
3573
|
+
var simulation_voltage_probe = z159.object({
|
|
3574
|
+
type: z159.literal("simulation_voltage_probe"),
|
|
3541
3575
|
simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
|
|
3542
3576
|
"simulation_voltage_probe"
|
|
3543
3577
|
),
|
|
3544
|
-
source_component_id:
|
|
3545
|
-
name:
|
|
3546
|
-
signal_input_source_port_id:
|
|
3547
|
-
signal_input_source_net_id:
|
|
3548
|
-
reference_input_source_port_id:
|
|
3549
|
-
reference_input_source_net_id:
|
|
3550
|
-
subcircuit_id:
|
|
3551
|
-
color:
|
|
3578
|
+
source_component_id: z159.string().optional(),
|
|
3579
|
+
name: z159.string().optional(),
|
|
3580
|
+
signal_input_source_port_id: z159.string().optional(),
|
|
3581
|
+
signal_input_source_net_id: z159.string().optional(),
|
|
3582
|
+
reference_input_source_port_id: z159.string().optional(),
|
|
3583
|
+
reference_input_source_net_id: z159.string().optional(),
|
|
3584
|
+
subcircuit_id: z159.string().optional(),
|
|
3585
|
+
color: z159.string().optional()
|
|
3552
3586
|
}).describe(
|
|
3553
3587
|
"Defines a voltage probe for simulation. If a reference input is not provided, it measures against ground. If a reference input is provided, it measures the differential voltage between two points."
|
|
3554
3588
|
).superRefine((data, ctx) => {
|
|
@@ -3558,20 +3592,20 @@ var simulation_voltage_probe = z157.object({
|
|
|
3558
3592
|
const has_nets = !!data.signal_input_source_net_id || !!data.reference_input_source_net_id;
|
|
3559
3593
|
if (has_ports && has_nets) {
|
|
3560
3594
|
ctx.addIssue({
|
|
3561
|
-
code:
|
|
3595
|
+
code: z159.ZodIssueCode.custom,
|
|
3562
3596
|
message: "Cannot mix port and net connections in a differential probe."
|
|
3563
3597
|
});
|
|
3564
3598
|
} else if (has_ports) {
|
|
3565
3599
|
if (!data.signal_input_source_port_id || !data.reference_input_source_port_id) {
|
|
3566
3600
|
ctx.addIssue({
|
|
3567
|
-
code:
|
|
3601
|
+
code: z159.ZodIssueCode.custom,
|
|
3568
3602
|
message: "Differential port probe requires both signal_input_source_port_id and reference_input_source_port_id."
|
|
3569
3603
|
});
|
|
3570
3604
|
}
|
|
3571
3605
|
} else if (has_nets) {
|
|
3572
3606
|
if (!data.signal_input_source_net_id || !data.reference_input_source_net_id) {
|
|
3573
3607
|
ctx.addIssue({
|
|
3574
|
-
code:
|
|
3608
|
+
code: z159.ZodIssueCode.custom,
|
|
3575
3609
|
message: "Differential net probe requires both signal_input_source_net_id and reference_input_source_net_id."
|
|
3576
3610
|
});
|
|
3577
3611
|
}
|
|
@@ -3579,7 +3613,7 @@ var simulation_voltage_probe = z157.object({
|
|
|
3579
3613
|
} else {
|
|
3580
3614
|
if (!!data.signal_input_source_port_id === !!data.signal_input_source_net_id) {
|
|
3581
3615
|
ctx.addIssue({
|
|
3582
|
-
code:
|
|
3616
|
+
code: z159.ZodIssueCode.custom,
|
|
3583
3617
|
message: "A voltage probe must have exactly one of signal_input_source_port_id or signal_input_source_net_id."
|
|
3584
3618
|
});
|
|
3585
3619
|
}
|
|
@@ -3588,35 +3622,35 @@ var simulation_voltage_probe = z157.object({
|
|
|
3588
3622
|
expectTypesMatch(true);
|
|
3589
3623
|
|
|
3590
3624
|
// src/simulation/simulation_unknown_experiment_error.ts
|
|
3591
|
-
import { z as
|
|
3625
|
+
import { z as z160 } from "zod";
|
|
3592
3626
|
var simulation_unknown_experiment_error = base_circuit_json_error.extend({
|
|
3593
|
-
type:
|
|
3627
|
+
type: z160.literal("simulation_unknown_experiment_error"),
|
|
3594
3628
|
simulation_unknown_experiment_error_id: getZodPrefixedIdWithDefault(
|
|
3595
3629
|
"simulation_unknown_experiment_error"
|
|
3596
3630
|
),
|
|
3597
|
-
error_type:
|
|
3598
|
-
simulation_experiment_id:
|
|
3599
|
-
subcircuit_id:
|
|
3631
|
+
error_type: z160.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
|
|
3632
|
+
simulation_experiment_id: z160.string().optional(),
|
|
3633
|
+
subcircuit_id: z160.string().optional()
|
|
3600
3634
|
}).describe("An unknown error occurred during the simulation experiment.");
|
|
3601
3635
|
expectTypesMatch(true);
|
|
3602
3636
|
|
|
3603
3637
|
// src/simulation/simulation_op_amp.ts
|
|
3604
|
-
import { z as
|
|
3605
|
-
var simulation_op_amp =
|
|
3606
|
-
type:
|
|
3638
|
+
import { z as z161 } from "zod";
|
|
3639
|
+
var simulation_op_amp = z161.object({
|
|
3640
|
+
type: z161.literal("simulation_op_amp"),
|
|
3607
3641
|
simulation_op_amp_id: getZodPrefixedIdWithDefault("simulation_op_amp"),
|
|
3608
|
-
source_component_id:
|
|
3609
|
-
inverting_input_source_port_id:
|
|
3610
|
-
non_inverting_input_source_port_id:
|
|
3611
|
-
output_source_port_id:
|
|
3612
|
-
positive_supply_source_port_id:
|
|
3613
|
-
negative_supply_source_port_id:
|
|
3642
|
+
source_component_id: z161.string().optional(),
|
|
3643
|
+
inverting_input_source_port_id: z161.string(),
|
|
3644
|
+
non_inverting_input_source_port_id: z161.string(),
|
|
3645
|
+
output_source_port_id: z161.string(),
|
|
3646
|
+
positive_supply_source_port_id: z161.string(),
|
|
3647
|
+
negative_supply_source_port_id: z161.string()
|
|
3614
3648
|
}).describe("Defines a simple ideal operational amplifier for simulation");
|
|
3615
3649
|
expectTypesMatch(true);
|
|
3616
3650
|
|
|
3617
3651
|
// src/any_circuit_element.ts
|
|
3618
|
-
import { z as
|
|
3619
|
-
var any_circuit_element =
|
|
3652
|
+
import { z as z162 } from "zod";
|
|
3653
|
+
var any_circuit_element = z162.union([
|
|
3620
3654
|
source_trace,
|
|
3621
3655
|
source_port,
|
|
3622
3656
|
source_component_internal_connection,
|
|
@@ -3648,6 +3682,7 @@ var any_circuit_element = z160.union([
|
|
|
3648
3682
|
source_invalid_component_property_error,
|
|
3649
3683
|
source_trace_not_connected_error,
|
|
3650
3684
|
source_pin_missing_trace_warning,
|
|
3685
|
+
source_missing_manufacturer_part_number_warning,
|
|
3651
3686
|
source_no_power_pin_defined_warning,
|
|
3652
3687
|
source_no_ground_pin_defined_warning,
|
|
3653
3688
|
source_component_pins_underspecified_warning,
|
|
@@ -3668,6 +3703,7 @@ var any_circuit_element = z160.union([
|
|
|
3668
3703
|
pcb_net,
|
|
3669
3704
|
pcb_text,
|
|
3670
3705
|
pcb_trace,
|
|
3706
|
+
pcb_trace_warning,
|
|
3671
3707
|
pcb_via,
|
|
3672
3708
|
pcb_smtpad,
|
|
3673
3709
|
pcb_solder_paste,
|
|
@@ -3868,6 +3904,7 @@ export {
|
|
|
3868
3904
|
pcb_trace_route_point,
|
|
3869
3905
|
pcb_trace_route_point_via,
|
|
3870
3906
|
pcb_trace_route_point_wire,
|
|
3907
|
+
pcb_trace_warning,
|
|
3871
3908
|
pcb_via,
|
|
3872
3909
|
pcb_via_clearance_error,
|
|
3873
3910
|
point,
|
|
@@ -3932,6 +3969,7 @@ export {
|
|
|
3932
3969
|
source_interconnect,
|
|
3933
3970
|
source_invalid_component_property_error,
|
|
3934
3971
|
source_manually_placed_via,
|
|
3972
|
+
source_missing_manufacturer_part_number_warning,
|
|
3935
3973
|
source_missing_property_error,
|
|
3936
3974
|
source_net,
|
|
3937
3975
|
source_no_ground_pin_defined_warning,
|