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