circuit-json 0.0.242 → 0.0.244

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.mjs CHANGED
@@ -1102,54 +1102,72 @@ var schematic_table_cell = z59.object({
1102
1102
  }).describe("Defines a cell within a schematic_table");
1103
1103
  expectTypesMatch(true);
1104
1104
 
1105
- // src/pcb/properties/pcb_route_hints.ts
1105
+ // src/pcb/properties/brep.ts
1106
1106
  import { z as z60 } from "zod";
1107
- var pcb_route_hint = z60.object({
1107
+ var point_with_bulge = z60.object({
1108
1108
  x: distance,
1109
1109
  y: distance,
1110
- via: z60.boolean().optional(),
1111
- via_to_layer: layer_ref.optional()
1110
+ bulge: z60.number().optional()
1112
1111
  });
1113
- var pcb_route_hints = z60.array(pcb_route_hint);
1114
1112
  expectTypesMatch(true);
1113
+ var ring = z60.object({
1114
+ vertices: z60.array(point_with_bulge)
1115
+ });
1116
+ expectTypesMatch(true);
1117
+ var brep_shape = z60.object({
1118
+ outer_ring: ring,
1119
+ inner_rings: z60.array(ring).default([])
1120
+ });
1115
1121
  expectTypesMatch(true);
1116
1122
 
1117
- // src/pcb/properties/route_hint_point.ts
1123
+ // src/pcb/properties/pcb_route_hints.ts
1118
1124
  import { z as z61 } from "zod";
1119
- var route_hint_point = z61.object({
1125
+ var pcb_route_hint = z61.object({
1120
1126
  x: distance,
1121
1127
  y: distance,
1122
1128
  via: z61.boolean().optional(),
1129
+ via_to_layer: layer_ref.optional()
1130
+ });
1131
+ var pcb_route_hints = z61.array(pcb_route_hint);
1132
+ expectTypesMatch(true);
1133
+ expectTypesMatch(true);
1134
+
1135
+ // src/pcb/properties/route_hint_point.ts
1136
+ import { z as z62 } from "zod";
1137
+ var route_hint_point = z62.object({
1138
+ x: distance,
1139
+ y: distance,
1140
+ via: z62.boolean().optional(),
1123
1141
  to_layer: layer_ref.optional(),
1124
1142
  trace_width: distance.optional()
1125
1143
  });
1126
1144
  expectTypesMatch(true);
1127
1145
 
1128
1146
  // src/pcb/pcb_component.ts
1129
- import { z as z62 } from "zod";
1130
- var pcb_component = z62.object({
1131
- type: z62.literal("pcb_component"),
1147
+ import { z as z63 } from "zod";
1148
+ var pcb_component = z63.object({
1149
+ type: z63.literal("pcb_component"),
1132
1150
  pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
1133
- source_component_id: z62.string(),
1151
+ source_component_id: z63.string(),
1134
1152
  center: point,
1135
1153
  layer: layer_ref,
1136
1154
  rotation,
1137
1155
  width: length,
1138
1156
  height: length,
1139
- subcircuit_id: z62.string().optional(),
1140
- pcb_group_id: z62.string().optional()
1157
+ subcircuit_id: z63.string().optional(),
1158
+ pcb_group_id: z63.string().optional()
1141
1159
  }).describe("Defines a component on the PCB");
1142
1160
  expectTypesMatch(true);
1143
1161
 
1144
1162
  // src/pcb/pcb_hole.ts
1145
- import { z as z63 } from "zod";
1146
- var pcb_hole_circle_or_square = z63.object({
1147
- type: z63.literal("pcb_hole"),
1163
+ import { z as z64 } from "zod";
1164
+ var pcb_hole_circle_or_square = z64.object({
1165
+ type: z64.literal("pcb_hole"),
1148
1166
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1149
- pcb_group_id: z63.string().optional(),
1150
- subcircuit_id: z63.string().optional(),
1151
- hole_shape: z63.enum(["circle", "square"]),
1152
- hole_diameter: z63.number(),
1167
+ pcb_group_id: z64.string().optional(),
1168
+ subcircuit_id: z64.string().optional(),
1169
+ hole_shape: z64.enum(["circle", "square"]),
1170
+ hole_diameter: z64.number(),
1153
1171
  x: distance,
1154
1172
  y: distance
1155
1173
  });
@@ -1157,14 +1175,14 @@ var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
1157
1175
  "Defines a circular or square hole on the PCB"
1158
1176
  );
1159
1177
  expectTypesMatch(true);
1160
- var pcb_hole_oval = z63.object({
1161
- type: z63.literal("pcb_hole"),
1178
+ var pcb_hole_oval = z64.object({
1179
+ type: z64.literal("pcb_hole"),
1162
1180
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1163
- pcb_group_id: z63.string().optional(),
1164
- subcircuit_id: z63.string().optional(),
1165
- hole_shape: z63.literal("oval"),
1166
- hole_width: z63.number(),
1167
- hole_height: z63.number(),
1181
+ pcb_group_id: z64.string().optional(),
1182
+ subcircuit_id: z64.string().optional(),
1183
+ hole_shape: z64.literal("oval"),
1184
+ hole_width: z64.number(),
1185
+ hole_height: z64.number(),
1168
1186
  x: distance,
1169
1187
  y: distance
1170
1188
  });
@@ -1175,98 +1193,98 @@ expectTypesMatch(true);
1175
1193
  var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval);
1176
1194
 
1177
1195
  // src/pcb/pcb_plated_hole.ts
1178
- import { z as z64 } from "zod";
1179
- var pcb_plated_hole_circle = z64.object({
1180
- type: z64.literal("pcb_plated_hole"),
1181
- shape: z64.literal("circle"),
1182
- pcb_group_id: z64.string().optional(),
1183
- subcircuit_id: z64.string().optional(),
1184
- outer_diameter: z64.number(),
1185
- hole_diameter: z64.number(),
1196
+ import { z as z65 } from "zod";
1197
+ var pcb_plated_hole_circle = z65.object({
1198
+ type: z65.literal("pcb_plated_hole"),
1199
+ shape: z65.literal("circle"),
1200
+ pcb_group_id: z65.string().optional(),
1201
+ subcircuit_id: z65.string().optional(),
1202
+ outer_diameter: z65.number(),
1203
+ hole_diameter: z65.number(),
1186
1204
  x: distance,
1187
1205
  y: distance,
1188
- layers: z64.array(layer_ref),
1189
- port_hints: z64.array(z64.string()).optional(),
1190
- pcb_component_id: z64.string().optional(),
1191
- pcb_port_id: z64.string().optional(),
1206
+ layers: z65.array(layer_ref),
1207
+ port_hints: z65.array(z65.string()).optional(),
1208
+ pcb_component_id: z65.string().optional(),
1209
+ pcb_port_id: z65.string().optional(),
1192
1210
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
1193
1211
  });
1194
- var pcb_plated_hole_oval = z64.object({
1195
- type: z64.literal("pcb_plated_hole"),
1196
- shape: z64.enum(["oval", "pill"]),
1197
- pcb_group_id: z64.string().optional(),
1198
- subcircuit_id: z64.string().optional(),
1199
- outer_width: z64.number(),
1200
- outer_height: z64.number(),
1201
- hole_width: z64.number(),
1202
- hole_height: z64.number(),
1212
+ var pcb_plated_hole_oval = z65.object({
1213
+ type: z65.literal("pcb_plated_hole"),
1214
+ shape: z65.enum(["oval", "pill"]),
1215
+ pcb_group_id: z65.string().optional(),
1216
+ subcircuit_id: z65.string().optional(),
1217
+ outer_width: z65.number(),
1218
+ outer_height: z65.number(),
1219
+ hole_width: z65.number(),
1220
+ hole_height: z65.number(),
1203
1221
  x: distance,
1204
1222
  y: distance,
1205
- layers: z64.array(layer_ref),
1206
- port_hints: z64.array(z64.string()).optional(),
1207
- pcb_component_id: z64.string().optional(),
1208
- pcb_port_id: z64.string().optional(),
1223
+ layers: z65.array(layer_ref),
1224
+ port_hints: z65.array(z65.string()).optional(),
1225
+ pcb_component_id: z65.string().optional(),
1226
+ pcb_port_id: z65.string().optional(),
1209
1227
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
1210
1228
  });
1211
- var pcb_circular_hole_with_rect_pad = z64.object({
1212
- type: z64.literal("pcb_plated_hole"),
1213
- shape: z64.literal("circular_hole_with_rect_pad"),
1214
- pcb_group_id: z64.string().optional(),
1215
- subcircuit_id: z64.string().optional(),
1216
- hole_shape: z64.literal("circle"),
1217
- pad_shape: z64.literal("rect"),
1218
- hole_diameter: z64.number(),
1219
- rect_pad_width: z64.number(),
1220
- rect_pad_height: z64.number(),
1229
+ var pcb_circular_hole_with_rect_pad = z65.object({
1230
+ type: z65.literal("pcb_plated_hole"),
1231
+ shape: z65.literal("circular_hole_with_rect_pad"),
1232
+ pcb_group_id: z65.string().optional(),
1233
+ subcircuit_id: z65.string().optional(),
1234
+ hole_shape: z65.literal("circle"),
1235
+ pad_shape: z65.literal("rect"),
1236
+ hole_diameter: z65.number(),
1237
+ rect_pad_width: z65.number(),
1238
+ rect_pad_height: z65.number(),
1221
1239
  x: distance,
1222
1240
  y: distance,
1223
- layers: z64.array(layer_ref),
1224
- port_hints: z64.array(z64.string()).optional(),
1225
- pcb_component_id: z64.string().optional(),
1226
- pcb_port_id: z64.string().optional(),
1241
+ layers: z65.array(layer_ref),
1242
+ port_hints: z65.array(z65.string()).optional(),
1243
+ pcb_component_id: z65.string().optional(),
1244
+ pcb_port_id: z65.string().optional(),
1227
1245
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
1228
1246
  });
1229
- var pcb_pill_hole_with_rect_pad = z64.object({
1230
- type: z64.literal("pcb_plated_hole"),
1231
- shape: z64.literal("pill_hole_with_rect_pad"),
1232
- pcb_group_id: z64.string().optional(),
1233
- subcircuit_id: z64.string().optional(),
1234
- hole_shape: z64.literal("pill"),
1235
- pad_shape: z64.literal("rect"),
1236
- hole_width: z64.number(),
1237
- hole_height: z64.number(),
1238
- rect_pad_width: z64.number(),
1239
- rect_pad_height: z64.number(),
1247
+ var pcb_pill_hole_with_rect_pad = z65.object({
1248
+ type: z65.literal("pcb_plated_hole"),
1249
+ shape: z65.literal("pill_hole_with_rect_pad"),
1250
+ pcb_group_id: z65.string().optional(),
1251
+ subcircuit_id: z65.string().optional(),
1252
+ hole_shape: z65.literal("pill"),
1253
+ pad_shape: z65.literal("rect"),
1254
+ hole_width: z65.number(),
1255
+ hole_height: z65.number(),
1256
+ rect_pad_width: z65.number(),
1257
+ rect_pad_height: z65.number(),
1240
1258
  x: distance,
1241
1259
  y: distance,
1242
- layers: z64.array(layer_ref),
1243
- port_hints: z64.array(z64.string()).optional(),
1244
- pcb_component_id: z64.string().optional(),
1245
- pcb_port_id: z64.string().optional(),
1260
+ layers: z65.array(layer_ref),
1261
+ port_hints: z65.array(z65.string()).optional(),
1262
+ pcb_component_id: z65.string().optional(),
1263
+ pcb_port_id: z65.string().optional(),
1246
1264
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
1247
1265
  });
1248
- var pcb_rotated_pill_hole_with_rect_pad = z64.object({
1249
- type: z64.literal("pcb_plated_hole"),
1250
- shape: z64.literal("rotated_pill_hole_with_rect_pad"),
1251
- pcb_group_id: z64.string().optional(),
1252
- subcircuit_id: z64.string().optional(),
1253
- hole_shape: z64.literal("rotated_pill"),
1254
- pad_shape: z64.literal("rect"),
1255
- hole_width: z64.number(),
1256
- hole_height: z64.number(),
1266
+ var pcb_rotated_pill_hole_with_rect_pad = z65.object({
1267
+ type: z65.literal("pcb_plated_hole"),
1268
+ shape: z65.literal("rotated_pill_hole_with_rect_pad"),
1269
+ pcb_group_id: z65.string().optional(),
1270
+ subcircuit_id: z65.string().optional(),
1271
+ hole_shape: z65.literal("rotated_pill"),
1272
+ pad_shape: z65.literal("rect"),
1273
+ hole_width: z65.number(),
1274
+ hole_height: z65.number(),
1257
1275
  hole_ccw_rotation: rotation,
1258
- rect_pad_width: z64.number(),
1259
- rect_pad_height: z64.number(),
1276
+ rect_pad_width: z65.number(),
1277
+ rect_pad_height: z65.number(),
1260
1278
  rect_ccw_rotation: rotation,
1261
1279
  x: distance,
1262
1280
  y: distance,
1263
- layers: z64.array(layer_ref),
1264
- port_hints: z64.array(z64.string()).optional(),
1265
- pcb_component_id: z64.string().optional(),
1266
- pcb_port_id: z64.string().optional(),
1281
+ layers: z65.array(layer_ref),
1282
+ port_hints: z65.array(z65.string()).optional(),
1283
+ pcb_component_id: z65.string().optional(),
1284
+ pcb_port_id: z65.string().optional(),
1267
1285
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
1268
1286
  });
1269
- var pcb_plated_hole = z64.union([
1287
+ var pcb_plated_hole = z65.union([
1270
1288
  pcb_plated_hole_circle,
1271
1289
  pcb_plated_hole_oval,
1272
1290
  pcb_circular_hole_with_rect_pad,
@@ -1282,113 +1300,113 @@ expectTypesMatch(true);
1282
1300
  expectTypesMatch(true);
1283
1301
 
1284
1302
  // src/pcb/pcb_port.ts
1285
- import { z as z65 } from "zod";
1286
- var pcb_port = z65.object({
1287
- type: z65.literal("pcb_port"),
1303
+ import { z as z66 } from "zod";
1304
+ var pcb_port = z66.object({
1305
+ type: z66.literal("pcb_port"),
1288
1306
  pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
1289
- pcb_group_id: z65.string().optional(),
1290
- subcircuit_id: z65.string().optional(),
1291
- source_port_id: z65.string(),
1292
- pcb_component_id: z65.string(),
1307
+ pcb_group_id: z66.string().optional(),
1308
+ subcircuit_id: z66.string().optional(),
1309
+ source_port_id: z66.string(),
1310
+ pcb_component_id: z66.string(),
1293
1311
  x: distance,
1294
1312
  y: distance,
1295
- layers: z65.array(layer_ref)
1313
+ layers: z66.array(layer_ref)
1296
1314
  }).describe("Defines a port on the PCB");
1297
1315
  expectTypesMatch(true);
1298
1316
 
1299
1317
  // src/pcb/pcb_smtpad.ts
1300
- import { z as z66 } from "zod";
1301
- var pcb_smtpad_circle = z66.object({
1302
- type: z66.literal("pcb_smtpad"),
1303
- shape: z66.literal("circle"),
1318
+ import { z as z67 } from "zod";
1319
+ var pcb_smtpad_circle = z67.object({
1320
+ type: z67.literal("pcb_smtpad"),
1321
+ shape: z67.literal("circle"),
1304
1322
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1305
- pcb_group_id: z66.string().optional(),
1306
- subcircuit_id: z66.string().optional(),
1323
+ pcb_group_id: z67.string().optional(),
1324
+ subcircuit_id: z67.string().optional(),
1307
1325
  x: distance,
1308
1326
  y: distance,
1309
- radius: z66.number(),
1327
+ radius: z67.number(),
1310
1328
  layer: layer_ref,
1311
- port_hints: z66.array(z66.string()).optional(),
1312
- pcb_component_id: z66.string().optional(),
1313
- pcb_port_id: z66.string().optional()
1329
+ port_hints: z67.array(z67.string()).optional(),
1330
+ pcb_component_id: z67.string().optional(),
1331
+ pcb_port_id: z67.string().optional()
1314
1332
  });
1315
- var pcb_smtpad_rect = z66.object({
1316
- type: z66.literal("pcb_smtpad"),
1317
- shape: z66.literal("rect"),
1333
+ var pcb_smtpad_rect = z67.object({
1334
+ type: z67.literal("pcb_smtpad"),
1335
+ shape: z67.literal("rect"),
1318
1336
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1319
- pcb_group_id: z66.string().optional(),
1320
- subcircuit_id: z66.string().optional(),
1337
+ pcb_group_id: z67.string().optional(),
1338
+ subcircuit_id: z67.string().optional(),
1321
1339
  x: distance,
1322
1340
  y: distance,
1323
- width: z66.number(),
1324
- height: z66.number(),
1341
+ width: z67.number(),
1342
+ height: z67.number(),
1325
1343
  layer: layer_ref,
1326
- port_hints: z66.array(z66.string()).optional(),
1327
- pcb_component_id: z66.string().optional(),
1328
- pcb_port_id: z66.string().optional()
1344
+ port_hints: z67.array(z67.string()).optional(),
1345
+ pcb_component_id: z67.string().optional(),
1346
+ pcb_port_id: z67.string().optional()
1329
1347
  });
1330
- var pcb_smtpad_rotated_rect = z66.object({
1331
- type: z66.literal("pcb_smtpad"),
1332
- shape: z66.literal("rotated_rect"),
1348
+ var pcb_smtpad_rotated_rect = z67.object({
1349
+ type: z67.literal("pcb_smtpad"),
1350
+ shape: z67.literal("rotated_rect"),
1333
1351
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1334
- pcb_group_id: z66.string().optional(),
1335
- subcircuit_id: z66.string().optional(),
1352
+ pcb_group_id: z67.string().optional(),
1353
+ subcircuit_id: z67.string().optional(),
1336
1354
  x: distance,
1337
1355
  y: distance,
1338
- width: z66.number(),
1339
- height: z66.number(),
1356
+ width: z67.number(),
1357
+ height: z67.number(),
1340
1358
  ccw_rotation: rotation,
1341
1359
  layer: layer_ref,
1342
- port_hints: z66.array(z66.string()).optional(),
1343
- pcb_component_id: z66.string().optional(),
1344
- pcb_port_id: z66.string().optional()
1360
+ port_hints: z67.array(z67.string()).optional(),
1361
+ pcb_component_id: z67.string().optional(),
1362
+ pcb_port_id: z67.string().optional()
1345
1363
  });
1346
- var pcb_smtpad_pill = z66.object({
1347
- type: z66.literal("pcb_smtpad"),
1348
- shape: z66.literal("pill"),
1364
+ var pcb_smtpad_pill = z67.object({
1365
+ type: z67.literal("pcb_smtpad"),
1366
+ shape: z67.literal("pill"),
1349
1367
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1350
- pcb_group_id: z66.string().optional(),
1351
- subcircuit_id: z66.string().optional(),
1368
+ pcb_group_id: z67.string().optional(),
1369
+ subcircuit_id: z67.string().optional(),
1352
1370
  x: distance,
1353
1371
  y: distance,
1354
- width: z66.number(),
1355
- height: z66.number(),
1356
- radius: z66.number(),
1372
+ width: z67.number(),
1373
+ height: z67.number(),
1374
+ radius: z67.number(),
1357
1375
  layer: layer_ref,
1358
- port_hints: z66.array(z66.string()).optional(),
1359
- pcb_component_id: z66.string().optional(),
1360
- pcb_port_id: z66.string().optional()
1376
+ port_hints: z67.array(z67.string()).optional(),
1377
+ pcb_component_id: z67.string().optional(),
1378
+ pcb_port_id: z67.string().optional()
1361
1379
  });
1362
- var pcb_smtpad_rotated_pill = z66.object({
1363
- type: z66.literal("pcb_smtpad"),
1364
- shape: z66.literal("rotated_pill"),
1380
+ var pcb_smtpad_rotated_pill = z67.object({
1381
+ type: z67.literal("pcb_smtpad"),
1382
+ shape: z67.literal("rotated_pill"),
1365
1383
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1366
- pcb_group_id: z66.string().optional(),
1367
- subcircuit_id: z66.string().optional(),
1384
+ pcb_group_id: z67.string().optional(),
1385
+ subcircuit_id: z67.string().optional(),
1368
1386
  x: distance,
1369
1387
  y: distance,
1370
- width: z66.number(),
1371
- height: z66.number(),
1372
- radius: z66.number(),
1388
+ width: z67.number(),
1389
+ height: z67.number(),
1390
+ radius: z67.number(),
1373
1391
  ccw_rotation: rotation,
1374
1392
  layer: layer_ref,
1375
- port_hints: z66.array(z66.string()).optional(),
1376
- pcb_component_id: z66.string().optional(),
1377
- pcb_port_id: z66.string().optional()
1393
+ port_hints: z67.array(z67.string()).optional(),
1394
+ pcb_component_id: z67.string().optional(),
1395
+ pcb_port_id: z67.string().optional()
1378
1396
  });
1379
- var pcb_smtpad_polygon = z66.object({
1380
- type: z66.literal("pcb_smtpad"),
1381
- shape: z66.literal("polygon"),
1397
+ var pcb_smtpad_polygon = z67.object({
1398
+ type: z67.literal("pcb_smtpad"),
1399
+ shape: z67.literal("polygon"),
1382
1400
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1383
- pcb_group_id: z66.string().optional(),
1384
- subcircuit_id: z66.string().optional(),
1385
- points: z66.array(point),
1401
+ pcb_group_id: z67.string().optional(),
1402
+ subcircuit_id: z67.string().optional(),
1403
+ points: z67.array(point),
1386
1404
  layer: layer_ref,
1387
- port_hints: z66.array(z66.string()).optional(),
1388
- pcb_component_id: z66.string().optional(),
1389
- pcb_port_id: z66.string().optional()
1405
+ port_hints: z67.array(z67.string()).optional(),
1406
+ pcb_component_id: z67.string().optional(),
1407
+ pcb_port_id: z67.string().optional()
1390
1408
  });
1391
- var pcb_smtpad = z66.discriminatedUnion("shape", [
1409
+ var pcb_smtpad = z67.discriminatedUnion("shape", [
1392
1410
  pcb_smtpad_circle,
1393
1411
  pcb_smtpad_rect,
1394
1412
  pcb_smtpad_rotated_rect,
@@ -1404,79 +1422,79 @@ expectTypesMatch(true);
1404
1422
  expectTypesMatch(true);
1405
1423
 
1406
1424
  // src/pcb/pcb_solder_paste.ts
1407
- import { z as z67 } from "zod";
1408
- var pcb_solder_paste_circle = z67.object({
1409
- type: z67.literal("pcb_solder_paste"),
1410
- shape: z67.literal("circle"),
1425
+ import { z as z68 } from "zod";
1426
+ var pcb_solder_paste_circle = z68.object({
1427
+ type: z68.literal("pcb_solder_paste"),
1428
+ shape: z68.literal("circle"),
1411
1429
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
1412
- pcb_group_id: z67.string().optional(),
1413
- subcircuit_id: z67.string().optional(),
1430
+ pcb_group_id: z68.string().optional(),
1431
+ subcircuit_id: z68.string().optional(),
1414
1432
  x: distance,
1415
1433
  y: distance,
1416
- radius: z67.number(),
1434
+ radius: z68.number(),
1417
1435
  layer: layer_ref,
1418
- pcb_component_id: z67.string().optional(),
1419
- pcb_smtpad_id: z67.string().optional()
1436
+ pcb_component_id: z68.string().optional(),
1437
+ pcb_smtpad_id: z68.string().optional()
1420
1438
  });
1421
- var pcb_solder_paste_rect = z67.object({
1422
- type: z67.literal("pcb_solder_paste"),
1423
- shape: z67.literal("rect"),
1439
+ var pcb_solder_paste_rect = z68.object({
1440
+ type: z68.literal("pcb_solder_paste"),
1441
+ shape: z68.literal("rect"),
1424
1442
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
1425
- pcb_group_id: z67.string().optional(),
1426
- subcircuit_id: z67.string().optional(),
1443
+ pcb_group_id: z68.string().optional(),
1444
+ subcircuit_id: z68.string().optional(),
1427
1445
  x: distance,
1428
1446
  y: distance,
1429
- width: z67.number(),
1430
- height: z67.number(),
1447
+ width: z68.number(),
1448
+ height: z68.number(),
1431
1449
  layer: layer_ref,
1432
- pcb_component_id: z67.string().optional(),
1433
- pcb_smtpad_id: z67.string().optional()
1450
+ pcb_component_id: z68.string().optional(),
1451
+ pcb_smtpad_id: z68.string().optional()
1434
1452
  });
1435
- var pcb_solder_paste_pill = z67.object({
1436
- type: z67.literal("pcb_solder_paste"),
1437
- shape: z67.literal("pill"),
1453
+ var pcb_solder_paste_pill = z68.object({
1454
+ type: z68.literal("pcb_solder_paste"),
1455
+ shape: z68.literal("pill"),
1438
1456
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
1439
- pcb_group_id: z67.string().optional(),
1440
- subcircuit_id: z67.string().optional(),
1457
+ pcb_group_id: z68.string().optional(),
1458
+ subcircuit_id: z68.string().optional(),
1441
1459
  x: distance,
1442
1460
  y: distance,
1443
- width: z67.number(),
1444
- height: z67.number(),
1445
- radius: z67.number(),
1461
+ width: z68.number(),
1462
+ height: z68.number(),
1463
+ radius: z68.number(),
1446
1464
  layer: layer_ref,
1447
- pcb_component_id: z67.string().optional(),
1448
- pcb_smtpad_id: z67.string().optional()
1465
+ pcb_component_id: z68.string().optional(),
1466
+ pcb_smtpad_id: z68.string().optional()
1449
1467
  });
1450
- var pcb_solder_paste_rotated_rect = z67.object({
1451
- type: z67.literal("pcb_solder_paste"),
1452
- shape: z67.literal("rotated_rect"),
1468
+ var pcb_solder_paste_rotated_rect = z68.object({
1469
+ type: z68.literal("pcb_solder_paste"),
1470
+ shape: z68.literal("rotated_rect"),
1453
1471
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
1454
- pcb_group_id: z67.string().optional(),
1455
- subcircuit_id: z67.string().optional(),
1472
+ pcb_group_id: z68.string().optional(),
1473
+ subcircuit_id: z68.string().optional(),
1456
1474
  x: distance,
1457
1475
  y: distance,
1458
- width: z67.number(),
1459
- height: z67.number(),
1476
+ width: z68.number(),
1477
+ height: z68.number(),
1460
1478
  ccw_rotation: distance,
1461
1479
  layer: layer_ref,
1462
- pcb_component_id: z67.string().optional(),
1463
- pcb_smtpad_id: z67.string().optional()
1480
+ pcb_component_id: z68.string().optional(),
1481
+ pcb_smtpad_id: z68.string().optional()
1464
1482
  });
1465
- var pcb_solder_paste_oval = z67.object({
1466
- type: z67.literal("pcb_solder_paste"),
1467
- shape: z67.literal("oval"),
1483
+ var pcb_solder_paste_oval = z68.object({
1484
+ type: z68.literal("pcb_solder_paste"),
1485
+ shape: z68.literal("oval"),
1468
1486
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
1469
- pcb_group_id: z67.string().optional(),
1470
- subcircuit_id: z67.string().optional(),
1487
+ pcb_group_id: z68.string().optional(),
1488
+ subcircuit_id: z68.string().optional(),
1471
1489
  x: distance,
1472
1490
  y: distance,
1473
- width: z67.number(),
1474
- height: z67.number(),
1491
+ width: z68.number(),
1492
+ height: z68.number(),
1475
1493
  layer: layer_ref,
1476
- pcb_component_id: z67.string().optional(),
1477
- pcb_smtpad_id: z67.string().optional()
1494
+ pcb_component_id: z68.string().optional(),
1495
+ pcb_smtpad_id: z68.string().optional()
1478
1496
  });
1479
- var pcb_solder_paste = z67.union([
1497
+ var pcb_solder_paste = z68.union([
1480
1498
  pcb_solder_paste_circle,
1481
1499
  pcb_solder_paste_rect,
1482
1500
  pcb_solder_paste_pill,
@@ -1492,134 +1510,134 @@ expectTypesMatch(
1492
1510
  expectTypesMatch(true);
1493
1511
 
1494
1512
  // src/pcb/pcb_text.ts
1495
- import { z as z68 } from "zod";
1496
- var pcb_text = z68.object({
1497
- type: z68.literal("pcb_text"),
1513
+ import { z as z69 } from "zod";
1514
+ var pcb_text = z69.object({
1515
+ type: z69.literal("pcb_text"),
1498
1516
  pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
1499
- pcb_group_id: z68.string().optional(),
1500
- subcircuit_id: z68.string().optional(),
1501
- text: z68.string(),
1517
+ pcb_group_id: z69.string().optional(),
1518
+ subcircuit_id: z69.string().optional(),
1519
+ text: z69.string(),
1502
1520
  center: point,
1503
1521
  layer: layer_ref,
1504
1522
  width: length,
1505
1523
  height: length,
1506
- lines: z68.number(),
1524
+ lines: z69.number(),
1507
1525
  // @ts-ignore
1508
- align: z68.enum(["bottom-left"])
1526
+ align: z69.enum(["bottom-left"])
1509
1527
  }).describe("Defines text on the PCB");
1510
1528
  expectTypesMatch(true);
1511
1529
 
1512
1530
  // src/pcb/pcb_trace.ts
1513
- import { z as z69 } from "zod";
1514
- var pcb_trace_route_point_wire = z69.object({
1515
- route_type: z69.literal("wire"),
1531
+ import { z as z70 } from "zod";
1532
+ var pcb_trace_route_point_wire = z70.object({
1533
+ route_type: z70.literal("wire"),
1516
1534
  x: distance,
1517
1535
  y: distance,
1518
1536
  width: distance,
1519
- start_pcb_port_id: z69.string().optional(),
1520
- end_pcb_port_id: z69.string().optional(),
1537
+ start_pcb_port_id: z70.string().optional(),
1538
+ end_pcb_port_id: z70.string().optional(),
1521
1539
  layer: layer_ref
1522
1540
  });
1523
- var pcb_trace_route_point_via = z69.object({
1524
- route_type: z69.literal("via"),
1541
+ var pcb_trace_route_point_via = z70.object({
1542
+ route_type: z70.literal("via"),
1525
1543
  x: distance,
1526
1544
  y: distance,
1527
1545
  hole_diameter: distance.optional(),
1528
1546
  outer_diameter: distance.optional(),
1529
- from_layer: z69.string(),
1530
- to_layer: z69.string()
1547
+ from_layer: z70.string(),
1548
+ to_layer: z70.string()
1531
1549
  });
1532
- var pcb_trace_route_point = z69.union([
1550
+ var pcb_trace_route_point = z70.union([
1533
1551
  pcb_trace_route_point_wire,
1534
1552
  pcb_trace_route_point_via
1535
1553
  ]);
1536
- var pcb_trace = z69.object({
1537
- type: z69.literal("pcb_trace"),
1538
- source_trace_id: z69.string().optional(),
1539
- pcb_component_id: z69.string().optional(),
1554
+ var pcb_trace = z70.object({
1555
+ type: z70.literal("pcb_trace"),
1556
+ source_trace_id: z70.string().optional(),
1557
+ pcb_component_id: z70.string().optional(),
1540
1558
  pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
1541
- pcb_group_id: z69.string().optional(),
1542
- subcircuit_id: z69.string().optional(),
1543
- route_thickness_mode: z69.enum(["constant", "interpolated"]).default("constant").optional(),
1544
- route_order_index: z69.number().optional(),
1545
- should_round_corners: z69.boolean().optional(),
1546
- trace_length: z69.number().optional(),
1547
- route: z69.array(pcb_trace_route_point)
1559
+ pcb_group_id: z70.string().optional(),
1560
+ subcircuit_id: z70.string().optional(),
1561
+ route_thickness_mode: z70.enum(["constant", "interpolated"]).default("constant").optional(),
1562
+ route_order_index: z70.number().optional(),
1563
+ should_round_corners: z70.boolean().optional(),
1564
+ trace_length: z70.number().optional(),
1565
+ route: z70.array(pcb_trace_route_point)
1548
1566
  }).describe("Defines a trace on the PCB");
1549
1567
  expectTypesMatch(true);
1550
1568
  expectTypesMatch(true);
1551
1569
 
1552
1570
  // src/pcb/pcb_trace_error.ts
1553
- import { z as z70 } from "zod";
1554
- var pcb_trace_error = z70.object({
1555
- type: z70.literal("pcb_trace_error"),
1571
+ import { z as z71 } from "zod";
1572
+ var pcb_trace_error = z71.object({
1573
+ type: z71.literal("pcb_trace_error"),
1556
1574
  pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
1557
- error_type: z70.literal("pcb_trace_error").default("pcb_trace_error"),
1558
- message: z70.string(),
1575
+ error_type: z71.literal("pcb_trace_error").default("pcb_trace_error"),
1576
+ message: z71.string(),
1559
1577
  center: point.optional(),
1560
- pcb_trace_id: z70.string(),
1561
- source_trace_id: z70.string(),
1562
- pcb_component_ids: z70.array(z70.string()),
1563
- pcb_port_ids: z70.array(z70.string()),
1564
- subcircuit_id: z70.string().optional()
1578
+ pcb_trace_id: z71.string(),
1579
+ source_trace_id: z71.string(),
1580
+ pcb_component_ids: z71.array(z71.string()),
1581
+ pcb_port_ids: z71.array(z71.string()),
1582
+ subcircuit_id: z71.string().optional()
1565
1583
  }).describe("Defines a trace error on the PCB");
1566
1584
  expectTypesMatch(true);
1567
1585
 
1568
1586
  // src/pcb/pcb_trace_missing_error.ts
1569
- import { z as z71 } from "zod";
1570
- var pcb_trace_missing_error = z71.object({
1571
- type: z71.literal("pcb_trace_missing_error"),
1587
+ import { z as z72 } from "zod";
1588
+ var pcb_trace_missing_error = z72.object({
1589
+ type: z72.literal("pcb_trace_missing_error"),
1572
1590
  pcb_trace_missing_error_id: getZodPrefixedIdWithDefault(
1573
1591
  "pcb_trace_missing_error"
1574
1592
  ),
1575
- error_type: z71.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
1576
- message: z71.string(),
1593
+ error_type: z72.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
1594
+ message: z72.string(),
1577
1595
  center: point.optional(),
1578
- source_trace_id: z71.string(),
1579
- pcb_component_ids: z71.array(z71.string()),
1580
- pcb_port_ids: z71.array(z71.string()),
1581
- subcircuit_id: z71.string().optional()
1596
+ source_trace_id: z72.string(),
1597
+ pcb_component_ids: z72.array(z72.string()),
1598
+ pcb_port_ids: z72.array(z72.string()),
1599
+ subcircuit_id: z72.string().optional()
1582
1600
  }).describe(
1583
1601
  "Defines an error when a source trace has no corresponding PCB trace"
1584
1602
  );
1585
1603
  expectTypesMatch(true);
1586
1604
 
1587
1605
  // src/pcb/pcb_port_not_matched_error.ts
1588
- import { z as z72 } from "zod";
1589
- var pcb_port_not_matched_error = z72.object({
1590
- type: z72.literal("pcb_port_not_matched_error"),
1606
+ import { z as z73 } from "zod";
1607
+ var pcb_port_not_matched_error = z73.object({
1608
+ type: z73.literal("pcb_port_not_matched_error"),
1591
1609
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
1592
- error_type: z72.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
1593
- message: z72.string(),
1594
- pcb_component_ids: z72.array(z72.string()),
1595
- subcircuit_id: z72.string().optional()
1610
+ error_type: z73.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
1611
+ message: z73.string(),
1612
+ pcb_component_ids: z73.array(z73.string()),
1613
+ subcircuit_id: z73.string().optional()
1596
1614
  }).describe("Defines a trace error on the PCB where a port is not matched");
1597
1615
  expectTypesMatch(true);
1598
1616
 
1599
1617
  // src/pcb/pcb_port_not_connected_error.ts
1600
- import { z as z73 } from "zod";
1601
- var pcb_port_not_connected_error = z73.object({
1602
- type: z73.literal("pcb_port_not_connected_error"),
1618
+ import { z as z74 } from "zod";
1619
+ var pcb_port_not_connected_error = z74.object({
1620
+ type: z74.literal("pcb_port_not_connected_error"),
1603
1621
  pcb_port_not_connected_error_id: getZodPrefixedIdWithDefault(
1604
1622
  "pcb_port_not_connected_error"
1605
1623
  ),
1606
- error_type: z73.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
1607
- message: z73.string(),
1608
- pcb_port_ids: z73.array(z73.string()),
1609
- pcb_component_ids: z73.array(z73.string()),
1610
- subcircuit_id: z73.string().optional()
1624
+ error_type: z74.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
1625
+ message: z74.string(),
1626
+ pcb_port_ids: z74.array(z74.string()),
1627
+ pcb_component_ids: z74.array(z74.string()),
1628
+ subcircuit_id: z74.string().optional()
1611
1629
  }).describe("Defines an error when a pcb port is not connected to any trace");
1612
1630
  expectTypesMatch(
1613
1631
  true
1614
1632
  );
1615
1633
 
1616
1634
  // src/pcb/pcb_via.ts
1617
- import { z as z74 } from "zod";
1618
- var pcb_via = z74.object({
1619
- type: z74.literal("pcb_via"),
1635
+ import { z as z75 } from "zod";
1636
+ var pcb_via = z75.object({
1637
+ type: z75.literal("pcb_via"),
1620
1638
  pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
1621
- pcb_group_id: z74.string().optional(),
1622
- subcircuit_id: z74.string().optional(),
1639
+ pcb_group_id: z75.string().optional(),
1640
+ subcircuit_id: z75.string().optional(),
1623
1641
  x: distance,
1624
1642
  y: distance,
1625
1643
  outer_diameter: distance.default("0.6mm"),
@@ -1628,59 +1646,59 @@ var pcb_via = z74.object({
1628
1646
  from_layer: layer_ref.optional(),
1629
1647
  /** @deprecated */
1630
1648
  to_layer: layer_ref.optional(),
1631
- layers: z74.array(layer_ref),
1632
- pcb_trace_id: z74.string().optional()
1649
+ layers: z75.array(layer_ref),
1650
+ pcb_trace_id: z75.string().optional()
1633
1651
  }).describe("Defines a via on the PCB");
1634
1652
  expectTypesMatch(true);
1635
1653
 
1636
1654
  // src/pcb/pcb_board.ts
1637
- import { z as z75 } from "zod";
1638
- var pcb_board = z75.object({
1639
- type: z75.literal("pcb_board"),
1655
+ import { z as z76 } from "zod";
1656
+ var pcb_board = z76.object({
1657
+ type: z76.literal("pcb_board"),
1640
1658
  pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
1641
- is_subcircuit: z75.boolean().optional(),
1642
- subcircuit_id: z75.string().optional(),
1659
+ is_subcircuit: z76.boolean().optional(),
1660
+ subcircuit_id: z76.string().optional(),
1643
1661
  width: length,
1644
1662
  height: length,
1645
1663
  center: point,
1646
1664
  thickness: length.optional().default(1.4),
1647
- num_layers: z75.number().optional().default(4),
1648
- outline: z75.array(point).optional(),
1649
- material: z75.enum(["fr4", "fr1"]).default("fr4")
1665
+ num_layers: z76.number().optional().default(4),
1666
+ outline: z76.array(point).optional(),
1667
+ material: z76.enum(["fr4", "fr1"]).default("fr4")
1650
1668
  }).describe("Defines the board outline of the PCB");
1651
1669
  expectTypesMatch(true);
1652
1670
 
1653
1671
  // src/pcb/pcb_placement_error.ts
1654
- import { z as z76 } from "zod";
1655
- var pcb_placement_error = z76.object({
1656
- type: z76.literal("pcb_placement_error"),
1672
+ import { z as z77 } from "zod";
1673
+ var pcb_placement_error = z77.object({
1674
+ type: z77.literal("pcb_placement_error"),
1657
1675
  pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
1658
- error_type: z76.literal("pcb_placement_error").default("pcb_placement_error"),
1659
- message: z76.string(),
1660
- subcircuit_id: z76.string().optional()
1676
+ error_type: z77.literal("pcb_placement_error").default("pcb_placement_error"),
1677
+ message: z77.string(),
1678
+ subcircuit_id: z77.string().optional()
1661
1679
  }).describe("Defines a placement error on the PCB");
1662
1680
  expectTypesMatch(true);
1663
1681
 
1664
1682
  // src/pcb/pcb_trace_hint.ts
1665
- import { z as z77 } from "zod";
1666
- var pcb_trace_hint = z77.object({
1667
- type: z77.literal("pcb_trace_hint"),
1683
+ import { z as z78 } from "zod";
1684
+ var pcb_trace_hint = z78.object({
1685
+ type: z78.literal("pcb_trace_hint"),
1668
1686
  pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
1669
- pcb_port_id: z77.string(),
1670
- pcb_component_id: z77.string(),
1671
- route: z77.array(route_hint_point),
1672
- subcircuit_id: z77.string().optional()
1687
+ pcb_port_id: z78.string(),
1688
+ pcb_component_id: z78.string(),
1689
+ route: z78.array(route_hint_point),
1690
+ subcircuit_id: z78.string().optional()
1673
1691
  }).describe("A hint that can be used during generation of a PCB trace");
1674
1692
  expectTypesMatch(true);
1675
1693
 
1676
1694
  // src/pcb/pcb_silkscreen_line.ts
1677
- import { z as z78 } from "zod";
1678
- var pcb_silkscreen_line = z78.object({
1679
- type: z78.literal("pcb_silkscreen_line"),
1695
+ import { z as z79 } from "zod";
1696
+ var pcb_silkscreen_line = z79.object({
1697
+ type: z79.literal("pcb_silkscreen_line"),
1680
1698
  pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
1681
- pcb_component_id: z78.string(),
1682
- pcb_group_id: z78.string().optional(),
1683
- subcircuit_id: z78.string().optional(),
1699
+ pcb_component_id: z79.string(),
1700
+ pcb_group_id: z79.string().optional(),
1701
+ subcircuit_id: z79.string().optional(),
1684
1702
  stroke_width: distance.default("0.1mm"),
1685
1703
  x1: distance,
1686
1704
  y1: distance,
@@ -1691,67 +1709,67 @@ var pcb_silkscreen_line = z78.object({
1691
1709
  expectTypesMatch(true);
1692
1710
 
1693
1711
  // src/pcb/pcb_silkscreen_path.ts
1694
- import { z as z79 } from "zod";
1695
- var pcb_silkscreen_path = z79.object({
1696
- type: z79.literal("pcb_silkscreen_path"),
1712
+ import { z as z80 } from "zod";
1713
+ var pcb_silkscreen_path = z80.object({
1714
+ type: z80.literal("pcb_silkscreen_path"),
1697
1715
  pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
1698
- pcb_component_id: z79.string(),
1699
- pcb_group_id: z79.string().optional(),
1700
- subcircuit_id: z79.string().optional(),
1716
+ pcb_component_id: z80.string(),
1717
+ pcb_group_id: z80.string().optional(),
1718
+ subcircuit_id: z80.string().optional(),
1701
1719
  layer: visible_layer,
1702
- route: z79.array(point),
1720
+ route: z80.array(point),
1703
1721
  stroke_width: length
1704
1722
  }).describe("Defines a silkscreen path on the PCB");
1705
1723
  expectTypesMatch(true);
1706
1724
 
1707
1725
  // src/pcb/pcb_silkscreen_text.ts
1708
- import { z as z80 } from "zod";
1709
- var pcb_silkscreen_text = z80.object({
1710
- type: z80.literal("pcb_silkscreen_text"),
1726
+ import { z as z81 } from "zod";
1727
+ var pcb_silkscreen_text = z81.object({
1728
+ type: z81.literal("pcb_silkscreen_text"),
1711
1729
  pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
1712
- pcb_group_id: z80.string().optional(),
1713
- subcircuit_id: z80.string().optional(),
1714
- font: z80.literal("tscircuit2024").default("tscircuit2024"),
1730
+ pcb_group_id: z81.string().optional(),
1731
+ subcircuit_id: z81.string().optional(),
1732
+ font: z81.literal("tscircuit2024").default("tscircuit2024"),
1715
1733
  font_size: distance.default("0.2mm"),
1716
- pcb_component_id: z80.string(),
1717
- text: z80.string(),
1718
- ccw_rotation: z80.number().optional(),
1734
+ pcb_component_id: z81.string(),
1735
+ text: z81.string(),
1736
+ ccw_rotation: z81.number().optional(),
1719
1737
  layer: layer_ref,
1720
- is_mirrored: z80.boolean().default(false).optional(),
1738
+ is_mirrored: z81.boolean().default(false).optional(),
1721
1739
  anchor_position: point.default({ x: 0, y: 0 }),
1722
1740
  anchor_alignment: ninePointAnchor.default("center")
1723
1741
  }).describe("Defines silkscreen text on the PCB");
1724
1742
  expectTypesMatch(true);
1725
1743
 
1726
1744
  // src/pcb/pcb_silkscreen_rect.ts
1727
- import { z as z81 } from "zod";
1728
- var pcb_silkscreen_rect = z81.object({
1729
- type: z81.literal("pcb_silkscreen_rect"),
1745
+ import { z as z82 } from "zod";
1746
+ var pcb_silkscreen_rect = z82.object({
1747
+ type: z82.literal("pcb_silkscreen_rect"),
1730
1748
  pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
1731
- pcb_component_id: z81.string(),
1732
- pcb_group_id: z81.string().optional(),
1733
- subcircuit_id: z81.string().optional(),
1749
+ pcb_component_id: z82.string(),
1750
+ pcb_group_id: z82.string().optional(),
1751
+ subcircuit_id: z82.string().optional(),
1734
1752
  center: point,
1735
1753
  width: length,
1736
1754
  height: length,
1737
1755
  layer: layer_ref,
1738
1756
  stroke_width: length.default("1mm"),
1739
- is_filled: z81.boolean().default(true).optional(),
1740
- has_stroke: z81.boolean().optional(),
1741
- is_stroke_dashed: z81.boolean().optional()
1757
+ is_filled: z82.boolean().default(true).optional(),
1758
+ has_stroke: z82.boolean().optional(),
1759
+ is_stroke_dashed: z82.boolean().optional()
1742
1760
  }).describe("Defines a silkscreen rect on the PCB");
1743
1761
  expectTypesMatch(true);
1744
1762
 
1745
1763
  // src/pcb/pcb_silkscreen_circle.ts
1746
- import { z as z82 } from "zod";
1747
- var pcb_silkscreen_circle = z82.object({
1748
- type: z82.literal("pcb_silkscreen_circle"),
1764
+ import { z as z83 } from "zod";
1765
+ var pcb_silkscreen_circle = z83.object({
1766
+ type: z83.literal("pcb_silkscreen_circle"),
1749
1767
  pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
1750
1768
  "pcb_silkscreen_circle"
1751
1769
  ),
1752
- pcb_component_id: z82.string(),
1753
- pcb_group_id: z82.string().optional(),
1754
- subcircuit_id: z82.string().optional(),
1770
+ pcb_component_id: z83.string(),
1771
+ pcb_group_id: z83.string().optional(),
1772
+ subcircuit_id: z83.string().optional(),
1755
1773
  center: point,
1756
1774
  radius: length,
1757
1775
  layer: visible_layer,
@@ -1760,13 +1778,13 @@ var pcb_silkscreen_circle = z82.object({
1760
1778
  expectTypesMatch(true);
1761
1779
 
1762
1780
  // src/pcb/pcb_silkscreen_oval.ts
1763
- import { z as z83 } from "zod";
1764
- var pcb_silkscreen_oval = z83.object({
1765
- type: z83.literal("pcb_silkscreen_oval"),
1781
+ import { z as z84 } from "zod";
1782
+ var pcb_silkscreen_oval = z84.object({
1783
+ type: z84.literal("pcb_silkscreen_oval"),
1766
1784
  pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
1767
- pcb_component_id: z83.string(),
1768
- pcb_group_id: z83.string().optional(),
1769
- subcircuit_id: z83.string().optional(),
1785
+ pcb_component_id: z84.string(),
1786
+ pcb_group_id: z84.string().optional(),
1787
+ subcircuit_id: z84.string().optional(),
1770
1788
  center: point,
1771
1789
  radius_x: distance,
1772
1790
  radius_y: distance,
@@ -1775,103 +1793,103 @@ var pcb_silkscreen_oval = z83.object({
1775
1793
  expectTypesMatch(true);
1776
1794
 
1777
1795
  // src/pcb/pcb_fabrication_note_text.ts
1778
- import { z as z84 } from "zod";
1779
- var pcb_fabrication_note_text = z84.object({
1780
- type: z84.literal("pcb_fabrication_note_text"),
1796
+ import { z as z85 } from "zod";
1797
+ var pcb_fabrication_note_text = z85.object({
1798
+ type: z85.literal("pcb_fabrication_note_text"),
1781
1799
  pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
1782
1800
  "pcb_fabrication_note_text"
1783
1801
  ),
1784
- subcircuit_id: z84.string().optional(),
1785
- pcb_group_id: z84.string().optional(),
1786
- font: z84.literal("tscircuit2024").default("tscircuit2024"),
1802
+ subcircuit_id: z85.string().optional(),
1803
+ pcb_group_id: z85.string().optional(),
1804
+ font: z85.literal("tscircuit2024").default("tscircuit2024"),
1787
1805
  font_size: distance.default("1mm"),
1788
- pcb_component_id: z84.string(),
1789
- text: z84.string(),
1806
+ pcb_component_id: z85.string(),
1807
+ text: z85.string(),
1790
1808
  layer: visible_layer,
1791
1809
  anchor_position: point.default({ x: 0, y: 0 }),
1792
- anchor_alignment: z84.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
1793
- color: z84.string().optional()
1810
+ anchor_alignment: z85.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
1811
+ color: z85.string().optional()
1794
1812
  }).describe(
1795
1813
  "Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
1796
1814
  );
1797
1815
  expectTypesMatch(true);
1798
1816
 
1799
1817
  // src/pcb/pcb_fabrication_note_path.ts
1800
- import { z as z85 } from "zod";
1801
- var pcb_fabrication_note_path = z85.object({
1802
- type: z85.literal("pcb_fabrication_note_path"),
1818
+ import { z as z86 } from "zod";
1819
+ var pcb_fabrication_note_path = z86.object({
1820
+ type: z86.literal("pcb_fabrication_note_path"),
1803
1821
  pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
1804
1822
  "pcb_fabrication_note_path"
1805
1823
  ),
1806
- pcb_component_id: z85.string(),
1807
- subcircuit_id: z85.string().optional(),
1824
+ pcb_component_id: z86.string(),
1825
+ subcircuit_id: z86.string().optional(),
1808
1826
  layer: layer_ref,
1809
- route: z85.array(point),
1827
+ route: z86.array(point),
1810
1828
  stroke_width: length,
1811
- color: z85.string().optional()
1829
+ color: z86.string().optional()
1812
1830
  }).describe(
1813
1831
  "Defines a fabrication path on the PCB for fabricators or assemblers"
1814
1832
  );
1815
1833
  expectTypesMatch(true);
1816
1834
 
1817
1835
  // src/pcb/pcb_footprint_overlap_error.ts
1818
- import { z as z86 } from "zod";
1819
- var pcb_footprint_overlap_error = z86.object({
1820
- type: z86.literal("pcb_footprint_overlap_error"),
1836
+ import { z as z87 } from "zod";
1837
+ var pcb_footprint_overlap_error = z87.object({
1838
+ type: z87.literal("pcb_footprint_overlap_error"),
1821
1839
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
1822
- error_type: z86.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
1823
- message: z86.string(),
1824
- pcb_smtpad_ids: z86.array(z86.string()).optional(),
1825
- pcb_plated_hole_ids: z86.array(z86.string()).optional(),
1826
- pcb_hole_ids: z86.array(z86.string()).optional(),
1827
- pcb_keepout_ids: z86.array(z86.string()).optional()
1840
+ error_type: z87.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
1841
+ message: z87.string(),
1842
+ pcb_smtpad_ids: z87.array(z87.string()).optional(),
1843
+ pcb_plated_hole_ids: z87.array(z87.string()).optional(),
1844
+ pcb_hole_ids: z87.array(z87.string()).optional(),
1845
+ pcb_keepout_ids: z87.array(z87.string()).optional()
1828
1846
  }).describe("Error emitted when a pcb footprint overlaps with another element");
1829
1847
  expectTypesMatch(
1830
1848
  true
1831
1849
  );
1832
1850
 
1833
1851
  // src/pcb/pcb_keepout.ts
1834
- import { z as z87 } from "zod";
1835
- var pcb_keepout = z87.object({
1836
- type: z87.literal("pcb_keepout"),
1837
- shape: z87.literal("rect"),
1838
- pcb_group_id: z87.string().optional(),
1839
- subcircuit_id: z87.string().optional(),
1852
+ import { z as z88 } from "zod";
1853
+ var pcb_keepout = z88.object({
1854
+ type: z88.literal("pcb_keepout"),
1855
+ shape: z88.literal("rect"),
1856
+ pcb_group_id: z88.string().optional(),
1857
+ subcircuit_id: z88.string().optional(),
1840
1858
  center: point,
1841
1859
  width: distance,
1842
1860
  height: distance,
1843
- pcb_keepout_id: z87.string(),
1844
- layers: z87.array(z87.string()),
1861
+ pcb_keepout_id: z88.string(),
1862
+ layers: z88.array(z88.string()),
1845
1863
  // Specify layers where the keepout applies
1846
- description: z87.string().optional()
1864
+ description: z88.string().optional()
1847
1865
  // Optional description of the keepout
1848
1866
  }).or(
1849
- z87.object({
1850
- type: z87.literal("pcb_keepout"),
1851
- shape: z87.literal("circle"),
1852
- pcb_group_id: z87.string().optional(),
1853
- subcircuit_id: z87.string().optional(),
1867
+ z88.object({
1868
+ type: z88.literal("pcb_keepout"),
1869
+ shape: z88.literal("circle"),
1870
+ pcb_group_id: z88.string().optional(),
1871
+ subcircuit_id: z88.string().optional(),
1854
1872
  center: point,
1855
1873
  radius: distance,
1856
- pcb_keepout_id: z87.string(),
1857
- layers: z87.array(z87.string()),
1874
+ pcb_keepout_id: z88.string(),
1875
+ layers: z88.array(z88.string()),
1858
1876
  // Specify layers where the keepout applies
1859
- description: z87.string().optional()
1877
+ description: z88.string().optional()
1860
1878
  // Optional description of the keepout
1861
1879
  })
1862
1880
  );
1863
1881
  expectTypesMatch(true);
1864
1882
 
1865
1883
  // src/pcb/pcb_cutout.ts
1866
- import { z as z88 } from "zod";
1867
- var pcb_cutout_base = z88.object({
1868
- type: z88.literal("pcb_cutout"),
1884
+ import { z as z89 } from "zod";
1885
+ var pcb_cutout_base = z89.object({
1886
+ type: z89.literal("pcb_cutout"),
1869
1887
  pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
1870
- pcb_group_id: z88.string().optional(),
1871
- subcircuit_id: z88.string().optional()
1888
+ pcb_group_id: z89.string().optional(),
1889
+ subcircuit_id: z89.string().optional()
1872
1890
  });
1873
1891
  var pcb_cutout_rect = pcb_cutout_base.extend({
1874
- shape: z88.literal("rect"),
1892
+ shape: z89.literal("rect"),
1875
1893
  center: point,
1876
1894
  width: length,
1877
1895
  height: length,
@@ -1879,17 +1897,17 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
1879
1897
  });
1880
1898
  expectTypesMatch(true);
1881
1899
  var pcb_cutout_circle = pcb_cutout_base.extend({
1882
- shape: z88.literal("circle"),
1900
+ shape: z89.literal("circle"),
1883
1901
  center: point,
1884
1902
  radius: length
1885
1903
  });
1886
1904
  expectTypesMatch(true);
1887
1905
  var pcb_cutout_polygon = pcb_cutout_base.extend({
1888
- shape: z88.literal("polygon"),
1889
- points: z88.array(point)
1906
+ shape: z89.literal("polygon"),
1907
+ points: z89.array(point)
1890
1908
  });
1891
1909
  expectTypesMatch(true);
1892
- var pcb_cutout = z88.discriminatedUnion("shape", [
1910
+ var pcb_cutout = z89.discriminatedUnion("shape", [
1893
1911
  pcb_cutout_rect,
1894
1912
  pcb_cutout_circle,
1895
1913
  pcb_cutout_polygon
@@ -1897,83 +1915,83 @@ var pcb_cutout = z88.discriminatedUnion("shape", [
1897
1915
  expectTypesMatch(true);
1898
1916
 
1899
1917
  // src/pcb/pcb_missing_footprint_error.ts
1900
- import { z as z89 } from "zod";
1901
- var pcb_missing_footprint_error = z89.object({
1902
- type: z89.literal("pcb_missing_footprint_error"),
1918
+ import { z as z90 } from "zod";
1919
+ var pcb_missing_footprint_error = z90.object({
1920
+ type: z90.literal("pcb_missing_footprint_error"),
1903
1921
  pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
1904
1922
  "pcb_missing_footprint_error"
1905
1923
  ),
1906
- pcb_group_id: z89.string().optional(),
1907
- subcircuit_id: z89.string().optional(),
1908
- error_type: z89.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
1909
- source_component_id: z89.string(),
1910
- message: z89.string()
1924
+ pcb_group_id: z90.string().optional(),
1925
+ subcircuit_id: z90.string().optional(),
1926
+ error_type: z90.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
1927
+ source_component_id: z90.string(),
1928
+ message: z90.string()
1911
1929
  }).describe("Defines a missing footprint error on the PCB");
1912
1930
  expectTypesMatch(
1913
1931
  true
1914
1932
  );
1915
1933
 
1916
1934
  // src/pcb/pcb_group.ts
1917
- import { z as z90 } from "zod";
1918
- var pcb_group = z90.object({
1919
- type: z90.literal("pcb_group"),
1935
+ import { z as z91 } from "zod";
1936
+ var pcb_group = z91.object({
1937
+ type: z91.literal("pcb_group"),
1920
1938
  pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
1921
- source_group_id: z90.string(),
1922
- is_subcircuit: z90.boolean().optional(),
1923
- subcircuit_id: z90.string().optional(),
1939
+ source_group_id: z91.string(),
1940
+ is_subcircuit: z91.boolean().optional(),
1941
+ subcircuit_id: z91.string().optional(),
1924
1942
  width: length,
1925
1943
  height: length,
1926
1944
  center: point,
1927
- pcb_component_ids: z90.array(z90.string()),
1928
- name: z90.string().optional(),
1929
- description: z90.string().optional(),
1930
- layout_mode: z90.string().optional(),
1931
- autorouter_configuration: z90.object({
1945
+ pcb_component_ids: z91.array(z91.string()),
1946
+ name: z91.string().optional(),
1947
+ description: z91.string().optional(),
1948
+ layout_mode: z91.string().optional(),
1949
+ autorouter_configuration: z91.object({
1932
1950
  trace_clearance: length
1933
1951
  }).optional(),
1934
- autorouter_used_string: z90.string().optional()
1952
+ autorouter_used_string: z91.string().optional()
1935
1953
  }).describe("Defines a group of components on the PCB");
1936
1954
  expectTypesMatch(true);
1937
1955
 
1938
1956
  // src/pcb/pcb_autorouting_error.ts
1939
- import { z as z91 } from "zod";
1940
- var pcb_autorouting_error = z91.object({
1941
- type: z91.literal("pcb_autorouting_error"),
1957
+ import { z as z92 } from "zod";
1958
+ var pcb_autorouting_error = z92.object({
1959
+ type: z92.literal("pcb_autorouting_error"),
1942
1960
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
1943
- error_type: z91.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
1944
- message: z91.string(),
1945
- subcircuit_id: z91.string().optional()
1961
+ error_type: z92.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
1962
+ message: z92.string(),
1963
+ subcircuit_id: z92.string().optional()
1946
1964
  }).describe("The autorouting has failed to route a portion of the board");
1947
1965
  expectTypesMatch(true);
1948
1966
 
1949
1967
  // src/pcb/pcb_manual_edit_conflict_warning.ts
1950
- import { z as z92 } from "zod";
1951
- var pcb_manual_edit_conflict_warning = z92.object({
1952
- type: z92.literal("pcb_manual_edit_conflict_warning"),
1968
+ import { z as z93 } from "zod";
1969
+ var pcb_manual_edit_conflict_warning = z93.object({
1970
+ type: z93.literal("pcb_manual_edit_conflict_warning"),
1953
1971
  pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
1954
1972
  "pcb_manual_edit_conflict_warning"
1955
1973
  ),
1956
- warning_type: z92.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
1957
- message: z92.string(),
1958
- pcb_component_id: z92.string(),
1959
- pcb_group_id: z92.string().optional(),
1960
- subcircuit_id: z92.string().optional(),
1961
- source_component_id: z92.string()
1974
+ warning_type: z93.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
1975
+ message: z93.string(),
1976
+ pcb_component_id: z93.string(),
1977
+ pcb_group_id: z93.string().optional(),
1978
+ subcircuit_id: z93.string().optional(),
1979
+ source_component_id: z93.string()
1962
1980
  }).describe(
1963
1981
  "Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
1964
1982
  );
1965
1983
  expectTypesMatch(true);
1966
1984
 
1967
1985
  // src/pcb/pcb_breakout_point.ts
1968
- import { z as z93 } from "zod";
1969
- var pcb_breakout_point = z93.object({
1970
- type: z93.literal("pcb_breakout_point"),
1986
+ import { z as z94 } from "zod";
1987
+ var pcb_breakout_point = z94.object({
1988
+ type: z94.literal("pcb_breakout_point"),
1971
1989
  pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
1972
- pcb_group_id: z93.string(),
1973
- subcircuit_id: z93.string().optional(),
1974
- source_trace_id: z93.string().optional(),
1975
- source_port_id: z93.string().optional(),
1976
- source_net_id: z93.string().optional(),
1990
+ pcb_group_id: z94.string(),
1991
+ subcircuit_id: z94.string().optional(),
1992
+ source_trace_id: z94.string().optional(),
1993
+ source_port_id: z94.string().optional(),
1994
+ source_net_id: z94.string().optional(),
1977
1995
  x: distance,
1978
1996
  y: distance
1979
1997
  }).describe(
@@ -1982,110 +2000,111 @@ var pcb_breakout_point = z93.object({
1982
2000
  expectTypesMatch(true);
1983
2001
 
1984
2002
  // src/pcb/pcb_ground_plane.ts
1985
- import { z as z94 } from "zod";
1986
- var pcb_ground_plane = z94.object({
1987
- type: z94.literal("pcb_ground_plane"),
2003
+ import { z as z95 } from "zod";
2004
+ var pcb_ground_plane = z95.object({
2005
+ type: z95.literal("pcb_ground_plane"),
1988
2006
  pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
1989
- source_pcb_ground_plane_id: z94.string(),
1990
- source_net_id: z94.string(),
1991
- pcb_group_id: z94.string().optional(),
1992
- subcircuit_id: z94.string().optional()
2007
+ source_pcb_ground_plane_id: z95.string(),
2008
+ source_net_id: z95.string(),
2009
+ pcb_group_id: z95.string().optional(),
2010
+ subcircuit_id: z95.string().optional()
1993
2011
  }).describe("Defines a ground plane on the PCB");
1994
2012
  expectTypesMatch(true);
1995
2013
 
1996
2014
  // src/pcb/pcb_ground_plane_region.ts
1997
- import { z as z95 } from "zod";
1998
- var pcb_ground_plane_region = z95.object({
1999
- type: z95.literal("pcb_ground_plane_region"),
2015
+ import { z as z96 } from "zod";
2016
+ var pcb_ground_plane_region = z96.object({
2017
+ type: z96.literal("pcb_ground_plane_region"),
2000
2018
  pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
2001
2019
  "pcb_ground_plane_region"
2002
2020
  ),
2003
- pcb_ground_plane_id: z95.string(),
2004
- pcb_group_id: z95.string().optional(),
2005
- subcircuit_id: z95.string().optional(),
2021
+ pcb_ground_plane_id: z96.string(),
2022
+ pcb_group_id: z96.string().optional(),
2023
+ subcircuit_id: z96.string().optional(),
2006
2024
  layer: layer_ref,
2007
- points: z95.array(point)
2025
+ points: z96.array(point)
2008
2026
  }).describe("Defines a polygon region of a ground plane");
2009
2027
  expectTypesMatch(true);
2010
2028
 
2011
2029
  // src/pcb/pcb_thermal_spoke.ts
2012
- import { z as z96 } from "zod";
2013
- var pcb_thermal_spoke = z96.object({
2014
- type: z96.literal("pcb_thermal_spoke"),
2030
+ import { z as z97 } from "zod";
2031
+ var pcb_thermal_spoke = z97.object({
2032
+ type: z97.literal("pcb_thermal_spoke"),
2015
2033
  pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
2016
- pcb_ground_plane_id: z96.string(),
2017
- shape: z96.string(),
2018
- spoke_count: z96.number(),
2034
+ pcb_ground_plane_id: z97.string(),
2035
+ shape: z97.string(),
2036
+ spoke_count: z97.number(),
2019
2037
  spoke_thickness: distance,
2020
2038
  spoke_inner_diameter: distance,
2021
2039
  spoke_outer_diameter: distance,
2022
- pcb_plated_hole_id: z96.string().optional(),
2023
- subcircuit_id: z96.string().optional()
2040
+ pcb_plated_hole_id: z97.string().optional(),
2041
+ subcircuit_id: z97.string().optional()
2024
2042
  }).describe("Pattern for connecting a ground plane to a plated hole");
2025
2043
  expectTypesMatch(true);
2026
2044
 
2027
2045
  // src/pcb/pcb_copper_pour.ts
2028
- import { z as z97 } from "zod";
2029
- var pcb_copper_pour_base = z97.object({
2030
- type: z97.literal("pcb_copper_pour"),
2046
+ import { z as z98 } from "zod";
2047
+ var pcb_copper_pour_base = z98.object({
2048
+ type: z98.literal("pcb_copper_pour"),
2031
2049
  pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
2032
- pcb_group_id: z97.string().optional(),
2033
- subcircuit_id: z97.string().optional(),
2050
+ pcb_group_id: z98.string().optional(),
2051
+ subcircuit_id: z98.string().optional(),
2034
2052
  layer: layer_ref,
2035
- source_net_id: z97.string().optional()
2053
+ source_net_id: z98.string().optional()
2036
2054
  });
2037
2055
  var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
2038
- shape: z97.literal("rect"),
2056
+ shape: z98.literal("rect"),
2039
2057
  center: point,
2040
2058
  width: length,
2041
2059
  height: length,
2042
2060
  rotation: rotation.optional()
2043
2061
  });
2044
2062
  expectTypesMatch(true);
2045
- var pcb_copper_pour_circle = pcb_copper_pour_base.extend({
2046
- shape: z97.literal("circle"),
2047
- center: point,
2048
- radius: length
2063
+ var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
2064
+ shape: z98.literal("brep"),
2065
+ brep_shape
2049
2066
  });
2050
2067
  expectTypesMatch(true);
2051
2068
  var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
2052
- shape: z97.literal("polygon"),
2053
- points: z97.array(point)
2069
+ shape: z98.literal("polygon"),
2070
+ points: z98.array(point)
2054
2071
  });
2055
2072
  expectTypesMatch(true);
2056
- var pcb_copper_pour = z97.discriminatedUnion("shape", [
2073
+ var pcb_copper_pour = z98.discriminatedUnion("shape", [
2057
2074
  pcb_copper_pour_rect,
2058
- pcb_copper_pour_circle,
2075
+ pcb_copper_pour_brep,
2059
2076
  pcb_copper_pour_polygon
2060
2077
  ]).describe("Defines a copper pour on the PCB.");
2061
2078
  expectTypesMatch(true);
2062
2079
 
2063
2080
  // src/cad/cad_component.ts
2064
- import { z as z98 } from "zod";
2065
- var cad_component = z98.object({
2066
- type: z98.literal("cad_component"),
2067
- cad_component_id: z98.string(),
2068
- pcb_component_id: z98.string(),
2069
- source_component_id: z98.string(),
2081
+ import { z as z99 } from "zod";
2082
+ var cad_component = z99.object({
2083
+ type: z99.literal("cad_component"),
2084
+ cad_component_id: z99.string(),
2085
+ pcb_component_id: z99.string(),
2086
+ source_component_id: z99.string(),
2070
2087
  position: point3,
2071
2088
  rotation: point3.optional(),
2072
2089
  size: point3.optional(),
2073
2090
  layer: layer_ref.optional(),
2074
- subcircuit_id: z98.string().optional(),
2091
+ subcircuit_id: z99.string().optional(),
2075
2092
  // These are all ways to generate/load the 3d model
2076
- footprinter_string: z98.string().optional(),
2077
- model_obj_url: z98.string().optional(),
2078
- model_stl_url: z98.string().optional(),
2079
- model_3mf_url: z98.string().optional(),
2080
- model_gltf_url: z98.string().optional(),
2081
- model_jscad: z98.any().optional()
2093
+ footprinter_string: z99.string().optional(),
2094
+ model_obj_url: z99.string().optional(),
2095
+ model_stl_url: z99.string().optional(),
2096
+ model_3mf_url: z99.string().optional(),
2097
+ model_gltf_url: z99.string().optional(),
2098
+ model_glb_url: z99.string().optional(),
2099
+ model_step_url: z99.string().optional(),
2100
+ model_jscad: z99.any().optional()
2082
2101
  }).describe("Defines a component on the PCB");
2083
2102
  expectTypesMatch(true);
2084
2103
 
2085
2104
  // src/simulation/simulation_voltage_source.ts
2086
- import { z as z99 } from "zod";
2087
- var wave_shape = z99.enum(["sinewave", "square", "triangle", "sawtooth"]);
2088
- var percentage = z99.union([z99.string(), z99.number()]).transform((val) => {
2105
+ import { z as z100 } from "zod";
2106
+ var wave_shape = z100.enum(["sinewave", "square", "triangle", "sawtooth"]);
2107
+ var percentage = z100.union([z100.string(), z100.number()]).transform((val) => {
2089
2108
  if (typeof val === "string") {
2090
2109
  if (val.endsWith("%")) {
2091
2110
  return parseFloat(val.slice(0, -1)) / 100;
@@ -2094,30 +2113,30 @@ var percentage = z99.union([z99.string(), z99.number()]).transform((val) => {
2094
2113
  }
2095
2114
  return val;
2096
2115
  }).pipe(
2097
- z99.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
2116
+ z100.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
2098
2117
  );
2099
- var simulation_dc_voltage_source = z99.object({
2100
- type: z99.literal("simulation_voltage_source"),
2118
+ var simulation_dc_voltage_source = z100.object({
2119
+ type: z100.literal("simulation_voltage_source"),
2101
2120
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
2102
2121
  "simulation_voltage_source"
2103
2122
  ),
2104
- is_dc_source: z99.literal(true).optional().default(true),
2105
- positive_source_port_id: z99.string().optional(),
2106
- negative_source_port_id: z99.string().optional(),
2107
- positive_source_net_id: z99.string().optional(),
2108
- negative_source_net_id: z99.string().optional(),
2123
+ is_dc_source: z100.literal(true).optional().default(true),
2124
+ positive_source_port_id: z100.string().optional(),
2125
+ negative_source_port_id: z100.string().optional(),
2126
+ positive_source_net_id: z100.string().optional(),
2127
+ negative_source_net_id: z100.string().optional(),
2109
2128
  voltage
2110
2129
  }).describe("Defines a DC voltage source for simulation");
2111
- var simulation_ac_voltage_source = z99.object({
2112
- type: z99.literal("simulation_voltage_source"),
2130
+ var simulation_ac_voltage_source = z100.object({
2131
+ type: z100.literal("simulation_voltage_source"),
2113
2132
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
2114
2133
  "simulation_voltage_source"
2115
2134
  ),
2116
- is_dc_source: z99.literal(false),
2117
- terminal1_source_port_id: z99.string().optional(),
2118
- terminal2_source_port_id: z99.string().optional(),
2119
- terminal1_source_net_id: z99.string().optional(),
2120
- terminal2_source_net_id: z99.string().optional(),
2135
+ is_dc_source: z100.literal(false),
2136
+ terminal1_source_port_id: z100.string().optional(),
2137
+ terminal2_source_port_id: z100.string().optional(),
2138
+ terminal1_source_net_id: z100.string().optional(),
2139
+ terminal2_source_net_id: z100.string().optional(),
2121
2140
  voltage: voltage.optional(),
2122
2141
  frequency: frequency.optional(),
2123
2142
  peak_to_peak_voltage: voltage.optional(),
@@ -2125,14 +2144,14 @@ var simulation_ac_voltage_source = z99.object({
2125
2144
  phase: rotation.optional(),
2126
2145
  duty_cycle: percentage.optional()
2127
2146
  }).describe("Defines an AC voltage source for simulation");
2128
- var simulation_voltage_source = z99.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
2147
+ var simulation_voltage_source = z100.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
2129
2148
  expectTypesMatch(true);
2130
2149
  expectTypesMatch(true);
2131
2150
  expectTypesMatch(true);
2132
2151
 
2133
2152
  // src/any_circuit_element.ts
2134
- import { z as z100 } from "zod";
2135
- var any_circuit_element = z100.union([
2153
+ import { z as z101 } from "zod";
2154
+ var any_circuit_element = z101.union([
2136
2155
  source_trace,
2137
2156
  source_port,
2138
2157
  any_source_component,
@@ -2224,6 +2243,7 @@ export {
2224
2243
  any_soup_element,
2225
2244
  any_source_component,
2226
2245
  battery_capacity,
2246
+ brep_shape,
2227
2247
  cad_component,
2228
2248
  capacitance,
2229
2249
  current,
@@ -2240,7 +2260,7 @@ export {
2240
2260
  pcb_breakout_point,
2241
2261
  pcb_component,
2242
2262
  pcb_copper_pour,
2243
- pcb_copper_pour_circle,
2263
+ pcb_copper_pour_brep,
2244
2264
  pcb_copper_pour_polygon,
2245
2265
  pcb_copper_pour_rect,
2246
2266
  pcb_cutout,
@@ -2287,10 +2307,12 @@ export {
2287
2307
  pcb_via,
2288
2308
  point,
2289
2309
  point3,
2310
+ point_with_bulge,
2290
2311
  port_arrangement,
2291
2312
  position,
2292
2313
  position3,
2293
2314
  resistance,
2315
+ ring,
2294
2316
  rotation,
2295
2317
  route_hint_point,
2296
2318
  schematic_box,