circuit-json 0.0.294 → 0.0.296
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -2
- package/dist/index.d.mts +88 -21
- package/dist/index.mjs +782 -767
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -664,7 +664,8 @@ var source_port = z36.object({
|
|
|
664
664
|
port_hints: z36.array(z36.string()).optional(),
|
|
665
665
|
name: z36.string(),
|
|
666
666
|
source_port_id: z36.string(),
|
|
667
|
-
source_component_id: z36.string(),
|
|
667
|
+
source_component_id: z36.string().optional(),
|
|
668
|
+
source_group_id: z36.string().optional(),
|
|
668
669
|
subcircuit_id: z36.string().optional(),
|
|
669
670
|
subcircuit_connectivity_map_key: z36.string().optional()
|
|
670
671
|
});
|
|
@@ -1203,76 +1204,88 @@ var schematic_table_cell = z64.object({
|
|
|
1203
1204
|
}).describe("Defines a cell within a schematic_table");
|
|
1204
1205
|
expectTypesMatch(true);
|
|
1205
1206
|
|
|
1206
|
-
// src/
|
|
1207
|
+
// src/schematic/schematic_sheet.ts
|
|
1207
1208
|
import { z as z65 } from "zod";
|
|
1208
|
-
var
|
|
1209
|
+
var schematic_sheet = z65.object({
|
|
1210
|
+
type: z65.literal("schematic_sheet"),
|
|
1211
|
+
schematic_sheet_id: getZodPrefixedIdWithDefault("schematic_sheet"),
|
|
1212
|
+
name: z65.string().optional(),
|
|
1213
|
+
subcircuit_id: z65.string().optional()
|
|
1214
|
+
}).describe(
|
|
1215
|
+
"Defines a schematic sheet or page that components can be placed on"
|
|
1216
|
+
);
|
|
1217
|
+
expectTypesMatch(true);
|
|
1218
|
+
|
|
1219
|
+
// src/pcb/properties/brep.ts
|
|
1220
|
+
import { z as z66 } from "zod";
|
|
1221
|
+
var point_with_bulge = z66.object({
|
|
1209
1222
|
x: distance,
|
|
1210
1223
|
y: distance,
|
|
1211
|
-
bulge:
|
|
1224
|
+
bulge: z66.number().optional()
|
|
1212
1225
|
});
|
|
1213
1226
|
expectTypesMatch(true);
|
|
1214
|
-
var ring =
|
|
1215
|
-
vertices:
|
|
1227
|
+
var ring = z66.object({
|
|
1228
|
+
vertices: z66.array(point_with_bulge)
|
|
1216
1229
|
});
|
|
1217
1230
|
expectTypesMatch(true);
|
|
1218
|
-
var brep_shape =
|
|
1231
|
+
var brep_shape = z66.object({
|
|
1219
1232
|
outer_ring: ring,
|
|
1220
|
-
inner_rings:
|
|
1233
|
+
inner_rings: z66.array(ring).default([])
|
|
1221
1234
|
});
|
|
1222
1235
|
expectTypesMatch(true);
|
|
1223
1236
|
|
|
1224
1237
|
// src/pcb/properties/pcb_route_hints.ts
|
|
1225
|
-
import { z as
|
|
1226
|
-
var pcb_route_hint =
|
|
1238
|
+
import { z as z67 } from "zod";
|
|
1239
|
+
var pcb_route_hint = z67.object({
|
|
1227
1240
|
x: distance,
|
|
1228
1241
|
y: distance,
|
|
1229
|
-
via:
|
|
1242
|
+
via: z67.boolean().optional(),
|
|
1230
1243
|
via_to_layer: layer_ref.optional()
|
|
1231
1244
|
});
|
|
1232
|
-
var pcb_route_hints =
|
|
1245
|
+
var pcb_route_hints = z67.array(pcb_route_hint);
|
|
1233
1246
|
expectTypesMatch(true);
|
|
1234
1247
|
expectTypesMatch(true);
|
|
1235
1248
|
|
|
1236
1249
|
// src/pcb/properties/route_hint_point.ts
|
|
1237
|
-
import { z as
|
|
1238
|
-
var route_hint_point =
|
|
1250
|
+
import { z as z68 } from "zod";
|
|
1251
|
+
var route_hint_point = z68.object({
|
|
1239
1252
|
x: distance,
|
|
1240
1253
|
y: distance,
|
|
1241
|
-
via:
|
|
1254
|
+
via: z68.boolean().optional(),
|
|
1242
1255
|
to_layer: layer_ref.optional(),
|
|
1243
1256
|
trace_width: distance.optional()
|
|
1244
1257
|
});
|
|
1245
1258
|
expectTypesMatch(true);
|
|
1246
1259
|
|
|
1247
1260
|
// src/pcb/pcb_component.ts
|
|
1248
|
-
import { z as
|
|
1249
|
-
var pcb_component =
|
|
1250
|
-
type:
|
|
1261
|
+
import { z as z69 } from "zod";
|
|
1262
|
+
var pcb_component = z69.object({
|
|
1263
|
+
type: z69.literal("pcb_component"),
|
|
1251
1264
|
pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
|
|
1252
|
-
source_component_id:
|
|
1265
|
+
source_component_id: z69.string(),
|
|
1253
1266
|
center: point,
|
|
1254
1267
|
layer: layer_ref,
|
|
1255
1268
|
rotation,
|
|
1256
1269
|
width: length,
|
|
1257
1270
|
height: length,
|
|
1258
|
-
do_not_place:
|
|
1259
|
-
subcircuit_id:
|
|
1260
|
-
pcb_group_id:
|
|
1261
|
-
obstructs_within_bounds:
|
|
1271
|
+
do_not_place: z69.boolean().optional(),
|
|
1272
|
+
subcircuit_id: z69.string().optional(),
|
|
1273
|
+
pcb_group_id: z69.string().optional(),
|
|
1274
|
+
obstructs_within_bounds: z69.boolean().default(true).describe(
|
|
1262
1275
|
"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"
|
|
1263
1276
|
)
|
|
1264
1277
|
}).describe("Defines a component on the PCB");
|
|
1265
1278
|
expectTypesMatch(true);
|
|
1266
1279
|
|
|
1267
1280
|
// src/pcb/pcb_hole.ts
|
|
1268
|
-
import { z as
|
|
1269
|
-
var pcb_hole_circle_or_square =
|
|
1270
|
-
type:
|
|
1281
|
+
import { z as z70 } from "zod";
|
|
1282
|
+
var pcb_hole_circle_or_square = z70.object({
|
|
1283
|
+
type: z70.literal("pcb_hole"),
|
|
1271
1284
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1272
|
-
pcb_group_id:
|
|
1273
|
-
subcircuit_id:
|
|
1274
|
-
hole_shape:
|
|
1275
|
-
hole_diameter:
|
|
1285
|
+
pcb_group_id: z70.string().optional(),
|
|
1286
|
+
subcircuit_id: z70.string().optional(),
|
|
1287
|
+
hole_shape: z70.enum(["circle", "square"]),
|
|
1288
|
+
hole_diameter: z70.number(),
|
|
1276
1289
|
x: distance,
|
|
1277
1290
|
y: distance
|
|
1278
1291
|
});
|
|
@@ -1280,14 +1293,14 @@ var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
|
|
|
1280
1293
|
"Defines a circular or square hole on the PCB"
|
|
1281
1294
|
);
|
|
1282
1295
|
expectTypesMatch(true);
|
|
1283
|
-
var pcb_hole_oval =
|
|
1284
|
-
type:
|
|
1296
|
+
var pcb_hole_oval = z70.object({
|
|
1297
|
+
type: z70.literal("pcb_hole"),
|
|
1285
1298
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1286
|
-
pcb_group_id:
|
|
1287
|
-
subcircuit_id:
|
|
1288
|
-
hole_shape:
|
|
1289
|
-
hole_width:
|
|
1290
|
-
hole_height:
|
|
1299
|
+
pcb_group_id: z70.string().optional(),
|
|
1300
|
+
subcircuit_id: z70.string().optional(),
|
|
1301
|
+
hole_shape: z70.literal("oval"),
|
|
1302
|
+
hole_width: z70.number(),
|
|
1303
|
+
hole_height: z70.number(),
|
|
1291
1304
|
x: distance,
|
|
1292
1305
|
y: distance
|
|
1293
1306
|
});
|
|
@@ -1295,14 +1308,14 @@ var pcb_hole_oval_shape = pcb_hole_oval.describe(
|
|
|
1295
1308
|
"Defines an oval hole on the PCB"
|
|
1296
1309
|
);
|
|
1297
1310
|
expectTypesMatch(true);
|
|
1298
|
-
var pcb_hole_pill =
|
|
1299
|
-
type:
|
|
1311
|
+
var pcb_hole_pill = z70.object({
|
|
1312
|
+
type: z70.literal("pcb_hole"),
|
|
1300
1313
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1301
|
-
pcb_group_id:
|
|
1302
|
-
subcircuit_id:
|
|
1303
|
-
hole_shape:
|
|
1304
|
-
hole_width:
|
|
1305
|
-
hole_height:
|
|
1314
|
+
pcb_group_id: z70.string().optional(),
|
|
1315
|
+
subcircuit_id: z70.string().optional(),
|
|
1316
|
+
hole_shape: z70.literal("pill"),
|
|
1317
|
+
hole_width: z70.number(),
|
|
1318
|
+
hole_height: z70.number(),
|
|
1306
1319
|
x: distance,
|
|
1307
1320
|
y: distance
|
|
1308
1321
|
});
|
|
@@ -1310,14 +1323,14 @@ var pcb_hole_pill_shape = pcb_hole_pill.describe(
|
|
|
1310
1323
|
"Defines a pill-shaped hole on the PCB"
|
|
1311
1324
|
);
|
|
1312
1325
|
expectTypesMatch(true);
|
|
1313
|
-
var pcb_hole_rotated_pill =
|
|
1314
|
-
type:
|
|
1326
|
+
var pcb_hole_rotated_pill = z70.object({
|
|
1327
|
+
type: z70.literal("pcb_hole"),
|
|
1315
1328
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1316
|
-
pcb_group_id:
|
|
1317
|
-
subcircuit_id:
|
|
1318
|
-
hole_shape:
|
|
1319
|
-
hole_width:
|
|
1320
|
-
hole_height:
|
|
1329
|
+
pcb_group_id: z70.string().optional(),
|
|
1330
|
+
subcircuit_id: z70.string().optional(),
|
|
1331
|
+
hole_shape: z70.literal("rotated_pill"),
|
|
1332
|
+
hole_width: z70.number(),
|
|
1333
|
+
hole_height: z70.number(),
|
|
1321
1334
|
x: distance,
|
|
1322
1335
|
y: distance,
|
|
1323
1336
|
ccw_rotation: rotation
|
|
@@ -1329,108 +1342,108 @@ expectTypesMatch(true);
|
|
|
1329
1342
|
var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval).or(pcb_hole_pill).or(pcb_hole_rotated_pill);
|
|
1330
1343
|
|
|
1331
1344
|
// src/pcb/pcb_plated_hole.ts
|
|
1332
|
-
import { z as
|
|
1333
|
-
var pcb_plated_hole_circle =
|
|
1334
|
-
type:
|
|
1335
|
-
shape:
|
|
1336
|
-
pcb_group_id:
|
|
1337
|
-
subcircuit_id:
|
|
1338
|
-
outer_diameter:
|
|
1339
|
-
hole_diameter:
|
|
1345
|
+
import { z as z71 } from "zod";
|
|
1346
|
+
var pcb_plated_hole_circle = z71.object({
|
|
1347
|
+
type: z71.literal("pcb_plated_hole"),
|
|
1348
|
+
shape: z71.literal("circle"),
|
|
1349
|
+
pcb_group_id: z71.string().optional(),
|
|
1350
|
+
subcircuit_id: z71.string().optional(),
|
|
1351
|
+
outer_diameter: z71.number(),
|
|
1352
|
+
hole_diameter: z71.number(),
|
|
1340
1353
|
x: distance,
|
|
1341
1354
|
y: distance,
|
|
1342
|
-
layers:
|
|
1343
|
-
port_hints:
|
|
1344
|
-
pcb_component_id:
|
|
1345
|
-
pcb_port_id:
|
|
1355
|
+
layers: z71.array(layer_ref),
|
|
1356
|
+
port_hints: z71.array(z71.string()).optional(),
|
|
1357
|
+
pcb_component_id: z71.string().optional(),
|
|
1358
|
+
pcb_port_id: z71.string().optional(),
|
|
1346
1359
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
1347
1360
|
});
|
|
1348
|
-
var pcb_plated_hole_oval =
|
|
1349
|
-
type:
|
|
1350
|
-
shape:
|
|
1351
|
-
pcb_group_id:
|
|
1352
|
-
subcircuit_id:
|
|
1353
|
-
outer_width:
|
|
1354
|
-
outer_height:
|
|
1355
|
-
hole_width:
|
|
1356
|
-
hole_height:
|
|
1361
|
+
var pcb_plated_hole_oval = z71.object({
|
|
1362
|
+
type: z71.literal("pcb_plated_hole"),
|
|
1363
|
+
shape: z71.enum(["oval", "pill"]),
|
|
1364
|
+
pcb_group_id: z71.string().optional(),
|
|
1365
|
+
subcircuit_id: z71.string().optional(),
|
|
1366
|
+
outer_width: z71.number(),
|
|
1367
|
+
outer_height: z71.number(),
|
|
1368
|
+
hole_width: z71.number(),
|
|
1369
|
+
hole_height: z71.number(),
|
|
1357
1370
|
x: distance,
|
|
1358
1371
|
y: distance,
|
|
1359
1372
|
ccw_rotation: rotation,
|
|
1360
|
-
layers:
|
|
1361
|
-
port_hints:
|
|
1362
|
-
pcb_component_id:
|
|
1363
|
-
pcb_port_id:
|
|
1373
|
+
layers: z71.array(layer_ref),
|
|
1374
|
+
port_hints: z71.array(z71.string()).optional(),
|
|
1375
|
+
pcb_component_id: z71.string().optional(),
|
|
1376
|
+
pcb_port_id: z71.string().optional(),
|
|
1364
1377
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
1365
1378
|
});
|
|
1366
|
-
var pcb_circular_hole_with_rect_pad =
|
|
1367
|
-
type:
|
|
1368
|
-
shape:
|
|
1369
|
-
pcb_group_id:
|
|
1370
|
-
subcircuit_id:
|
|
1371
|
-
hole_shape:
|
|
1372
|
-
pad_shape:
|
|
1373
|
-
hole_diameter:
|
|
1374
|
-
rect_pad_width:
|
|
1375
|
-
rect_pad_height:
|
|
1376
|
-
rect_border_radius:
|
|
1379
|
+
var pcb_circular_hole_with_rect_pad = z71.object({
|
|
1380
|
+
type: z71.literal("pcb_plated_hole"),
|
|
1381
|
+
shape: z71.literal("circular_hole_with_rect_pad"),
|
|
1382
|
+
pcb_group_id: z71.string().optional(),
|
|
1383
|
+
subcircuit_id: z71.string().optional(),
|
|
1384
|
+
hole_shape: z71.literal("circle"),
|
|
1385
|
+
pad_shape: z71.literal("rect"),
|
|
1386
|
+
hole_diameter: z71.number(),
|
|
1387
|
+
rect_pad_width: z71.number(),
|
|
1388
|
+
rect_pad_height: z71.number(),
|
|
1389
|
+
rect_border_radius: z71.number().optional(),
|
|
1377
1390
|
hole_offset_x: distance.default(0),
|
|
1378
1391
|
hole_offset_y: distance.default(0),
|
|
1379
1392
|
x: distance,
|
|
1380
1393
|
y: distance,
|
|
1381
|
-
layers:
|
|
1382
|
-
port_hints:
|
|
1383
|
-
pcb_component_id:
|
|
1384
|
-
pcb_port_id:
|
|
1394
|
+
layers: z71.array(layer_ref),
|
|
1395
|
+
port_hints: z71.array(z71.string()).optional(),
|
|
1396
|
+
pcb_component_id: z71.string().optional(),
|
|
1397
|
+
pcb_port_id: z71.string().optional(),
|
|
1385
1398
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
1386
1399
|
});
|
|
1387
|
-
var pcb_pill_hole_with_rect_pad =
|
|
1388
|
-
type:
|
|
1389
|
-
shape:
|
|
1390
|
-
pcb_group_id:
|
|
1391
|
-
subcircuit_id:
|
|
1392
|
-
hole_shape:
|
|
1393
|
-
pad_shape:
|
|
1394
|
-
hole_width:
|
|
1395
|
-
hole_height:
|
|
1396
|
-
rect_pad_width:
|
|
1397
|
-
rect_pad_height:
|
|
1398
|
-
rect_border_radius:
|
|
1400
|
+
var pcb_pill_hole_with_rect_pad = z71.object({
|
|
1401
|
+
type: z71.literal("pcb_plated_hole"),
|
|
1402
|
+
shape: z71.literal("pill_hole_with_rect_pad"),
|
|
1403
|
+
pcb_group_id: z71.string().optional(),
|
|
1404
|
+
subcircuit_id: z71.string().optional(),
|
|
1405
|
+
hole_shape: z71.literal("pill"),
|
|
1406
|
+
pad_shape: z71.literal("rect"),
|
|
1407
|
+
hole_width: z71.number(),
|
|
1408
|
+
hole_height: z71.number(),
|
|
1409
|
+
rect_pad_width: z71.number(),
|
|
1410
|
+
rect_pad_height: z71.number(),
|
|
1411
|
+
rect_border_radius: z71.number().optional(),
|
|
1399
1412
|
hole_offset_x: distance.default(0),
|
|
1400
1413
|
hole_offset_y: distance.default(0),
|
|
1401
1414
|
x: distance,
|
|
1402
1415
|
y: distance,
|
|
1403
|
-
layers:
|
|
1404
|
-
port_hints:
|
|
1405
|
-
pcb_component_id:
|
|
1406
|
-
pcb_port_id:
|
|
1416
|
+
layers: z71.array(layer_ref),
|
|
1417
|
+
port_hints: z71.array(z71.string()).optional(),
|
|
1418
|
+
pcb_component_id: z71.string().optional(),
|
|
1419
|
+
pcb_port_id: z71.string().optional(),
|
|
1407
1420
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
1408
1421
|
});
|
|
1409
|
-
var pcb_rotated_pill_hole_with_rect_pad =
|
|
1410
|
-
type:
|
|
1411
|
-
shape:
|
|
1412
|
-
pcb_group_id:
|
|
1413
|
-
subcircuit_id:
|
|
1414
|
-
hole_shape:
|
|
1415
|
-
pad_shape:
|
|
1416
|
-
hole_width:
|
|
1417
|
-
hole_height:
|
|
1422
|
+
var pcb_rotated_pill_hole_with_rect_pad = z71.object({
|
|
1423
|
+
type: z71.literal("pcb_plated_hole"),
|
|
1424
|
+
shape: z71.literal("rotated_pill_hole_with_rect_pad"),
|
|
1425
|
+
pcb_group_id: z71.string().optional(),
|
|
1426
|
+
subcircuit_id: z71.string().optional(),
|
|
1427
|
+
hole_shape: z71.literal("rotated_pill"),
|
|
1428
|
+
pad_shape: z71.literal("rect"),
|
|
1429
|
+
hole_width: z71.number(),
|
|
1430
|
+
hole_height: z71.number(),
|
|
1418
1431
|
hole_ccw_rotation: rotation,
|
|
1419
|
-
rect_pad_width:
|
|
1420
|
-
rect_pad_height:
|
|
1421
|
-
rect_border_radius:
|
|
1432
|
+
rect_pad_width: z71.number(),
|
|
1433
|
+
rect_pad_height: z71.number(),
|
|
1434
|
+
rect_border_radius: z71.number().optional(),
|
|
1422
1435
|
rect_ccw_rotation: rotation,
|
|
1423
1436
|
hole_offset_x: distance.default(0),
|
|
1424
1437
|
hole_offset_y: distance.default(0),
|
|
1425
1438
|
x: distance,
|
|
1426
1439
|
y: distance,
|
|
1427
|
-
layers:
|
|
1428
|
-
port_hints:
|
|
1429
|
-
pcb_component_id:
|
|
1430
|
-
pcb_port_id:
|
|
1440
|
+
layers: z71.array(layer_ref),
|
|
1441
|
+
port_hints: z71.array(z71.string()).optional(),
|
|
1442
|
+
pcb_component_id: z71.string().optional(),
|
|
1443
|
+
pcb_port_id: z71.string().optional(),
|
|
1431
1444
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
1432
1445
|
});
|
|
1433
|
-
var pcb_plated_hole =
|
|
1446
|
+
var pcb_plated_hole = z71.union([
|
|
1434
1447
|
pcb_plated_hole_circle,
|
|
1435
1448
|
pcb_plated_hole_oval,
|
|
1436
1449
|
pcb_circular_hole_with_rect_pad,
|
|
@@ -1446,124 +1459,124 @@ expectTypesMatch(true);
|
|
|
1446
1459
|
expectTypesMatch(true);
|
|
1447
1460
|
|
|
1448
1461
|
// src/pcb/pcb_port.ts
|
|
1449
|
-
import { z as
|
|
1450
|
-
var pcb_port =
|
|
1451
|
-
type:
|
|
1462
|
+
import { z as z72 } from "zod";
|
|
1463
|
+
var pcb_port = z72.object({
|
|
1464
|
+
type: z72.literal("pcb_port"),
|
|
1452
1465
|
pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
|
|
1453
|
-
pcb_group_id:
|
|
1454
|
-
subcircuit_id:
|
|
1455
|
-
source_port_id:
|
|
1456
|
-
pcb_component_id:
|
|
1466
|
+
pcb_group_id: z72.string().optional(),
|
|
1467
|
+
subcircuit_id: z72.string().optional(),
|
|
1468
|
+
source_port_id: z72.string(),
|
|
1469
|
+
pcb_component_id: z72.string().optional(),
|
|
1457
1470
|
x: distance,
|
|
1458
1471
|
y: distance,
|
|
1459
|
-
layers:
|
|
1460
|
-
is_board_pinout:
|
|
1472
|
+
layers: z72.array(layer_ref),
|
|
1473
|
+
is_board_pinout: z72.boolean().optional()
|
|
1461
1474
|
}).describe("Defines a port on the PCB");
|
|
1462
1475
|
expectTypesMatch(true);
|
|
1463
1476
|
|
|
1464
1477
|
// src/pcb/pcb_smtpad.ts
|
|
1465
|
-
import { z as
|
|
1466
|
-
var pcb_smtpad_circle =
|
|
1467
|
-
type:
|
|
1468
|
-
shape:
|
|
1478
|
+
import { z as z73 } from "zod";
|
|
1479
|
+
var pcb_smtpad_circle = z73.object({
|
|
1480
|
+
type: z73.literal("pcb_smtpad"),
|
|
1481
|
+
shape: z73.literal("circle"),
|
|
1469
1482
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1470
|
-
pcb_group_id:
|
|
1471
|
-
subcircuit_id:
|
|
1483
|
+
pcb_group_id: z73.string().optional(),
|
|
1484
|
+
subcircuit_id: z73.string().optional(),
|
|
1472
1485
|
x: distance,
|
|
1473
1486
|
y: distance,
|
|
1474
|
-
radius:
|
|
1487
|
+
radius: z73.number(),
|
|
1475
1488
|
layer: layer_ref,
|
|
1476
|
-
port_hints:
|
|
1477
|
-
pcb_component_id:
|
|
1478
|
-
pcb_port_id:
|
|
1479
|
-
is_covered_with_solder_mask:
|
|
1489
|
+
port_hints: z73.array(z73.string()).optional(),
|
|
1490
|
+
pcb_component_id: z73.string().optional(),
|
|
1491
|
+
pcb_port_id: z73.string().optional(),
|
|
1492
|
+
is_covered_with_solder_mask: z73.boolean().optional()
|
|
1480
1493
|
});
|
|
1481
|
-
var pcb_smtpad_rect =
|
|
1482
|
-
type:
|
|
1483
|
-
shape:
|
|
1494
|
+
var pcb_smtpad_rect = z73.object({
|
|
1495
|
+
type: z73.literal("pcb_smtpad"),
|
|
1496
|
+
shape: z73.literal("rect"),
|
|
1484
1497
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1485
|
-
pcb_group_id:
|
|
1486
|
-
subcircuit_id:
|
|
1498
|
+
pcb_group_id: z73.string().optional(),
|
|
1499
|
+
subcircuit_id: z73.string().optional(),
|
|
1487
1500
|
x: distance,
|
|
1488
1501
|
y: distance,
|
|
1489
|
-
width:
|
|
1490
|
-
height:
|
|
1491
|
-
rect_border_radius:
|
|
1492
|
-
corner_radius:
|
|
1502
|
+
width: z73.number(),
|
|
1503
|
+
height: z73.number(),
|
|
1504
|
+
rect_border_radius: z73.number().optional(),
|
|
1505
|
+
corner_radius: z73.number().optional(),
|
|
1493
1506
|
layer: layer_ref,
|
|
1494
|
-
port_hints:
|
|
1495
|
-
pcb_component_id:
|
|
1496
|
-
pcb_port_id:
|
|
1497
|
-
is_covered_with_solder_mask:
|
|
1507
|
+
port_hints: z73.array(z73.string()).optional(),
|
|
1508
|
+
pcb_component_id: z73.string().optional(),
|
|
1509
|
+
pcb_port_id: z73.string().optional(),
|
|
1510
|
+
is_covered_with_solder_mask: z73.boolean().optional()
|
|
1498
1511
|
});
|
|
1499
|
-
var pcb_smtpad_rotated_rect =
|
|
1500
|
-
type:
|
|
1501
|
-
shape:
|
|
1512
|
+
var pcb_smtpad_rotated_rect = z73.object({
|
|
1513
|
+
type: z73.literal("pcb_smtpad"),
|
|
1514
|
+
shape: z73.literal("rotated_rect"),
|
|
1502
1515
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1503
|
-
pcb_group_id:
|
|
1504
|
-
subcircuit_id:
|
|
1516
|
+
pcb_group_id: z73.string().optional(),
|
|
1517
|
+
subcircuit_id: z73.string().optional(),
|
|
1505
1518
|
x: distance,
|
|
1506
1519
|
y: distance,
|
|
1507
|
-
width:
|
|
1508
|
-
height:
|
|
1509
|
-
rect_border_radius:
|
|
1510
|
-
corner_radius:
|
|
1520
|
+
width: z73.number(),
|
|
1521
|
+
height: z73.number(),
|
|
1522
|
+
rect_border_radius: z73.number().optional(),
|
|
1523
|
+
corner_radius: z73.number().optional(),
|
|
1511
1524
|
ccw_rotation: rotation,
|
|
1512
1525
|
layer: layer_ref,
|
|
1513
|
-
port_hints:
|
|
1514
|
-
pcb_component_id:
|
|
1515
|
-
pcb_port_id:
|
|
1516
|
-
is_covered_with_solder_mask:
|
|
1526
|
+
port_hints: z73.array(z73.string()).optional(),
|
|
1527
|
+
pcb_component_id: z73.string().optional(),
|
|
1528
|
+
pcb_port_id: z73.string().optional(),
|
|
1529
|
+
is_covered_with_solder_mask: z73.boolean().optional()
|
|
1517
1530
|
});
|
|
1518
|
-
var pcb_smtpad_pill =
|
|
1519
|
-
type:
|
|
1520
|
-
shape:
|
|
1531
|
+
var pcb_smtpad_pill = z73.object({
|
|
1532
|
+
type: z73.literal("pcb_smtpad"),
|
|
1533
|
+
shape: z73.literal("pill"),
|
|
1521
1534
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1522
|
-
pcb_group_id:
|
|
1523
|
-
subcircuit_id:
|
|
1535
|
+
pcb_group_id: z73.string().optional(),
|
|
1536
|
+
subcircuit_id: z73.string().optional(),
|
|
1524
1537
|
x: distance,
|
|
1525
1538
|
y: distance,
|
|
1526
|
-
width:
|
|
1527
|
-
height:
|
|
1528
|
-
radius:
|
|
1539
|
+
width: z73.number(),
|
|
1540
|
+
height: z73.number(),
|
|
1541
|
+
radius: z73.number(),
|
|
1529
1542
|
layer: layer_ref,
|
|
1530
|
-
port_hints:
|
|
1531
|
-
pcb_component_id:
|
|
1532
|
-
pcb_port_id:
|
|
1533
|
-
is_covered_with_solder_mask:
|
|
1543
|
+
port_hints: z73.array(z73.string()).optional(),
|
|
1544
|
+
pcb_component_id: z73.string().optional(),
|
|
1545
|
+
pcb_port_id: z73.string().optional(),
|
|
1546
|
+
is_covered_with_solder_mask: z73.boolean().optional()
|
|
1534
1547
|
});
|
|
1535
|
-
var pcb_smtpad_rotated_pill =
|
|
1536
|
-
type:
|
|
1537
|
-
shape:
|
|
1548
|
+
var pcb_smtpad_rotated_pill = z73.object({
|
|
1549
|
+
type: z73.literal("pcb_smtpad"),
|
|
1550
|
+
shape: z73.literal("rotated_pill"),
|
|
1538
1551
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1539
|
-
pcb_group_id:
|
|
1540
|
-
subcircuit_id:
|
|
1552
|
+
pcb_group_id: z73.string().optional(),
|
|
1553
|
+
subcircuit_id: z73.string().optional(),
|
|
1541
1554
|
x: distance,
|
|
1542
1555
|
y: distance,
|
|
1543
|
-
width:
|
|
1544
|
-
height:
|
|
1545
|
-
radius:
|
|
1556
|
+
width: z73.number(),
|
|
1557
|
+
height: z73.number(),
|
|
1558
|
+
radius: z73.number(),
|
|
1546
1559
|
ccw_rotation: rotation,
|
|
1547
1560
|
layer: layer_ref,
|
|
1548
|
-
port_hints:
|
|
1549
|
-
pcb_component_id:
|
|
1550
|
-
pcb_port_id:
|
|
1551
|
-
is_covered_with_solder_mask:
|
|
1561
|
+
port_hints: z73.array(z73.string()).optional(),
|
|
1562
|
+
pcb_component_id: z73.string().optional(),
|
|
1563
|
+
pcb_port_id: z73.string().optional(),
|
|
1564
|
+
is_covered_with_solder_mask: z73.boolean().optional()
|
|
1552
1565
|
});
|
|
1553
|
-
var pcb_smtpad_polygon =
|
|
1554
|
-
type:
|
|
1555
|
-
shape:
|
|
1566
|
+
var pcb_smtpad_polygon = z73.object({
|
|
1567
|
+
type: z73.literal("pcb_smtpad"),
|
|
1568
|
+
shape: z73.literal("polygon"),
|
|
1556
1569
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1557
|
-
pcb_group_id:
|
|
1558
|
-
subcircuit_id:
|
|
1559
|
-
points:
|
|
1570
|
+
pcb_group_id: z73.string().optional(),
|
|
1571
|
+
subcircuit_id: z73.string().optional(),
|
|
1572
|
+
points: z73.array(point),
|
|
1560
1573
|
layer: layer_ref,
|
|
1561
|
-
port_hints:
|
|
1562
|
-
pcb_component_id:
|
|
1563
|
-
pcb_port_id:
|
|
1564
|
-
is_covered_with_solder_mask:
|
|
1574
|
+
port_hints: z73.array(z73.string()).optional(),
|
|
1575
|
+
pcb_component_id: z73.string().optional(),
|
|
1576
|
+
pcb_port_id: z73.string().optional(),
|
|
1577
|
+
is_covered_with_solder_mask: z73.boolean().optional()
|
|
1565
1578
|
});
|
|
1566
|
-
var pcb_smtpad =
|
|
1579
|
+
var pcb_smtpad = z73.discriminatedUnion("shape", [
|
|
1567
1580
|
pcb_smtpad_circle,
|
|
1568
1581
|
pcb_smtpad_rect,
|
|
1569
1582
|
pcb_smtpad_rotated_rect,
|
|
@@ -1579,79 +1592,79 @@ expectTypesMatch(true);
|
|
|
1579
1592
|
expectTypesMatch(true);
|
|
1580
1593
|
|
|
1581
1594
|
// src/pcb/pcb_solder_paste.ts
|
|
1582
|
-
import { z as
|
|
1583
|
-
var pcb_solder_paste_circle =
|
|
1584
|
-
type:
|
|
1585
|
-
shape:
|
|
1595
|
+
import { z as z74 } from "zod";
|
|
1596
|
+
var pcb_solder_paste_circle = z74.object({
|
|
1597
|
+
type: z74.literal("pcb_solder_paste"),
|
|
1598
|
+
shape: z74.literal("circle"),
|
|
1586
1599
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1587
|
-
pcb_group_id:
|
|
1588
|
-
subcircuit_id:
|
|
1600
|
+
pcb_group_id: z74.string().optional(),
|
|
1601
|
+
subcircuit_id: z74.string().optional(),
|
|
1589
1602
|
x: distance,
|
|
1590
1603
|
y: distance,
|
|
1591
|
-
radius:
|
|
1604
|
+
radius: z74.number(),
|
|
1592
1605
|
layer: layer_ref,
|
|
1593
|
-
pcb_component_id:
|
|
1594
|
-
pcb_smtpad_id:
|
|
1606
|
+
pcb_component_id: z74.string().optional(),
|
|
1607
|
+
pcb_smtpad_id: z74.string().optional()
|
|
1595
1608
|
});
|
|
1596
|
-
var pcb_solder_paste_rect =
|
|
1597
|
-
type:
|
|
1598
|
-
shape:
|
|
1609
|
+
var pcb_solder_paste_rect = z74.object({
|
|
1610
|
+
type: z74.literal("pcb_solder_paste"),
|
|
1611
|
+
shape: z74.literal("rect"),
|
|
1599
1612
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1600
|
-
pcb_group_id:
|
|
1601
|
-
subcircuit_id:
|
|
1613
|
+
pcb_group_id: z74.string().optional(),
|
|
1614
|
+
subcircuit_id: z74.string().optional(),
|
|
1602
1615
|
x: distance,
|
|
1603
1616
|
y: distance,
|
|
1604
|
-
width:
|
|
1605
|
-
height:
|
|
1617
|
+
width: z74.number(),
|
|
1618
|
+
height: z74.number(),
|
|
1606
1619
|
layer: layer_ref,
|
|
1607
|
-
pcb_component_id:
|
|
1608
|
-
pcb_smtpad_id:
|
|
1620
|
+
pcb_component_id: z74.string().optional(),
|
|
1621
|
+
pcb_smtpad_id: z74.string().optional()
|
|
1609
1622
|
});
|
|
1610
|
-
var pcb_solder_paste_pill =
|
|
1611
|
-
type:
|
|
1612
|
-
shape:
|
|
1623
|
+
var pcb_solder_paste_pill = z74.object({
|
|
1624
|
+
type: z74.literal("pcb_solder_paste"),
|
|
1625
|
+
shape: z74.literal("pill"),
|
|
1613
1626
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1614
|
-
pcb_group_id:
|
|
1615
|
-
subcircuit_id:
|
|
1627
|
+
pcb_group_id: z74.string().optional(),
|
|
1628
|
+
subcircuit_id: z74.string().optional(),
|
|
1616
1629
|
x: distance,
|
|
1617
1630
|
y: distance,
|
|
1618
|
-
width:
|
|
1619
|
-
height:
|
|
1620
|
-
radius:
|
|
1631
|
+
width: z74.number(),
|
|
1632
|
+
height: z74.number(),
|
|
1633
|
+
radius: z74.number(),
|
|
1621
1634
|
layer: layer_ref,
|
|
1622
|
-
pcb_component_id:
|
|
1623
|
-
pcb_smtpad_id:
|
|
1635
|
+
pcb_component_id: z74.string().optional(),
|
|
1636
|
+
pcb_smtpad_id: z74.string().optional()
|
|
1624
1637
|
});
|
|
1625
|
-
var pcb_solder_paste_rotated_rect =
|
|
1626
|
-
type:
|
|
1627
|
-
shape:
|
|
1638
|
+
var pcb_solder_paste_rotated_rect = z74.object({
|
|
1639
|
+
type: z74.literal("pcb_solder_paste"),
|
|
1640
|
+
shape: z74.literal("rotated_rect"),
|
|
1628
1641
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1629
|
-
pcb_group_id:
|
|
1630
|
-
subcircuit_id:
|
|
1642
|
+
pcb_group_id: z74.string().optional(),
|
|
1643
|
+
subcircuit_id: z74.string().optional(),
|
|
1631
1644
|
x: distance,
|
|
1632
1645
|
y: distance,
|
|
1633
|
-
width:
|
|
1634
|
-
height:
|
|
1646
|
+
width: z74.number(),
|
|
1647
|
+
height: z74.number(),
|
|
1635
1648
|
ccw_rotation: distance,
|
|
1636
1649
|
layer: layer_ref,
|
|
1637
|
-
pcb_component_id:
|
|
1638
|
-
pcb_smtpad_id:
|
|
1650
|
+
pcb_component_id: z74.string().optional(),
|
|
1651
|
+
pcb_smtpad_id: z74.string().optional()
|
|
1639
1652
|
});
|
|
1640
|
-
var pcb_solder_paste_oval =
|
|
1641
|
-
type:
|
|
1642
|
-
shape:
|
|
1653
|
+
var pcb_solder_paste_oval = z74.object({
|
|
1654
|
+
type: z74.literal("pcb_solder_paste"),
|
|
1655
|
+
shape: z74.literal("oval"),
|
|
1643
1656
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1644
|
-
pcb_group_id:
|
|
1645
|
-
subcircuit_id:
|
|
1657
|
+
pcb_group_id: z74.string().optional(),
|
|
1658
|
+
subcircuit_id: z74.string().optional(),
|
|
1646
1659
|
x: distance,
|
|
1647
1660
|
y: distance,
|
|
1648
|
-
width:
|
|
1649
|
-
height:
|
|
1661
|
+
width: z74.number(),
|
|
1662
|
+
height: z74.number(),
|
|
1650
1663
|
layer: layer_ref,
|
|
1651
|
-
pcb_component_id:
|
|
1652
|
-
pcb_smtpad_id:
|
|
1664
|
+
pcb_component_id: z74.string().optional(),
|
|
1665
|
+
pcb_smtpad_id: z74.string().optional()
|
|
1653
1666
|
});
|
|
1654
|
-
var pcb_solder_paste =
|
|
1667
|
+
var pcb_solder_paste = z74.union([
|
|
1655
1668
|
pcb_solder_paste_circle,
|
|
1656
1669
|
pcb_solder_paste_rect,
|
|
1657
1670
|
pcb_solder_paste_pill,
|
|
@@ -1667,145 +1680,145 @@ expectTypesMatch(
|
|
|
1667
1680
|
expectTypesMatch(true);
|
|
1668
1681
|
|
|
1669
1682
|
// src/pcb/pcb_text.ts
|
|
1670
|
-
import { z as
|
|
1671
|
-
var pcb_text =
|
|
1672
|
-
type:
|
|
1683
|
+
import { z as z75 } from "zod";
|
|
1684
|
+
var pcb_text = z75.object({
|
|
1685
|
+
type: z75.literal("pcb_text"),
|
|
1673
1686
|
pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
|
|
1674
|
-
pcb_group_id:
|
|
1675
|
-
subcircuit_id:
|
|
1676
|
-
text:
|
|
1687
|
+
pcb_group_id: z75.string().optional(),
|
|
1688
|
+
subcircuit_id: z75.string().optional(),
|
|
1689
|
+
text: z75.string(),
|
|
1677
1690
|
center: point,
|
|
1678
1691
|
layer: layer_ref,
|
|
1679
1692
|
width: length,
|
|
1680
1693
|
height: length,
|
|
1681
|
-
lines:
|
|
1694
|
+
lines: z75.number(),
|
|
1682
1695
|
// @ts-ignore
|
|
1683
|
-
align:
|
|
1696
|
+
align: z75.enum(["bottom-left"])
|
|
1684
1697
|
}).describe("Defines text on the PCB");
|
|
1685
1698
|
expectTypesMatch(true);
|
|
1686
1699
|
|
|
1687
1700
|
// src/pcb/pcb_trace.ts
|
|
1688
|
-
import { z as
|
|
1689
|
-
var pcb_trace_route_point_wire =
|
|
1690
|
-
route_type:
|
|
1701
|
+
import { z as z76 } from "zod";
|
|
1702
|
+
var pcb_trace_route_point_wire = z76.object({
|
|
1703
|
+
route_type: z76.literal("wire"),
|
|
1691
1704
|
x: distance,
|
|
1692
1705
|
y: distance,
|
|
1693
1706
|
width: distance,
|
|
1694
|
-
start_pcb_port_id:
|
|
1695
|
-
end_pcb_port_id:
|
|
1707
|
+
start_pcb_port_id: z76.string().optional(),
|
|
1708
|
+
end_pcb_port_id: z76.string().optional(),
|
|
1696
1709
|
layer: layer_ref
|
|
1697
1710
|
});
|
|
1698
|
-
var pcb_trace_route_point_via =
|
|
1699
|
-
route_type:
|
|
1711
|
+
var pcb_trace_route_point_via = z76.object({
|
|
1712
|
+
route_type: z76.literal("via"),
|
|
1700
1713
|
x: distance,
|
|
1701
1714
|
y: distance,
|
|
1702
1715
|
hole_diameter: distance.optional(),
|
|
1703
1716
|
outer_diameter: distance.optional(),
|
|
1704
|
-
from_layer:
|
|
1705
|
-
to_layer:
|
|
1717
|
+
from_layer: z76.string(),
|
|
1718
|
+
to_layer: z76.string()
|
|
1706
1719
|
});
|
|
1707
|
-
var pcb_trace_route_point =
|
|
1720
|
+
var pcb_trace_route_point = z76.union([
|
|
1708
1721
|
pcb_trace_route_point_wire,
|
|
1709
1722
|
pcb_trace_route_point_via
|
|
1710
1723
|
]);
|
|
1711
|
-
var pcb_trace =
|
|
1712
|
-
type:
|
|
1713
|
-
source_trace_id:
|
|
1714
|
-
pcb_component_id:
|
|
1724
|
+
var pcb_trace = z76.object({
|
|
1725
|
+
type: z76.literal("pcb_trace"),
|
|
1726
|
+
source_trace_id: z76.string().optional(),
|
|
1727
|
+
pcb_component_id: z76.string().optional(),
|
|
1715
1728
|
pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
|
|
1716
|
-
pcb_group_id:
|
|
1717
|
-
subcircuit_id:
|
|
1718
|
-
route_thickness_mode:
|
|
1719
|
-
route_order_index:
|
|
1720
|
-
should_round_corners:
|
|
1721
|
-
trace_length:
|
|
1722
|
-
highlight_color:
|
|
1723
|
-
route:
|
|
1729
|
+
pcb_group_id: z76.string().optional(),
|
|
1730
|
+
subcircuit_id: z76.string().optional(),
|
|
1731
|
+
route_thickness_mode: z76.enum(["constant", "interpolated"]).default("constant").optional(),
|
|
1732
|
+
route_order_index: z76.number().optional(),
|
|
1733
|
+
should_round_corners: z76.boolean().optional(),
|
|
1734
|
+
trace_length: z76.number().optional(),
|
|
1735
|
+
highlight_color: z76.string().optional(),
|
|
1736
|
+
route: z76.array(pcb_trace_route_point)
|
|
1724
1737
|
}).describe("Defines a trace on the PCB");
|
|
1725
1738
|
expectTypesMatch(true);
|
|
1726
1739
|
expectTypesMatch(true);
|
|
1727
1740
|
|
|
1728
1741
|
// src/pcb/pcb_trace_error.ts
|
|
1729
|
-
import { z as
|
|
1730
|
-
var pcb_trace_error =
|
|
1731
|
-
type:
|
|
1742
|
+
import { z as z77 } from "zod";
|
|
1743
|
+
var pcb_trace_error = z77.object({
|
|
1744
|
+
type: z77.literal("pcb_trace_error"),
|
|
1732
1745
|
pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
|
|
1733
|
-
error_type:
|
|
1734
|
-
message:
|
|
1746
|
+
error_type: z77.literal("pcb_trace_error").default("pcb_trace_error"),
|
|
1747
|
+
message: z77.string(),
|
|
1735
1748
|
center: point.optional(),
|
|
1736
|
-
pcb_trace_id:
|
|
1737
|
-
source_trace_id:
|
|
1738
|
-
pcb_component_ids:
|
|
1739
|
-
pcb_port_ids:
|
|
1740
|
-
subcircuit_id:
|
|
1749
|
+
pcb_trace_id: z77.string(),
|
|
1750
|
+
source_trace_id: z77.string(),
|
|
1751
|
+
pcb_component_ids: z77.array(z77.string()),
|
|
1752
|
+
pcb_port_ids: z77.array(z77.string()),
|
|
1753
|
+
subcircuit_id: z77.string().optional()
|
|
1741
1754
|
}).describe("Defines a trace error on the PCB");
|
|
1742
1755
|
expectTypesMatch(true);
|
|
1743
1756
|
|
|
1744
1757
|
// src/pcb/pcb_trace_missing_error.ts
|
|
1745
|
-
import { z as
|
|
1746
|
-
var pcb_trace_missing_error =
|
|
1747
|
-
type:
|
|
1758
|
+
import { z as z78 } from "zod";
|
|
1759
|
+
var pcb_trace_missing_error = z78.object({
|
|
1760
|
+
type: z78.literal("pcb_trace_missing_error"),
|
|
1748
1761
|
pcb_trace_missing_error_id: getZodPrefixedIdWithDefault(
|
|
1749
1762
|
"pcb_trace_missing_error"
|
|
1750
1763
|
),
|
|
1751
|
-
error_type:
|
|
1752
|
-
message:
|
|
1764
|
+
error_type: z78.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
|
|
1765
|
+
message: z78.string(),
|
|
1753
1766
|
center: point.optional(),
|
|
1754
|
-
source_trace_id:
|
|
1755
|
-
pcb_component_ids:
|
|
1756
|
-
pcb_port_ids:
|
|
1757
|
-
subcircuit_id:
|
|
1767
|
+
source_trace_id: z78.string(),
|
|
1768
|
+
pcb_component_ids: z78.array(z78.string()),
|
|
1769
|
+
pcb_port_ids: z78.array(z78.string()),
|
|
1770
|
+
subcircuit_id: z78.string().optional()
|
|
1758
1771
|
}).describe(
|
|
1759
1772
|
"Defines an error when a source trace has no corresponding PCB trace"
|
|
1760
1773
|
);
|
|
1761
1774
|
expectTypesMatch(true);
|
|
1762
1775
|
|
|
1763
1776
|
// src/pcb/pcb_port_not_matched_error.ts
|
|
1764
|
-
import { z as
|
|
1765
|
-
var pcb_port_not_matched_error =
|
|
1766
|
-
type:
|
|
1777
|
+
import { z as z79 } from "zod";
|
|
1778
|
+
var pcb_port_not_matched_error = z79.object({
|
|
1779
|
+
type: z79.literal("pcb_port_not_matched_error"),
|
|
1767
1780
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
1768
|
-
error_type:
|
|
1769
|
-
message:
|
|
1770
|
-
pcb_component_ids:
|
|
1771
|
-
subcircuit_id:
|
|
1781
|
+
error_type: z79.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
|
|
1782
|
+
message: z79.string(),
|
|
1783
|
+
pcb_component_ids: z79.array(z79.string()),
|
|
1784
|
+
subcircuit_id: z79.string().optional()
|
|
1772
1785
|
}).describe("Defines a trace error on the PCB where a port is not matched");
|
|
1773
1786
|
expectTypesMatch(true);
|
|
1774
1787
|
|
|
1775
1788
|
// src/pcb/pcb_port_not_connected_error.ts
|
|
1776
|
-
import { z as
|
|
1777
|
-
var pcb_port_not_connected_error =
|
|
1778
|
-
type:
|
|
1789
|
+
import { z as z80 } from "zod";
|
|
1790
|
+
var pcb_port_not_connected_error = z80.object({
|
|
1791
|
+
type: z80.literal("pcb_port_not_connected_error"),
|
|
1779
1792
|
pcb_port_not_connected_error_id: getZodPrefixedIdWithDefault(
|
|
1780
1793
|
"pcb_port_not_connected_error"
|
|
1781
1794
|
),
|
|
1782
|
-
error_type:
|
|
1783
|
-
message:
|
|
1784
|
-
pcb_port_ids:
|
|
1785
|
-
pcb_component_ids:
|
|
1786
|
-
subcircuit_id:
|
|
1795
|
+
error_type: z80.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
|
|
1796
|
+
message: z80.string(),
|
|
1797
|
+
pcb_port_ids: z80.array(z80.string()),
|
|
1798
|
+
pcb_component_ids: z80.array(z80.string()),
|
|
1799
|
+
subcircuit_id: z80.string().optional()
|
|
1787
1800
|
}).describe("Defines an error when a pcb port is not connected to any trace");
|
|
1788
1801
|
expectTypesMatch(
|
|
1789
1802
|
true
|
|
1790
1803
|
);
|
|
1791
1804
|
|
|
1792
1805
|
// src/pcb/pcb_net.ts
|
|
1793
|
-
import { z as
|
|
1794
|
-
var pcb_net =
|
|
1795
|
-
type:
|
|
1806
|
+
import { z as z81 } from "zod";
|
|
1807
|
+
var pcb_net = z81.object({
|
|
1808
|
+
type: z81.literal("pcb_net"),
|
|
1796
1809
|
pcb_net_id: getZodPrefixedIdWithDefault("pcb_net"),
|
|
1797
|
-
source_net_id:
|
|
1798
|
-
highlight_color:
|
|
1810
|
+
source_net_id: z81.string().optional(),
|
|
1811
|
+
highlight_color: z81.string().optional()
|
|
1799
1812
|
}).describe("Defines a net on the PCB");
|
|
1800
1813
|
expectTypesMatch(true);
|
|
1801
1814
|
|
|
1802
1815
|
// src/pcb/pcb_via.ts
|
|
1803
|
-
import { z as
|
|
1804
|
-
var pcb_via =
|
|
1805
|
-
type:
|
|
1816
|
+
import { z as z82 } from "zod";
|
|
1817
|
+
var pcb_via = z82.object({
|
|
1818
|
+
type: z82.literal("pcb_via"),
|
|
1806
1819
|
pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
|
|
1807
|
-
pcb_group_id:
|
|
1808
|
-
subcircuit_id:
|
|
1820
|
+
pcb_group_id: z82.string().optional(),
|
|
1821
|
+
subcircuit_id: z82.string().optional(),
|
|
1809
1822
|
x: distance,
|
|
1810
1823
|
y: distance,
|
|
1811
1824
|
outer_diameter: distance.default("0.6mm"),
|
|
@@ -1814,71 +1827,71 @@ var pcb_via = z81.object({
|
|
|
1814
1827
|
from_layer: layer_ref.optional(),
|
|
1815
1828
|
/** @deprecated */
|
|
1816
1829
|
to_layer: layer_ref.optional(),
|
|
1817
|
-
layers:
|
|
1818
|
-
pcb_trace_id:
|
|
1830
|
+
layers: z82.array(layer_ref),
|
|
1831
|
+
pcb_trace_id: z82.string().optional()
|
|
1819
1832
|
}).describe("Defines a via on the PCB");
|
|
1820
1833
|
expectTypesMatch(true);
|
|
1821
1834
|
|
|
1822
1835
|
// src/pcb/pcb_board.ts
|
|
1823
|
-
import { z as
|
|
1824
|
-
var pcb_board =
|
|
1825
|
-
type:
|
|
1836
|
+
import { z as z83 } from "zod";
|
|
1837
|
+
var pcb_board = z83.object({
|
|
1838
|
+
type: z83.literal("pcb_board"),
|
|
1826
1839
|
pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
|
|
1827
|
-
pcb_panel_id:
|
|
1828
|
-
is_subcircuit:
|
|
1829
|
-
subcircuit_id:
|
|
1840
|
+
pcb_panel_id: z83.string().optional(),
|
|
1841
|
+
is_subcircuit: z83.boolean().optional(),
|
|
1842
|
+
subcircuit_id: z83.string().optional(),
|
|
1830
1843
|
width: length,
|
|
1831
1844
|
height: length,
|
|
1832
1845
|
center: point,
|
|
1833
1846
|
thickness: length.optional().default(1.4),
|
|
1834
|
-
num_layers:
|
|
1835
|
-
outline:
|
|
1836
|
-
material:
|
|
1847
|
+
num_layers: z83.number().optional().default(4),
|
|
1848
|
+
outline: z83.array(point).optional(),
|
|
1849
|
+
material: z83.enum(["fr4", "fr1"]).default("fr4")
|
|
1837
1850
|
}).describe("Defines the board outline of the PCB");
|
|
1838
1851
|
expectTypesMatch(true);
|
|
1839
1852
|
|
|
1840
1853
|
// src/pcb/pcb_panel.ts
|
|
1841
|
-
import { z as
|
|
1842
|
-
var pcb_panel =
|
|
1843
|
-
type:
|
|
1854
|
+
import { z as z84 } from "zod";
|
|
1855
|
+
var pcb_panel = z84.object({
|
|
1856
|
+
type: z84.literal("pcb_panel"),
|
|
1844
1857
|
pcb_panel_id: getZodPrefixedIdWithDefault("pcb_panel"),
|
|
1845
1858
|
width: length,
|
|
1846
1859
|
height: length,
|
|
1847
|
-
covered_with_solder_mask:
|
|
1860
|
+
covered_with_solder_mask: z84.boolean().optional().default(true)
|
|
1848
1861
|
}).describe("Defines a PCB panel that can contain multiple boards");
|
|
1849
1862
|
expectTypesMatch(true);
|
|
1850
1863
|
|
|
1851
1864
|
// src/pcb/pcb_placement_error.ts
|
|
1852
|
-
import { z as
|
|
1853
|
-
var pcb_placement_error =
|
|
1854
|
-
type:
|
|
1865
|
+
import { z as z85 } from "zod";
|
|
1866
|
+
var pcb_placement_error = z85.object({
|
|
1867
|
+
type: z85.literal("pcb_placement_error"),
|
|
1855
1868
|
pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
|
|
1856
|
-
error_type:
|
|
1857
|
-
message:
|
|
1858
|
-
subcircuit_id:
|
|
1869
|
+
error_type: z85.literal("pcb_placement_error").default("pcb_placement_error"),
|
|
1870
|
+
message: z85.string(),
|
|
1871
|
+
subcircuit_id: z85.string().optional()
|
|
1859
1872
|
}).describe("Defines a placement error on the PCB");
|
|
1860
1873
|
expectTypesMatch(true);
|
|
1861
1874
|
|
|
1862
1875
|
// src/pcb/pcb_trace_hint.ts
|
|
1863
|
-
import { z as
|
|
1864
|
-
var pcb_trace_hint =
|
|
1865
|
-
type:
|
|
1876
|
+
import { z as z86 } from "zod";
|
|
1877
|
+
var pcb_trace_hint = z86.object({
|
|
1878
|
+
type: z86.literal("pcb_trace_hint"),
|
|
1866
1879
|
pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
|
|
1867
|
-
pcb_port_id:
|
|
1868
|
-
pcb_component_id:
|
|
1869
|
-
route:
|
|
1870
|
-
subcircuit_id:
|
|
1880
|
+
pcb_port_id: z86.string(),
|
|
1881
|
+
pcb_component_id: z86.string(),
|
|
1882
|
+
route: z86.array(route_hint_point),
|
|
1883
|
+
subcircuit_id: z86.string().optional()
|
|
1871
1884
|
}).describe("A hint that can be used during generation of a PCB trace");
|
|
1872
1885
|
expectTypesMatch(true);
|
|
1873
1886
|
|
|
1874
1887
|
// src/pcb/pcb_silkscreen_line.ts
|
|
1875
|
-
import { z as
|
|
1876
|
-
var pcb_silkscreen_line =
|
|
1877
|
-
type:
|
|
1888
|
+
import { z as z87 } from "zod";
|
|
1889
|
+
var pcb_silkscreen_line = z87.object({
|
|
1890
|
+
type: z87.literal("pcb_silkscreen_line"),
|
|
1878
1891
|
pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
|
|
1879
|
-
pcb_component_id:
|
|
1880
|
-
pcb_group_id:
|
|
1881
|
-
subcircuit_id:
|
|
1892
|
+
pcb_component_id: z87.string(),
|
|
1893
|
+
pcb_group_id: z87.string().optional(),
|
|
1894
|
+
subcircuit_id: z87.string().optional(),
|
|
1882
1895
|
stroke_width: distance.default("0.1mm"),
|
|
1883
1896
|
x1: distance,
|
|
1884
1897
|
y1: distance,
|
|
@@ -1889,32 +1902,32 @@ var pcb_silkscreen_line = z86.object({
|
|
|
1889
1902
|
expectTypesMatch(true);
|
|
1890
1903
|
|
|
1891
1904
|
// src/pcb/pcb_silkscreen_path.ts
|
|
1892
|
-
import { z as
|
|
1893
|
-
var pcb_silkscreen_path =
|
|
1894
|
-
type:
|
|
1905
|
+
import { z as z88 } from "zod";
|
|
1906
|
+
var pcb_silkscreen_path = z88.object({
|
|
1907
|
+
type: z88.literal("pcb_silkscreen_path"),
|
|
1895
1908
|
pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
|
|
1896
|
-
pcb_component_id:
|
|
1897
|
-
pcb_group_id:
|
|
1898
|
-
subcircuit_id:
|
|
1909
|
+
pcb_component_id: z88.string(),
|
|
1910
|
+
pcb_group_id: z88.string().optional(),
|
|
1911
|
+
subcircuit_id: z88.string().optional(),
|
|
1899
1912
|
layer: visible_layer,
|
|
1900
|
-
route:
|
|
1913
|
+
route: z88.array(point),
|
|
1901
1914
|
stroke_width: length
|
|
1902
1915
|
}).describe("Defines a silkscreen path on the PCB");
|
|
1903
1916
|
expectTypesMatch(true);
|
|
1904
1917
|
|
|
1905
1918
|
// src/pcb/pcb_silkscreen_text.ts
|
|
1906
|
-
import { z as
|
|
1907
|
-
var pcb_silkscreen_text =
|
|
1908
|
-
type:
|
|
1919
|
+
import { z as z89 } from "zod";
|
|
1920
|
+
var pcb_silkscreen_text = z89.object({
|
|
1921
|
+
type: z89.literal("pcb_silkscreen_text"),
|
|
1909
1922
|
pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
|
|
1910
|
-
pcb_group_id:
|
|
1911
|
-
subcircuit_id:
|
|
1912
|
-
font:
|
|
1923
|
+
pcb_group_id: z89.string().optional(),
|
|
1924
|
+
subcircuit_id: z89.string().optional(),
|
|
1925
|
+
font: z89.literal("tscircuit2024").default("tscircuit2024"),
|
|
1913
1926
|
font_size: distance.default("0.2mm"),
|
|
1914
|
-
pcb_component_id:
|
|
1915
|
-
text:
|
|
1916
|
-
is_knockout:
|
|
1917
|
-
knockout_padding:
|
|
1927
|
+
pcb_component_id: z89.string(),
|
|
1928
|
+
text: z89.string(),
|
|
1929
|
+
is_knockout: z89.boolean().default(false).optional(),
|
|
1930
|
+
knockout_padding: z89.object({
|
|
1918
1931
|
left: length,
|
|
1919
1932
|
top: length,
|
|
1920
1933
|
bottom: length,
|
|
@@ -1925,27 +1938,27 @@ var pcb_silkscreen_text = z88.object({
|
|
|
1925
1938
|
bottom: "0.2mm",
|
|
1926
1939
|
right: "0.2mm"
|
|
1927
1940
|
}).optional(),
|
|
1928
|
-
ccw_rotation:
|
|
1941
|
+
ccw_rotation: z89.number().optional(),
|
|
1929
1942
|
layer: layer_ref,
|
|
1930
|
-
is_mirrored:
|
|
1943
|
+
is_mirrored: z89.boolean().default(false).optional(),
|
|
1931
1944
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
1932
1945
|
anchor_alignment: ninePointAnchor.default("center")
|
|
1933
1946
|
}).describe("Defines silkscreen text on the PCB");
|
|
1934
1947
|
expectTypesMatch(true);
|
|
1935
1948
|
|
|
1936
1949
|
// src/pcb/pcb_copper_text.ts
|
|
1937
|
-
import { z as
|
|
1938
|
-
var pcb_copper_text =
|
|
1939
|
-
type:
|
|
1950
|
+
import { z as z90 } from "zod";
|
|
1951
|
+
var pcb_copper_text = z90.object({
|
|
1952
|
+
type: z90.literal("pcb_copper_text"),
|
|
1940
1953
|
pcb_copper_text_id: getZodPrefixedIdWithDefault("pcb_copper_text"),
|
|
1941
|
-
pcb_group_id:
|
|
1942
|
-
subcircuit_id:
|
|
1943
|
-
font:
|
|
1954
|
+
pcb_group_id: z90.string().optional(),
|
|
1955
|
+
subcircuit_id: z90.string().optional(),
|
|
1956
|
+
font: z90.literal("tscircuit2024").default("tscircuit2024"),
|
|
1944
1957
|
font_size: distance.default("0.2mm"),
|
|
1945
|
-
pcb_component_id:
|
|
1946
|
-
text:
|
|
1947
|
-
is_knockout:
|
|
1948
|
-
knockout_padding:
|
|
1958
|
+
pcb_component_id: z90.string(),
|
|
1959
|
+
text: z90.string(),
|
|
1960
|
+
is_knockout: z90.boolean().default(false).optional(),
|
|
1961
|
+
knockout_padding: z90.object({
|
|
1949
1962
|
left: length,
|
|
1950
1963
|
top: length,
|
|
1951
1964
|
bottom: length,
|
|
@@ -1956,43 +1969,43 @@ var pcb_copper_text = z89.object({
|
|
|
1956
1969
|
bottom: "0.2mm",
|
|
1957
1970
|
right: "0.2mm"
|
|
1958
1971
|
}).optional(),
|
|
1959
|
-
ccw_rotation:
|
|
1972
|
+
ccw_rotation: z90.number().optional(),
|
|
1960
1973
|
layer: layer_ref,
|
|
1961
|
-
is_mirrored:
|
|
1974
|
+
is_mirrored: z90.boolean().default(false).optional(),
|
|
1962
1975
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
1963
1976
|
anchor_alignment: ninePointAnchor.default("center")
|
|
1964
1977
|
}).describe("Defines copper text on the PCB");
|
|
1965
1978
|
expectTypesMatch(true);
|
|
1966
1979
|
|
|
1967
1980
|
// src/pcb/pcb_silkscreen_rect.ts
|
|
1968
|
-
import { z as
|
|
1969
|
-
var pcb_silkscreen_rect =
|
|
1970
|
-
type:
|
|
1981
|
+
import { z as z91 } from "zod";
|
|
1982
|
+
var pcb_silkscreen_rect = z91.object({
|
|
1983
|
+
type: z91.literal("pcb_silkscreen_rect"),
|
|
1971
1984
|
pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
|
|
1972
|
-
pcb_component_id:
|
|
1973
|
-
pcb_group_id:
|
|
1974
|
-
subcircuit_id:
|
|
1985
|
+
pcb_component_id: z91.string(),
|
|
1986
|
+
pcb_group_id: z91.string().optional(),
|
|
1987
|
+
subcircuit_id: z91.string().optional(),
|
|
1975
1988
|
center: point,
|
|
1976
1989
|
width: length,
|
|
1977
1990
|
height: length,
|
|
1978
1991
|
layer: layer_ref,
|
|
1979
1992
|
stroke_width: length.default("1mm"),
|
|
1980
|
-
is_filled:
|
|
1981
|
-
has_stroke:
|
|
1982
|
-
is_stroke_dashed:
|
|
1993
|
+
is_filled: z91.boolean().default(true).optional(),
|
|
1994
|
+
has_stroke: z91.boolean().optional(),
|
|
1995
|
+
is_stroke_dashed: z91.boolean().optional()
|
|
1983
1996
|
}).describe("Defines a silkscreen rect on the PCB");
|
|
1984
1997
|
expectTypesMatch(true);
|
|
1985
1998
|
|
|
1986
1999
|
// src/pcb/pcb_silkscreen_circle.ts
|
|
1987
|
-
import { z as
|
|
1988
|
-
var pcb_silkscreen_circle =
|
|
1989
|
-
type:
|
|
2000
|
+
import { z as z92 } from "zod";
|
|
2001
|
+
var pcb_silkscreen_circle = z92.object({
|
|
2002
|
+
type: z92.literal("pcb_silkscreen_circle"),
|
|
1990
2003
|
pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
|
|
1991
2004
|
"pcb_silkscreen_circle"
|
|
1992
2005
|
),
|
|
1993
|
-
pcb_component_id:
|
|
1994
|
-
pcb_group_id:
|
|
1995
|
-
subcircuit_id:
|
|
2006
|
+
pcb_component_id: z92.string(),
|
|
2007
|
+
pcb_group_id: z92.string().optional(),
|
|
2008
|
+
subcircuit_id: z92.string().optional(),
|
|
1996
2009
|
center: point,
|
|
1997
2010
|
radius: length,
|
|
1998
2011
|
layer: visible_layer,
|
|
@@ -2001,13 +2014,13 @@ var pcb_silkscreen_circle = z91.object({
|
|
|
2001
2014
|
expectTypesMatch(true);
|
|
2002
2015
|
|
|
2003
2016
|
// src/pcb/pcb_silkscreen_oval.ts
|
|
2004
|
-
import { z as
|
|
2005
|
-
var pcb_silkscreen_oval =
|
|
2006
|
-
type:
|
|
2017
|
+
import { z as z93 } from "zod";
|
|
2018
|
+
var pcb_silkscreen_oval = z93.object({
|
|
2019
|
+
type: z93.literal("pcb_silkscreen_oval"),
|
|
2007
2020
|
pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
|
|
2008
|
-
pcb_component_id:
|
|
2009
|
-
pcb_group_id:
|
|
2010
|
-
subcircuit_id:
|
|
2021
|
+
pcb_component_id: z93.string(),
|
|
2022
|
+
pcb_group_id: z93.string().optional(),
|
|
2023
|
+
subcircuit_id: z93.string().optional(),
|
|
2011
2024
|
center: point,
|
|
2012
2025
|
radius_x: distance,
|
|
2013
2026
|
radius_y: distance,
|
|
@@ -2016,253 +2029,253 @@ var pcb_silkscreen_oval = z92.object({
|
|
|
2016
2029
|
expectTypesMatch(true);
|
|
2017
2030
|
|
|
2018
2031
|
// src/pcb/pcb_fabrication_note_text.ts
|
|
2019
|
-
import { z as
|
|
2020
|
-
var pcb_fabrication_note_text =
|
|
2021
|
-
type:
|
|
2032
|
+
import { z as z94 } from "zod";
|
|
2033
|
+
var pcb_fabrication_note_text = z94.object({
|
|
2034
|
+
type: z94.literal("pcb_fabrication_note_text"),
|
|
2022
2035
|
pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
|
|
2023
2036
|
"pcb_fabrication_note_text"
|
|
2024
2037
|
),
|
|
2025
|
-
subcircuit_id:
|
|
2026
|
-
pcb_group_id:
|
|
2027
|
-
font:
|
|
2038
|
+
subcircuit_id: z94.string().optional(),
|
|
2039
|
+
pcb_group_id: z94.string().optional(),
|
|
2040
|
+
font: z94.literal("tscircuit2024").default("tscircuit2024"),
|
|
2028
2041
|
font_size: distance.default("1mm"),
|
|
2029
|
-
pcb_component_id:
|
|
2030
|
-
text:
|
|
2042
|
+
pcb_component_id: z94.string(),
|
|
2043
|
+
text: z94.string(),
|
|
2031
2044
|
layer: visible_layer,
|
|
2032
2045
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2033
|
-
anchor_alignment:
|
|
2034
|
-
color:
|
|
2046
|
+
anchor_alignment: z94.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
2047
|
+
color: z94.string().optional()
|
|
2035
2048
|
}).describe(
|
|
2036
2049
|
"Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
|
|
2037
2050
|
);
|
|
2038
2051
|
expectTypesMatch(true);
|
|
2039
2052
|
|
|
2040
2053
|
// src/pcb/pcb_fabrication_note_path.ts
|
|
2041
|
-
import { z as
|
|
2042
|
-
var pcb_fabrication_note_path =
|
|
2043
|
-
type:
|
|
2054
|
+
import { z as z95 } from "zod";
|
|
2055
|
+
var pcb_fabrication_note_path = z95.object({
|
|
2056
|
+
type: z95.literal("pcb_fabrication_note_path"),
|
|
2044
2057
|
pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
|
|
2045
2058
|
"pcb_fabrication_note_path"
|
|
2046
2059
|
),
|
|
2047
|
-
pcb_component_id:
|
|
2048
|
-
subcircuit_id:
|
|
2060
|
+
pcb_component_id: z95.string(),
|
|
2061
|
+
subcircuit_id: z95.string().optional(),
|
|
2049
2062
|
layer: layer_ref,
|
|
2050
|
-
route:
|
|
2063
|
+
route: z95.array(point),
|
|
2051
2064
|
stroke_width: length,
|
|
2052
|
-
color:
|
|
2065
|
+
color: z95.string().optional()
|
|
2053
2066
|
}).describe(
|
|
2054
2067
|
"Defines a fabrication path on the PCB for fabricators or assemblers"
|
|
2055
2068
|
);
|
|
2056
2069
|
expectTypesMatch(true);
|
|
2057
2070
|
|
|
2058
2071
|
// src/pcb/pcb_fabrication_note_rect.ts
|
|
2059
|
-
import { z as
|
|
2060
|
-
var pcb_fabrication_note_rect =
|
|
2061
|
-
type:
|
|
2072
|
+
import { z as z96 } from "zod";
|
|
2073
|
+
var pcb_fabrication_note_rect = z96.object({
|
|
2074
|
+
type: z96.literal("pcb_fabrication_note_rect"),
|
|
2062
2075
|
pcb_fabrication_note_rect_id: getZodPrefixedIdWithDefault(
|
|
2063
2076
|
"pcb_fabrication_note_rect"
|
|
2064
2077
|
),
|
|
2065
|
-
pcb_component_id:
|
|
2066
|
-
pcb_group_id:
|
|
2067
|
-
subcircuit_id:
|
|
2078
|
+
pcb_component_id: z96.string(),
|
|
2079
|
+
pcb_group_id: z96.string().optional(),
|
|
2080
|
+
subcircuit_id: z96.string().optional(),
|
|
2068
2081
|
center: point,
|
|
2069
2082
|
width: length,
|
|
2070
2083
|
height: length,
|
|
2071
2084
|
layer: visible_layer,
|
|
2072
2085
|
stroke_width: length.default("0.1mm"),
|
|
2073
|
-
is_filled:
|
|
2074
|
-
has_stroke:
|
|
2075
|
-
is_stroke_dashed:
|
|
2076
|
-
color:
|
|
2086
|
+
is_filled: z96.boolean().optional(),
|
|
2087
|
+
has_stroke: z96.boolean().optional(),
|
|
2088
|
+
is_stroke_dashed: z96.boolean().optional(),
|
|
2089
|
+
color: z96.string().optional()
|
|
2077
2090
|
}).describe("Defines a fabrication note rectangle on the PCB");
|
|
2078
2091
|
expectTypesMatch(true);
|
|
2079
2092
|
|
|
2080
2093
|
// src/pcb/pcb_fabrication_note_dimension.ts
|
|
2081
|
-
import { z as
|
|
2082
|
-
var pcb_fabrication_note_dimension =
|
|
2083
|
-
type:
|
|
2094
|
+
import { z as z97 } from "zod";
|
|
2095
|
+
var pcb_fabrication_note_dimension = z97.object({
|
|
2096
|
+
type: z97.literal("pcb_fabrication_note_dimension"),
|
|
2084
2097
|
pcb_fabrication_note_dimension_id: getZodPrefixedIdWithDefault(
|
|
2085
2098
|
"pcb_fabrication_note_dimension"
|
|
2086
2099
|
),
|
|
2087
|
-
pcb_component_id:
|
|
2088
|
-
pcb_group_id:
|
|
2089
|
-
subcircuit_id:
|
|
2100
|
+
pcb_component_id: z97.string(),
|
|
2101
|
+
pcb_group_id: z97.string().optional(),
|
|
2102
|
+
subcircuit_id: z97.string().optional(),
|
|
2090
2103
|
layer: visible_layer,
|
|
2091
2104
|
from: point,
|
|
2092
2105
|
to: point,
|
|
2093
|
-
text:
|
|
2094
|
-
text_ccw_rotation:
|
|
2106
|
+
text: z97.string().optional(),
|
|
2107
|
+
text_ccw_rotation: z97.number().optional(),
|
|
2095
2108
|
offset: length.optional(),
|
|
2096
2109
|
offset_distance: length.optional(),
|
|
2097
|
-
offset_direction:
|
|
2098
|
-
x:
|
|
2099
|
-
y:
|
|
2110
|
+
offset_direction: z97.object({
|
|
2111
|
+
x: z97.number(),
|
|
2112
|
+
y: z97.number()
|
|
2100
2113
|
}).optional(),
|
|
2101
|
-
font:
|
|
2114
|
+
font: z97.literal("tscircuit2024").default("tscircuit2024"),
|
|
2102
2115
|
font_size: length.default("1mm"),
|
|
2103
|
-
color:
|
|
2116
|
+
color: z97.string().optional(),
|
|
2104
2117
|
arrow_size: length.default("1mm")
|
|
2105
2118
|
}).describe("Defines a measurement annotation within PCB fabrication notes");
|
|
2106
2119
|
expectTypesMatch(true);
|
|
2107
2120
|
|
|
2108
2121
|
// src/pcb/pcb_note_text.ts
|
|
2109
|
-
import { z as z97 } from "zod";
|
|
2110
|
-
var pcb_note_text = z97.object({
|
|
2111
|
-
type: z97.literal("pcb_note_text"),
|
|
2112
|
-
pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
|
|
2113
|
-
pcb_component_id: z97.string().optional(),
|
|
2114
|
-
pcb_group_id: z97.string().optional(),
|
|
2115
|
-
subcircuit_id: z97.string().optional(),
|
|
2116
|
-
name: z97.string().optional(),
|
|
2117
|
-
font: z97.literal("tscircuit2024").default("tscircuit2024"),
|
|
2118
|
-
font_size: distance.default("1mm"),
|
|
2119
|
-
text: z97.string().optional(),
|
|
2120
|
-
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2121
|
-
anchor_alignment: z97.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
2122
|
-
color: z97.string().optional()
|
|
2123
|
-
}).describe("Defines a documentation note in text on the PCB");
|
|
2124
|
-
expectTypesMatch(true);
|
|
2125
|
-
|
|
2126
|
-
// src/pcb/pcb_note_rect.ts
|
|
2127
2122
|
import { z as z98 } from "zod";
|
|
2128
|
-
var
|
|
2129
|
-
type: z98.literal("
|
|
2130
|
-
|
|
2123
|
+
var pcb_note_text = z98.object({
|
|
2124
|
+
type: z98.literal("pcb_note_text"),
|
|
2125
|
+
pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
|
|
2131
2126
|
pcb_component_id: z98.string().optional(),
|
|
2132
2127
|
pcb_group_id: z98.string().optional(),
|
|
2133
2128
|
subcircuit_id: z98.string().optional(),
|
|
2134
2129
|
name: z98.string().optional(),
|
|
2130
|
+
font: z98.literal("tscircuit2024").default("tscircuit2024"),
|
|
2131
|
+
font_size: distance.default("1mm"),
|
|
2135
2132
|
text: z98.string().optional(),
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
height: length,
|
|
2139
|
-
stroke_width: length.default("0.1mm"),
|
|
2140
|
-
is_filled: z98.boolean().optional(),
|
|
2141
|
-
has_stroke: z98.boolean().optional(),
|
|
2142
|
-
is_stroke_dashed: z98.boolean().optional(),
|
|
2133
|
+
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2134
|
+
anchor_alignment: z98.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
2143
2135
|
color: z98.string().optional()
|
|
2144
|
-
}).describe("Defines a
|
|
2136
|
+
}).describe("Defines a documentation note in text on the PCB");
|
|
2145
2137
|
expectTypesMatch(true);
|
|
2146
2138
|
|
|
2147
|
-
// src/pcb/
|
|
2139
|
+
// src/pcb/pcb_note_rect.ts
|
|
2148
2140
|
import { z as z99 } from "zod";
|
|
2149
|
-
var
|
|
2150
|
-
type: z99.literal("
|
|
2151
|
-
|
|
2141
|
+
var pcb_note_rect = z99.object({
|
|
2142
|
+
type: z99.literal("pcb_note_rect"),
|
|
2143
|
+
pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
|
|
2152
2144
|
pcb_component_id: z99.string().optional(),
|
|
2153
2145
|
pcb_group_id: z99.string().optional(),
|
|
2154
2146
|
subcircuit_id: z99.string().optional(),
|
|
2155
2147
|
name: z99.string().optional(),
|
|
2156
2148
|
text: z99.string().optional(),
|
|
2157
|
-
|
|
2149
|
+
center: point,
|
|
2150
|
+
width: length,
|
|
2151
|
+
height: length,
|
|
2158
2152
|
stroke_width: length.default("0.1mm"),
|
|
2153
|
+
is_filled: z99.boolean().optional(),
|
|
2154
|
+
has_stroke: z99.boolean().optional(),
|
|
2155
|
+
is_stroke_dashed: z99.boolean().optional(),
|
|
2159
2156
|
color: z99.string().optional()
|
|
2160
|
-
}).describe("Defines a
|
|
2157
|
+
}).describe("Defines a rectangular documentation note on the PCB");
|
|
2161
2158
|
expectTypesMatch(true);
|
|
2162
2159
|
|
|
2163
|
-
// src/pcb/
|
|
2160
|
+
// src/pcb/pcb_note_path.ts
|
|
2164
2161
|
import { z as z100 } from "zod";
|
|
2165
|
-
var
|
|
2166
|
-
type: z100.literal("
|
|
2167
|
-
|
|
2162
|
+
var pcb_note_path = z100.object({
|
|
2163
|
+
type: z100.literal("pcb_note_path"),
|
|
2164
|
+
pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
|
|
2168
2165
|
pcb_component_id: z100.string().optional(),
|
|
2169
2166
|
pcb_group_id: z100.string().optional(),
|
|
2170
2167
|
subcircuit_id: z100.string().optional(),
|
|
2171
2168
|
name: z100.string().optional(),
|
|
2172
2169
|
text: z100.string().optional(),
|
|
2170
|
+
route: z100.array(point),
|
|
2171
|
+
stroke_width: length.default("0.1mm"),
|
|
2172
|
+
color: z100.string().optional()
|
|
2173
|
+
}).describe("Defines a polyline documentation note on the PCB");
|
|
2174
|
+
expectTypesMatch(true);
|
|
2175
|
+
|
|
2176
|
+
// src/pcb/pcb_note_line.ts
|
|
2177
|
+
import { z as z101 } from "zod";
|
|
2178
|
+
var pcb_note_line = z101.object({
|
|
2179
|
+
type: z101.literal("pcb_note_line"),
|
|
2180
|
+
pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
|
|
2181
|
+
pcb_component_id: z101.string().optional(),
|
|
2182
|
+
pcb_group_id: z101.string().optional(),
|
|
2183
|
+
subcircuit_id: z101.string().optional(),
|
|
2184
|
+
name: z101.string().optional(),
|
|
2185
|
+
text: z101.string().optional(),
|
|
2173
2186
|
x1: distance,
|
|
2174
2187
|
y1: distance,
|
|
2175
2188
|
x2: distance,
|
|
2176
2189
|
y2: distance,
|
|
2177
2190
|
stroke_width: distance.default("0.1mm"),
|
|
2178
|
-
color:
|
|
2179
|
-
is_dashed:
|
|
2191
|
+
color: z101.string().optional(),
|
|
2192
|
+
is_dashed: z101.boolean().optional()
|
|
2180
2193
|
}).describe("Defines a straight documentation note line on the PCB");
|
|
2181
2194
|
expectTypesMatch(true);
|
|
2182
2195
|
|
|
2183
2196
|
// src/pcb/pcb_note_dimension.ts
|
|
2184
|
-
import { z as
|
|
2185
|
-
var pcb_note_dimension =
|
|
2186
|
-
type:
|
|
2197
|
+
import { z as z102 } from "zod";
|
|
2198
|
+
var pcb_note_dimension = z102.object({
|
|
2199
|
+
type: z102.literal("pcb_note_dimension"),
|
|
2187
2200
|
pcb_note_dimension_id: getZodPrefixedIdWithDefault("pcb_note_dimension"),
|
|
2188
|
-
pcb_component_id:
|
|
2189
|
-
pcb_group_id:
|
|
2190
|
-
subcircuit_id:
|
|
2191
|
-
name:
|
|
2201
|
+
pcb_component_id: z102.string().optional(),
|
|
2202
|
+
pcb_group_id: z102.string().optional(),
|
|
2203
|
+
subcircuit_id: z102.string().optional(),
|
|
2204
|
+
name: z102.string().optional(),
|
|
2192
2205
|
from: point,
|
|
2193
2206
|
to: point,
|
|
2194
|
-
text:
|
|
2195
|
-
text_ccw_rotation:
|
|
2207
|
+
text: z102.string().optional(),
|
|
2208
|
+
text_ccw_rotation: z102.number().optional(),
|
|
2196
2209
|
offset_distance: length.optional(),
|
|
2197
|
-
offset_direction:
|
|
2198
|
-
x:
|
|
2199
|
-
y:
|
|
2210
|
+
offset_direction: z102.object({
|
|
2211
|
+
x: z102.number(),
|
|
2212
|
+
y: z102.number()
|
|
2200
2213
|
}).optional(),
|
|
2201
|
-
font:
|
|
2214
|
+
font: z102.literal("tscircuit2024").default("tscircuit2024"),
|
|
2202
2215
|
font_size: length.default("1mm"),
|
|
2203
|
-
color:
|
|
2216
|
+
color: z102.string().optional(),
|
|
2204
2217
|
arrow_size: length.default("1mm")
|
|
2205
2218
|
}).describe("Defines a measurement annotation within PCB documentation notes");
|
|
2206
2219
|
expectTypesMatch(true);
|
|
2207
2220
|
|
|
2208
2221
|
// src/pcb/pcb_footprint_overlap_error.ts
|
|
2209
|
-
import { z as
|
|
2210
|
-
var pcb_footprint_overlap_error =
|
|
2211
|
-
type:
|
|
2222
|
+
import { z as z103 } from "zod";
|
|
2223
|
+
var pcb_footprint_overlap_error = z103.object({
|
|
2224
|
+
type: z103.literal("pcb_footprint_overlap_error"),
|
|
2212
2225
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
2213
|
-
error_type:
|
|
2214
|
-
message:
|
|
2215
|
-
pcb_smtpad_ids:
|
|
2216
|
-
pcb_plated_hole_ids:
|
|
2217
|
-
pcb_hole_ids:
|
|
2218
|
-
pcb_keepout_ids:
|
|
2226
|
+
error_type: z103.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
|
|
2227
|
+
message: z103.string(),
|
|
2228
|
+
pcb_smtpad_ids: z103.array(z103.string()).optional(),
|
|
2229
|
+
pcb_plated_hole_ids: z103.array(z103.string()).optional(),
|
|
2230
|
+
pcb_hole_ids: z103.array(z103.string()).optional(),
|
|
2231
|
+
pcb_keepout_ids: z103.array(z103.string()).optional()
|
|
2219
2232
|
}).describe("Error emitted when a pcb footprint overlaps with another element");
|
|
2220
2233
|
expectTypesMatch(
|
|
2221
2234
|
true
|
|
2222
2235
|
);
|
|
2223
2236
|
|
|
2224
2237
|
// src/pcb/pcb_keepout.ts
|
|
2225
|
-
import { z as
|
|
2226
|
-
var pcb_keepout =
|
|
2227
|
-
type:
|
|
2228
|
-
shape:
|
|
2229
|
-
pcb_group_id:
|
|
2230
|
-
subcircuit_id:
|
|
2238
|
+
import { z as z104 } from "zod";
|
|
2239
|
+
var pcb_keepout = z104.object({
|
|
2240
|
+
type: z104.literal("pcb_keepout"),
|
|
2241
|
+
shape: z104.literal("rect"),
|
|
2242
|
+
pcb_group_id: z104.string().optional(),
|
|
2243
|
+
subcircuit_id: z104.string().optional(),
|
|
2231
2244
|
center: point,
|
|
2232
2245
|
width: distance,
|
|
2233
2246
|
height: distance,
|
|
2234
|
-
pcb_keepout_id:
|
|
2235
|
-
layers:
|
|
2247
|
+
pcb_keepout_id: z104.string(),
|
|
2248
|
+
layers: z104.array(z104.string()),
|
|
2236
2249
|
// Specify layers where the keepout applies
|
|
2237
|
-
description:
|
|
2250
|
+
description: z104.string().optional()
|
|
2238
2251
|
// Optional description of the keepout
|
|
2239
2252
|
}).or(
|
|
2240
|
-
|
|
2241
|
-
type:
|
|
2242
|
-
shape:
|
|
2243
|
-
pcb_group_id:
|
|
2244
|
-
subcircuit_id:
|
|
2253
|
+
z104.object({
|
|
2254
|
+
type: z104.literal("pcb_keepout"),
|
|
2255
|
+
shape: z104.literal("circle"),
|
|
2256
|
+
pcb_group_id: z104.string().optional(),
|
|
2257
|
+
subcircuit_id: z104.string().optional(),
|
|
2245
2258
|
center: point,
|
|
2246
2259
|
radius: distance,
|
|
2247
|
-
pcb_keepout_id:
|
|
2248
|
-
layers:
|
|
2260
|
+
pcb_keepout_id: z104.string(),
|
|
2261
|
+
layers: z104.array(z104.string()),
|
|
2249
2262
|
// Specify layers where the keepout applies
|
|
2250
|
-
description:
|
|
2263
|
+
description: z104.string().optional()
|
|
2251
2264
|
// Optional description of the keepout
|
|
2252
2265
|
})
|
|
2253
2266
|
);
|
|
2254
2267
|
expectTypesMatch(true);
|
|
2255
2268
|
|
|
2256
2269
|
// src/pcb/pcb_cutout.ts
|
|
2257
|
-
import { z as
|
|
2258
|
-
var pcb_cutout_base =
|
|
2259
|
-
type:
|
|
2270
|
+
import { z as z105 } from "zod";
|
|
2271
|
+
var pcb_cutout_base = z105.object({
|
|
2272
|
+
type: z105.literal("pcb_cutout"),
|
|
2260
2273
|
pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
|
|
2261
|
-
pcb_group_id:
|
|
2262
|
-
subcircuit_id:
|
|
2274
|
+
pcb_group_id: z105.string().optional(),
|
|
2275
|
+
subcircuit_id: z105.string().optional()
|
|
2263
2276
|
});
|
|
2264
2277
|
var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
2265
|
-
shape:
|
|
2278
|
+
shape: z105.literal("rect"),
|
|
2266
2279
|
center: point,
|
|
2267
2280
|
width: length,
|
|
2268
2281
|
height: length,
|
|
@@ -2270,17 +2283,17 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
|
2270
2283
|
});
|
|
2271
2284
|
expectTypesMatch(true);
|
|
2272
2285
|
var pcb_cutout_circle = pcb_cutout_base.extend({
|
|
2273
|
-
shape:
|
|
2286
|
+
shape: z105.literal("circle"),
|
|
2274
2287
|
center: point,
|
|
2275
2288
|
radius: length
|
|
2276
2289
|
});
|
|
2277
2290
|
expectTypesMatch(true);
|
|
2278
2291
|
var pcb_cutout_polygon = pcb_cutout_base.extend({
|
|
2279
|
-
shape:
|
|
2280
|
-
points:
|
|
2292
|
+
shape: z105.literal("polygon"),
|
|
2293
|
+
points: z105.array(point)
|
|
2281
2294
|
});
|
|
2282
2295
|
expectTypesMatch(true);
|
|
2283
|
-
var pcb_cutout =
|
|
2296
|
+
var pcb_cutout = z105.discriminatedUnion("shape", [
|
|
2284
2297
|
pcb_cutout_rect,
|
|
2285
2298
|
pcb_cutout_circle,
|
|
2286
2299
|
pcb_cutout_polygon
|
|
@@ -2288,120 +2301,120 @@ var pcb_cutout = z104.discriminatedUnion("shape", [
|
|
|
2288
2301
|
expectTypesMatch(true);
|
|
2289
2302
|
|
|
2290
2303
|
// src/pcb/pcb_missing_footprint_error.ts
|
|
2291
|
-
import { z as
|
|
2292
|
-
var pcb_missing_footprint_error =
|
|
2293
|
-
type:
|
|
2304
|
+
import { z as z106 } from "zod";
|
|
2305
|
+
var pcb_missing_footprint_error = z106.object({
|
|
2306
|
+
type: z106.literal("pcb_missing_footprint_error"),
|
|
2294
2307
|
pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
|
|
2295
2308
|
"pcb_missing_footprint_error"
|
|
2296
2309
|
),
|
|
2297
|
-
pcb_group_id:
|
|
2298
|
-
subcircuit_id:
|
|
2299
|
-
error_type:
|
|
2300
|
-
source_component_id:
|
|
2301
|
-
message:
|
|
2310
|
+
pcb_group_id: z106.string().optional(),
|
|
2311
|
+
subcircuit_id: z106.string().optional(),
|
|
2312
|
+
error_type: z106.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
|
|
2313
|
+
source_component_id: z106.string(),
|
|
2314
|
+
message: z106.string()
|
|
2302
2315
|
}).describe("Defines a missing footprint error on the PCB");
|
|
2303
2316
|
expectTypesMatch(
|
|
2304
2317
|
true
|
|
2305
2318
|
);
|
|
2306
2319
|
|
|
2307
2320
|
// src/pcb/external_footprint_load_error.ts
|
|
2308
|
-
import { z as
|
|
2309
|
-
var external_footprint_load_error =
|
|
2310
|
-
type:
|
|
2321
|
+
import { z as z107 } from "zod";
|
|
2322
|
+
var external_footprint_load_error = z107.object({
|
|
2323
|
+
type: z107.literal("external_footprint_load_error"),
|
|
2311
2324
|
external_footprint_load_error_id: getZodPrefixedIdWithDefault(
|
|
2312
2325
|
"external_footprint_load_error"
|
|
2313
2326
|
),
|
|
2314
|
-
pcb_component_id:
|
|
2315
|
-
source_component_id:
|
|
2316
|
-
pcb_group_id:
|
|
2317
|
-
subcircuit_id:
|
|
2318
|
-
footprinter_string:
|
|
2319
|
-
error_type:
|
|
2320
|
-
message:
|
|
2327
|
+
pcb_component_id: z107.string(),
|
|
2328
|
+
source_component_id: z107.string(),
|
|
2329
|
+
pcb_group_id: z107.string().optional(),
|
|
2330
|
+
subcircuit_id: z107.string().optional(),
|
|
2331
|
+
footprinter_string: z107.string().optional(),
|
|
2332
|
+
error_type: z107.literal("external_footprint_load_error").default("external_footprint_load_error"),
|
|
2333
|
+
message: z107.string()
|
|
2321
2334
|
}).describe("Defines an error when an external footprint fails to load");
|
|
2322
2335
|
expectTypesMatch(true);
|
|
2323
2336
|
|
|
2324
2337
|
// src/pcb/circuit_json_footprint_load_error.ts
|
|
2325
|
-
import { z as
|
|
2326
|
-
var circuit_json_footprint_load_error =
|
|
2327
|
-
type:
|
|
2338
|
+
import { z as z108 } from "zod";
|
|
2339
|
+
var circuit_json_footprint_load_error = z108.object({
|
|
2340
|
+
type: z108.literal("circuit_json_footprint_load_error"),
|
|
2328
2341
|
circuit_json_footprint_load_error_id: getZodPrefixedIdWithDefault(
|
|
2329
2342
|
"circuit_json_footprint_load_error"
|
|
2330
2343
|
),
|
|
2331
|
-
pcb_component_id:
|
|
2332
|
-
source_component_id:
|
|
2333
|
-
pcb_group_id:
|
|
2334
|
-
subcircuit_id:
|
|
2335
|
-
error_type:
|
|
2336
|
-
message:
|
|
2337
|
-
circuit_json:
|
|
2344
|
+
pcb_component_id: z108.string(),
|
|
2345
|
+
source_component_id: z108.string(),
|
|
2346
|
+
pcb_group_id: z108.string().optional(),
|
|
2347
|
+
subcircuit_id: z108.string().optional(),
|
|
2348
|
+
error_type: z108.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
|
|
2349
|
+
message: z108.string(),
|
|
2350
|
+
circuit_json: z108.array(z108.any()).optional()
|
|
2338
2351
|
}).describe("Defines an error when a circuit JSON footprint fails to load");
|
|
2339
2352
|
expectTypesMatch(true);
|
|
2340
2353
|
|
|
2341
2354
|
// src/pcb/pcb_group.ts
|
|
2342
|
-
import { z as
|
|
2343
|
-
var pcb_group =
|
|
2344
|
-
type:
|
|
2355
|
+
import { z as z109 } from "zod";
|
|
2356
|
+
var pcb_group = z109.object({
|
|
2357
|
+
type: z109.literal("pcb_group"),
|
|
2345
2358
|
pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
|
|
2346
|
-
source_group_id:
|
|
2347
|
-
is_subcircuit:
|
|
2348
|
-
subcircuit_id:
|
|
2359
|
+
source_group_id: z109.string(),
|
|
2360
|
+
is_subcircuit: z109.boolean().optional(),
|
|
2361
|
+
subcircuit_id: z109.string().optional(),
|
|
2349
2362
|
width: length.optional(),
|
|
2350
2363
|
height: length.optional(),
|
|
2351
2364
|
center: point,
|
|
2352
|
-
outline:
|
|
2365
|
+
outline: z109.array(point).optional(),
|
|
2353
2366
|
anchor_position: point.optional(),
|
|
2354
|
-
anchor_alignment:
|
|
2355
|
-
pcb_component_ids:
|
|
2356
|
-
name:
|
|
2357
|
-
description:
|
|
2358
|
-
layout_mode:
|
|
2359
|
-
autorouter_configuration:
|
|
2367
|
+
anchor_alignment: z109.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).optional(),
|
|
2368
|
+
pcb_component_ids: z109.array(z109.string()),
|
|
2369
|
+
name: z109.string().optional(),
|
|
2370
|
+
description: z109.string().optional(),
|
|
2371
|
+
layout_mode: z109.string().optional(),
|
|
2372
|
+
autorouter_configuration: z109.object({
|
|
2360
2373
|
trace_clearance: length
|
|
2361
2374
|
}).optional(),
|
|
2362
|
-
autorouter_used_string:
|
|
2375
|
+
autorouter_used_string: z109.string().optional()
|
|
2363
2376
|
}).describe("Defines a group of components on the PCB");
|
|
2364
2377
|
expectTypesMatch(true);
|
|
2365
2378
|
|
|
2366
2379
|
// src/pcb/pcb_autorouting_error.ts
|
|
2367
|
-
import { z as
|
|
2368
|
-
var pcb_autorouting_error =
|
|
2369
|
-
type:
|
|
2380
|
+
import { z as z110 } from "zod";
|
|
2381
|
+
var pcb_autorouting_error = z110.object({
|
|
2382
|
+
type: z110.literal("pcb_autorouting_error"),
|
|
2370
2383
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
|
|
2371
|
-
error_type:
|
|
2372
|
-
message:
|
|
2373
|
-
subcircuit_id:
|
|
2384
|
+
error_type: z110.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
|
|
2385
|
+
message: z110.string(),
|
|
2386
|
+
subcircuit_id: z110.string().optional()
|
|
2374
2387
|
}).describe("The autorouting has failed to route a portion of the board");
|
|
2375
2388
|
expectTypesMatch(true);
|
|
2376
2389
|
|
|
2377
2390
|
// src/pcb/pcb_manual_edit_conflict_warning.ts
|
|
2378
|
-
import { z as
|
|
2379
|
-
var pcb_manual_edit_conflict_warning =
|
|
2380
|
-
type:
|
|
2391
|
+
import { z as z111 } from "zod";
|
|
2392
|
+
var pcb_manual_edit_conflict_warning = z111.object({
|
|
2393
|
+
type: z111.literal("pcb_manual_edit_conflict_warning"),
|
|
2381
2394
|
pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
2382
2395
|
"pcb_manual_edit_conflict_warning"
|
|
2383
2396
|
),
|
|
2384
|
-
warning_type:
|
|
2385
|
-
message:
|
|
2386
|
-
pcb_component_id:
|
|
2387
|
-
pcb_group_id:
|
|
2388
|
-
subcircuit_id:
|
|
2389
|
-
source_component_id:
|
|
2397
|
+
warning_type: z111.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
|
|
2398
|
+
message: z111.string(),
|
|
2399
|
+
pcb_component_id: z111.string(),
|
|
2400
|
+
pcb_group_id: z111.string().optional(),
|
|
2401
|
+
subcircuit_id: z111.string().optional(),
|
|
2402
|
+
source_component_id: z111.string()
|
|
2390
2403
|
}).describe(
|
|
2391
2404
|
"Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
|
|
2392
2405
|
);
|
|
2393
2406
|
expectTypesMatch(true);
|
|
2394
2407
|
|
|
2395
2408
|
// src/pcb/pcb_breakout_point.ts
|
|
2396
|
-
import { z as
|
|
2397
|
-
var pcb_breakout_point =
|
|
2398
|
-
type:
|
|
2409
|
+
import { z as z112 } from "zod";
|
|
2410
|
+
var pcb_breakout_point = z112.object({
|
|
2411
|
+
type: z112.literal("pcb_breakout_point"),
|
|
2399
2412
|
pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
|
|
2400
|
-
pcb_group_id:
|
|
2401
|
-
subcircuit_id:
|
|
2402
|
-
source_trace_id:
|
|
2403
|
-
source_port_id:
|
|
2404
|
-
source_net_id:
|
|
2413
|
+
pcb_group_id: z112.string(),
|
|
2414
|
+
subcircuit_id: z112.string().optional(),
|
|
2415
|
+
source_trace_id: z112.string().optional(),
|
|
2416
|
+
source_port_id: z112.string().optional(),
|
|
2417
|
+
source_net_id: z112.string().optional(),
|
|
2405
2418
|
x: distance,
|
|
2406
2419
|
y: distance
|
|
2407
2420
|
}).describe(
|
|
@@ -2410,60 +2423,60 @@ var pcb_breakout_point = z111.object({
|
|
|
2410
2423
|
expectTypesMatch(true);
|
|
2411
2424
|
|
|
2412
2425
|
// src/pcb/pcb_ground_plane.ts
|
|
2413
|
-
import { z as
|
|
2414
|
-
var pcb_ground_plane =
|
|
2415
|
-
type:
|
|
2426
|
+
import { z as z113 } from "zod";
|
|
2427
|
+
var pcb_ground_plane = z113.object({
|
|
2428
|
+
type: z113.literal("pcb_ground_plane"),
|
|
2416
2429
|
pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
|
|
2417
|
-
source_pcb_ground_plane_id:
|
|
2418
|
-
source_net_id:
|
|
2419
|
-
pcb_group_id:
|
|
2420
|
-
subcircuit_id:
|
|
2430
|
+
source_pcb_ground_plane_id: z113.string(),
|
|
2431
|
+
source_net_id: z113.string(),
|
|
2432
|
+
pcb_group_id: z113.string().optional(),
|
|
2433
|
+
subcircuit_id: z113.string().optional()
|
|
2421
2434
|
}).describe("Defines a ground plane on the PCB");
|
|
2422
2435
|
expectTypesMatch(true);
|
|
2423
2436
|
|
|
2424
2437
|
// src/pcb/pcb_ground_plane_region.ts
|
|
2425
|
-
import { z as
|
|
2426
|
-
var pcb_ground_plane_region =
|
|
2427
|
-
type:
|
|
2438
|
+
import { z as z114 } from "zod";
|
|
2439
|
+
var pcb_ground_plane_region = z114.object({
|
|
2440
|
+
type: z114.literal("pcb_ground_plane_region"),
|
|
2428
2441
|
pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
|
|
2429
2442
|
"pcb_ground_plane_region"
|
|
2430
2443
|
),
|
|
2431
|
-
pcb_ground_plane_id:
|
|
2432
|
-
pcb_group_id:
|
|
2433
|
-
subcircuit_id:
|
|
2444
|
+
pcb_ground_plane_id: z114.string(),
|
|
2445
|
+
pcb_group_id: z114.string().optional(),
|
|
2446
|
+
subcircuit_id: z114.string().optional(),
|
|
2434
2447
|
layer: layer_ref,
|
|
2435
|
-
points:
|
|
2448
|
+
points: z114.array(point)
|
|
2436
2449
|
}).describe("Defines a polygon region of a ground plane");
|
|
2437
2450
|
expectTypesMatch(true);
|
|
2438
2451
|
|
|
2439
2452
|
// src/pcb/pcb_thermal_spoke.ts
|
|
2440
|
-
import { z as
|
|
2441
|
-
var pcb_thermal_spoke =
|
|
2442
|
-
type:
|
|
2453
|
+
import { z as z115 } from "zod";
|
|
2454
|
+
var pcb_thermal_spoke = z115.object({
|
|
2455
|
+
type: z115.literal("pcb_thermal_spoke"),
|
|
2443
2456
|
pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
|
|
2444
|
-
pcb_ground_plane_id:
|
|
2445
|
-
shape:
|
|
2446
|
-
spoke_count:
|
|
2457
|
+
pcb_ground_plane_id: z115.string(),
|
|
2458
|
+
shape: z115.string(),
|
|
2459
|
+
spoke_count: z115.number(),
|
|
2447
2460
|
spoke_thickness: distance,
|
|
2448
2461
|
spoke_inner_diameter: distance,
|
|
2449
2462
|
spoke_outer_diameter: distance,
|
|
2450
|
-
pcb_plated_hole_id:
|
|
2451
|
-
subcircuit_id:
|
|
2463
|
+
pcb_plated_hole_id: z115.string().optional(),
|
|
2464
|
+
subcircuit_id: z115.string().optional()
|
|
2452
2465
|
}).describe("Pattern for connecting a ground plane to a plated hole");
|
|
2453
2466
|
expectTypesMatch(true);
|
|
2454
2467
|
|
|
2455
2468
|
// src/pcb/pcb_copper_pour.ts
|
|
2456
|
-
import { z as
|
|
2457
|
-
var pcb_copper_pour_base =
|
|
2458
|
-
type:
|
|
2469
|
+
import { z as z116 } from "zod";
|
|
2470
|
+
var pcb_copper_pour_base = z116.object({
|
|
2471
|
+
type: z116.literal("pcb_copper_pour"),
|
|
2459
2472
|
pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
|
|
2460
|
-
pcb_group_id:
|
|
2461
|
-
subcircuit_id:
|
|
2473
|
+
pcb_group_id: z116.string().optional(),
|
|
2474
|
+
subcircuit_id: z116.string().optional(),
|
|
2462
2475
|
layer: layer_ref,
|
|
2463
|
-
source_net_id:
|
|
2476
|
+
source_net_id: z116.string().optional()
|
|
2464
2477
|
});
|
|
2465
2478
|
var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
2466
|
-
shape:
|
|
2479
|
+
shape: z116.literal("rect"),
|
|
2467
2480
|
center: point,
|
|
2468
2481
|
width: length,
|
|
2469
2482
|
height: length,
|
|
@@ -2471,16 +2484,16 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
|
2471
2484
|
});
|
|
2472
2485
|
expectTypesMatch(true);
|
|
2473
2486
|
var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
|
|
2474
|
-
shape:
|
|
2487
|
+
shape: z116.literal("brep"),
|
|
2475
2488
|
brep_shape
|
|
2476
2489
|
});
|
|
2477
2490
|
expectTypesMatch(true);
|
|
2478
2491
|
var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
|
|
2479
|
-
shape:
|
|
2480
|
-
points:
|
|
2492
|
+
shape: z116.literal("polygon"),
|
|
2493
|
+
points: z116.array(point)
|
|
2481
2494
|
});
|
|
2482
2495
|
expectTypesMatch(true);
|
|
2483
|
-
var pcb_copper_pour =
|
|
2496
|
+
var pcb_copper_pour = z116.discriminatedUnion("shape", [
|
|
2484
2497
|
pcb_copper_pour_rect,
|
|
2485
2498
|
pcb_copper_pour_brep,
|
|
2486
2499
|
pcb_copper_pour_polygon
|
|
@@ -2488,147 +2501,147 @@ var pcb_copper_pour = z115.discriminatedUnion("shape", [
|
|
|
2488
2501
|
expectTypesMatch(true);
|
|
2489
2502
|
|
|
2490
2503
|
// src/pcb/pcb_component_outside_board_error.ts
|
|
2491
|
-
import { z as
|
|
2492
|
-
var pcb_component_outside_board_error =
|
|
2493
|
-
type:
|
|
2504
|
+
import { z as z117 } from "zod";
|
|
2505
|
+
var pcb_component_outside_board_error = z117.object({
|
|
2506
|
+
type: z117.literal("pcb_component_outside_board_error"),
|
|
2494
2507
|
pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
|
|
2495
2508
|
"pcb_component_outside_board_error"
|
|
2496
2509
|
),
|
|
2497
|
-
error_type:
|
|
2498
|
-
message:
|
|
2499
|
-
pcb_component_id:
|
|
2500
|
-
pcb_board_id:
|
|
2510
|
+
error_type: z117.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
|
|
2511
|
+
message: z117.string(),
|
|
2512
|
+
pcb_component_id: z117.string(),
|
|
2513
|
+
pcb_board_id: z117.string(),
|
|
2501
2514
|
component_center: point,
|
|
2502
|
-
component_bounds:
|
|
2503
|
-
min_x:
|
|
2504
|
-
max_x:
|
|
2505
|
-
min_y:
|
|
2506
|
-
max_y:
|
|
2515
|
+
component_bounds: z117.object({
|
|
2516
|
+
min_x: z117.number(),
|
|
2517
|
+
max_x: z117.number(),
|
|
2518
|
+
min_y: z117.number(),
|
|
2519
|
+
max_y: z117.number()
|
|
2507
2520
|
}),
|
|
2508
|
-
subcircuit_id:
|
|
2509
|
-
source_component_id:
|
|
2521
|
+
subcircuit_id: z117.string().optional(),
|
|
2522
|
+
source_component_id: z117.string().optional()
|
|
2510
2523
|
}).describe(
|
|
2511
2524
|
"Error emitted when a PCB component is placed outside the board boundaries"
|
|
2512
2525
|
);
|
|
2513
2526
|
expectTypesMatch(true);
|
|
2514
2527
|
|
|
2515
2528
|
// src/pcb/pcb_component_invalid_layer_error.ts
|
|
2516
|
-
import { z as
|
|
2517
|
-
var pcb_component_invalid_layer_error =
|
|
2518
|
-
type:
|
|
2529
|
+
import { z as z118 } from "zod";
|
|
2530
|
+
var pcb_component_invalid_layer_error = z118.object({
|
|
2531
|
+
type: z118.literal("pcb_component_invalid_layer_error"),
|
|
2519
2532
|
pcb_component_invalid_layer_error_id: getZodPrefixedIdWithDefault(
|
|
2520
2533
|
"pcb_component_invalid_layer_error"
|
|
2521
2534
|
),
|
|
2522
|
-
error_type:
|
|
2523
|
-
message:
|
|
2524
|
-
pcb_component_id:
|
|
2525
|
-
source_component_id:
|
|
2535
|
+
error_type: z118.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
|
|
2536
|
+
message: z118.string(),
|
|
2537
|
+
pcb_component_id: z118.string().optional(),
|
|
2538
|
+
source_component_id: z118.string(),
|
|
2526
2539
|
layer: layer_ref,
|
|
2527
|
-
subcircuit_id:
|
|
2540
|
+
subcircuit_id: z118.string().optional()
|
|
2528
2541
|
}).describe(
|
|
2529
2542
|
"Error emitted when a component is placed on an invalid layer (components can only be on 'top' or 'bottom' layers)"
|
|
2530
2543
|
);
|
|
2531
2544
|
expectTypesMatch(true);
|
|
2532
2545
|
|
|
2533
2546
|
// src/pcb/pcb_via_clearance_error.ts
|
|
2534
|
-
import { z as
|
|
2535
|
-
var pcb_via_clearance_error =
|
|
2536
|
-
type:
|
|
2547
|
+
import { z as z119 } from "zod";
|
|
2548
|
+
var pcb_via_clearance_error = z119.object({
|
|
2549
|
+
type: z119.literal("pcb_via_clearance_error"),
|
|
2537
2550
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
2538
|
-
error_type:
|
|
2539
|
-
message:
|
|
2540
|
-
pcb_via_ids:
|
|
2551
|
+
error_type: z119.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
|
|
2552
|
+
message: z119.string(),
|
|
2553
|
+
pcb_via_ids: z119.array(z119.string()).min(2),
|
|
2541
2554
|
minimum_clearance: distance.optional(),
|
|
2542
2555
|
actual_clearance: distance.optional(),
|
|
2543
|
-
pcb_center:
|
|
2544
|
-
x:
|
|
2545
|
-
y:
|
|
2556
|
+
pcb_center: z119.object({
|
|
2557
|
+
x: z119.number().optional(),
|
|
2558
|
+
y: z119.number().optional()
|
|
2546
2559
|
}).optional(),
|
|
2547
|
-
subcircuit_id:
|
|
2560
|
+
subcircuit_id: z119.string().optional()
|
|
2548
2561
|
}).describe("Error emitted when vias are closer than the allowed clearance");
|
|
2549
2562
|
expectTypesMatch(true);
|
|
2550
2563
|
|
|
2551
2564
|
// src/pcb/pcb_courtyard_rect.ts
|
|
2552
|
-
import { z as
|
|
2553
|
-
var pcb_courtyard_rect =
|
|
2554
|
-
type:
|
|
2565
|
+
import { z as z120 } from "zod";
|
|
2566
|
+
var pcb_courtyard_rect = z120.object({
|
|
2567
|
+
type: z120.literal("pcb_courtyard_rect"),
|
|
2555
2568
|
pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
|
|
2556
|
-
pcb_component_id:
|
|
2557
|
-
pcb_group_id:
|
|
2558
|
-
subcircuit_id:
|
|
2569
|
+
pcb_component_id: z120.string(),
|
|
2570
|
+
pcb_group_id: z120.string().optional(),
|
|
2571
|
+
subcircuit_id: z120.string().optional(),
|
|
2559
2572
|
center: point,
|
|
2560
2573
|
width: length,
|
|
2561
2574
|
height: length,
|
|
2562
2575
|
layer: visible_layer,
|
|
2563
|
-
color:
|
|
2576
|
+
color: z120.string().optional()
|
|
2564
2577
|
}).describe("Defines a courtyard rectangle on the PCB");
|
|
2565
2578
|
expectTypesMatch(true);
|
|
2566
2579
|
|
|
2567
2580
|
// src/pcb/pcb_courtyard_outline.ts
|
|
2568
|
-
import { z as
|
|
2569
|
-
var pcb_courtyard_outline =
|
|
2570
|
-
type:
|
|
2581
|
+
import { z as z121 } from "zod";
|
|
2582
|
+
var pcb_courtyard_outline = z121.object({
|
|
2583
|
+
type: z121.literal("pcb_courtyard_outline"),
|
|
2571
2584
|
pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
|
|
2572
2585
|
"pcb_courtyard_outline"
|
|
2573
2586
|
),
|
|
2574
|
-
pcb_component_id:
|
|
2575
|
-
pcb_group_id:
|
|
2576
|
-
subcircuit_id:
|
|
2587
|
+
pcb_component_id: z121.string(),
|
|
2588
|
+
pcb_group_id: z121.string().optional(),
|
|
2589
|
+
subcircuit_id: z121.string().optional(),
|
|
2577
2590
|
layer: visible_layer,
|
|
2578
|
-
outline:
|
|
2591
|
+
outline: z121.array(point).min(2),
|
|
2579
2592
|
stroke_width: length.default("0.1mm"),
|
|
2580
|
-
is_closed:
|
|
2581
|
-
is_stroke_dashed:
|
|
2582
|
-
color:
|
|
2593
|
+
is_closed: z121.boolean().optional(),
|
|
2594
|
+
is_stroke_dashed: z121.boolean().optional(),
|
|
2595
|
+
color: z121.string().optional()
|
|
2583
2596
|
}).describe("Defines a courtyard outline on the PCB");
|
|
2584
2597
|
expectTypesMatch(true);
|
|
2585
2598
|
|
|
2586
2599
|
// src/pcb/pcb_courtyard_polygon.ts
|
|
2587
|
-
import { z as
|
|
2588
|
-
var pcb_courtyard_polygon =
|
|
2589
|
-
type:
|
|
2600
|
+
import { z as z122 } from "zod";
|
|
2601
|
+
var pcb_courtyard_polygon = z122.object({
|
|
2602
|
+
type: z122.literal("pcb_courtyard_polygon"),
|
|
2590
2603
|
pcb_courtyard_polygon_id: getZodPrefixedIdWithDefault(
|
|
2591
2604
|
"pcb_courtyard_polygon"
|
|
2592
2605
|
),
|
|
2593
|
-
pcb_component_id:
|
|
2594
|
-
pcb_group_id:
|
|
2595
|
-
subcircuit_id:
|
|
2606
|
+
pcb_component_id: z122.string(),
|
|
2607
|
+
pcb_group_id: z122.string().optional(),
|
|
2608
|
+
subcircuit_id: z122.string().optional(),
|
|
2596
2609
|
layer: visible_layer,
|
|
2597
|
-
points:
|
|
2598
|
-
color:
|
|
2610
|
+
points: z122.array(point).min(3),
|
|
2611
|
+
color: z122.string().optional()
|
|
2599
2612
|
}).describe("Defines a courtyard polygon on the PCB");
|
|
2600
2613
|
expectTypesMatch(true);
|
|
2601
2614
|
|
|
2602
2615
|
// src/cad/cad_component.ts
|
|
2603
|
-
import { z as
|
|
2604
|
-
var cad_component =
|
|
2605
|
-
type:
|
|
2606
|
-
cad_component_id:
|
|
2607
|
-
pcb_component_id:
|
|
2608
|
-
source_component_id:
|
|
2616
|
+
import { z as z123 } from "zod";
|
|
2617
|
+
var cad_component = z123.object({
|
|
2618
|
+
type: z123.literal("cad_component"),
|
|
2619
|
+
cad_component_id: z123.string(),
|
|
2620
|
+
pcb_component_id: z123.string(),
|
|
2621
|
+
source_component_id: z123.string(),
|
|
2609
2622
|
position: point3,
|
|
2610
2623
|
rotation: point3.optional(),
|
|
2611
2624
|
size: point3.optional(),
|
|
2612
2625
|
layer: layer_ref.optional(),
|
|
2613
|
-
subcircuit_id:
|
|
2626
|
+
subcircuit_id: z123.string().optional(),
|
|
2614
2627
|
// These are all ways to generate/load the 3d model
|
|
2615
|
-
footprinter_string:
|
|
2616
|
-
model_obj_url:
|
|
2617
|
-
model_stl_url:
|
|
2618
|
-
model_3mf_url:
|
|
2619
|
-
model_gltf_url:
|
|
2620
|
-
model_glb_url:
|
|
2621
|
-
model_step_url:
|
|
2622
|
-
model_wrl_url:
|
|
2623
|
-
model_unit_to_mm_scale_factor:
|
|
2624
|
-
model_jscad:
|
|
2628
|
+
footprinter_string: z123.string().optional(),
|
|
2629
|
+
model_obj_url: z123.string().optional(),
|
|
2630
|
+
model_stl_url: z123.string().optional(),
|
|
2631
|
+
model_3mf_url: z123.string().optional(),
|
|
2632
|
+
model_gltf_url: z123.string().optional(),
|
|
2633
|
+
model_glb_url: z123.string().optional(),
|
|
2634
|
+
model_step_url: z123.string().optional(),
|
|
2635
|
+
model_wrl_url: z123.string().optional(),
|
|
2636
|
+
model_unit_to_mm_scale_factor: z123.number().optional(),
|
|
2637
|
+
model_jscad: z123.any().optional()
|
|
2625
2638
|
}).describe("Defines a component on the PCB");
|
|
2626
2639
|
expectTypesMatch(true);
|
|
2627
2640
|
|
|
2628
2641
|
// src/simulation/simulation_voltage_source.ts
|
|
2629
|
-
import { z as
|
|
2630
|
-
var wave_shape =
|
|
2631
|
-
var percentage =
|
|
2642
|
+
import { z as z124 } from "zod";
|
|
2643
|
+
var wave_shape = z124.enum(["sinewave", "square", "triangle", "sawtooth"]);
|
|
2644
|
+
var percentage = z124.union([z124.string(), z124.number()]).transform((val) => {
|
|
2632
2645
|
if (typeof val === "string") {
|
|
2633
2646
|
if (val.endsWith("%")) {
|
|
2634
2647
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -2637,30 +2650,30 @@ var percentage = z123.union([z123.string(), z123.number()]).transform((val) => {
|
|
|
2637
2650
|
}
|
|
2638
2651
|
return val;
|
|
2639
2652
|
}).pipe(
|
|
2640
|
-
|
|
2653
|
+
z124.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
2641
2654
|
);
|
|
2642
|
-
var simulation_dc_voltage_source =
|
|
2643
|
-
type:
|
|
2655
|
+
var simulation_dc_voltage_source = z124.object({
|
|
2656
|
+
type: z124.literal("simulation_voltage_source"),
|
|
2644
2657
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
2645
2658
|
"simulation_voltage_source"
|
|
2646
2659
|
),
|
|
2647
|
-
is_dc_source:
|
|
2648
|
-
positive_source_port_id:
|
|
2649
|
-
negative_source_port_id:
|
|
2650
|
-
positive_source_net_id:
|
|
2651
|
-
negative_source_net_id:
|
|
2660
|
+
is_dc_source: z124.literal(true).optional().default(true),
|
|
2661
|
+
positive_source_port_id: z124.string().optional(),
|
|
2662
|
+
negative_source_port_id: z124.string().optional(),
|
|
2663
|
+
positive_source_net_id: z124.string().optional(),
|
|
2664
|
+
negative_source_net_id: z124.string().optional(),
|
|
2652
2665
|
voltage
|
|
2653
2666
|
}).describe("Defines a DC voltage source for simulation");
|
|
2654
|
-
var simulation_ac_voltage_source =
|
|
2655
|
-
type:
|
|
2667
|
+
var simulation_ac_voltage_source = z124.object({
|
|
2668
|
+
type: z124.literal("simulation_voltage_source"),
|
|
2656
2669
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
2657
2670
|
"simulation_voltage_source"
|
|
2658
2671
|
),
|
|
2659
|
-
is_dc_source:
|
|
2660
|
-
terminal1_source_port_id:
|
|
2661
|
-
terminal2_source_port_id:
|
|
2662
|
-
terminal1_source_net_id:
|
|
2663
|
-
terminal2_source_net_id:
|
|
2672
|
+
is_dc_source: z124.literal(false),
|
|
2673
|
+
terminal1_source_port_id: z124.string().optional(),
|
|
2674
|
+
terminal2_source_port_id: z124.string().optional(),
|
|
2675
|
+
terminal1_source_net_id: z124.string().optional(),
|
|
2676
|
+
terminal2_source_net_id: z124.string().optional(),
|
|
2664
2677
|
voltage: voltage.optional(),
|
|
2665
2678
|
frequency: frequency.optional(),
|
|
2666
2679
|
peak_to_peak_voltage: voltage.optional(),
|
|
@@ -2668,25 +2681,25 @@ var simulation_ac_voltage_source = z123.object({
|
|
|
2668
2681
|
phase: rotation.optional(),
|
|
2669
2682
|
duty_cycle: percentage.optional()
|
|
2670
2683
|
}).describe("Defines an AC voltage source for simulation");
|
|
2671
|
-
var simulation_voltage_source =
|
|
2684
|
+
var simulation_voltage_source = z124.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
|
|
2672
2685
|
expectTypesMatch(true);
|
|
2673
2686
|
expectTypesMatch(true);
|
|
2674
2687
|
expectTypesMatch(true);
|
|
2675
2688
|
|
|
2676
2689
|
// src/simulation/simulation_experiment.ts
|
|
2677
|
-
import { z as
|
|
2678
|
-
var experiment_type =
|
|
2679
|
-
|
|
2680
|
-
|
|
2681
|
-
|
|
2682
|
-
|
|
2690
|
+
import { z as z125 } from "zod";
|
|
2691
|
+
var experiment_type = z125.union([
|
|
2692
|
+
z125.literal("spice_dc_sweep"),
|
|
2693
|
+
z125.literal("spice_dc_operating_point"),
|
|
2694
|
+
z125.literal("spice_transient_analysis"),
|
|
2695
|
+
z125.literal("spice_ac_analysis")
|
|
2683
2696
|
]);
|
|
2684
|
-
var simulation_experiment =
|
|
2685
|
-
type:
|
|
2697
|
+
var simulation_experiment = z125.object({
|
|
2698
|
+
type: z125.literal("simulation_experiment"),
|
|
2686
2699
|
simulation_experiment_id: getZodPrefixedIdWithDefault(
|
|
2687
2700
|
"simulation_experiment"
|
|
2688
2701
|
),
|
|
2689
|
-
name:
|
|
2702
|
+
name: z125.string(),
|
|
2690
2703
|
experiment_type,
|
|
2691
2704
|
time_per_step: duration_ms.optional(),
|
|
2692
2705
|
start_time_ms: ms.optional(),
|
|
@@ -2695,49 +2708,49 @@ var simulation_experiment = z124.object({
|
|
|
2695
2708
|
expectTypesMatch(true);
|
|
2696
2709
|
|
|
2697
2710
|
// src/simulation/simulation_transient_voltage_graph.ts
|
|
2698
|
-
import { z as
|
|
2699
|
-
var simulation_transient_voltage_graph =
|
|
2700
|
-
type:
|
|
2711
|
+
import { z as z126 } from "zod";
|
|
2712
|
+
var simulation_transient_voltage_graph = z126.object({
|
|
2713
|
+
type: z126.literal("simulation_transient_voltage_graph"),
|
|
2701
2714
|
simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
|
|
2702
2715
|
"simulation_transient_voltage_graph"
|
|
2703
2716
|
),
|
|
2704
|
-
simulation_experiment_id:
|
|
2705
|
-
timestamps_ms:
|
|
2706
|
-
voltage_levels:
|
|
2707
|
-
schematic_voltage_probe_id:
|
|
2708
|
-
simulation_voltage_probe_id:
|
|
2709
|
-
subcircuit_connectivity_map_key:
|
|
2717
|
+
simulation_experiment_id: z126.string(),
|
|
2718
|
+
timestamps_ms: z126.array(z126.number()).optional(),
|
|
2719
|
+
voltage_levels: z126.array(z126.number()),
|
|
2720
|
+
schematic_voltage_probe_id: z126.string().optional(),
|
|
2721
|
+
simulation_voltage_probe_id: z126.string().optional(),
|
|
2722
|
+
subcircuit_connectivity_map_key: z126.string().optional(),
|
|
2710
2723
|
time_per_step: duration_ms,
|
|
2711
2724
|
start_time_ms: ms,
|
|
2712
2725
|
end_time_ms: ms,
|
|
2713
|
-
name:
|
|
2726
|
+
name: z126.string().optional()
|
|
2714
2727
|
}).describe("Stores voltage measurements over time for a simulation");
|
|
2715
2728
|
expectTypesMatch(true);
|
|
2716
2729
|
|
|
2717
2730
|
// src/simulation/simulation_switch.ts
|
|
2718
|
-
import { z as
|
|
2719
|
-
var simulation_switch =
|
|
2720
|
-
type:
|
|
2731
|
+
import { z as z127 } from "zod";
|
|
2732
|
+
var simulation_switch = z127.object({
|
|
2733
|
+
type: z127.literal("simulation_switch"),
|
|
2721
2734
|
simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
|
|
2722
|
-
source_component_id:
|
|
2735
|
+
source_component_id: z127.string().optional(),
|
|
2723
2736
|
closes_at: ms.optional(),
|
|
2724
2737
|
opens_at: ms.optional(),
|
|
2725
|
-
starts_closed:
|
|
2738
|
+
starts_closed: z127.boolean().optional(),
|
|
2726
2739
|
switching_frequency: frequency.optional()
|
|
2727
2740
|
}).describe("Defines a switch for simulation timing control");
|
|
2728
2741
|
expectTypesMatch(true);
|
|
2729
2742
|
|
|
2730
2743
|
// src/simulation/simulation_voltage_probe.ts
|
|
2731
|
-
import { z as
|
|
2732
|
-
var simulation_voltage_probe =
|
|
2733
|
-
type:
|
|
2744
|
+
import { z as z128 } from "zod";
|
|
2745
|
+
var simulation_voltage_probe = z128.object({
|
|
2746
|
+
type: z128.literal("simulation_voltage_probe"),
|
|
2734
2747
|
simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
|
|
2735
2748
|
"simulation_voltage_probe"
|
|
2736
2749
|
),
|
|
2737
|
-
source_port_id:
|
|
2738
|
-
source_net_id:
|
|
2739
|
-
name:
|
|
2740
|
-
subcircuit_id:
|
|
2750
|
+
source_port_id: z128.string().optional(),
|
|
2751
|
+
source_net_id: z128.string().optional(),
|
|
2752
|
+
name: z128.string().optional(),
|
|
2753
|
+
subcircuit_id: z128.string().optional()
|
|
2741
2754
|
}).describe(
|
|
2742
2755
|
"Defines a voltage probe for simulation, connected to a port or a net"
|
|
2743
2756
|
).refine(
|
|
@@ -2749,8 +2762,8 @@ var simulation_voltage_probe = z127.object({
|
|
|
2749
2762
|
expectTypesMatch(true);
|
|
2750
2763
|
|
|
2751
2764
|
// src/any_circuit_element.ts
|
|
2752
|
-
import { z as
|
|
2753
|
-
var any_circuit_element =
|
|
2765
|
+
import { z as z129 } from "zod";
|
|
2766
|
+
var any_circuit_element = z129.union([
|
|
2754
2767
|
source_trace,
|
|
2755
2768
|
source_port,
|
|
2756
2769
|
any_source_component,
|
|
@@ -2851,6 +2864,7 @@ var any_circuit_element = z128.union([
|
|
|
2851
2864
|
schematic_voltage_probe,
|
|
2852
2865
|
schematic_manual_edit_conflict_warning,
|
|
2853
2866
|
schematic_group,
|
|
2867
|
+
schematic_sheet,
|
|
2854
2868
|
schematic_table,
|
|
2855
2869
|
schematic_table_cell,
|
|
2856
2870
|
cad_component,
|
|
@@ -2985,6 +2999,7 @@ export {
|
|
|
2985
2999
|
schematic_pin_styles,
|
|
2986
3000
|
schematic_port,
|
|
2987
3001
|
schematic_rect,
|
|
3002
|
+
schematic_sheet,
|
|
2988
3003
|
schematic_table,
|
|
2989
3004
|
schematic_table_cell,
|
|
2990
3005
|
schematic_text,
|