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