circuit-json 0.0.59 → 0.0.75

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -5,10 +5,20 @@ declare const capacitance: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>,
5
5
  declare const inductance: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
6
6
  declare const voltage: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
7
7
  declare const length: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
8
+ /**
9
+ * Length in meters
10
+ */
11
+ type Length = number;
12
+ type Distance = number;
8
13
  declare const distance: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
9
14
  declare const current: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
10
15
  declare const time: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
16
+ /**
17
+ * Rotation is always converted to degrees
18
+ */
11
19
  declare const rotation: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
20
+ type InputRotation = number | string;
21
+ type Rotation = number;
12
22
 
13
23
  declare const point: z.ZodObject<{
14
24
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
@@ -75,6 +85,11 @@ declare const size: z.ZodObject<{
75
85
  }>;
76
86
  type Size = z.infer<typeof size>;
77
87
 
88
+ /**
89
+ * Use this for primary keys for any circuit element
90
+ */
91
+ declare const getZodPrefixedIdWithDefault: (prefix: string) => z.ZodDefault<z.ZodOptional<z.ZodString>>;
92
+
78
93
  declare const source_simple_capacitor: z.ZodObject<z.objectUtil.extendShape<{
79
94
  type: z.ZodLiteral<"source_component">;
80
95
  ftype: z.ZodOptional<z.ZodString>;
@@ -711,6 +726,22 @@ declare const schematic_path: z.ZodObject<{
711
726
  type SchematicPathInput = z.input<typeof schematic_path>;
712
727
  type SchematicPath = z.infer<typeof schematic_path>;
713
728
 
729
+ declare const schematic_pin_styles: z.ZodRecord<z.ZodString, z.ZodObject<{
730
+ left_margin: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
731
+ right_margin: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
732
+ top_margin: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
733
+ bottom_margin: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
734
+ }, "strip", z.ZodTypeAny, {
735
+ left_margin?: number | undefined;
736
+ right_margin?: number | undefined;
737
+ top_margin?: number | undefined;
738
+ bottom_margin?: number | undefined;
739
+ }, {
740
+ left_margin?: string | number | undefined;
741
+ right_margin?: string | number | undefined;
742
+ top_margin?: string | number | undefined;
743
+ bottom_margin?: string | number | undefined;
744
+ }>>;
714
745
  declare const schematic_component: z.ZodObject<{
715
746
  type: z.ZodLiteral<"schematic_component">;
716
747
  rotation: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
@@ -737,6 +768,22 @@ declare const schematic_component: z.ZodObject<{
737
768
  source_component_id: z.ZodString;
738
769
  schematic_component_id: z.ZodString;
739
770
  pin_spacing: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
771
+ pin_styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
772
+ left_margin: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
773
+ right_margin: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
774
+ top_margin: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
775
+ bottom_margin: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
776
+ }, "strip", z.ZodTypeAny, {
777
+ left_margin?: number | undefined;
778
+ right_margin?: number | undefined;
779
+ top_margin?: number | undefined;
780
+ bottom_margin?: number | undefined;
781
+ }, {
782
+ left_margin?: string | number | undefined;
783
+ right_margin?: string | number | undefined;
784
+ top_margin?: string | number | undefined;
785
+ bottom_margin?: string | number | undefined;
786
+ }>>>;
740
787
  box_width: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
741
788
  symbol_name: z.ZodOptional<z.ZodString>;
742
789
  port_arrangement: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
@@ -845,6 +892,12 @@ declare const schematic_component: z.ZodObject<{
845
892
  y: number;
846
893
  };
847
894
  pin_spacing?: number | undefined;
895
+ pin_styles?: Record<string, {
896
+ left_margin?: number | undefined;
897
+ right_margin?: number | undefined;
898
+ top_margin?: number | undefined;
899
+ bottom_margin?: number | undefined;
900
+ }> | undefined;
848
901
  box_width?: number | undefined;
849
902
  symbol_name?: string | undefined;
850
903
  port_arrangement?: {
@@ -885,6 +938,12 @@ declare const schematic_component: z.ZodObject<{
885
938
  };
886
939
  rotation?: string | number | undefined;
887
940
  pin_spacing?: string | number | undefined;
941
+ pin_styles?: Record<string, {
942
+ left_margin?: string | number | undefined;
943
+ right_margin?: string | number | undefined;
944
+ top_margin?: string | number | undefined;
945
+ bottom_margin?: string | number | undefined;
946
+ }> | undefined;
888
947
  box_width?: string | number | undefined;
889
948
  symbol_name?: string | undefined;
890
949
  port_arrangement?: {
@@ -1180,6 +1239,7 @@ type LayerRefInput = z.input<typeof layer_ref>;
1180
1239
  type LayerRef = z.output<typeof layer_ref>;
1181
1240
  declare const visible_layer: z.ZodEnum<["top", "bottom"]>;
1182
1241
  type VisibleLayerRef = z.infer<typeof visible_layer>;
1242
+ type VisibleLayer = z.infer<typeof visible_layer>;
1183
1243
 
1184
1244
  declare const pcb_route_hint: z.ZodObject<{
1185
1245
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
@@ -1275,7 +1335,7 @@ type RouteHintPointInput = z.input<typeof route_hint_point>;
1275
1335
 
1276
1336
  declare const pcb_component: z.ZodObject<{
1277
1337
  type: z.ZodLiteral<"pcb_component">;
1278
- pcb_component_id: z.ZodString;
1338
+ pcb_component_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1279
1339
  source_component_id: z.ZodString;
1280
1340
  center: z.ZodObject<{
1281
1341
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
@@ -1321,17 +1381,153 @@ declare const pcb_component: z.ZodObject<{
1321
1381
  x: string | number;
1322
1382
  y: string | number;
1323
1383
  };
1324
- pcb_component_id: string;
1325
1384
  layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
1326
1385
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1327
1386
  };
1387
+ pcb_component_id?: string | undefined;
1328
1388
  }>;
1329
- type PCBComponentInput = z.input<typeof pcb_component>;
1330
- type PCBComponent = z.infer<typeof pcb_component>;
1389
+ type PcbComponentInput = z.input<typeof pcb_component>;
1390
+ /**
1391
+ * Defines a component on the PCB
1392
+ */
1393
+ interface PcbComponent {
1394
+ type: "pcb_component";
1395
+ pcb_component_id: string;
1396
+ source_component_id: string;
1397
+ center: Point;
1398
+ layer: LayerRef;
1399
+ rotation: Rotation;
1400
+ width: Length;
1401
+ height: Length;
1402
+ }
1403
+ /**
1404
+ * @deprecated use PcbComponent
1405
+ */
1406
+ type PCBComponent = PcbComponent;
1331
1407
 
1408
+ declare const pcb_hole_circle_or_square: z.ZodObject<{
1409
+ type: z.ZodLiteral<"pcb_hole">;
1410
+ pcb_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1411
+ hole_shape: z.ZodEnum<["circle", "square"]>;
1412
+ hole_diameter: z.ZodNumber;
1413
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1414
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1415
+ }, "strip", z.ZodTypeAny, {
1416
+ x: number;
1417
+ y: number;
1418
+ type: "pcb_hole";
1419
+ pcb_hole_id: string;
1420
+ hole_shape: "circle" | "square";
1421
+ hole_diameter: number;
1422
+ }, {
1423
+ x: string | number;
1424
+ y: string | number;
1425
+ type: "pcb_hole";
1426
+ hole_shape: "circle" | "square";
1427
+ hole_diameter: number;
1428
+ pcb_hole_id?: string | undefined;
1429
+ }>;
1430
+ declare const pcb_hole_circle_or_square_shape: z.ZodObject<{
1431
+ type: z.ZodLiteral<"pcb_hole">;
1432
+ pcb_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1433
+ hole_shape: z.ZodEnum<["circle", "square"]>;
1434
+ hole_diameter: z.ZodNumber;
1435
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1436
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1437
+ }, "strip", z.ZodTypeAny, {
1438
+ x: number;
1439
+ y: number;
1440
+ type: "pcb_hole";
1441
+ pcb_hole_id: string;
1442
+ hole_shape: "circle" | "square";
1443
+ hole_diameter: number;
1444
+ }, {
1445
+ x: string | number;
1446
+ y: string | number;
1447
+ type: "pcb_hole";
1448
+ hole_shape: "circle" | "square";
1449
+ hole_diameter: number;
1450
+ pcb_hole_id?: string | undefined;
1451
+ }>;
1452
+ type PcbHoleCircleOrSquareInput = z.input<typeof pcb_hole_circle_or_square>;
1453
+ /**
1454
+ * Defines a circular or square hole on the PCB
1455
+ */
1456
+ interface PcbHoleCircleOrSquare {
1457
+ type: "pcb_hole";
1458
+ pcb_hole_id: string;
1459
+ hole_shape: "circle" | "square";
1460
+ hole_diameter: number;
1461
+ x: Distance;
1462
+ y: Distance;
1463
+ }
1464
+ declare const pcb_hole_oval: z.ZodObject<{
1465
+ type: z.ZodLiteral<"pcb_hole">;
1466
+ pcb_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1467
+ hole_shape: z.ZodLiteral<"oval">;
1468
+ hole_width: z.ZodNumber;
1469
+ hole_height: z.ZodNumber;
1470
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1471
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1472
+ }, "strip", z.ZodTypeAny, {
1473
+ x: number;
1474
+ y: number;
1475
+ type: "pcb_hole";
1476
+ pcb_hole_id: string;
1477
+ hole_shape: "oval";
1478
+ hole_width: number;
1479
+ hole_height: number;
1480
+ }, {
1481
+ x: string | number;
1482
+ y: string | number;
1483
+ type: "pcb_hole";
1484
+ hole_shape: "oval";
1485
+ hole_width: number;
1486
+ hole_height: number;
1487
+ pcb_hole_id?: string | undefined;
1488
+ }>;
1489
+ declare const pcb_hole_oval_shape: z.ZodObject<{
1490
+ type: z.ZodLiteral<"pcb_hole">;
1491
+ pcb_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1492
+ hole_shape: z.ZodLiteral<"oval">;
1493
+ hole_width: z.ZodNumber;
1494
+ hole_height: z.ZodNumber;
1495
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1496
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1497
+ }, "strip", z.ZodTypeAny, {
1498
+ x: number;
1499
+ y: number;
1500
+ type: "pcb_hole";
1501
+ pcb_hole_id: string;
1502
+ hole_shape: "oval";
1503
+ hole_width: number;
1504
+ hole_height: number;
1505
+ }, {
1506
+ x: string | number;
1507
+ y: string | number;
1508
+ type: "pcb_hole";
1509
+ hole_shape: "oval";
1510
+ hole_width: number;
1511
+ hole_height: number;
1512
+ pcb_hole_id?: string | undefined;
1513
+ }>;
1514
+ type PcbHoleOvalInput = z.input<typeof pcb_hole_oval>;
1515
+ /**
1516
+ * Defines an oval hole on the PCB
1517
+ */
1518
+ interface PcbHoleOval {
1519
+ type: "pcb_hole";
1520
+ pcb_hole_id: string;
1521
+ hole_shape: "oval";
1522
+ hole_width: number;
1523
+ hole_height: number;
1524
+ x: Distance;
1525
+ y: Distance;
1526
+ }
1332
1527
  declare const pcb_hole: z.ZodUnion<[z.ZodObject<{
1333
1528
  type: z.ZodLiteral<"pcb_hole">;
1334
- hole_shape: z.ZodDefault<z.ZodEnum<["round", "square"]>>;
1529
+ pcb_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1530
+ hole_shape: z.ZodEnum<["circle", "square"]>;
1335
1531
  hole_diameter: z.ZodNumber;
1336
1532
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1337
1533
  y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
@@ -1339,16 +1535,19 @@ declare const pcb_hole: z.ZodUnion<[z.ZodObject<{
1339
1535
  x: number;
1340
1536
  y: number;
1341
1537
  type: "pcb_hole";
1342
- hole_shape: "round" | "square";
1538
+ pcb_hole_id: string;
1539
+ hole_shape: "circle" | "square";
1343
1540
  hole_diameter: number;
1344
1541
  }, {
1345
1542
  x: string | number;
1346
1543
  y: string | number;
1347
1544
  type: "pcb_hole";
1545
+ hole_shape: "circle" | "square";
1348
1546
  hole_diameter: number;
1349
- hole_shape?: "round" | "square" | undefined;
1547
+ pcb_hole_id?: string | undefined;
1350
1548
  }>, z.ZodObject<{
1351
1549
  type: z.ZodLiteral<"pcb_hole">;
1550
+ pcb_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1352
1551
  hole_shape: z.ZodLiteral<"oval">;
1353
1552
  hole_width: z.ZodNumber;
1354
1553
  hole_height: z.ZodNumber;
@@ -1358,6 +1557,7 @@ declare const pcb_hole: z.ZodUnion<[z.ZodObject<{
1358
1557
  x: number;
1359
1558
  y: number;
1360
1559
  type: "pcb_hole";
1560
+ pcb_hole_id: string;
1361
1561
  hole_shape: "oval";
1362
1562
  hole_width: number;
1363
1563
  hole_height: number;
@@ -1368,10 +1568,52 @@ declare const pcb_hole: z.ZodUnion<[z.ZodObject<{
1368
1568
  hole_shape: "oval";
1369
1569
  hole_width: number;
1370
1570
  hole_height: number;
1571
+ pcb_hole_id?: string | undefined;
1371
1572
  }>]>;
1573
+ /**
1574
+ * @deprecated Use PcbHoleCircleOrSquare or PcbHoleOval
1575
+ */
1372
1576
  type PCBHoleInput = z.input<typeof pcb_hole>;
1577
+ /**
1578
+ * @deprecated Use PcbHoleCircleOrSquare or PcbHoleOval
1579
+ */
1373
1580
  type PCBHole = z.infer<typeof pcb_hole>;
1581
+ type PcbHole = PcbHoleCircleOrSquare | PcbHoleOval;
1374
1582
 
1583
+ /**
1584
+ * Defines a circular plated hole on the PCB
1585
+ */
1586
+ interface PcbPlatedHoleCircle {
1587
+ type: "pcb_plated_hole";
1588
+ shape: "circle";
1589
+ outer_diameter: number;
1590
+ hole_diameter: number;
1591
+ x: Distance;
1592
+ y: Distance;
1593
+ layers: LayerRef[];
1594
+ port_hints?: string[];
1595
+ pcb_component_id?: string;
1596
+ pcb_port_id?: string;
1597
+ pcb_plated_hole_id: string;
1598
+ }
1599
+ /**
1600
+ * Defines an oval or pill-shaped plated hole on the PCB
1601
+ */
1602
+ interface PcbPlatedHoleOval {
1603
+ type: "pcb_plated_hole";
1604
+ shape: "oval" | "pill";
1605
+ outer_width: number;
1606
+ outer_height: number;
1607
+ hole_width: number;
1608
+ hole_height: number;
1609
+ x: Distance;
1610
+ y: Distance;
1611
+ layers: LayerRef[];
1612
+ port_hints?: string[];
1613
+ pcb_component_id?: string;
1614
+ pcb_port_id?: string;
1615
+ pcb_plated_hole_id: string;
1616
+ }
1375
1617
  declare const pcb_plated_hole: z.ZodUnion<[z.ZodObject<{
1376
1618
  type: z.ZodLiteral<"pcb_plated_hole">;
1377
1619
  shape: z.ZodLiteral<"circle">;
@@ -1391,6 +1633,7 @@ declare const pcb_plated_hole: z.ZodUnion<[z.ZodObject<{
1391
1633
  port_hints: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1392
1634
  pcb_component_id: z.ZodOptional<z.ZodString>;
1393
1635
  pcb_port_id: z.ZodOptional<z.ZodString>;
1636
+ pcb_plated_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1394
1637
  }, "strip", z.ZodTypeAny, {
1395
1638
  x: number;
1396
1639
  y: number;
@@ -1399,6 +1642,7 @@ declare const pcb_plated_hole: z.ZodUnion<[z.ZodObject<{
1399
1642
  shape: "circle";
1400
1643
  outer_diameter: number;
1401
1644
  layers: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6")[];
1645
+ pcb_plated_hole_id: string;
1402
1646
  port_hints?: string[] | undefined;
1403
1647
  pcb_component_id?: string | undefined;
1404
1648
  pcb_port_id?: string | undefined;
@@ -1415,6 +1659,7 @@ declare const pcb_plated_hole: z.ZodUnion<[z.ZodObject<{
1415
1659
  port_hints?: string[] | undefined;
1416
1660
  pcb_component_id?: string | undefined;
1417
1661
  pcb_port_id?: string | undefined;
1662
+ pcb_plated_hole_id?: string | undefined;
1418
1663
  }>, z.ZodObject<{
1419
1664
  type: z.ZodLiteral<"pcb_plated_hole">;
1420
1665
  shape: z.ZodEnum<["oval", "pill"]>;
@@ -1436,6 +1681,7 @@ declare const pcb_plated_hole: z.ZodUnion<[z.ZodObject<{
1436
1681
  port_hints: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1437
1682
  pcb_component_id: z.ZodOptional<z.ZodString>;
1438
1683
  pcb_port_id: z.ZodOptional<z.ZodString>;
1684
+ pcb_plated_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1439
1685
  }, "strip", z.ZodTypeAny, {
1440
1686
  x: number;
1441
1687
  y: number;
@@ -1444,6 +1690,7 @@ declare const pcb_plated_hole: z.ZodUnion<[z.ZodObject<{
1444
1690
  hole_height: number;
1445
1691
  shape: "oval" | "pill";
1446
1692
  layers: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6")[];
1693
+ pcb_plated_hole_id: string;
1447
1694
  outer_width: number;
1448
1695
  outer_height: number;
1449
1696
  port_hints?: string[] | undefined;
@@ -1464,13 +1711,22 @@ declare const pcb_plated_hole: z.ZodUnion<[z.ZodObject<{
1464
1711
  port_hints?: string[] | undefined;
1465
1712
  pcb_component_id?: string | undefined;
1466
1713
  pcb_port_id?: string | undefined;
1714
+ pcb_plated_hole_id?: string | undefined;
1467
1715
  }>]>;
1716
+ type PcbPlatedHole = PcbPlatedHoleCircle | PcbPlatedHoleOval;
1717
+ /**
1718
+ * @deprecated use PcbPlatedHole
1719
+ */
1720
+ type PCBPlatedHole = PcbPlatedHole;
1721
+ /**
1722
+ * @deprecated use PcbPlatedHoleInput
1723
+ */
1468
1724
  type PCBPlatedHoleInput = z.input<typeof pcb_plated_hole>;
1469
- type PCBPlatedHole = z.infer<typeof pcb_plated_hole>;
1725
+ type PcbPlatedHoleInput = z.input<typeof pcb_plated_hole>;
1470
1726
 
1471
1727
  declare const pcb_port: z.ZodObject<{
1472
1728
  type: z.ZodLiteral<"pcb_port">;
1473
- pcb_port_id: z.ZodString;
1729
+ pcb_port_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1474
1730
  source_port_id: z.ZodString;
1475
1731
  pcb_component_id: z.ZodString;
1476
1732
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
@@ -1501,15 +1757,34 @@ declare const pcb_port: z.ZodObject<{
1501
1757
  layers: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
1502
1758
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1503
1759
  })[];
1504
- pcb_port_id: string;
1760
+ pcb_port_id?: string | undefined;
1505
1761
  }>;
1506
- type PCBPort = z.infer<typeof pcb_port>;
1507
- type PCBPortInput = z.input<typeof pcb_port>;
1762
+ type PcbPortInput = z.input<typeof pcb_port>;
1763
+ /**
1764
+ * Defines a port on the PCB
1765
+ */
1766
+ interface PcbPort {
1767
+ type: "pcb_port";
1768
+ pcb_port_id: string;
1769
+ source_port_id: string;
1770
+ pcb_component_id: string;
1771
+ x: Distance;
1772
+ y: Distance;
1773
+ layers: LayerRef[];
1774
+ }
1775
+ /**
1776
+ * @deprecated use PcbPort
1777
+ */
1778
+ type PCBPort = PcbPort;
1779
+ /**
1780
+ * @deprecated use PcbPortInput
1781
+ */
1782
+ type PCBPortInput = PcbPortInput;
1508
1783
 
1509
1784
  declare const pcb_smtpad: z.ZodUnion<[z.ZodObject<{
1510
- pcb_smtpad_id: z.ZodString;
1511
1785
  type: z.ZodLiteral<"pcb_smtpad">;
1512
1786
  shape: z.ZodLiteral<"circle">;
1787
+ pcb_smtpad_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1513
1788
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1514
1789
  y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1515
1790
  radius: z.ZodNumber;
@@ -1544,15 +1819,15 @@ declare const pcb_smtpad: z.ZodUnion<[z.ZodObject<{
1544
1819
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1545
1820
  };
1546
1821
  shape: "circle";
1547
- pcb_smtpad_id: string;
1548
1822
  radius: number;
1549
1823
  port_hints?: string[] | undefined;
1550
1824
  pcb_component_id?: string | undefined;
1551
1825
  pcb_port_id?: string | undefined;
1826
+ pcb_smtpad_id?: string | undefined;
1552
1827
  }>, z.ZodObject<{
1553
- pcb_smtpad_id: z.ZodString;
1554
1828
  type: z.ZodLiteral<"pcb_smtpad">;
1555
1829
  shape: z.ZodLiteral<"rect">;
1830
+ pcb_smtpad_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1556
1831
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1557
1832
  y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1558
1833
  width: z.ZodNumber;
@@ -1591,104 +1866,300 @@ declare const pcb_smtpad: z.ZodUnion<[z.ZodObject<{
1591
1866
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1592
1867
  };
1593
1868
  shape: "rect";
1594
- pcb_smtpad_id: string;
1595
1869
  port_hints?: string[] | undefined;
1596
1870
  pcb_component_id?: string | undefined;
1597
1871
  pcb_port_id?: string | undefined;
1872
+ pcb_smtpad_id?: string | undefined;
1598
1873
  }>]>;
1599
1874
  type PCBSMTPadInput = z.input<typeof pcb_smtpad>;
1600
- type PCBSMTPad = z.infer<typeof pcb_smtpad>;
1875
+ /**
1876
+ * Defines an SMT pad on the PCB
1877
+ */
1878
+ interface PcbSmtPadCircle {
1879
+ type: "pcb_smtpad";
1880
+ shape: "circle";
1881
+ pcb_smtpad_id: string;
1882
+ x: Distance;
1883
+ y: Distance;
1884
+ radius: number;
1885
+ layer: LayerRef;
1886
+ port_hints?: string[];
1887
+ pcb_component_id?: string;
1888
+ pcb_port_id?: string;
1889
+ }
1890
+ /**
1891
+ * Defines an SMT pad on the PCB
1892
+ */
1893
+ interface PcbSmtPadRect {
1894
+ type: "pcb_smtpad";
1895
+ shape: "rect";
1896
+ pcb_smtpad_id: string;
1897
+ x: Distance;
1898
+ y: Distance;
1899
+ width: number;
1900
+ height: number;
1901
+ layer: LayerRef;
1902
+ port_hints?: string[];
1903
+ pcb_component_id?: string;
1904
+ pcb_port_id?: string;
1905
+ }
1906
+ type PcbSmtPad = PcbSmtPadCircle | PcbSmtPadRect;
1907
+ /**
1908
+ * @deprecated use PcbSmtPad
1909
+ */
1910
+ type PCBSMTPad = PcbSmtPad;
1601
1911
 
1602
1912
  declare const pcb_text: z.ZodObject<{
1603
1913
  type: z.ZodLiteral<"pcb_text">;
1914
+ pcb_text_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1604
1915
  text: z.ZodString;
1605
- x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1606
- y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1607
- align: z.ZodEnum<["bottom-left"]>;
1916
+ center: z.ZodObject<{
1917
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1918
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1919
+ }, "strip", z.ZodTypeAny, {
1920
+ x: number;
1921
+ y: number;
1922
+ }, {
1923
+ x: string | number;
1924
+ y: string | number;
1925
+ }>;
1926
+ layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
1927
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
1928
+ }, "strip", z.ZodTypeAny, {
1929
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1930
+ }, {
1931
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1932
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
1933
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1934
+ }>;
1608
1935
  width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1609
1936
  height: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1610
1937
  lines: z.ZodNumber;
1938
+ align: z.ZodEnum<["bottom-left"]>;
1611
1939
  }, "strip", z.ZodTypeAny, {
1612
- x: number;
1613
- y: number;
1614
1940
  type: "pcb_text";
1615
1941
  width: number;
1616
1942
  height: number;
1943
+ center: {
1944
+ x: number;
1945
+ y: number;
1946
+ };
1617
1947
  text: string;
1618
- align: "bottom-left";
1948
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1949
+ pcb_text_id: string;
1619
1950
  lines: number;
1951
+ align: "bottom-left";
1620
1952
  }, {
1621
- x: string | number;
1622
- y: string | number;
1623
1953
  type: "pcb_text";
1624
1954
  width: string | number;
1625
1955
  height: string | number;
1956
+ center: {
1957
+ x: string | number;
1958
+ y: string | number;
1959
+ };
1626
1960
  text: string;
1627
- align: "bottom-left";
1961
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
1962
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1963
+ };
1628
1964
  lines: number;
1965
+ align: "bottom-left";
1966
+ pcb_text_id?: string | undefined;
1629
1967
  }>;
1630
- type PCBTextInput = z.input<typeof pcb_text>;
1631
- type PCBText = z.infer<typeof pcb_text>;
1968
+ type PcbTextInput = z.input<typeof pcb_text>;
1969
+ /**
1970
+ * Defines text on the PCB
1971
+ */
1972
+ interface PcbText {
1973
+ type: "pcb_text";
1974
+ pcb_text_id: string;
1975
+ text: string;
1976
+ center: Point;
1977
+ layer: LayerRef;
1978
+ width: Length;
1979
+ height: Length;
1980
+ lines: number;
1981
+ align: "bottom-left";
1982
+ }
1983
+ /**
1984
+ * @deprecated use PcbText
1985
+ */
1986
+ type PCBText = PcbText;
1632
1987
 
1633
- declare const pcb_trace: z.ZodObject<{
1634
- type: z.ZodLiteral<"pcb_trace">;
1635
- source_trace_id: z.ZodOptional<z.ZodString>;
1636
- pcb_component_id: z.ZodOptional<z.ZodString>;
1637
- pcb_trace_id: z.ZodString;
1638
- route_thickness_mode: z.ZodDefault<z.ZodEnum<["constant", "interpolated"]>>;
1639
- should_round_corners: z.ZodOptional<z.ZodBoolean>;
1640
- route: z.ZodArray<z.ZodUnion<[z.ZodObject<{
1641
- route_type: z.ZodLiteral<"wire">;
1642
- x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1643
- y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1644
- width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1645
- start_pcb_port_id: z.ZodOptional<z.ZodString>;
1646
- end_pcb_port_id: z.ZodOptional<z.ZodString>;
1647
- layer: z.ZodString;
1648
- }, "strip", z.ZodTypeAny, {
1649
- x: number;
1650
- y: number;
1651
- width: number;
1652
- layer: string;
1653
- route_type: "wire";
1654
- start_pcb_port_id?: string | undefined;
1655
- end_pcb_port_id?: string | undefined;
1656
- }, {
1657
- x: string | number;
1658
- y: string | number;
1659
- width: string | number;
1660
- layer: string;
1661
- route_type: "wire";
1662
- start_pcb_port_id?: string | undefined;
1663
- end_pcb_port_id?: string | undefined;
1664
- }>, z.ZodObject<{
1665
- route_type: z.ZodLiteral<"via">;
1666
- x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1667
- y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1668
- from_layer: z.ZodString;
1669
- to_layer: z.ZodString;
1988
+ declare const pcb_trace_route_point_wire: z.ZodObject<{
1989
+ route_type: z.ZodLiteral<"wire">;
1990
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1991
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1992
+ width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1993
+ start_pcb_port_id: z.ZodOptional<z.ZodString>;
1994
+ end_pcb_port_id: z.ZodOptional<z.ZodString>;
1995
+ layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
1996
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
1670
1997
  }, "strip", z.ZodTypeAny, {
1671
- x: number;
1672
- y: number;
1673
- to_layer: string;
1674
- route_type: "via";
1675
- from_layer: string;
1998
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1676
1999
  }, {
1677
- x: string | number;
1678
- y: string | number;
1679
- to_layer: string;
1680
- route_type: "via";
1681
- from_layer: string;
1682
- }>]>, "many">;
1683
- }, "strip", z.ZodTypeAny, {
2000
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2001
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
2002
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2003
+ }>;
2004
+ }, "strip", z.ZodTypeAny, {
2005
+ x: number;
2006
+ y: number;
2007
+ width: number;
2008
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2009
+ route_type: "wire";
2010
+ start_pcb_port_id?: string | undefined;
2011
+ end_pcb_port_id?: string | undefined;
2012
+ }, {
2013
+ x: string | number;
2014
+ y: string | number;
2015
+ width: string | number;
2016
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
2017
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2018
+ };
2019
+ route_type: "wire";
2020
+ start_pcb_port_id?: string | undefined;
2021
+ end_pcb_port_id?: string | undefined;
2022
+ }>;
2023
+ declare const pcb_trace_route_point_via: z.ZodObject<{
2024
+ route_type: z.ZodLiteral<"via">;
2025
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2026
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2027
+ from_layer: z.ZodString;
2028
+ to_layer: z.ZodString;
2029
+ }, "strip", z.ZodTypeAny, {
2030
+ x: number;
2031
+ y: number;
2032
+ to_layer: string;
2033
+ route_type: "via";
2034
+ from_layer: string;
2035
+ }, {
2036
+ x: string | number;
2037
+ y: string | number;
2038
+ to_layer: string;
2039
+ route_type: "via";
2040
+ from_layer: string;
2041
+ }>;
2042
+ declare const pcb_trace_route_point: z.ZodUnion<[z.ZodObject<{
2043
+ route_type: z.ZodLiteral<"wire">;
2044
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2045
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2046
+ width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2047
+ start_pcb_port_id: z.ZodOptional<z.ZodString>;
2048
+ end_pcb_port_id: z.ZodOptional<z.ZodString>;
2049
+ layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
2050
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
2051
+ }, "strip", z.ZodTypeAny, {
2052
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2053
+ }, {
2054
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2055
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
2056
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2057
+ }>;
2058
+ }, "strip", z.ZodTypeAny, {
2059
+ x: number;
2060
+ y: number;
2061
+ width: number;
2062
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2063
+ route_type: "wire";
2064
+ start_pcb_port_id?: string | undefined;
2065
+ end_pcb_port_id?: string | undefined;
2066
+ }, {
2067
+ x: string | number;
2068
+ y: string | number;
2069
+ width: string | number;
2070
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
2071
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2072
+ };
2073
+ route_type: "wire";
2074
+ start_pcb_port_id?: string | undefined;
2075
+ end_pcb_port_id?: string | undefined;
2076
+ }>, z.ZodObject<{
2077
+ route_type: z.ZodLiteral<"via">;
2078
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2079
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2080
+ from_layer: z.ZodString;
2081
+ to_layer: z.ZodString;
2082
+ }, "strip", z.ZodTypeAny, {
2083
+ x: number;
2084
+ y: number;
2085
+ to_layer: string;
2086
+ route_type: "via";
2087
+ from_layer: string;
2088
+ }, {
2089
+ x: string | number;
2090
+ y: string | number;
2091
+ to_layer: string;
2092
+ route_type: "via";
2093
+ from_layer: string;
2094
+ }>]>;
2095
+ declare const pcb_trace: z.ZodObject<{
2096
+ type: z.ZodLiteral<"pcb_trace">;
2097
+ source_trace_id: z.ZodOptional<z.ZodString>;
2098
+ pcb_component_id: z.ZodOptional<z.ZodString>;
2099
+ pcb_trace_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
2100
+ route_thickness_mode: z.ZodOptional<z.ZodDefault<z.ZodEnum<["constant", "interpolated"]>>>;
2101
+ should_round_corners: z.ZodOptional<z.ZodBoolean>;
2102
+ route: z.ZodArray<z.ZodUnion<[z.ZodObject<{
2103
+ route_type: z.ZodLiteral<"wire">;
2104
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2105
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2106
+ width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2107
+ start_pcb_port_id: z.ZodOptional<z.ZodString>;
2108
+ end_pcb_port_id: z.ZodOptional<z.ZodString>;
2109
+ layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
2110
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
2111
+ }, "strip", z.ZodTypeAny, {
2112
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2113
+ }, {
2114
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2115
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
2116
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2117
+ }>;
2118
+ }, "strip", z.ZodTypeAny, {
2119
+ x: number;
2120
+ y: number;
2121
+ width: number;
2122
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2123
+ route_type: "wire";
2124
+ start_pcb_port_id?: string | undefined;
2125
+ end_pcb_port_id?: string | undefined;
2126
+ }, {
2127
+ x: string | number;
2128
+ y: string | number;
2129
+ width: string | number;
2130
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
2131
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2132
+ };
2133
+ route_type: "wire";
2134
+ start_pcb_port_id?: string | undefined;
2135
+ end_pcb_port_id?: string | undefined;
2136
+ }>, z.ZodObject<{
2137
+ route_type: z.ZodLiteral<"via">;
2138
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2139
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2140
+ from_layer: z.ZodString;
2141
+ to_layer: z.ZodString;
2142
+ }, "strip", z.ZodTypeAny, {
2143
+ x: number;
2144
+ y: number;
2145
+ to_layer: string;
2146
+ route_type: "via";
2147
+ from_layer: string;
2148
+ }, {
2149
+ x: string | number;
2150
+ y: string | number;
2151
+ to_layer: string;
2152
+ route_type: "via";
2153
+ from_layer: string;
2154
+ }>]>, "many">;
2155
+ }, "strip", z.ZodTypeAny, {
1684
2156
  type: "pcb_trace";
1685
2157
  pcb_trace_id: string;
1686
- route_thickness_mode: "constant" | "interpolated";
1687
2158
  route: ({
1688
2159
  x: number;
1689
2160
  y: number;
1690
2161
  width: number;
1691
- layer: string;
2162
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1692
2163
  route_type: "wire";
1693
2164
  start_pcb_port_id?: string | undefined;
1694
2165
  end_pcb_port_id?: string | undefined;
@@ -1701,15 +2172,17 @@ declare const pcb_trace: z.ZodObject<{
1701
2172
  })[];
1702
2173
  source_trace_id?: string | undefined;
1703
2174
  pcb_component_id?: string | undefined;
2175
+ route_thickness_mode?: "constant" | "interpolated" | undefined;
1704
2176
  should_round_corners?: boolean | undefined;
1705
2177
  }, {
1706
2178
  type: "pcb_trace";
1707
- pcb_trace_id: string;
1708
2179
  route: ({
1709
2180
  x: string | number;
1710
2181
  y: string | number;
1711
2182
  width: string | number;
1712
- layer: string;
2183
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
2184
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2185
+ };
1713
2186
  route_type: "wire";
1714
2187
  start_pcb_port_id?: string | undefined;
1715
2188
  end_pcb_port_id?: string | undefined;
@@ -1722,15 +2195,52 @@ declare const pcb_trace: z.ZodObject<{
1722
2195
  })[];
1723
2196
  source_trace_id?: string | undefined;
1724
2197
  pcb_component_id?: string | undefined;
2198
+ pcb_trace_id?: string | undefined;
1725
2199
  route_thickness_mode?: "constant" | "interpolated" | undefined;
1726
2200
  should_round_corners?: boolean | undefined;
1727
2201
  }>;
1728
- type PCBTraceInput = z.input<typeof pcb_trace>;
1729
- type PCBTrace = z.output<typeof pcb_trace>;
2202
+ type PcbTraceInput = z.input<typeof pcb_trace>;
2203
+ interface PcbTraceRoutePointWire {
2204
+ route_type: "wire";
2205
+ x: Distance;
2206
+ y: Distance;
2207
+ width: Distance;
2208
+ start_pcb_port_id?: string;
2209
+ end_pcb_port_id?: string;
2210
+ layer: LayerRef;
2211
+ }
2212
+ interface PcbTraceRoutePointVia {
2213
+ route_type: "via";
2214
+ x: Distance;
2215
+ y: Distance;
2216
+ from_layer: string;
2217
+ to_layer: string;
2218
+ }
2219
+ type PcbTraceRoutePoint = PcbTraceRoutePointWire | PcbTraceRoutePointVia;
2220
+ /**
2221
+ * Defines a trace on the PCB
2222
+ */
2223
+ interface PcbTrace {
2224
+ type: "pcb_trace";
2225
+ source_trace_id?: string;
2226
+ pcb_component_id?: string;
2227
+ pcb_trace_id: string;
2228
+ route_thickness_mode?: "constant" | "interpolated";
2229
+ should_round_corners?: boolean;
2230
+ route: Array<PcbTraceRoutePoint>;
2231
+ }
2232
+ /**
2233
+ * @deprecated use PcbTrace
2234
+ */
2235
+ type PCBTrace = PcbTrace;
2236
+ /**
2237
+ * @deprecated use PcbTraceInput
2238
+ */
2239
+ type PCBTraceInput = PcbTraceInput;
1730
2240
 
1731
2241
  declare const pcb_trace_error: z.ZodObject<{
1732
- pcb_error_id: z.ZodString;
1733
- type: z.ZodLiteral<"pcb_error">;
2242
+ type: z.ZodLiteral<"pcb_trace_error">;
2243
+ pcb_trace_error_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1734
2244
  error_type: z.ZodLiteral<"pcb_trace_error">;
1735
2245
  message: z.ZodString;
1736
2246
  center: z.ZodOptional<z.ZodObject<{
@@ -1749,11 +2259,11 @@ declare const pcb_trace_error: z.ZodObject<{
1749
2259
  pcb_port_ids: z.ZodArray<z.ZodString, "many">;
1750
2260
  }, "strip", z.ZodTypeAny, {
1751
2261
  message: string;
1752
- type: "pcb_error";
2262
+ type: "pcb_trace_error";
1753
2263
  source_trace_id: string;
1754
2264
  error_type: "pcb_trace_error";
1755
2265
  pcb_trace_id: string;
1756
- pcb_error_id: string;
2266
+ pcb_trace_error_id: string;
1757
2267
  pcb_component_ids: string[];
1758
2268
  pcb_port_ids: string[];
1759
2269
  center?: {
@@ -1762,45 +2272,72 @@ declare const pcb_trace_error: z.ZodObject<{
1762
2272
  } | undefined;
1763
2273
  }, {
1764
2274
  message: string;
1765
- type: "pcb_error";
2275
+ type: "pcb_trace_error";
1766
2276
  source_trace_id: string;
1767
2277
  error_type: "pcb_trace_error";
1768
2278
  pcb_trace_id: string;
1769
- pcb_error_id: string;
1770
2279
  pcb_component_ids: string[];
1771
2280
  pcb_port_ids: string[];
1772
2281
  center?: {
1773
2282
  x: string | number;
1774
2283
  y: string | number;
1775
2284
  } | undefined;
2285
+ pcb_trace_error_id?: string | undefined;
1776
2286
  }>;
1777
- type PCBTraceErrorInput = z.input<typeof pcb_trace_error>;
1778
- type PCBTraceError = z.infer<typeof pcb_trace_error>;
2287
+ type PcbTraceErrorInput = z.input<typeof pcb_trace_error>;
2288
+ /**
2289
+ * Defines a trace error on the PCB
2290
+ */
2291
+ interface PcbTraceError {
2292
+ type: "pcb_trace_error";
2293
+ pcb_trace_error_id: string;
2294
+ error_type: "pcb_trace_error";
2295
+ message: string;
2296
+ center?: Point;
2297
+ pcb_trace_id: string;
2298
+ source_trace_id: string;
2299
+ pcb_component_ids: string[];
2300
+ pcb_port_ids: string[];
2301
+ }
2302
+ /**
2303
+ * @deprecated use PcbTraceError
2304
+ */
2305
+ type PCBTraceError = PcbTraceError;
1779
2306
 
1780
2307
  declare const pcb_port_not_matched_error: z.ZodObject<{
1781
- pcb_error_id: z.ZodString;
1782
- type: z.ZodLiteral<"pcb_error">;
1783
- error_type: z.ZodLiteral<"pcb_port_not_matched_error">;
2308
+ type: z.ZodLiteral<"pcb_port_not_matched_error">;
2309
+ pcb_error_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1784
2310
  message: z.ZodString;
1785
2311
  pcb_component_ids: z.ZodArray<z.ZodString, "many">;
1786
2312
  }, "strip", z.ZodTypeAny, {
1787
2313
  message: string;
1788
- type: "pcb_error";
1789
- error_type: "pcb_port_not_matched_error";
1790
- pcb_error_id: string;
2314
+ type: "pcb_port_not_matched_error";
1791
2315
  pcb_component_ids: string[];
2316
+ pcb_error_id: string;
1792
2317
  }, {
1793
2318
  message: string;
1794
- type: "pcb_error";
1795
- error_type: "pcb_port_not_matched_error";
1796
- pcb_error_id: string;
2319
+ type: "pcb_port_not_matched_error";
1797
2320
  pcb_component_ids: string[];
2321
+ pcb_error_id?: string | undefined;
1798
2322
  }>;
1799
- type PCBPortNotMatchedErrorInput = z.input<typeof pcb_port_not_matched_error>;
1800
- type PCBPortNotMatchedError = z.infer<typeof pcb_port_not_matched_error>;
2323
+ type PcbPortNotMatchedErrorInput = z.input<typeof pcb_port_not_matched_error>;
2324
+ /**
2325
+ * Defines a trace error on the PCB where a port is not matched
2326
+ */
2327
+ interface PcbPortNotMatchedError {
2328
+ type: "pcb_port_not_matched_error";
2329
+ pcb_error_id: string;
2330
+ message: string;
2331
+ pcb_component_ids: string[];
2332
+ }
2333
+ /**
2334
+ * @deprecated use PcbPortNotMatchedError
2335
+ */
2336
+ type PCBPortNotMatchedError = PcbPortNotMatchedError;
1801
2337
 
1802
2338
  declare const pcb_via: z.ZodObject<{
1803
2339
  type: z.ZodLiteral<"pcb_via">;
2340
+ pcb_via_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1804
2341
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1805
2342
  y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1806
2343
  outer_diameter: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
@@ -1841,6 +2378,7 @@ declare const pcb_via: z.ZodObject<{
1841
2378
  hole_diameter: number;
1842
2379
  outer_diameter: number;
1843
2380
  layers: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6")[];
2381
+ pcb_via_id: string;
1844
2382
  to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
1845
2383
  from_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
1846
2384
  }, {
@@ -1858,13 +2396,33 @@ declare const pcb_via: z.ZodObject<{
1858
2396
  from_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
1859
2397
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1860
2398
  } | undefined;
2399
+ pcb_via_id?: string | undefined;
1861
2400
  }>;
1862
- type PCBViaInput = z.input<typeof pcb_via>;
1863
- type PCBVia = z.infer<typeof pcb_via>;
2401
+ type PcbViaInput = z.input<typeof pcb_via>;
2402
+ /**
2403
+ * Defines a via on the PCB
2404
+ */
2405
+ interface PcbVia {
2406
+ type: "pcb_via";
2407
+ pcb_via_id: string;
2408
+ x: Distance;
2409
+ y: Distance;
2410
+ outer_diameter: Distance;
2411
+ hole_diameter: Distance;
2412
+ /** @deprecated */
2413
+ from_layer?: LayerRef;
2414
+ /** @deprecated */
2415
+ to_layer?: LayerRef;
2416
+ layers: LayerRef[];
2417
+ }
2418
+ /**
2419
+ * @deprecated use PcbVia
2420
+ */
2421
+ type PCBVia = PcbVia;
1864
2422
 
1865
2423
  declare const pcb_board: z.ZodObject<{
1866
2424
  type: z.ZodLiteral<"pcb_board">;
1867
- pcb_board_id: z.ZodDefault<z.ZodString>;
2425
+ pcb_board_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1868
2426
  width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1869
2427
  height: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1870
2428
  center: z.ZodObject<{
@@ -1877,6 +2435,16 @@ declare const pcb_board: z.ZodObject<{
1877
2435
  x: string | number;
1878
2436
  y: string | number;
1879
2437
  }>;
2438
+ outline: z.ZodOptional<z.ZodArray<z.ZodObject<{
2439
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2440
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2441
+ }, "strip", z.ZodTypeAny, {
2442
+ x: number;
2443
+ y: number;
2444
+ }, {
2445
+ x: string | number;
2446
+ y: string | number;
2447
+ }>, "many">>;
1880
2448
  }, "strip", z.ZodTypeAny, {
1881
2449
  type: "pcb_board";
1882
2450
  width: number;
@@ -1886,6 +2454,10 @@ declare const pcb_board: z.ZodObject<{
1886
2454
  y: number;
1887
2455
  };
1888
2456
  pcb_board_id: string;
2457
+ outline?: {
2458
+ x: number;
2459
+ y: number;
2460
+ }[] | undefined;
1889
2461
  }, {
1890
2462
  type: "pcb_board";
1891
2463
  width: string | number;
@@ -1895,35 +2467,71 @@ declare const pcb_board: z.ZodObject<{
1895
2467
  y: string | number;
1896
2468
  };
1897
2469
  pcb_board_id?: string | undefined;
2470
+ outline?: {
2471
+ x: string | number;
2472
+ y: string | number;
2473
+ }[] | undefined;
1898
2474
  }>;
1899
- type PCBBoardInput = z.input<typeof pcb_board>;
1900
- type PCBBoard = z.infer<typeof pcb_board>;
2475
+ /**
2476
+ * Defines the board outline of the PCB
2477
+ */
2478
+ interface PcbBoard {
2479
+ type: "pcb_board";
2480
+ pcb_board_id: string;
2481
+ width: Length;
2482
+ height: Length;
2483
+ center: Point;
2484
+ outline?: Point[];
2485
+ }
2486
+ type PcbBoardInput = z.input<typeof pcb_board>;
2487
+ /**
2488
+ * @deprecated use PcbBoard
2489
+ */
2490
+ type PCBBoard = PcbBoard;
1901
2491
 
1902
2492
  declare const pcb_placement_error: z.ZodObject<{
1903
- pcb_error_id: z.ZodString;
1904
- type: z.ZodLiteral<"pcb_error">;
1905
- error_type: z.ZodLiteral<"pcb_placement_error">;
2493
+ type: z.ZodLiteral<"pcb_placement_error">;
2494
+ pcb_placement_error_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1906
2495
  message: z.ZodString;
1907
2496
  }, "strip", z.ZodTypeAny, {
1908
2497
  message: string;
1909
- type: "pcb_error";
1910
- error_type: "pcb_placement_error";
1911
- pcb_error_id: string;
2498
+ type: "pcb_placement_error";
2499
+ pcb_placement_error_id: string;
1912
2500
  }, {
1913
2501
  message: string;
1914
- type: "pcb_error";
1915
- error_type: "pcb_placement_error";
1916
- pcb_error_id: string;
2502
+ type: "pcb_placement_error";
2503
+ pcb_placement_error_id?: string | undefined;
1917
2504
  }>;
1918
- type PCBPlacementErrorInput = z.input<typeof pcb_placement_error>;
1919
- type PCBPlacementError = z.infer<typeof pcb_placement_error>;
2505
+ type PcbPlacementErrorInput = z.input<typeof pcb_placement_error>;
2506
+ /**
2507
+ * Defines a placement error on the PCB
2508
+ */
2509
+ interface PcbPlacementError {
2510
+ type: "pcb_placement_error";
2511
+ pcb_placement_error_id: string;
2512
+ message: string;
2513
+ }
2514
+ /**
2515
+ * @deprecated use PcbPlacementError
2516
+ */
2517
+ type PCBPlacementError = PcbPlacementError;
1920
2518
 
2519
+ /**
2520
+ * A hint that can be used during generation of a PCB trace.
2521
+ */
2522
+ interface PcbTraceHint {
2523
+ type: "pcb_trace_hint";
2524
+ pcb_trace_hint_id: string;
2525
+ pcb_port_id: string;
2526
+ pcb_component_id: string;
2527
+ route: RouteHintPoint[];
2528
+ }
1921
2529
  declare const pcb_trace_hint: z.ZodObject<{
1922
- pcb_trace_hint_id: z.ZodString;
1923
2530
  type: z.ZodLiteral<"pcb_trace_hint">;
2531
+ pcb_trace_hint_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1924
2532
  pcb_port_id: z.ZodString;
1925
2533
  pcb_component_id: z.ZodString;
1926
- route: z.ZodArray<z.ZodOptional<z.ZodObject<{
2534
+ route: z.ZodArray<z.ZodObject<{
1927
2535
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1928
2536
  y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
1929
2537
  via: z.ZodOptional<z.ZodBoolean>;
@@ -1951,24 +2559,24 @@ declare const pcb_trace_hint: z.ZodObject<{
1951
2559
  to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
1952
2560
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1953
2561
  } | undefined;
1954
- }>>, "many">;
2562
+ }>, "many">;
1955
2563
  }, "strip", z.ZodTypeAny, {
1956
2564
  type: "pcb_trace_hint";
1957
2565
  pcb_component_id: string;
1958
2566
  pcb_port_id: string;
1959
- route: ({
2567
+ route: {
1960
2568
  x: number;
1961
2569
  y: number;
1962
2570
  trace_width?: number | undefined;
1963
2571
  via?: boolean | undefined;
1964
2572
  to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
1965
- } | undefined)[];
2573
+ }[];
1966
2574
  pcb_trace_hint_id: string;
1967
2575
  }, {
1968
2576
  type: "pcb_trace_hint";
1969
2577
  pcb_component_id: string;
1970
2578
  pcb_port_id: string;
1971
- route: ({
2579
+ route: {
1972
2580
  x: string | number;
1973
2581
  y: string | number;
1974
2582
  trace_width?: string | number | undefined;
@@ -1976,15 +2584,18 @@ declare const pcb_trace_hint: z.ZodObject<{
1976
2584
  to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
1977
2585
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
1978
2586
  } | undefined;
1979
- } | undefined)[];
1980
- pcb_trace_hint_id: string;
2587
+ }[];
2588
+ pcb_trace_hint_id?: string | undefined;
1981
2589
  }>;
1982
- type PcbTraceHint = z.infer<typeof pcb_trace_hint>;
1983
2590
  type PcbTraceHintInput = z.input<typeof pcb_trace_hint>;
2591
+ /**
2592
+ * @deprecated use PcbTraceHint
2593
+ */
2594
+ type PCBTraceHint = PcbTraceHint;
1984
2595
 
1985
2596
  declare const pcb_silkscreen_line: z.ZodObject<{
1986
2597
  type: z.ZodLiteral<"pcb_silkscreen_line">;
1987
- pcb_silkscreen_line_id: z.ZodString;
2598
+ pcb_silkscreen_line_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1988
2599
  pcb_component_id: z.ZodString;
1989
2600
  stroke_width: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
1990
2601
  x1: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
@@ -2010,15 +2621,32 @@ declare const pcb_silkscreen_line: z.ZodObject<{
2010
2621
  y2: string | number;
2011
2622
  pcb_component_id: string;
2012
2623
  layer: "top" | "bottom";
2013
- pcb_silkscreen_line_id: string;
2624
+ pcb_silkscreen_line_id?: string | undefined;
2014
2625
  stroke_width?: string | number | undefined;
2015
2626
  }>;
2016
- type PcbSilkscreenLine = z.infer<typeof pcb_silkscreen_line>;
2017
2627
  type PcbSilkscreenLineInput = z.input<typeof pcb_silkscreen_line>;
2628
+ /**
2629
+ * Defines a silkscreen line on the PCB
2630
+ */
2631
+ interface PcbSilkscreenLine {
2632
+ type: "pcb_silkscreen_line";
2633
+ pcb_silkscreen_line_id: string;
2634
+ pcb_component_id: string;
2635
+ stroke_width: Distance;
2636
+ x1: Distance;
2637
+ y1: Distance;
2638
+ x2: Distance;
2639
+ y2: Distance;
2640
+ layer: VisibleLayer;
2641
+ }
2642
+ /**
2643
+ * @deprecated use PcbSilkscreenLine
2644
+ */
2645
+ type PCBSilkscreenLine = PcbSilkscreenLine;
2018
2646
 
2019
2647
  declare const pcb_silkscreen_path: z.ZodObject<{
2020
2648
  type: z.ZodLiteral<"pcb_silkscreen_path">;
2021
- pcb_silkscreen_path_id: z.ZodString;
2649
+ pcb_silkscreen_path_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
2022
2650
  pcb_component_id: z.ZodString;
2023
2651
  layer: z.ZodEnum<["top", "bottom"]>;
2024
2652
  route: z.ZodArray<z.ZodObject<{
@@ -2051,18 +2679,41 @@ declare const pcb_silkscreen_path: z.ZodObject<{
2051
2679
  y: string | number;
2052
2680
  }[];
2053
2681
  stroke_width: string | number;
2054
- pcb_silkscreen_path_id: string;
2682
+ pcb_silkscreen_path_id?: string | undefined;
2055
2683
  }>;
2056
- type PcbSilkscreenPath = z.infer<typeof pcb_silkscreen_path>;
2057
2684
  type PcbSilkscreenPathInput = z.input<typeof pcb_silkscreen_path>;
2685
+ /**
2686
+ * Defines a silkscreen path on the PCB
2687
+ */
2688
+ interface PcbSilkscreenPath {
2689
+ type: "pcb_silkscreen_path";
2690
+ pcb_silkscreen_path_id: string;
2691
+ pcb_component_id: string;
2692
+ layer: VisibleLayerRef;
2693
+ route: Point[];
2694
+ stroke_width: Length;
2695
+ }
2696
+ /**
2697
+ * @deprecated use PcbSilkscreenPath
2698
+ */
2699
+ type PcbSilkscreenPathDeprecated = PcbSilkscreenPath;
2058
2700
 
2059
2701
  declare const pcb_silkscreen_text: z.ZodObject<{
2060
2702
  type: z.ZodLiteral<"pcb_silkscreen_text">;
2703
+ pcb_silkscreen_text_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
2061
2704
  font: z.ZodDefault<z.ZodLiteral<"tscircuit2024">>;
2062
2705
  font_size: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
2063
2706
  pcb_component_id: z.ZodString;
2064
2707
  text: z.ZodString;
2065
- layer: z.ZodEnum<["top", "bottom"]>;
2708
+ layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
2709
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
2710
+ }, "strip", z.ZodTypeAny, {
2711
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2712
+ }, {
2713
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2714
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
2715
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2716
+ }>;
2066
2717
  anchor_position: z.ZodDefault<z.ZodObject<{
2067
2718
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2068
2719
  y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
@@ -2078,7 +2729,8 @@ declare const pcb_silkscreen_text: z.ZodObject<{
2078
2729
  type: "pcb_silkscreen_text";
2079
2730
  text: string;
2080
2731
  pcb_component_id: string;
2081
- layer: "top" | "bottom";
2732
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2733
+ pcb_silkscreen_text_id: string;
2082
2734
  font: "tscircuit2024";
2083
2735
  font_size: number;
2084
2736
  anchor_position: {
@@ -2090,7 +2742,10 @@ declare const pcb_silkscreen_text: z.ZodObject<{
2090
2742
  type: "pcb_silkscreen_text";
2091
2743
  text: string;
2092
2744
  pcb_component_id: string;
2093
- layer: "top" | "bottom";
2745
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
2746
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2747
+ };
2748
+ pcb_silkscreen_text_id?: string | undefined;
2094
2749
  font?: "tscircuit2024" | undefined;
2095
2750
  font_size?: string | number | undefined;
2096
2751
  anchor_position?: {
@@ -2099,12 +2754,29 @@ declare const pcb_silkscreen_text: z.ZodObject<{
2099
2754
  } | undefined;
2100
2755
  anchor_alignment?: "center" | "top_left" | "top_right" | "bottom_left" | "bottom_right" | undefined;
2101
2756
  }>;
2102
- type PcbSilkscreenText = z.infer<typeof pcb_silkscreen_text>;
2103
2757
  type PcbSilkscreenTextInput = z.input<typeof pcb_silkscreen_text>;
2758
+ /**
2759
+ * Defines silkscreen text on the PCB
2760
+ */
2761
+ interface PcbSilkscreenText {
2762
+ type: "pcb_silkscreen_text";
2763
+ pcb_silkscreen_text_id: string;
2764
+ font: "tscircuit2024";
2765
+ font_size: Length;
2766
+ pcb_component_id: string;
2767
+ text: string;
2768
+ layer: LayerRef;
2769
+ anchor_position: Point;
2770
+ anchor_alignment: "center" | "top_left" | "top_right" | "bottom_left" | "bottom_right";
2771
+ }
2772
+ /**
2773
+ * @deprecated use PcbSilkscreenText
2774
+ */
2775
+ type PCBSilkscreenText = PcbSilkscreenText;
2104
2776
 
2105
2777
  declare const pcb_silkscreen_rect: z.ZodObject<{
2106
2778
  type: z.ZodLiteral<"pcb_silkscreen_rect">;
2107
- pcb_silkscreen_rect_id: z.ZodString;
2779
+ pcb_silkscreen_rect_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
2108
2780
  pcb_component_id: z.ZodString;
2109
2781
  center: z.ZodObject<{
2110
2782
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
@@ -2118,7 +2790,15 @@ declare const pcb_silkscreen_rect: z.ZodObject<{
2118
2790
  }>;
2119
2791
  width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2120
2792
  height: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2121
- layer: z.ZodEnum<["top", "bottom"]>;
2793
+ layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
2794
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
2795
+ }, "strip", z.ZodTypeAny, {
2796
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2797
+ }, {
2798
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2799
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
2800
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2801
+ }>;
2122
2802
  }, "strip", z.ZodTypeAny, {
2123
2803
  type: "pcb_silkscreen_rect";
2124
2804
  width: number;
@@ -2128,7 +2808,7 @@ declare const pcb_silkscreen_rect: z.ZodObject<{
2128
2808
  y: number;
2129
2809
  };
2130
2810
  pcb_component_id: string;
2131
- layer: "top" | "bottom";
2811
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2132
2812
  pcb_silkscreen_rect_id: string;
2133
2813
  }, {
2134
2814
  type: "pcb_silkscreen_rect";
@@ -2139,15 +2819,32 @@ declare const pcb_silkscreen_rect: z.ZodObject<{
2139
2819
  y: string | number;
2140
2820
  };
2141
2821
  pcb_component_id: string;
2142
- layer: "top" | "bottom";
2143
- pcb_silkscreen_rect_id: string;
2144
- }>;
2145
- type PcbSilkscreenRect = z.infer<typeof pcb_silkscreen_rect>;
2146
- type PcbSilkscreenRectInput = z.input<typeof pcb_silkscreen_rect>;
2822
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
2823
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2824
+ };
2825
+ pcb_silkscreen_rect_id?: string | undefined;
2826
+ }>;
2827
+ type PcbSilkscreenRectInput = z.input<typeof pcb_silkscreen_rect>;
2828
+ /**
2829
+ * Defines a silkscreen rect on the PCB
2830
+ */
2831
+ interface PcbSilkscreenRect {
2832
+ type: "pcb_silkscreen_rect";
2833
+ pcb_silkscreen_rect_id: string;
2834
+ pcb_component_id: string;
2835
+ center: Point;
2836
+ width: Length;
2837
+ height: Length;
2838
+ layer: LayerRef;
2839
+ }
2840
+ /**
2841
+ * @deprecated use PcbSilkscreenRect
2842
+ */
2843
+ type PcbSilkscreenRectOld = PcbSilkscreenRect;
2147
2844
 
2148
2845
  declare const pcb_silkscreen_circle: z.ZodObject<{
2149
2846
  type: z.ZodLiteral<"pcb_silkscreen_circle">;
2150
- pcb_silkscreen_circle_id: z.ZodString;
2847
+ pcb_silkscreen_circle_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
2151
2848
  pcb_component_id: z.ZodString;
2152
2849
  center: z.ZodObject<{
2153
2850
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
@@ -2180,14 +2877,24 @@ declare const pcb_silkscreen_circle: z.ZodObject<{
2180
2877
  pcb_component_id: string;
2181
2878
  layer: "top" | "bottom";
2182
2879
  radius: string | number;
2183
- pcb_silkscreen_circle_id: string;
2880
+ pcb_silkscreen_circle_id?: string | undefined;
2184
2881
  }>;
2185
- type PcbSilkscreenCircle = z.infer<typeof pcb_silkscreen_circle>;
2186
2882
  type PcbSilkscreenCircleInput = z.input<typeof pcb_silkscreen_circle>;
2883
+ /**
2884
+ * Defines a silkscreen circle on the PCB
2885
+ */
2886
+ interface PcbSilkscreenCircle {
2887
+ type: "pcb_silkscreen_circle";
2888
+ pcb_silkscreen_circle_id: string;
2889
+ pcb_component_id: string;
2890
+ center: Point;
2891
+ radius: Length;
2892
+ layer: VisibleLayer;
2893
+ }
2187
2894
 
2188
2895
  declare const pcb_silkscreen_oval: z.ZodObject<{
2189
2896
  type: z.ZodLiteral<"pcb_silkscreen_oval">;
2190
- pcb_silkscreen_oval_id: z.ZodString;
2897
+ pcb_silkscreen_oval_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
2191
2898
  pcb_component_id: z.ZodString;
2192
2899
  center: z.ZodObject<{
2193
2900
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
@@ -2221,15 +2928,31 @@ declare const pcb_silkscreen_oval: z.ZodObject<{
2221
2928
  };
2222
2929
  pcb_component_id: string;
2223
2930
  layer: "top" | "bottom";
2224
- pcb_silkscreen_oval_id: string;
2225
2931
  radius_x: string | number;
2226
2932
  radius_y: string | number;
2933
+ pcb_silkscreen_oval_id?: string | undefined;
2227
2934
  }>;
2228
- type PcbSilkscreenOval = z.infer<typeof pcb_silkscreen_oval>;
2229
2935
  type PcbSilkscreenOvalInput = z.input<typeof pcb_silkscreen_oval>;
2936
+ /**
2937
+ * Defines a silkscreen oval on the PCB
2938
+ */
2939
+ interface PcbSilkscreenOval {
2940
+ type: "pcb_silkscreen_oval";
2941
+ pcb_silkscreen_oval_id: string;
2942
+ pcb_component_id: string;
2943
+ center: Point;
2944
+ radius_x: Distance;
2945
+ radius_y: Distance;
2946
+ layer: VisibleLayer;
2947
+ }
2948
+ /**
2949
+ * @deprecated use PcbSilkscreenOval
2950
+ */
2951
+ type PcbSilkscreenOvalDeprecated = PcbSilkscreenOval;
2230
2952
 
2231
2953
  declare const pcb_fabrication_note_text: z.ZodObject<{
2232
2954
  type: z.ZodLiteral<"pcb_fabrication_note_text">;
2955
+ pcb_fabrication_note_text_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
2233
2956
  font: z.ZodDefault<z.ZodLiteral<"tscircuit2024">>;
2234
2957
  font_size: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
2235
2958
  pcb_component_id: z.ZodString;
@@ -2246,6 +2969,7 @@ declare const pcb_fabrication_note_text: z.ZodObject<{
2246
2969
  y: string | number;
2247
2970
  }>>;
2248
2971
  anchor_alignment: z.ZodDefault<z.ZodEnum<["center", "top_left", "top_right", "bottom_left", "bottom_right"]>>;
2972
+ color: z.ZodOptional<z.ZodString>;
2249
2973
  }, "strip", z.ZodTypeAny, {
2250
2974
  type: "pcb_fabrication_note_text";
2251
2975
  text: string;
@@ -2258,6 +2982,8 @@ declare const pcb_fabrication_note_text: z.ZodObject<{
2258
2982
  y: number;
2259
2983
  };
2260
2984
  anchor_alignment: "center" | "top_left" | "top_right" | "bottom_left" | "bottom_right";
2985
+ pcb_fabrication_note_text_id: string;
2986
+ color?: string | undefined;
2261
2987
  }, {
2262
2988
  type: "pcb_fabrication_note_text";
2263
2989
  text: string;
@@ -2270,15 +2996,43 @@ declare const pcb_fabrication_note_text: z.ZodObject<{
2270
2996
  y: string | number;
2271
2997
  } | undefined;
2272
2998
  anchor_alignment?: "center" | "top_left" | "top_right" | "bottom_left" | "bottom_right" | undefined;
2999
+ pcb_fabrication_note_text_id?: string | undefined;
3000
+ color?: string | undefined;
2273
3001
  }>;
2274
- type PcbFabricationNoteText = z.infer<typeof pcb_fabrication_note_text>;
2275
3002
  type PcbFabricationNoteTextInput = z.input<typeof pcb_fabrication_note_text>;
3003
+ /**
3004
+ * Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators
3005
+ */
3006
+ interface PcbFabricationNoteText {
3007
+ type: "pcb_fabrication_note_text";
3008
+ pcb_fabrication_note_text_id: string;
3009
+ font: "tscircuit2024";
3010
+ font_size: Length;
3011
+ pcb_component_id: string;
3012
+ text: string;
3013
+ layer: VisibleLayer;
3014
+ anchor_position: Point;
3015
+ anchor_alignment: "center" | "top_left" | "top_right" | "bottom_left" | "bottom_right";
3016
+ color?: string;
3017
+ }
3018
+ /**
3019
+ * @deprecated use PcbFabricationNoteText
3020
+ */
3021
+ type PCBFabricationNoteText = PcbFabricationNoteText;
2276
3022
 
2277
3023
  declare const pcb_fabrication_note_path: z.ZodObject<{
2278
3024
  type: z.ZodLiteral<"pcb_fabrication_note_path">;
2279
- fabrication_note_path_id: z.ZodString;
3025
+ pcb_fabrication_note_path_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
2280
3026
  pcb_component_id: z.ZodString;
2281
- layer: z.ZodEnum<["top", "bottom"]>;
3027
+ layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
3028
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
3029
+ }, "strip", z.ZodTypeAny, {
3030
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3031
+ }, {
3032
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3033
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
3034
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3035
+ }>;
2282
3036
  route: z.ZodArray<z.ZodObject<{
2283
3037
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2284
3038
  y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
@@ -2290,64 +3044,94 @@ declare const pcb_fabrication_note_path: z.ZodObject<{
2290
3044
  y: string | number;
2291
3045
  }>, "many">;
2292
3046
  stroke_width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3047
+ color: z.ZodOptional<z.ZodString>;
2293
3048
  }, "strip", z.ZodTypeAny, {
2294
3049
  type: "pcb_fabrication_note_path";
2295
3050
  pcb_component_id: string;
2296
- layer: "top" | "bottom";
3051
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2297
3052
  route: {
2298
3053
  x: number;
2299
3054
  y: number;
2300
3055
  }[];
2301
3056
  stroke_width: number;
2302
- fabrication_note_path_id: string;
3057
+ pcb_fabrication_note_path_id: string;
3058
+ color?: string | undefined;
2303
3059
  }, {
2304
3060
  type: "pcb_fabrication_note_path";
2305
3061
  pcb_component_id: string;
2306
- layer: "top" | "bottom";
3062
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
3063
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3064
+ };
2307
3065
  route: {
2308
3066
  x: string | number;
2309
3067
  y: string | number;
2310
3068
  }[];
2311
3069
  stroke_width: string | number;
2312
- fabrication_note_path_id: string;
3070
+ color?: string | undefined;
3071
+ pcb_fabrication_note_path_id?: string | undefined;
2313
3072
  }>;
2314
- type PcbFabricationNotePath = z.infer<typeof pcb_fabrication_note_path>;
2315
3073
  type PcbFabricationNotePathInput = z.input<typeof pcb_fabrication_note_path>;
3074
+ /**
3075
+ * Defines a fabrication path on the PCB for fabricators or assemblers
3076
+ */
3077
+ interface PcbFabricationNotePath {
3078
+ type: "pcb_fabrication_note_path";
3079
+ pcb_fabrication_note_path_id: string;
3080
+ pcb_component_id: string;
3081
+ layer: LayerRef;
3082
+ route: Point[];
3083
+ stroke_width: Length;
3084
+ color?: string;
3085
+ }
3086
+ /**
3087
+ * @deprecated use PcbFabricationNotePath
3088
+ */
3089
+ type PCBFabricationNotePath = PcbFabricationNotePath;
2316
3090
 
2317
- declare const pcb_keepout: z.ZodIntersection<z.ZodObject<{
3091
+ declare const pcb_keepout: z.ZodUnion<[z.ZodObject<{
2318
3092
  type: z.ZodLiteral<"pcb_keepout">;
2319
- pcb_keepout_id: z.ZodString;
2320
- layer: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2321
- description: z.ZodOptional<z.ZodString>;
2322
- }, "strip", z.ZodTypeAny, {
2323
- type: "pcb_keepout";
2324
- pcb_keepout_id: string;
2325
- layer?: string[] | undefined;
2326
- description?: string | undefined;
2327
- }, {
2328
- type: "pcb_keepout";
2329
- pcb_keepout_id: string;
2330
- layer?: string[] | undefined;
2331
- description?: string | undefined;
2332
- }>, z.ZodUnion<[z.ZodObject<{
2333
3093
  shape: z.ZodLiteral<"rect">;
2334
- x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2335
- y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3094
+ center: z.ZodObject<{
3095
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3096
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3097
+ }, "strip", z.ZodTypeAny, {
3098
+ x: number;
3099
+ y: number;
3100
+ }, {
3101
+ x: string | number;
3102
+ y: string | number;
3103
+ }>;
2336
3104
  width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2337
3105
  height: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3106
+ pcb_keepout_id: z.ZodString;
3107
+ layers: z.ZodArray<z.ZodString, "many">;
3108
+ description: z.ZodOptional<z.ZodString>;
2338
3109
  }, "strip", z.ZodTypeAny, {
2339
- x: number;
2340
- y: number;
3110
+ type: "pcb_keepout";
2341
3111
  width: number;
2342
3112
  height: number;
3113
+ center: {
3114
+ x: number;
3115
+ y: number;
3116
+ };
2343
3117
  shape: "rect";
3118
+ layers: string[];
3119
+ pcb_keepout_id: string;
3120
+ description?: string | undefined;
2344
3121
  }, {
2345
- x: string | number;
2346
- y: string | number;
3122
+ type: "pcb_keepout";
2347
3123
  width: string | number;
2348
3124
  height: string | number;
3125
+ center: {
3126
+ x: string | number;
3127
+ y: string | number;
3128
+ };
2349
3129
  shape: "rect";
3130
+ layers: string[];
3131
+ pcb_keepout_id: string;
3132
+ description?: string | undefined;
2350
3133
  }>, z.ZodObject<{
3134
+ type: z.ZodLiteral<"pcb_keepout">;
2351
3135
  shape: z.ZodLiteral<"circle">;
2352
3136
  center: z.ZodObject<{
2353
3137
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
@@ -2359,26 +3143,2253 @@ declare const pcb_keepout: z.ZodIntersection<z.ZodObject<{
2359
3143
  x: string | number;
2360
3144
  y: string | number;
2361
3145
  }>;
2362
- radius: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3146
+ radius: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3147
+ pcb_keepout_id: z.ZodString;
3148
+ layers: z.ZodArray<z.ZodString, "many">;
3149
+ description: z.ZodOptional<z.ZodString>;
3150
+ }, "strip", z.ZodTypeAny, {
3151
+ type: "pcb_keepout";
3152
+ center: {
3153
+ x: number;
3154
+ y: number;
3155
+ };
3156
+ shape: "circle";
3157
+ layers: string[];
3158
+ radius: number;
3159
+ pcb_keepout_id: string;
3160
+ description?: string | undefined;
3161
+ }, {
3162
+ type: "pcb_keepout";
3163
+ center: {
3164
+ x: string | number;
3165
+ y: string | number;
3166
+ };
3167
+ shape: "circle";
3168
+ layers: string[];
3169
+ radius: string | number;
3170
+ pcb_keepout_id: string;
3171
+ description?: string | undefined;
3172
+ }>]>;
3173
+ type PCBKeepoutInput = z.input<typeof pcb_keepout>;
3174
+ type PCBKeepout = z.infer<typeof pcb_keepout>;
3175
+
3176
+ type PcbCircuitElement = PcbComponent | PcbHole | PcbPlatedHole | PcbPort | PcbSmtPad | PcbText | PcbTrace | PcbTraceError | PcbPortNotMatchedError | PcbVia | PcbBoard | PcbPlacementError | PcbTraceHint | PcbSilkscreenLine | PcbSilkscreenPath | PcbSilkscreenText | PcbSilkscreenRect | PcbSilkscreenCircle;
3177
+
3178
+ declare const cad_component: z.ZodObject<{
3179
+ type: z.ZodLiteral<"cad_component">;
3180
+ cad_component_id: z.ZodString;
3181
+ pcb_component_id: z.ZodString;
3182
+ source_component_id: z.ZodString;
3183
+ position: z.ZodObject<{
3184
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3185
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3186
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3187
+ }, "strip", z.ZodTypeAny, {
3188
+ x: number;
3189
+ y: number;
3190
+ z: number;
3191
+ }, {
3192
+ x: string | number;
3193
+ y: string | number;
3194
+ z: string | number;
3195
+ }>;
3196
+ rotation: z.ZodOptional<z.ZodObject<{
3197
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3198
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3199
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3200
+ }, "strip", z.ZodTypeAny, {
3201
+ x: number;
3202
+ y: number;
3203
+ z: number;
3204
+ }, {
3205
+ x: string | number;
3206
+ y: string | number;
3207
+ z: string | number;
3208
+ }>>;
3209
+ size: z.ZodOptional<z.ZodObject<{
3210
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3211
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3212
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3213
+ }, "strip", z.ZodTypeAny, {
3214
+ x: number;
3215
+ y: number;
3216
+ z: number;
3217
+ }, {
3218
+ x: string | number;
3219
+ y: string | number;
3220
+ z: string | number;
3221
+ }>>;
3222
+ layer: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
3223
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
3224
+ }, "strip", z.ZodTypeAny, {
3225
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3226
+ }, {
3227
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3228
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
3229
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3230
+ }>>;
3231
+ footprinter_string: z.ZodOptional<z.ZodString>;
3232
+ model_obj_url: z.ZodOptional<z.ZodString>;
3233
+ model_stl_url: z.ZodOptional<z.ZodString>;
3234
+ model_3mf_url: z.ZodOptional<z.ZodString>;
3235
+ model_jscad: z.ZodOptional<z.ZodAny>;
3236
+ }, "strip", z.ZodTypeAny, {
3237
+ type: "cad_component";
3238
+ source_component_id: string;
3239
+ position: {
3240
+ x: number;
3241
+ y: number;
3242
+ z: number;
3243
+ };
3244
+ pcb_component_id: string;
3245
+ cad_component_id: string;
3246
+ rotation?: {
3247
+ x: number;
3248
+ y: number;
3249
+ z: number;
3250
+ } | undefined;
3251
+ size?: {
3252
+ x: number;
3253
+ y: number;
3254
+ z: number;
3255
+ } | undefined;
3256
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
3257
+ footprinter_string?: string | undefined;
3258
+ model_obj_url?: string | undefined;
3259
+ model_stl_url?: string | undefined;
3260
+ model_3mf_url?: string | undefined;
3261
+ model_jscad?: any;
3262
+ }, {
3263
+ type: "cad_component";
3264
+ source_component_id: string;
3265
+ position: {
3266
+ x: string | number;
3267
+ y: string | number;
3268
+ z: string | number;
3269
+ };
3270
+ pcb_component_id: string;
3271
+ cad_component_id: string;
3272
+ rotation?: {
3273
+ x: string | number;
3274
+ y: string | number;
3275
+ z: string | number;
3276
+ } | undefined;
3277
+ size?: {
3278
+ x: string | number;
3279
+ y: string | number;
3280
+ z: string | number;
3281
+ } | undefined;
3282
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
3283
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3284
+ } | undefined;
3285
+ footprinter_string?: string | undefined;
3286
+ model_obj_url?: string | undefined;
3287
+ model_stl_url?: string | undefined;
3288
+ model_3mf_url?: string | undefined;
3289
+ model_jscad?: any;
3290
+ }>;
3291
+ type CadComponentInput = z.input<typeof cad_component>;
3292
+ type CadComponent = z.infer<typeof cad_component>;
3293
+
3294
+ declare const any_circuit_element: z.ZodUnion<[z.ZodObject<{
3295
+ type: z.ZodLiteral<"source_trace">;
3296
+ source_trace_id: z.ZodString;
3297
+ connected_source_port_ids: z.ZodArray<z.ZodString, "many">;
3298
+ connected_source_net_ids: z.ZodArray<z.ZodString, "many">;
3299
+ }, "strip", z.ZodTypeAny, {
3300
+ type: "source_trace";
3301
+ source_trace_id: string;
3302
+ connected_source_port_ids: string[];
3303
+ connected_source_net_ids: string[];
3304
+ }, {
3305
+ type: "source_trace";
3306
+ source_trace_id: string;
3307
+ connected_source_port_ids: string[];
3308
+ connected_source_net_ids: string[];
3309
+ }>, z.ZodObject<{
3310
+ type: z.ZodLiteral<"source_port">;
3311
+ pin_number: z.ZodOptional<z.ZodNumber>;
3312
+ port_hints: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3313
+ name: z.ZodString;
3314
+ source_port_id: z.ZodString;
3315
+ source_component_id: z.ZodString;
3316
+ }, "strip", z.ZodTypeAny, {
3317
+ type: "source_port";
3318
+ source_component_id: string;
3319
+ name: string;
3320
+ source_port_id: string;
3321
+ pin_number?: number | undefined;
3322
+ port_hints?: string[] | undefined;
3323
+ }, {
3324
+ type: "source_port";
3325
+ source_component_id: string;
3326
+ name: string;
3327
+ source_port_id: string;
3328
+ pin_number?: number | undefined;
3329
+ port_hints?: string[] | undefined;
3330
+ }>, z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<{
3331
+ type: z.ZodLiteral<"source_component">;
3332
+ ftype: z.ZodOptional<z.ZodString>;
3333
+ source_component_id: z.ZodString;
3334
+ name: z.ZodString;
3335
+ manufacturer_part_number: z.ZodOptional<z.ZodString>;
3336
+ supplier_part_numbers: z.ZodOptional<z.ZodRecord<z.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, z.ZodArray<z.ZodString, "many">>>;
3337
+ }, {
3338
+ ftype: z.ZodLiteral<"simple_resistor">;
3339
+ resistance: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3340
+ }>, "strip", z.ZodTypeAny, {
3341
+ type: "source_component";
3342
+ ftype: "simple_resistor";
3343
+ source_component_id: string;
3344
+ name: string;
3345
+ resistance: number;
3346
+ manufacturer_part_number?: string | undefined;
3347
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3348
+ }, {
3349
+ type: "source_component";
3350
+ ftype: "simple_resistor";
3351
+ source_component_id: string;
3352
+ name: string;
3353
+ resistance: string | number;
3354
+ manufacturer_part_number?: string | undefined;
3355
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3356
+ }>, z.ZodObject<z.objectUtil.extendShape<{
3357
+ type: z.ZodLiteral<"source_component">;
3358
+ ftype: z.ZodOptional<z.ZodString>;
3359
+ source_component_id: z.ZodString;
3360
+ name: z.ZodString;
3361
+ manufacturer_part_number: z.ZodOptional<z.ZodString>;
3362
+ supplier_part_numbers: z.ZodOptional<z.ZodRecord<z.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, z.ZodArray<z.ZodString, "many">>>;
3363
+ }, {
3364
+ ftype: z.ZodLiteral<"simple_capacitor">;
3365
+ capacitance: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3366
+ }>, "strip", z.ZodTypeAny, {
3367
+ type: "source_component";
3368
+ ftype: "simple_capacitor";
3369
+ source_component_id: string;
3370
+ name: string;
3371
+ capacitance: number;
3372
+ manufacturer_part_number?: string | undefined;
3373
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3374
+ }, {
3375
+ type: "source_component";
3376
+ ftype: "simple_capacitor";
3377
+ source_component_id: string;
3378
+ name: string;
3379
+ capacitance: string | number;
3380
+ manufacturer_part_number?: string | undefined;
3381
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3382
+ }>, z.ZodObject<z.objectUtil.extendShape<{
3383
+ type: z.ZodLiteral<"source_component">;
3384
+ ftype: z.ZodOptional<z.ZodString>;
3385
+ source_component_id: z.ZodString;
3386
+ name: z.ZodString;
3387
+ manufacturer_part_number: z.ZodOptional<z.ZodString>;
3388
+ supplier_part_numbers: z.ZodOptional<z.ZodRecord<z.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, z.ZodArray<z.ZodString, "many">>>;
3389
+ }, {
3390
+ ftype: z.ZodLiteral<"simple_diode">;
3391
+ }>, "strip", z.ZodTypeAny, {
3392
+ type: "source_component";
3393
+ ftype: "simple_diode";
3394
+ source_component_id: string;
3395
+ name: string;
3396
+ manufacturer_part_number?: string | undefined;
3397
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3398
+ }, {
3399
+ type: "source_component";
3400
+ ftype: "simple_diode";
3401
+ source_component_id: string;
3402
+ name: string;
3403
+ manufacturer_part_number?: string | undefined;
3404
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3405
+ }>, z.ZodObject<z.objectUtil.extendShape<{
3406
+ type: z.ZodLiteral<"source_component">;
3407
+ ftype: z.ZodOptional<z.ZodString>;
3408
+ source_component_id: z.ZodString;
3409
+ name: z.ZodString;
3410
+ manufacturer_part_number: z.ZodOptional<z.ZodString>;
3411
+ supplier_part_numbers: z.ZodOptional<z.ZodRecord<z.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, z.ZodArray<z.ZodString, "many">>>;
3412
+ }, {
3413
+ ftype: z.ZodLiteral<"simple_ground">;
3414
+ }>, "strip", z.ZodTypeAny, {
3415
+ type: "source_component";
3416
+ ftype: "simple_ground";
3417
+ source_component_id: string;
3418
+ name: string;
3419
+ manufacturer_part_number?: string | undefined;
3420
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3421
+ }, {
3422
+ type: "source_component";
3423
+ ftype: "simple_ground";
3424
+ source_component_id: string;
3425
+ name: string;
3426
+ manufacturer_part_number?: string | undefined;
3427
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3428
+ }>, z.ZodObject<z.objectUtil.extendShape<{
3429
+ type: z.ZodLiteral<"source_component">;
3430
+ ftype: z.ZodOptional<z.ZodString>;
3431
+ source_component_id: z.ZodString;
3432
+ name: z.ZodString;
3433
+ manufacturer_part_number: z.ZodOptional<z.ZodString>;
3434
+ supplier_part_numbers: z.ZodOptional<z.ZodRecord<z.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, z.ZodArray<z.ZodString, "many">>>;
3435
+ }, {
3436
+ ftype: z.ZodLiteral<"simple_chip">;
3437
+ }>, "strip", z.ZodTypeAny, {
3438
+ type: "source_component";
3439
+ ftype: "simple_chip";
3440
+ source_component_id: string;
3441
+ name: string;
3442
+ manufacturer_part_number?: string | undefined;
3443
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3444
+ }, {
3445
+ type: "source_component";
3446
+ ftype: "simple_chip";
3447
+ source_component_id: string;
3448
+ name: string;
3449
+ manufacturer_part_number?: string | undefined;
3450
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3451
+ }>, z.ZodObject<z.objectUtil.extendShape<{
3452
+ type: z.ZodLiteral<"source_component">;
3453
+ ftype: z.ZodOptional<z.ZodString>;
3454
+ source_component_id: z.ZodString;
3455
+ name: z.ZodString;
3456
+ manufacturer_part_number: z.ZodOptional<z.ZodString>;
3457
+ supplier_part_numbers: z.ZodOptional<z.ZodRecord<z.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, z.ZodArray<z.ZodString, "many">>>;
3458
+ }, {
3459
+ ftype: z.ZodLiteral<"simple_bug">;
3460
+ }>, "strip", z.ZodTypeAny, {
3461
+ type: "source_component";
3462
+ ftype: "simple_bug";
3463
+ source_component_id: string;
3464
+ name: string;
3465
+ manufacturer_part_number?: string | undefined;
3466
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3467
+ }, {
3468
+ type: "source_component";
3469
+ ftype: "simple_bug";
3470
+ source_component_id: string;
3471
+ name: string;
3472
+ manufacturer_part_number?: string | undefined;
3473
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3474
+ }>, z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<{
3475
+ type: z.ZodLiteral<"source_component">;
3476
+ ftype: z.ZodOptional<z.ZodString>;
3477
+ source_component_id: z.ZodString;
3478
+ name: z.ZodString;
3479
+ manufacturer_part_number: z.ZodOptional<z.ZodString>;
3480
+ supplier_part_numbers: z.ZodOptional<z.ZodRecord<z.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, z.ZodArray<z.ZodString, "many">>>;
3481
+ }, {
3482
+ ftype: z.ZodLiteral<"simple_diode">;
3483
+ }>, {
3484
+ ftype: z.ZodLiteral<"led">;
3485
+ }>, "strip", z.ZodTypeAny, {
3486
+ type: "source_component";
3487
+ ftype: "led";
3488
+ source_component_id: string;
3489
+ name: string;
3490
+ manufacturer_part_number?: string | undefined;
3491
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3492
+ }, {
3493
+ type: "source_component";
3494
+ ftype: "led";
3495
+ source_component_id: string;
3496
+ name: string;
3497
+ manufacturer_part_number?: string | undefined;
3498
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3499
+ }>, z.ZodObject<z.objectUtil.extendShape<{
3500
+ type: z.ZodLiteral<"source_component">;
3501
+ ftype: z.ZodOptional<z.ZodString>;
3502
+ source_component_id: z.ZodString;
3503
+ name: z.ZodString;
3504
+ manufacturer_part_number: z.ZodOptional<z.ZodString>;
3505
+ supplier_part_numbers: z.ZodOptional<z.ZodRecord<z.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, z.ZodArray<z.ZodString, "many">>>;
3506
+ }, {
3507
+ ftype: z.ZodLiteral<"simple_power_source">;
3508
+ voltage: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3509
+ }>, "strip", z.ZodTypeAny, {
3510
+ voltage: number;
3511
+ type: "source_component";
3512
+ ftype: "simple_power_source";
3513
+ source_component_id: string;
3514
+ name: string;
3515
+ manufacturer_part_number?: string | undefined;
3516
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3517
+ }, {
3518
+ voltage: string | number;
3519
+ type: "source_component";
3520
+ ftype: "simple_power_source";
3521
+ source_component_id: string;
3522
+ name: string;
3523
+ manufacturer_part_number?: string | undefined;
3524
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3525
+ }>]>, z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<{
3526
+ type: z.ZodLiteral<"source_component">;
3527
+ ftype: z.ZodOptional<z.ZodString>;
3528
+ source_component_id: z.ZodString;
3529
+ name: z.ZodString;
3530
+ manufacturer_part_number: z.ZodOptional<z.ZodString>;
3531
+ supplier_part_numbers: z.ZodOptional<z.ZodRecord<z.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, z.ZodArray<z.ZodString, "many">>>;
3532
+ }, {
3533
+ ftype: z.ZodLiteral<"simple_diode">;
3534
+ }>, {
3535
+ ftype: z.ZodLiteral<"led">;
3536
+ }>, "strip", z.ZodTypeAny, {
3537
+ type: "source_component";
3538
+ ftype: "led";
3539
+ source_component_id: string;
3540
+ name: string;
3541
+ manufacturer_part_number?: string | undefined;
3542
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3543
+ }, {
3544
+ type: "source_component";
3545
+ ftype: "led";
3546
+ source_component_id: string;
3547
+ name: string;
3548
+ manufacturer_part_number?: string | undefined;
3549
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3550
+ }>, z.ZodObject<{
3551
+ type: z.ZodLiteral<"source_net">;
3552
+ source_net_id: z.ZodString;
3553
+ name: z.ZodString;
3554
+ member_source_group_ids: z.ZodArray<z.ZodString, "many">;
3555
+ is_power: z.ZodOptional<z.ZodBoolean>;
3556
+ is_ground: z.ZodOptional<z.ZodBoolean>;
3557
+ is_digital_signal: z.ZodOptional<z.ZodBoolean>;
3558
+ is_analog_signal: z.ZodOptional<z.ZodBoolean>;
3559
+ trace_width: z.ZodOptional<z.ZodNumber>;
3560
+ }, "strip", z.ZodTypeAny, {
3561
+ type: "source_net";
3562
+ name: string;
3563
+ source_net_id: string;
3564
+ member_source_group_ids: string[];
3565
+ is_power?: boolean | undefined;
3566
+ is_ground?: boolean | undefined;
3567
+ is_digital_signal?: boolean | undefined;
3568
+ is_analog_signal?: boolean | undefined;
3569
+ trace_width?: number | undefined;
3570
+ }, {
3571
+ type: "source_net";
3572
+ name: string;
3573
+ source_net_id: string;
3574
+ member_source_group_ids: string[];
3575
+ is_power?: boolean | undefined;
3576
+ is_ground?: boolean | undefined;
3577
+ is_digital_signal?: boolean | undefined;
3578
+ is_analog_signal?: boolean | undefined;
3579
+ trace_width?: number | undefined;
3580
+ }>, z.ZodObject<{
3581
+ type: z.ZodLiteral<"source_group">;
3582
+ source_group_id: z.ZodString;
3583
+ name: z.ZodOptional<z.ZodString>;
3584
+ }, "strip", z.ZodTypeAny, {
3585
+ type: "source_group";
3586
+ source_group_id: string;
3587
+ name?: string | undefined;
3588
+ }, {
3589
+ type: "source_group";
3590
+ source_group_id: string;
3591
+ name?: string | undefined;
3592
+ }>, z.ZodObject<z.objectUtil.extendShape<{
3593
+ type: z.ZodLiteral<"source_component">;
3594
+ ftype: z.ZodOptional<z.ZodString>;
3595
+ source_component_id: z.ZodString;
3596
+ name: z.ZodString;
3597
+ manufacturer_part_number: z.ZodOptional<z.ZodString>;
3598
+ supplier_part_numbers: z.ZodOptional<z.ZodRecord<z.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, z.ZodArray<z.ZodString, "many">>>;
3599
+ }, {
3600
+ ftype: z.ZodLiteral<"simple_bug">;
3601
+ }>, "strip", z.ZodTypeAny, {
3602
+ type: "source_component";
3603
+ ftype: "simple_bug";
3604
+ source_component_id: string;
3605
+ name: string;
3606
+ manufacturer_part_number?: string | undefined;
3607
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3608
+ }, {
3609
+ type: "source_component";
3610
+ ftype: "simple_bug";
3611
+ source_component_id: string;
3612
+ name: string;
3613
+ manufacturer_part_number?: string | undefined;
3614
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3615
+ }>, z.ZodObject<z.objectUtil.extendShape<{
3616
+ type: z.ZodLiteral<"source_component">;
3617
+ ftype: z.ZodOptional<z.ZodString>;
3618
+ source_component_id: z.ZodString;
3619
+ name: z.ZodString;
3620
+ manufacturer_part_number: z.ZodOptional<z.ZodString>;
3621
+ supplier_part_numbers: z.ZodOptional<z.ZodRecord<z.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, z.ZodArray<z.ZodString, "many">>>;
3622
+ }, {
3623
+ ftype: z.ZodLiteral<"simple_chip">;
3624
+ }>, "strip", z.ZodTypeAny, {
3625
+ type: "source_component";
3626
+ ftype: "simple_chip";
3627
+ source_component_id: string;
3628
+ name: string;
3629
+ manufacturer_part_number?: string | undefined;
3630
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3631
+ }, {
3632
+ type: "source_component";
3633
+ ftype: "simple_chip";
3634
+ source_component_id: string;
3635
+ name: string;
3636
+ manufacturer_part_number?: string | undefined;
3637
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3638
+ }>, z.ZodObject<z.objectUtil.extendShape<{
3639
+ type: z.ZodLiteral<"source_component">;
3640
+ ftype: z.ZodOptional<z.ZodString>;
3641
+ source_component_id: z.ZodString;
3642
+ name: z.ZodString;
3643
+ manufacturer_part_number: z.ZodOptional<z.ZodString>;
3644
+ supplier_part_numbers: z.ZodOptional<z.ZodRecord<z.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, z.ZodArray<z.ZodString, "many">>>;
3645
+ }, {
3646
+ ftype: z.ZodLiteral<"simple_capacitor">;
3647
+ capacitance: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3648
+ }>, "strip", z.ZodTypeAny, {
3649
+ type: "source_component";
3650
+ ftype: "simple_capacitor";
3651
+ source_component_id: string;
3652
+ name: string;
3653
+ capacitance: number;
3654
+ manufacturer_part_number?: string | undefined;
3655
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3656
+ }, {
3657
+ type: "source_component";
3658
+ ftype: "simple_capacitor";
3659
+ source_component_id: string;
3660
+ name: string;
3661
+ capacitance: string | number;
3662
+ manufacturer_part_number?: string | undefined;
3663
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3664
+ }>, z.ZodObject<z.objectUtil.extendShape<{
3665
+ type: z.ZodLiteral<"source_component">;
3666
+ ftype: z.ZodOptional<z.ZodString>;
3667
+ source_component_id: z.ZodString;
3668
+ name: z.ZodString;
3669
+ manufacturer_part_number: z.ZodOptional<z.ZodString>;
3670
+ supplier_part_numbers: z.ZodOptional<z.ZodRecord<z.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, z.ZodArray<z.ZodString, "many">>>;
3671
+ }, {
3672
+ ftype: z.ZodLiteral<"simple_diode">;
3673
+ }>, "strip", z.ZodTypeAny, {
3674
+ type: "source_component";
3675
+ ftype: "simple_diode";
3676
+ source_component_id: string;
3677
+ name: string;
3678
+ manufacturer_part_number?: string | undefined;
3679
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3680
+ }, {
3681
+ type: "source_component";
3682
+ ftype: "simple_diode";
3683
+ source_component_id: string;
3684
+ name: string;
3685
+ manufacturer_part_number?: string | undefined;
3686
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3687
+ }>, z.ZodObject<z.objectUtil.extendShape<{
3688
+ type: z.ZodLiteral<"source_component">;
3689
+ ftype: z.ZodOptional<z.ZodString>;
3690
+ source_component_id: z.ZodString;
3691
+ name: z.ZodString;
3692
+ manufacturer_part_number: z.ZodOptional<z.ZodString>;
3693
+ supplier_part_numbers: z.ZodOptional<z.ZodRecord<z.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, z.ZodArray<z.ZodString, "many">>>;
3694
+ }, {
3695
+ ftype: z.ZodLiteral<"simple_resistor">;
3696
+ resistance: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3697
+ }>, "strip", z.ZodTypeAny, {
3698
+ type: "source_component";
3699
+ ftype: "simple_resistor";
3700
+ source_component_id: string;
3701
+ name: string;
3702
+ resistance: number;
3703
+ manufacturer_part_number?: string | undefined;
3704
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3705
+ }, {
3706
+ type: "source_component";
3707
+ ftype: "simple_resistor";
3708
+ source_component_id: string;
3709
+ name: string;
3710
+ resistance: string | number;
3711
+ manufacturer_part_number?: string | undefined;
3712
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3713
+ }>, z.ZodObject<z.objectUtil.extendShape<{
3714
+ type: z.ZodLiteral<"source_component">;
3715
+ ftype: z.ZodOptional<z.ZodString>;
3716
+ source_component_id: z.ZodString;
3717
+ name: z.ZodString;
3718
+ manufacturer_part_number: z.ZodOptional<z.ZodString>;
3719
+ supplier_part_numbers: z.ZodOptional<z.ZodRecord<z.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, z.ZodArray<z.ZodString, "many">>>;
3720
+ }, {
3721
+ ftype: z.ZodLiteral<"simple_power_source">;
3722
+ voltage: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3723
+ }>, "strip", z.ZodTypeAny, {
3724
+ voltage: number;
3725
+ type: "source_component";
3726
+ ftype: "simple_power_source";
3727
+ source_component_id: string;
3728
+ name: string;
3729
+ manufacturer_part_number?: string | undefined;
3730
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3731
+ }, {
3732
+ voltage: string | number;
3733
+ type: "source_component";
3734
+ ftype: "simple_power_source";
3735
+ source_component_id: string;
3736
+ name: string;
3737
+ manufacturer_part_number?: string | undefined;
3738
+ supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3739
+ }>, z.ZodObject<{
3740
+ type: z.ZodLiteral<"pcb_component">;
3741
+ pcb_component_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3742
+ source_component_id: z.ZodString;
3743
+ center: z.ZodObject<{
3744
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3745
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3746
+ }, "strip", z.ZodTypeAny, {
3747
+ x: number;
3748
+ y: number;
3749
+ }, {
3750
+ x: string | number;
3751
+ y: string | number;
3752
+ }>;
3753
+ layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
3754
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
3755
+ }, "strip", z.ZodTypeAny, {
3756
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3757
+ }, {
3758
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3759
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
3760
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3761
+ }>;
3762
+ rotation: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3763
+ width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3764
+ height: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3765
+ }, "strip", z.ZodTypeAny, {
3766
+ type: "pcb_component";
3767
+ width: number;
3768
+ height: number;
3769
+ source_component_id: string;
3770
+ rotation: number;
3771
+ center: {
3772
+ x: number;
3773
+ y: number;
3774
+ };
3775
+ pcb_component_id: string;
3776
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3777
+ }, {
3778
+ type: "pcb_component";
3779
+ width: string | number;
3780
+ height: string | number;
3781
+ source_component_id: string;
3782
+ rotation: string | number;
3783
+ center: {
3784
+ x: string | number;
3785
+ y: string | number;
3786
+ };
3787
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
3788
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3789
+ };
3790
+ pcb_component_id?: string | undefined;
3791
+ }>, z.ZodUnion<[z.ZodObject<{
3792
+ type: z.ZodLiteral<"pcb_hole">;
3793
+ pcb_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3794
+ hole_shape: z.ZodEnum<["circle", "square"]>;
3795
+ hole_diameter: z.ZodNumber;
3796
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3797
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3798
+ }, "strip", z.ZodTypeAny, {
3799
+ x: number;
3800
+ y: number;
3801
+ type: "pcb_hole";
3802
+ pcb_hole_id: string;
3803
+ hole_shape: "circle" | "square";
3804
+ hole_diameter: number;
3805
+ }, {
3806
+ x: string | number;
3807
+ y: string | number;
3808
+ type: "pcb_hole";
3809
+ hole_shape: "circle" | "square";
3810
+ hole_diameter: number;
3811
+ pcb_hole_id?: string | undefined;
3812
+ }>, z.ZodObject<{
3813
+ type: z.ZodLiteral<"pcb_hole">;
3814
+ pcb_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3815
+ hole_shape: z.ZodLiteral<"oval">;
3816
+ hole_width: z.ZodNumber;
3817
+ hole_height: z.ZodNumber;
3818
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3819
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3820
+ }, "strip", z.ZodTypeAny, {
3821
+ x: number;
3822
+ y: number;
3823
+ type: "pcb_hole";
3824
+ pcb_hole_id: string;
3825
+ hole_shape: "oval";
3826
+ hole_width: number;
3827
+ hole_height: number;
3828
+ }, {
3829
+ x: string | number;
3830
+ y: string | number;
3831
+ type: "pcb_hole";
3832
+ hole_shape: "oval";
3833
+ hole_width: number;
3834
+ hole_height: number;
3835
+ pcb_hole_id?: string | undefined;
3836
+ }>]>, z.ZodUnion<[z.ZodObject<{
3837
+ type: z.ZodLiteral<"pcb_plated_hole">;
3838
+ shape: z.ZodLiteral<"circle">;
3839
+ outer_diameter: z.ZodNumber;
3840
+ hole_diameter: z.ZodNumber;
3841
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3842
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3843
+ layers: z.ZodArray<z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
3844
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
3845
+ }, "strip", z.ZodTypeAny, {
3846
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3847
+ }, {
3848
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3849
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
3850
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3851
+ }>, "many">;
3852
+ port_hints: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3853
+ pcb_component_id: z.ZodOptional<z.ZodString>;
3854
+ pcb_port_id: z.ZodOptional<z.ZodString>;
3855
+ pcb_plated_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3856
+ }, "strip", z.ZodTypeAny, {
3857
+ x: number;
3858
+ y: number;
3859
+ type: "pcb_plated_hole";
3860
+ hole_diameter: number;
3861
+ shape: "circle";
3862
+ outer_diameter: number;
3863
+ layers: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6")[];
3864
+ pcb_plated_hole_id: string;
3865
+ port_hints?: string[] | undefined;
3866
+ pcb_component_id?: string | undefined;
3867
+ pcb_port_id?: string | undefined;
3868
+ }, {
3869
+ x: string | number;
3870
+ y: string | number;
3871
+ type: "pcb_plated_hole";
3872
+ hole_diameter: number;
3873
+ shape: "circle";
3874
+ outer_diameter: number;
3875
+ layers: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
3876
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3877
+ })[];
3878
+ port_hints?: string[] | undefined;
3879
+ pcb_component_id?: string | undefined;
3880
+ pcb_port_id?: string | undefined;
3881
+ pcb_plated_hole_id?: string | undefined;
3882
+ }>, z.ZodObject<{
3883
+ type: z.ZodLiteral<"pcb_plated_hole">;
3884
+ shape: z.ZodEnum<["oval", "pill"]>;
3885
+ outer_width: z.ZodNumber;
3886
+ outer_height: z.ZodNumber;
3887
+ hole_width: z.ZodNumber;
3888
+ hole_height: z.ZodNumber;
3889
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3890
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3891
+ layers: z.ZodArray<z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
3892
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
3893
+ }, "strip", z.ZodTypeAny, {
3894
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3895
+ }, {
3896
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3897
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
3898
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3899
+ }>, "many">;
3900
+ port_hints: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3901
+ pcb_component_id: z.ZodOptional<z.ZodString>;
3902
+ pcb_port_id: z.ZodOptional<z.ZodString>;
3903
+ pcb_plated_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3904
+ }, "strip", z.ZodTypeAny, {
3905
+ x: number;
3906
+ y: number;
3907
+ type: "pcb_plated_hole";
3908
+ hole_width: number;
3909
+ hole_height: number;
3910
+ shape: "oval" | "pill";
3911
+ layers: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6")[];
3912
+ pcb_plated_hole_id: string;
3913
+ outer_width: number;
3914
+ outer_height: number;
3915
+ port_hints?: string[] | undefined;
3916
+ pcb_component_id?: string | undefined;
3917
+ pcb_port_id?: string | undefined;
3918
+ }, {
3919
+ x: string | number;
3920
+ y: string | number;
3921
+ type: "pcb_plated_hole";
3922
+ hole_width: number;
3923
+ hole_height: number;
3924
+ shape: "oval" | "pill";
3925
+ layers: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
3926
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3927
+ })[];
3928
+ outer_width: number;
3929
+ outer_height: number;
3930
+ port_hints?: string[] | undefined;
3931
+ pcb_component_id?: string | undefined;
3932
+ pcb_port_id?: string | undefined;
3933
+ pcb_plated_hole_id?: string | undefined;
3934
+ }>]>, z.ZodUnion<[z.ZodObject<{
3935
+ type: z.ZodLiteral<"pcb_keepout">;
3936
+ shape: z.ZodLiteral<"rect">;
3937
+ center: z.ZodObject<{
3938
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3939
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3940
+ }, "strip", z.ZodTypeAny, {
3941
+ x: number;
3942
+ y: number;
3943
+ }, {
3944
+ x: string | number;
3945
+ y: string | number;
3946
+ }>;
3947
+ width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3948
+ height: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3949
+ pcb_keepout_id: z.ZodString;
3950
+ layers: z.ZodArray<z.ZodString, "many">;
3951
+ description: z.ZodOptional<z.ZodString>;
3952
+ }, "strip", z.ZodTypeAny, {
3953
+ type: "pcb_keepout";
3954
+ width: number;
3955
+ height: number;
3956
+ center: {
3957
+ x: number;
3958
+ y: number;
3959
+ };
3960
+ shape: "rect";
3961
+ layers: string[];
3962
+ pcb_keepout_id: string;
3963
+ description?: string | undefined;
3964
+ }, {
3965
+ type: "pcb_keepout";
3966
+ width: string | number;
3967
+ height: string | number;
3968
+ center: {
3969
+ x: string | number;
3970
+ y: string | number;
3971
+ };
3972
+ shape: "rect";
3973
+ layers: string[];
3974
+ pcb_keepout_id: string;
3975
+ description?: string | undefined;
3976
+ }>, z.ZodObject<{
3977
+ type: z.ZodLiteral<"pcb_keepout">;
3978
+ shape: z.ZodLiteral<"circle">;
3979
+ center: z.ZodObject<{
3980
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3981
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3982
+ }, "strip", z.ZodTypeAny, {
3983
+ x: number;
3984
+ y: number;
3985
+ }, {
3986
+ x: string | number;
3987
+ y: string | number;
3988
+ }>;
3989
+ radius: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3990
+ pcb_keepout_id: z.ZodString;
3991
+ layers: z.ZodArray<z.ZodString, "many">;
3992
+ description: z.ZodOptional<z.ZodString>;
3993
+ }, "strip", z.ZodTypeAny, {
3994
+ type: "pcb_keepout";
3995
+ center: {
3996
+ x: number;
3997
+ y: number;
3998
+ };
3999
+ shape: "circle";
4000
+ layers: string[];
4001
+ radius: number;
4002
+ pcb_keepout_id: string;
4003
+ description?: string | undefined;
4004
+ }, {
4005
+ type: "pcb_keepout";
4006
+ center: {
4007
+ x: string | number;
4008
+ y: string | number;
4009
+ };
4010
+ shape: "circle";
4011
+ layers: string[];
4012
+ radius: string | number;
4013
+ pcb_keepout_id: string;
4014
+ description?: string | undefined;
4015
+ }>]>, z.ZodObject<{
4016
+ type: z.ZodLiteral<"pcb_port">;
4017
+ pcb_port_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
4018
+ source_port_id: z.ZodString;
4019
+ pcb_component_id: z.ZodString;
4020
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4021
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4022
+ layers: z.ZodArray<z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
4023
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
4024
+ }, "strip", z.ZodTypeAny, {
4025
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4026
+ }, {
4027
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4028
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4029
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4030
+ }>, "many">;
4031
+ }, "strip", z.ZodTypeAny, {
4032
+ x: number;
4033
+ y: number;
4034
+ type: "pcb_port";
4035
+ source_port_id: string;
4036
+ pcb_component_id: string;
4037
+ layers: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6")[];
4038
+ pcb_port_id: string;
4039
+ }, {
4040
+ x: string | number;
4041
+ y: string | number;
4042
+ type: "pcb_port";
4043
+ source_port_id: string;
4044
+ pcb_component_id: string;
4045
+ layers: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4046
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4047
+ })[];
4048
+ pcb_port_id?: string | undefined;
4049
+ }>, z.ZodObject<{
4050
+ type: z.ZodLiteral<"pcb_text">;
4051
+ pcb_text_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
4052
+ text: z.ZodString;
4053
+ center: z.ZodObject<{
4054
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4055
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4056
+ }, "strip", z.ZodTypeAny, {
4057
+ x: number;
4058
+ y: number;
4059
+ }, {
4060
+ x: string | number;
4061
+ y: string | number;
4062
+ }>;
4063
+ layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
4064
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
4065
+ }, "strip", z.ZodTypeAny, {
4066
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4067
+ }, {
4068
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4069
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4070
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4071
+ }>;
4072
+ width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4073
+ height: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4074
+ lines: z.ZodNumber;
4075
+ align: z.ZodEnum<["bottom-left"]>;
4076
+ }, "strip", z.ZodTypeAny, {
4077
+ type: "pcb_text";
4078
+ width: number;
4079
+ height: number;
4080
+ center: {
4081
+ x: number;
4082
+ y: number;
4083
+ };
4084
+ text: string;
4085
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4086
+ pcb_text_id: string;
4087
+ lines: number;
4088
+ align: "bottom-left";
4089
+ }, {
4090
+ type: "pcb_text";
4091
+ width: string | number;
4092
+ height: string | number;
4093
+ center: {
4094
+ x: string | number;
4095
+ y: string | number;
4096
+ };
4097
+ text: string;
4098
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4099
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4100
+ };
4101
+ lines: number;
4102
+ align: "bottom-left";
4103
+ pcb_text_id?: string | undefined;
4104
+ }>, z.ZodObject<{
4105
+ type: z.ZodLiteral<"pcb_trace">;
4106
+ source_trace_id: z.ZodOptional<z.ZodString>;
4107
+ pcb_component_id: z.ZodOptional<z.ZodString>;
4108
+ pcb_trace_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
4109
+ route_thickness_mode: z.ZodOptional<z.ZodDefault<z.ZodEnum<["constant", "interpolated"]>>>;
4110
+ should_round_corners: z.ZodOptional<z.ZodBoolean>;
4111
+ route: z.ZodArray<z.ZodUnion<[z.ZodObject<{
4112
+ route_type: z.ZodLiteral<"wire">;
4113
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4114
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4115
+ width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4116
+ start_pcb_port_id: z.ZodOptional<z.ZodString>;
4117
+ end_pcb_port_id: z.ZodOptional<z.ZodString>;
4118
+ layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
4119
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
4120
+ }, "strip", z.ZodTypeAny, {
4121
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4122
+ }, {
4123
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4124
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4125
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4126
+ }>;
4127
+ }, "strip", z.ZodTypeAny, {
4128
+ x: number;
4129
+ y: number;
4130
+ width: number;
4131
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4132
+ route_type: "wire";
4133
+ start_pcb_port_id?: string | undefined;
4134
+ end_pcb_port_id?: string | undefined;
4135
+ }, {
4136
+ x: string | number;
4137
+ y: string | number;
4138
+ width: string | number;
4139
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4140
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4141
+ };
4142
+ route_type: "wire";
4143
+ start_pcb_port_id?: string | undefined;
4144
+ end_pcb_port_id?: string | undefined;
4145
+ }>, z.ZodObject<{
4146
+ route_type: z.ZodLiteral<"via">;
4147
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4148
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4149
+ from_layer: z.ZodString;
4150
+ to_layer: z.ZodString;
4151
+ }, "strip", z.ZodTypeAny, {
4152
+ x: number;
4153
+ y: number;
4154
+ to_layer: string;
4155
+ route_type: "via";
4156
+ from_layer: string;
4157
+ }, {
4158
+ x: string | number;
4159
+ y: string | number;
4160
+ to_layer: string;
4161
+ route_type: "via";
4162
+ from_layer: string;
4163
+ }>]>, "many">;
4164
+ }, "strip", z.ZodTypeAny, {
4165
+ type: "pcb_trace";
4166
+ pcb_trace_id: string;
4167
+ route: ({
4168
+ x: number;
4169
+ y: number;
4170
+ width: number;
4171
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4172
+ route_type: "wire";
4173
+ start_pcb_port_id?: string | undefined;
4174
+ end_pcb_port_id?: string | undefined;
4175
+ } | {
4176
+ x: number;
4177
+ y: number;
4178
+ to_layer: string;
4179
+ route_type: "via";
4180
+ from_layer: string;
4181
+ })[];
4182
+ source_trace_id?: string | undefined;
4183
+ pcb_component_id?: string | undefined;
4184
+ route_thickness_mode?: "constant" | "interpolated" | undefined;
4185
+ should_round_corners?: boolean | undefined;
4186
+ }, {
4187
+ type: "pcb_trace";
4188
+ route: ({
4189
+ x: string | number;
4190
+ y: string | number;
4191
+ width: string | number;
4192
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4193
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4194
+ };
4195
+ route_type: "wire";
4196
+ start_pcb_port_id?: string | undefined;
4197
+ end_pcb_port_id?: string | undefined;
4198
+ } | {
4199
+ x: string | number;
4200
+ y: string | number;
4201
+ to_layer: string;
4202
+ route_type: "via";
4203
+ from_layer: string;
4204
+ })[];
4205
+ source_trace_id?: string | undefined;
4206
+ pcb_component_id?: string | undefined;
4207
+ pcb_trace_id?: string | undefined;
4208
+ route_thickness_mode?: "constant" | "interpolated" | undefined;
4209
+ should_round_corners?: boolean | undefined;
4210
+ }>, z.ZodObject<{
4211
+ type: z.ZodLiteral<"pcb_via">;
4212
+ pcb_via_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
4213
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4214
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4215
+ outer_diameter: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
4216
+ hole_diameter: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
4217
+ from_layer: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
4218
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
4219
+ }, "strip", z.ZodTypeAny, {
4220
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4221
+ }, {
4222
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4223
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4224
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4225
+ }>>;
4226
+ to_layer: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
4227
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
4228
+ }, "strip", z.ZodTypeAny, {
4229
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4230
+ }, {
4231
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4232
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4233
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4234
+ }>>;
4235
+ layers: z.ZodArray<z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
4236
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
4237
+ }, "strip", z.ZodTypeAny, {
4238
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4239
+ }, {
4240
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4241
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4242
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4243
+ }>, "many">;
4244
+ }, "strip", z.ZodTypeAny, {
4245
+ x: number;
4246
+ y: number;
4247
+ type: "pcb_via";
4248
+ hole_diameter: number;
4249
+ outer_diameter: number;
4250
+ layers: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6")[];
4251
+ pcb_via_id: string;
4252
+ to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
4253
+ from_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
4254
+ }, {
4255
+ x: string | number;
4256
+ y: string | number;
4257
+ type: "pcb_via";
4258
+ layers: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4259
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4260
+ })[];
4261
+ to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4262
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4263
+ } | undefined;
4264
+ hole_diameter?: string | number | undefined;
4265
+ outer_diameter?: string | number | undefined;
4266
+ from_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4267
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4268
+ } | undefined;
4269
+ pcb_via_id?: string | undefined;
4270
+ }>, z.ZodUnion<[z.ZodObject<{
4271
+ type: z.ZodLiteral<"pcb_smtpad">;
4272
+ shape: z.ZodLiteral<"circle">;
4273
+ pcb_smtpad_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
4274
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4275
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4276
+ radius: z.ZodNumber;
4277
+ layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
4278
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
4279
+ }, "strip", z.ZodTypeAny, {
4280
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4281
+ }, {
4282
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4283
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4284
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4285
+ }>;
4286
+ port_hints: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
4287
+ pcb_component_id: z.ZodOptional<z.ZodString>;
4288
+ pcb_port_id: z.ZodOptional<z.ZodString>;
4289
+ }, "strip", z.ZodTypeAny, {
4290
+ x: number;
4291
+ y: number;
4292
+ type: "pcb_smtpad";
4293
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4294
+ shape: "circle";
4295
+ pcb_smtpad_id: string;
4296
+ radius: number;
4297
+ port_hints?: string[] | undefined;
4298
+ pcb_component_id?: string | undefined;
4299
+ pcb_port_id?: string | undefined;
4300
+ }, {
4301
+ x: string | number;
4302
+ y: string | number;
4303
+ type: "pcb_smtpad";
4304
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4305
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4306
+ };
4307
+ shape: "circle";
4308
+ radius: number;
4309
+ port_hints?: string[] | undefined;
4310
+ pcb_component_id?: string | undefined;
4311
+ pcb_port_id?: string | undefined;
4312
+ pcb_smtpad_id?: string | undefined;
4313
+ }>, z.ZodObject<{
4314
+ type: z.ZodLiteral<"pcb_smtpad">;
4315
+ shape: z.ZodLiteral<"rect">;
4316
+ pcb_smtpad_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
4317
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4318
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4319
+ width: z.ZodNumber;
4320
+ height: z.ZodNumber;
4321
+ layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
4322
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
4323
+ }, "strip", z.ZodTypeAny, {
4324
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4325
+ }, {
4326
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4327
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4328
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4329
+ }>;
4330
+ port_hints: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
4331
+ pcb_component_id: z.ZodOptional<z.ZodString>;
4332
+ pcb_port_id: z.ZodOptional<z.ZodString>;
4333
+ }, "strip", z.ZodTypeAny, {
4334
+ x: number;
4335
+ y: number;
4336
+ type: "pcb_smtpad";
4337
+ width: number;
4338
+ height: number;
4339
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4340
+ shape: "rect";
4341
+ pcb_smtpad_id: string;
4342
+ port_hints?: string[] | undefined;
4343
+ pcb_component_id?: string | undefined;
4344
+ pcb_port_id?: string | undefined;
4345
+ }, {
4346
+ x: string | number;
4347
+ y: string | number;
4348
+ type: "pcb_smtpad";
4349
+ width: number;
4350
+ height: number;
4351
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4352
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4353
+ };
4354
+ shape: "rect";
4355
+ port_hints?: string[] | undefined;
4356
+ pcb_component_id?: string | undefined;
4357
+ pcb_port_id?: string | undefined;
4358
+ pcb_smtpad_id?: string | undefined;
4359
+ }>]>, z.ZodObject<{
4360
+ type: z.ZodLiteral<"pcb_board">;
4361
+ pcb_board_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
4362
+ width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4363
+ height: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4364
+ center: z.ZodObject<{
4365
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4366
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4367
+ }, "strip", z.ZodTypeAny, {
4368
+ x: number;
4369
+ y: number;
4370
+ }, {
4371
+ x: string | number;
4372
+ y: string | number;
4373
+ }>;
4374
+ outline: z.ZodOptional<z.ZodArray<z.ZodObject<{
4375
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4376
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4377
+ }, "strip", z.ZodTypeAny, {
4378
+ x: number;
4379
+ y: number;
4380
+ }, {
4381
+ x: string | number;
4382
+ y: string | number;
4383
+ }>, "many">>;
4384
+ }, "strip", z.ZodTypeAny, {
4385
+ type: "pcb_board";
4386
+ width: number;
4387
+ height: number;
4388
+ center: {
4389
+ x: number;
4390
+ y: number;
4391
+ };
4392
+ pcb_board_id: string;
4393
+ outline?: {
4394
+ x: number;
4395
+ y: number;
4396
+ }[] | undefined;
4397
+ }, {
4398
+ type: "pcb_board";
4399
+ width: string | number;
4400
+ height: string | number;
4401
+ center: {
4402
+ x: string | number;
4403
+ y: string | number;
4404
+ };
4405
+ pcb_board_id?: string | undefined;
4406
+ outline?: {
4407
+ x: string | number;
4408
+ y: string | number;
4409
+ }[] | undefined;
4410
+ }>, z.ZodObject<{
4411
+ type: z.ZodLiteral<"pcb_trace_hint">;
4412
+ pcb_trace_hint_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
4413
+ pcb_port_id: z.ZodString;
4414
+ pcb_component_id: z.ZodString;
4415
+ route: z.ZodArray<z.ZodObject<{
4416
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4417
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4418
+ via: z.ZodOptional<z.ZodBoolean>;
4419
+ to_layer: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
4420
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
4421
+ }, "strip", z.ZodTypeAny, {
4422
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4423
+ }, {
4424
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4425
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4426
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4427
+ }>>;
4428
+ trace_width: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
4429
+ }, "strip", z.ZodTypeAny, {
4430
+ x: number;
4431
+ y: number;
4432
+ trace_width?: number | undefined;
4433
+ via?: boolean | undefined;
4434
+ to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
4435
+ }, {
4436
+ x: string | number;
4437
+ y: string | number;
4438
+ trace_width?: string | number | undefined;
4439
+ via?: boolean | undefined;
4440
+ to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4441
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4442
+ } | undefined;
4443
+ }>, "many">;
4444
+ }, "strip", z.ZodTypeAny, {
4445
+ type: "pcb_trace_hint";
4446
+ pcb_component_id: string;
4447
+ pcb_port_id: string;
4448
+ route: {
4449
+ x: number;
4450
+ y: number;
4451
+ trace_width?: number | undefined;
4452
+ via?: boolean | undefined;
4453
+ to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
4454
+ }[];
4455
+ pcb_trace_hint_id: string;
4456
+ }, {
4457
+ type: "pcb_trace_hint";
4458
+ pcb_component_id: string;
4459
+ pcb_port_id: string;
4460
+ route: {
4461
+ x: string | number;
4462
+ y: string | number;
4463
+ trace_width?: string | number | undefined;
4464
+ via?: boolean | undefined;
4465
+ to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4466
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4467
+ } | undefined;
4468
+ }[];
4469
+ pcb_trace_hint_id?: string | undefined;
4470
+ }>, z.ZodObject<{
4471
+ type: z.ZodLiteral<"pcb_silkscreen_line">;
4472
+ pcb_silkscreen_line_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
4473
+ pcb_component_id: z.ZodString;
4474
+ stroke_width: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
4475
+ x1: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4476
+ y1: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4477
+ x2: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4478
+ y2: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4479
+ layer: z.ZodEnum<["top", "bottom"]>;
4480
+ }, "strip", z.ZodTypeAny, {
4481
+ type: "pcb_silkscreen_line";
4482
+ x1: number;
4483
+ x2: number;
4484
+ y1: number;
4485
+ y2: number;
4486
+ pcb_component_id: string;
4487
+ layer: "top" | "bottom";
4488
+ pcb_silkscreen_line_id: string;
4489
+ stroke_width: number;
4490
+ }, {
4491
+ type: "pcb_silkscreen_line";
4492
+ x1: string | number;
4493
+ x2: string | number;
4494
+ y1: string | number;
4495
+ y2: string | number;
4496
+ pcb_component_id: string;
4497
+ layer: "top" | "bottom";
4498
+ pcb_silkscreen_line_id?: string | undefined;
4499
+ stroke_width?: string | number | undefined;
4500
+ }>, z.ZodObject<{
4501
+ type: z.ZodLiteral<"pcb_silkscreen_path">;
4502
+ pcb_silkscreen_path_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
4503
+ pcb_component_id: z.ZodString;
4504
+ layer: z.ZodEnum<["top", "bottom"]>;
4505
+ route: z.ZodArray<z.ZodObject<{
4506
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4507
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4508
+ }, "strip", z.ZodTypeAny, {
4509
+ x: number;
4510
+ y: number;
4511
+ }, {
4512
+ x: string | number;
4513
+ y: string | number;
4514
+ }>, "many">;
4515
+ stroke_width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4516
+ }, "strip", z.ZodTypeAny, {
4517
+ type: "pcb_silkscreen_path";
4518
+ pcb_component_id: string;
4519
+ layer: "top" | "bottom";
4520
+ route: {
4521
+ x: number;
4522
+ y: number;
4523
+ }[];
4524
+ stroke_width: number;
4525
+ pcb_silkscreen_path_id: string;
4526
+ }, {
4527
+ type: "pcb_silkscreen_path";
4528
+ pcb_component_id: string;
4529
+ layer: "top" | "bottom";
4530
+ route: {
4531
+ x: string | number;
4532
+ y: string | number;
4533
+ }[];
4534
+ stroke_width: string | number;
4535
+ pcb_silkscreen_path_id?: string | undefined;
4536
+ }>, z.ZodObject<{
4537
+ type: z.ZodLiteral<"pcb_silkscreen_text">;
4538
+ pcb_silkscreen_text_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
4539
+ font: z.ZodDefault<z.ZodLiteral<"tscircuit2024">>;
4540
+ font_size: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
4541
+ pcb_component_id: z.ZodString;
4542
+ text: z.ZodString;
4543
+ layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
4544
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
4545
+ }, "strip", z.ZodTypeAny, {
4546
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4547
+ }, {
4548
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4549
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4550
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4551
+ }>;
4552
+ anchor_position: z.ZodDefault<z.ZodObject<{
4553
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4554
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4555
+ }, "strip", z.ZodTypeAny, {
4556
+ x: number;
4557
+ y: number;
4558
+ }, {
4559
+ x: string | number;
4560
+ y: string | number;
4561
+ }>>;
4562
+ anchor_alignment: z.ZodDefault<z.ZodEnum<["center", "top_left", "top_right", "bottom_left", "bottom_right"]>>;
4563
+ }, "strip", z.ZodTypeAny, {
4564
+ type: "pcb_silkscreen_text";
4565
+ text: string;
4566
+ pcb_component_id: string;
4567
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4568
+ pcb_silkscreen_text_id: string;
4569
+ font: "tscircuit2024";
4570
+ font_size: number;
4571
+ anchor_position: {
4572
+ x: number;
4573
+ y: number;
4574
+ };
4575
+ anchor_alignment: "center" | "top_left" | "top_right" | "bottom_left" | "bottom_right";
4576
+ }, {
4577
+ type: "pcb_silkscreen_text";
4578
+ text: string;
4579
+ pcb_component_id: string;
4580
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4581
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4582
+ };
4583
+ pcb_silkscreen_text_id?: string | undefined;
4584
+ font?: "tscircuit2024" | undefined;
4585
+ font_size?: string | number | undefined;
4586
+ anchor_position?: {
4587
+ x: string | number;
4588
+ y: string | number;
4589
+ } | undefined;
4590
+ anchor_alignment?: "center" | "top_left" | "top_right" | "bottom_left" | "bottom_right" | undefined;
4591
+ }>, z.ZodObject<{
4592
+ type: z.ZodLiteral<"pcb_silkscreen_rect">;
4593
+ pcb_silkscreen_rect_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
4594
+ pcb_component_id: z.ZodString;
4595
+ center: z.ZodObject<{
4596
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4597
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4598
+ }, "strip", z.ZodTypeAny, {
4599
+ x: number;
4600
+ y: number;
4601
+ }, {
4602
+ x: string | number;
4603
+ y: string | number;
4604
+ }>;
4605
+ width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4606
+ height: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4607
+ layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
4608
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
4609
+ }, "strip", z.ZodTypeAny, {
4610
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4611
+ }, {
4612
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4613
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4614
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4615
+ }>;
4616
+ }, "strip", z.ZodTypeAny, {
4617
+ type: "pcb_silkscreen_rect";
4618
+ width: number;
4619
+ height: number;
4620
+ center: {
4621
+ x: number;
4622
+ y: number;
4623
+ };
4624
+ pcb_component_id: string;
4625
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4626
+ pcb_silkscreen_rect_id: string;
4627
+ }, {
4628
+ type: "pcb_silkscreen_rect";
4629
+ width: string | number;
4630
+ height: string | number;
4631
+ center: {
4632
+ x: string | number;
4633
+ y: string | number;
4634
+ };
4635
+ pcb_component_id: string;
4636
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4637
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4638
+ };
4639
+ pcb_silkscreen_rect_id?: string | undefined;
4640
+ }>, z.ZodObject<{
4641
+ type: z.ZodLiteral<"pcb_silkscreen_circle">;
4642
+ pcb_silkscreen_circle_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
4643
+ pcb_component_id: z.ZodString;
4644
+ center: z.ZodObject<{
4645
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4646
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4647
+ }, "strip", z.ZodTypeAny, {
4648
+ x: number;
4649
+ y: number;
4650
+ }, {
4651
+ x: string | number;
4652
+ y: string | number;
4653
+ }>;
4654
+ radius: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4655
+ layer: z.ZodEnum<["top", "bottom"]>;
4656
+ }, "strip", z.ZodTypeAny, {
4657
+ type: "pcb_silkscreen_circle";
4658
+ center: {
4659
+ x: number;
4660
+ y: number;
4661
+ };
4662
+ pcb_component_id: string;
4663
+ layer: "top" | "bottom";
4664
+ radius: number;
4665
+ pcb_silkscreen_circle_id: string;
4666
+ }, {
4667
+ type: "pcb_silkscreen_circle";
4668
+ center: {
4669
+ x: string | number;
4670
+ y: string | number;
4671
+ };
4672
+ pcb_component_id: string;
4673
+ layer: "top" | "bottom";
4674
+ radius: string | number;
4675
+ pcb_silkscreen_circle_id?: string | undefined;
4676
+ }>, z.ZodObject<{
4677
+ type: z.ZodLiteral<"pcb_silkscreen_oval">;
4678
+ pcb_silkscreen_oval_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
4679
+ pcb_component_id: z.ZodString;
4680
+ center: z.ZodObject<{
4681
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4682
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4683
+ }, "strip", z.ZodTypeAny, {
4684
+ x: number;
4685
+ y: number;
4686
+ }, {
4687
+ x: string | number;
4688
+ y: string | number;
4689
+ }>;
4690
+ radius_x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4691
+ radius_y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4692
+ layer: z.ZodEnum<["top", "bottom"]>;
4693
+ }, "strip", z.ZodTypeAny, {
4694
+ type: "pcb_silkscreen_oval";
4695
+ center: {
4696
+ x: number;
4697
+ y: number;
4698
+ };
4699
+ pcb_component_id: string;
4700
+ layer: "top" | "bottom";
4701
+ pcb_silkscreen_oval_id: string;
4702
+ radius_x: number;
4703
+ radius_y: number;
4704
+ }, {
4705
+ type: "pcb_silkscreen_oval";
4706
+ center: {
4707
+ x: string | number;
4708
+ y: string | number;
4709
+ };
4710
+ pcb_component_id: string;
4711
+ layer: "top" | "bottom";
4712
+ radius_x: string | number;
4713
+ radius_y: string | number;
4714
+ pcb_silkscreen_oval_id?: string | undefined;
4715
+ }>, z.ZodObject<{
4716
+ type: z.ZodLiteral<"pcb_trace_error">;
4717
+ pcb_trace_error_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
4718
+ error_type: z.ZodLiteral<"pcb_trace_error">;
4719
+ message: z.ZodString;
4720
+ center: z.ZodOptional<z.ZodObject<{
4721
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4722
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4723
+ }, "strip", z.ZodTypeAny, {
4724
+ x: number;
4725
+ y: number;
4726
+ }, {
4727
+ x: string | number;
4728
+ y: string | number;
4729
+ }>>;
4730
+ pcb_trace_id: z.ZodString;
4731
+ source_trace_id: z.ZodString;
4732
+ pcb_component_ids: z.ZodArray<z.ZodString, "many">;
4733
+ pcb_port_ids: z.ZodArray<z.ZodString, "many">;
4734
+ }, "strip", z.ZodTypeAny, {
4735
+ message: string;
4736
+ type: "pcb_trace_error";
4737
+ source_trace_id: string;
4738
+ error_type: "pcb_trace_error";
4739
+ pcb_trace_id: string;
4740
+ pcb_trace_error_id: string;
4741
+ pcb_component_ids: string[];
4742
+ pcb_port_ids: string[];
4743
+ center?: {
4744
+ x: number;
4745
+ y: number;
4746
+ } | undefined;
4747
+ }, {
4748
+ message: string;
4749
+ type: "pcb_trace_error";
4750
+ source_trace_id: string;
4751
+ error_type: "pcb_trace_error";
4752
+ pcb_trace_id: string;
4753
+ pcb_component_ids: string[];
4754
+ pcb_port_ids: string[];
4755
+ center?: {
4756
+ x: string | number;
4757
+ y: string | number;
4758
+ } | undefined;
4759
+ pcb_trace_error_id?: string | undefined;
4760
+ }>, z.ZodObject<{
4761
+ type: z.ZodLiteral<"pcb_placement_error">;
4762
+ pcb_placement_error_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
4763
+ message: z.ZodString;
4764
+ }, "strip", z.ZodTypeAny, {
4765
+ message: string;
4766
+ type: "pcb_placement_error";
4767
+ pcb_placement_error_id: string;
4768
+ }, {
4769
+ message: string;
4770
+ type: "pcb_placement_error";
4771
+ pcb_placement_error_id?: string | undefined;
4772
+ }>, z.ZodObject<{
4773
+ type: z.ZodLiteral<"pcb_port_not_matched_error">;
4774
+ pcb_error_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
4775
+ message: z.ZodString;
4776
+ pcb_component_ids: z.ZodArray<z.ZodString, "many">;
4777
+ }, "strip", z.ZodTypeAny, {
4778
+ message: string;
4779
+ type: "pcb_port_not_matched_error";
4780
+ pcb_component_ids: string[];
4781
+ pcb_error_id: string;
4782
+ }, {
4783
+ message: string;
4784
+ type: "pcb_port_not_matched_error";
4785
+ pcb_component_ids: string[];
4786
+ pcb_error_id?: string | undefined;
4787
+ }>, z.ZodObject<{
4788
+ type: z.ZodLiteral<"pcb_fabrication_note_path">;
4789
+ pcb_fabrication_note_path_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
4790
+ pcb_component_id: z.ZodString;
4791
+ layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
4792
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
4793
+ }, "strip", z.ZodTypeAny, {
4794
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4795
+ }, {
4796
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4797
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4798
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4799
+ }>;
4800
+ route: z.ZodArray<z.ZodObject<{
4801
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4802
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4803
+ }, "strip", z.ZodTypeAny, {
4804
+ x: number;
4805
+ y: number;
4806
+ }, {
4807
+ x: string | number;
4808
+ y: string | number;
4809
+ }>, "many">;
4810
+ stroke_width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4811
+ color: z.ZodOptional<z.ZodString>;
4812
+ }, "strip", z.ZodTypeAny, {
4813
+ type: "pcb_fabrication_note_path";
4814
+ pcb_component_id: string;
4815
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4816
+ route: {
4817
+ x: number;
4818
+ y: number;
4819
+ }[];
4820
+ stroke_width: number;
4821
+ pcb_fabrication_note_path_id: string;
4822
+ color?: string | undefined;
4823
+ }, {
4824
+ type: "pcb_fabrication_note_path";
4825
+ pcb_component_id: string;
4826
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4827
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4828
+ };
4829
+ route: {
4830
+ x: string | number;
4831
+ y: string | number;
4832
+ }[];
4833
+ stroke_width: string | number;
4834
+ color?: string | undefined;
4835
+ pcb_fabrication_note_path_id?: string | undefined;
4836
+ }>, z.ZodObject<{
4837
+ type: z.ZodLiteral<"pcb_fabrication_note_text">;
4838
+ pcb_fabrication_note_text_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
4839
+ font: z.ZodDefault<z.ZodLiteral<"tscircuit2024">>;
4840
+ font_size: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
4841
+ pcb_component_id: z.ZodString;
4842
+ text: z.ZodString;
4843
+ layer: z.ZodEnum<["top", "bottom"]>;
4844
+ anchor_position: z.ZodDefault<z.ZodObject<{
4845
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4846
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4847
+ }, "strip", z.ZodTypeAny, {
4848
+ x: number;
4849
+ y: number;
4850
+ }, {
4851
+ x: string | number;
4852
+ y: string | number;
4853
+ }>>;
4854
+ anchor_alignment: z.ZodDefault<z.ZodEnum<["center", "top_left", "top_right", "bottom_left", "bottom_right"]>>;
4855
+ color: z.ZodOptional<z.ZodString>;
4856
+ }, "strip", z.ZodTypeAny, {
4857
+ type: "pcb_fabrication_note_text";
4858
+ text: string;
4859
+ pcb_component_id: string;
4860
+ layer: "top" | "bottom";
4861
+ font: "tscircuit2024";
4862
+ font_size: number;
4863
+ anchor_position: {
4864
+ x: number;
4865
+ y: number;
4866
+ };
4867
+ anchor_alignment: "center" | "top_left" | "top_right" | "bottom_left" | "bottom_right";
4868
+ pcb_fabrication_note_text_id: string;
4869
+ color?: string | undefined;
4870
+ }, {
4871
+ type: "pcb_fabrication_note_text";
4872
+ text: string;
4873
+ pcb_component_id: string;
4874
+ layer: "top" | "bottom";
4875
+ font?: "tscircuit2024" | undefined;
4876
+ font_size?: string | number | undefined;
4877
+ anchor_position?: {
4878
+ x: string | number;
4879
+ y: string | number;
4880
+ } | undefined;
4881
+ anchor_alignment?: "center" | "top_left" | "top_right" | "bottom_left" | "bottom_right" | undefined;
4882
+ pcb_fabrication_note_text_id?: string | undefined;
4883
+ color?: string | undefined;
4884
+ }>, z.ZodObject<{
4885
+ type: z.ZodLiteral<"schematic_box">;
4886
+ schematic_component_id: z.ZodString;
4887
+ width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4888
+ height: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4889
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4890
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4891
+ }, "strip", z.ZodTypeAny, {
4892
+ x: number;
4893
+ y: number;
4894
+ type: "schematic_box";
4895
+ width: number;
4896
+ height: number;
4897
+ schematic_component_id: string;
4898
+ }, {
4899
+ x: string | number;
4900
+ y: string | number;
4901
+ type: "schematic_box";
4902
+ width: string | number;
4903
+ height: string | number;
4904
+ schematic_component_id: string;
4905
+ }>, z.ZodObject<{
4906
+ type: z.ZodLiteral<"schematic_text">;
4907
+ schematic_component_id: z.ZodString;
4908
+ schematic_text_id: z.ZodString;
4909
+ text: z.ZodString;
4910
+ position: z.ZodObject<{
4911
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4912
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4913
+ }, "strip", z.ZodTypeAny, {
4914
+ x: number;
4915
+ y: number;
4916
+ }, {
4917
+ x: string | number;
4918
+ y: string | number;
4919
+ }>;
4920
+ rotation: z.ZodDefault<z.ZodNumber>;
4921
+ anchor: z.ZodDefault<z.ZodEnum<["center", "left", "right", "top", "bottom"]>>;
4922
+ }, "strip", z.ZodTypeAny, {
4923
+ anchor: "center" | "left" | "right" | "top" | "bottom";
4924
+ type: "schematic_text";
4925
+ schematic_component_id: string;
4926
+ rotation: number;
4927
+ schematic_text_id: string;
4928
+ text: string;
4929
+ position: {
4930
+ x: number;
4931
+ y: number;
4932
+ };
4933
+ }, {
4934
+ type: "schematic_text";
4935
+ schematic_component_id: string;
4936
+ schematic_text_id: string;
4937
+ text: string;
4938
+ position: {
4939
+ x: string | number;
4940
+ y: string | number;
4941
+ };
4942
+ anchor?: "center" | "left" | "right" | "top" | "bottom" | undefined;
4943
+ rotation?: number | undefined;
4944
+ }>, z.ZodObject<{
4945
+ type: z.ZodLiteral<"schematic_line">;
4946
+ schematic_component_id: z.ZodString;
4947
+ x1: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4948
+ x2: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4949
+ y1: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4950
+ y2: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4951
+ }, "strip", z.ZodTypeAny, {
4952
+ type: "schematic_line";
4953
+ schematic_component_id: string;
4954
+ x1: number;
4955
+ x2: number;
4956
+ y1: number;
4957
+ y2: number;
4958
+ }, {
4959
+ type: "schematic_line";
4960
+ schematic_component_id: string;
4961
+ x1: string | number;
4962
+ x2: string | number;
4963
+ y1: string | number;
4964
+ y2: string | number;
4965
+ }>, z.ZodObject<{
4966
+ type: z.ZodLiteral<"schematic_component">;
4967
+ rotation: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
4968
+ size: z.ZodObject<{
4969
+ width: z.ZodNumber;
4970
+ height: z.ZodNumber;
4971
+ }, "strip", z.ZodTypeAny, {
4972
+ width: number;
4973
+ height: number;
4974
+ }, {
4975
+ width: number;
4976
+ height: number;
4977
+ }>;
4978
+ center: z.ZodObject<{
4979
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4980
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4981
+ }, "strip", z.ZodTypeAny, {
4982
+ x: number;
4983
+ y: number;
4984
+ }, {
4985
+ x: string | number;
4986
+ y: string | number;
4987
+ }>;
4988
+ source_component_id: z.ZodString;
4989
+ schematic_component_id: z.ZodString;
4990
+ pin_spacing: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
4991
+ pin_styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
4992
+ left_margin: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
4993
+ right_margin: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
4994
+ top_margin: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
4995
+ bottom_margin: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
4996
+ }, "strip", z.ZodTypeAny, {
4997
+ left_margin?: number | undefined;
4998
+ right_margin?: number | undefined;
4999
+ top_margin?: number | undefined;
5000
+ bottom_margin?: number | undefined;
5001
+ }, {
5002
+ left_margin?: string | number | undefined;
5003
+ right_margin?: string | number | undefined;
5004
+ top_margin?: string | number | undefined;
5005
+ bottom_margin?: string | number | undefined;
5006
+ }>>>;
5007
+ box_width: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
5008
+ symbol_name: z.ZodOptional<z.ZodString>;
5009
+ port_arrangement: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
5010
+ left_size: z.ZodNumber;
5011
+ right_size: z.ZodNumber;
5012
+ top_size: z.ZodOptional<z.ZodNumber>;
5013
+ bottom_size: z.ZodOptional<z.ZodNumber>;
5014
+ }, "strip", z.ZodTypeAny, {
5015
+ left_size: number;
5016
+ right_size: number;
5017
+ top_size?: number | undefined;
5018
+ bottom_size?: number | undefined;
5019
+ }, {
5020
+ left_size: number;
5021
+ right_size: number;
5022
+ top_size?: number | undefined;
5023
+ bottom_size?: number | undefined;
5024
+ }>, z.ZodObject<{
5025
+ left_side: z.ZodOptional<z.ZodObject<{
5026
+ pins: z.ZodArray<z.ZodNumber, "many">;
5027
+ direction: z.ZodOptional<z.ZodEnum<["top-to-bottom", "bottom-to-top"]>>;
5028
+ }, "strip", z.ZodTypeAny, {
5029
+ pins: number[];
5030
+ direction?: "top-to-bottom" | "bottom-to-top" | undefined;
5031
+ }, {
5032
+ pins: number[];
5033
+ direction?: "top-to-bottom" | "bottom-to-top" | undefined;
5034
+ }>>;
5035
+ right_side: z.ZodOptional<z.ZodObject<{
5036
+ pins: z.ZodArray<z.ZodNumber, "many">;
5037
+ direction: z.ZodOptional<z.ZodEnum<["top-to-bottom", "bottom-to-top"]>>;
5038
+ }, "strip", z.ZodTypeAny, {
5039
+ pins: number[];
5040
+ direction?: "top-to-bottom" | "bottom-to-top" | undefined;
5041
+ }, {
5042
+ pins: number[];
5043
+ direction?: "top-to-bottom" | "bottom-to-top" | undefined;
5044
+ }>>;
5045
+ top_side: z.ZodOptional<z.ZodObject<{
5046
+ pins: z.ZodArray<z.ZodNumber, "many">;
5047
+ direction: z.ZodOptional<z.ZodEnum<["left-to-right", "right-to-left"]>>;
5048
+ }, "strip", z.ZodTypeAny, {
5049
+ pins: number[];
5050
+ direction?: "left-to-right" | "right-to-left" | undefined;
5051
+ }, {
5052
+ pins: number[];
5053
+ direction?: "left-to-right" | "right-to-left" | undefined;
5054
+ }>>;
5055
+ bottom_side: z.ZodOptional<z.ZodObject<{
5056
+ pins: z.ZodArray<z.ZodNumber, "many">;
5057
+ direction: z.ZodOptional<z.ZodEnum<["left-to-right", "right-to-left"]>>;
5058
+ }, "strip", z.ZodTypeAny, {
5059
+ pins: number[];
5060
+ direction?: "left-to-right" | "right-to-left" | undefined;
5061
+ }, {
5062
+ pins: number[];
5063
+ direction?: "left-to-right" | "right-to-left" | undefined;
5064
+ }>>;
5065
+ }, "strip", z.ZodTypeAny, {
5066
+ left_side?: {
5067
+ pins: number[];
5068
+ direction?: "top-to-bottom" | "bottom-to-top" | undefined;
5069
+ } | undefined;
5070
+ right_side?: {
5071
+ pins: number[];
5072
+ direction?: "top-to-bottom" | "bottom-to-top" | undefined;
5073
+ } | undefined;
5074
+ top_side?: {
5075
+ pins: number[];
5076
+ direction?: "left-to-right" | "right-to-left" | undefined;
5077
+ } | undefined;
5078
+ bottom_side?: {
5079
+ pins: number[];
5080
+ direction?: "left-to-right" | "right-to-left" | undefined;
5081
+ } | undefined;
5082
+ }, {
5083
+ left_side?: {
5084
+ pins: number[];
5085
+ direction?: "top-to-bottom" | "bottom-to-top" | undefined;
5086
+ } | undefined;
5087
+ right_side?: {
5088
+ pins: number[];
5089
+ direction?: "top-to-bottom" | "bottom-to-top" | undefined;
5090
+ } | undefined;
5091
+ top_side?: {
5092
+ pins: number[];
5093
+ direction?: "left-to-right" | "right-to-left" | undefined;
5094
+ } | undefined;
5095
+ bottom_side?: {
5096
+ pins: number[];
5097
+ direction?: "left-to-right" | "right-to-left" | undefined;
5098
+ } | undefined;
5099
+ }>]>>;
5100
+ port_labels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
5101
+ }, "strip", z.ZodTypeAny, {
5102
+ type: "schematic_component";
5103
+ source_component_id: string;
5104
+ schematic_component_id: string;
5105
+ rotation: number;
5106
+ size: {
5107
+ width: number;
5108
+ height: number;
5109
+ };
5110
+ center: {
5111
+ x: number;
5112
+ y: number;
5113
+ };
5114
+ pin_spacing?: number | undefined;
5115
+ pin_styles?: Record<string, {
5116
+ left_margin?: number | undefined;
5117
+ right_margin?: number | undefined;
5118
+ top_margin?: number | undefined;
5119
+ bottom_margin?: number | undefined;
5120
+ }> | undefined;
5121
+ box_width?: number | undefined;
5122
+ symbol_name?: string | undefined;
5123
+ port_arrangement?: {
5124
+ left_size: number;
5125
+ right_size: number;
5126
+ top_size?: number | undefined;
5127
+ bottom_size?: number | undefined;
5128
+ } | {
5129
+ left_side?: {
5130
+ pins: number[];
5131
+ direction?: "top-to-bottom" | "bottom-to-top" | undefined;
5132
+ } | undefined;
5133
+ right_side?: {
5134
+ pins: number[];
5135
+ direction?: "top-to-bottom" | "bottom-to-top" | undefined;
5136
+ } | undefined;
5137
+ top_side?: {
5138
+ pins: number[];
5139
+ direction?: "left-to-right" | "right-to-left" | undefined;
5140
+ } | undefined;
5141
+ bottom_side?: {
5142
+ pins: number[];
5143
+ direction?: "left-to-right" | "right-to-left" | undefined;
5144
+ } | undefined;
5145
+ } | undefined;
5146
+ port_labels?: Record<string, string> | undefined;
5147
+ }, {
5148
+ type: "schematic_component";
5149
+ source_component_id: string;
5150
+ schematic_component_id: string;
5151
+ size: {
5152
+ width: number;
5153
+ height: number;
5154
+ };
5155
+ center: {
5156
+ x: string | number;
5157
+ y: string | number;
5158
+ };
5159
+ rotation?: string | number | undefined;
5160
+ pin_spacing?: string | number | undefined;
5161
+ pin_styles?: Record<string, {
5162
+ left_margin?: string | number | undefined;
5163
+ right_margin?: string | number | undefined;
5164
+ top_margin?: string | number | undefined;
5165
+ bottom_margin?: string | number | undefined;
5166
+ }> | undefined;
5167
+ box_width?: string | number | undefined;
5168
+ symbol_name?: string | undefined;
5169
+ port_arrangement?: {
5170
+ left_size: number;
5171
+ right_size: number;
5172
+ top_size?: number | undefined;
5173
+ bottom_size?: number | undefined;
5174
+ } | {
5175
+ left_side?: {
5176
+ pins: number[];
5177
+ direction?: "top-to-bottom" | "bottom-to-top" | undefined;
5178
+ } | undefined;
5179
+ right_side?: {
5180
+ pins: number[];
5181
+ direction?: "top-to-bottom" | "bottom-to-top" | undefined;
5182
+ } | undefined;
5183
+ top_side?: {
5184
+ pins: number[];
5185
+ direction?: "left-to-right" | "right-to-left" | undefined;
5186
+ } | undefined;
5187
+ bottom_side?: {
5188
+ pins: number[];
5189
+ direction?: "left-to-right" | "right-to-left" | undefined;
5190
+ } | undefined;
5191
+ } | undefined;
5192
+ port_labels?: Record<string, string> | undefined;
5193
+ }>, z.ZodObject<{
5194
+ type: z.ZodLiteral<"schematic_port">;
5195
+ schematic_port_id: z.ZodString;
5196
+ source_port_id: z.ZodString;
5197
+ schematic_component_id: z.ZodOptional<z.ZodString>;
5198
+ center: z.ZodObject<{
5199
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
5200
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
5201
+ }, "strip", z.ZodTypeAny, {
5202
+ x: number;
5203
+ y: number;
5204
+ }, {
5205
+ x: string | number;
5206
+ y: string | number;
5207
+ }>;
5208
+ facing_direction: z.ZodOptional<z.ZodEnum<["up", "down", "left", "right"]>>;
5209
+ }, "strip", z.ZodTypeAny, {
5210
+ type: "schematic_port";
5211
+ source_port_id: string;
5212
+ center: {
5213
+ x: number;
5214
+ y: number;
5215
+ };
5216
+ schematic_port_id: string;
5217
+ schematic_component_id?: string | undefined;
5218
+ facing_direction?: "left" | "right" | "up" | "down" | undefined;
5219
+ }, {
5220
+ type: "schematic_port";
5221
+ source_port_id: string;
5222
+ center: {
5223
+ x: string | number;
5224
+ y: string | number;
5225
+ };
5226
+ schematic_port_id: string;
5227
+ schematic_component_id?: string | undefined;
5228
+ facing_direction?: "left" | "right" | "up" | "down" | undefined;
5229
+ }>, z.ZodObject<{
5230
+ type: z.ZodLiteral<"schematic_trace">;
5231
+ schematic_trace_id: z.ZodString;
5232
+ source_trace_id: z.ZodString;
5233
+ edges: z.ZodArray<z.ZodObject<{
5234
+ from: z.ZodObject<{
5235
+ x: z.ZodNumber;
5236
+ y: z.ZodNumber;
5237
+ }, "strip", z.ZodTypeAny, {
5238
+ x: number;
5239
+ y: number;
5240
+ }, {
5241
+ x: number;
5242
+ y: number;
5243
+ }>;
5244
+ to: z.ZodObject<{
5245
+ x: z.ZodNumber;
5246
+ y: z.ZodNumber;
5247
+ }, "strip", z.ZodTypeAny, {
5248
+ x: number;
5249
+ y: number;
5250
+ }, {
5251
+ x: number;
5252
+ y: number;
5253
+ }>;
5254
+ from_schematic_port_id: z.ZodOptional<z.ZodString>;
5255
+ to_schematic_port_id: z.ZodOptional<z.ZodString>;
5256
+ }, "strip", z.ZodTypeAny, {
5257
+ from: {
5258
+ x: number;
5259
+ y: number;
5260
+ };
5261
+ to: {
5262
+ x: number;
5263
+ y: number;
5264
+ };
5265
+ from_schematic_port_id?: string | undefined;
5266
+ to_schematic_port_id?: string | undefined;
5267
+ }, {
5268
+ from: {
5269
+ x: number;
5270
+ y: number;
5271
+ };
5272
+ to: {
5273
+ x: number;
5274
+ y: number;
5275
+ };
5276
+ from_schematic_port_id?: string | undefined;
5277
+ to_schematic_port_id?: string | undefined;
5278
+ }>, "many">;
5279
+ }, "strip", z.ZodTypeAny, {
5280
+ type: "schematic_trace";
5281
+ source_trace_id: string;
5282
+ schematic_trace_id: string;
5283
+ edges: {
5284
+ from: {
5285
+ x: number;
5286
+ y: number;
5287
+ };
5288
+ to: {
5289
+ x: number;
5290
+ y: number;
5291
+ };
5292
+ from_schematic_port_id?: string | undefined;
5293
+ to_schematic_port_id?: string | undefined;
5294
+ }[];
5295
+ }, {
5296
+ type: "schematic_trace";
5297
+ source_trace_id: string;
5298
+ schematic_trace_id: string;
5299
+ edges: {
5300
+ from: {
5301
+ x: number;
5302
+ y: number;
5303
+ };
5304
+ to: {
5305
+ x: number;
5306
+ y: number;
5307
+ };
5308
+ from_schematic_port_id?: string | undefined;
5309
+ to_schematic_port_id?: string | undefined;
5310
+ }[];
5311
+ }>, z.ZodObject<{
5312
+ type: z.ZodLiteral<"schematic_path">;
5313
+ schematic_component_id: z.ZodString;
5314
+ fill_color: z.ZodOptional<z.ZodEnum<["red", "blue"]>>;
5315
+ is_filled: z.ZodOptional<z.ZodBoolean>;
5316
+ points: z.ZodArray<z.ZodObject<{
5317
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
5318
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
5319
+ }, "strip", z.ZodTypeAny, {
5320
+ x: number;
5321
+ y: number;
5322
+ }, {
5323
+ x: string | number;
5324
+ y: string | number;
5325
+ }>, "many">;
5326
+ }, "strip", z.ZodTypeAny, {
5327
+ type: "schematic_path";
5328
+ schematic_component_id: string;
5329
+ points: {
5330
+ x: number;
5331
+ y: number;
5332
+ }[];
5333
+ fill_color?: "red" | "blue" | undefined;
5334
+ is_filled?: boolean | undefined;
5335
+ }, {
5336
+ type: "schematic_path";
5337
+ schematic_component_id: string;
5338
+ points: {
5339
+ x: string | number;
5340
+ y: string | number;
5341
+ }[];
5342
+ fill_color?: "red" | "blue" | undefined;
5343
+ is_filled?: boolean | undefined;
5344
+ }>, z.ZodObject<{
5345
+ schematic_error_id: z.ZodString;
5346
+ type: z.ZodLiteral<"schematic_error">;
5347
+ error_type: z.ZodLiteral<"schematic_port_not_found">;
5348
+ message: z.ZodString;
5349
+ }, "strip", z.ZodTypeAny, {
5350
+ message: string;
5351
+ type: "schematic_error";
5352
+ schematic_error_id: string;
5353
+ error_type: "schematic_port_not_found";
5354
+ }, {
5355
+ message: string;
5356
+ type: "schematic_error";
5357
+ schematic_error_id: string;
5358
+ error_type: "schematic_port_not_found";
5359
+ }>, z.ZodObject<{
5360
+ type: z.ZodLiteral<"schematic_net_label">;
5361
+ source_net_id: z.ZodString;
5362
+ center: z.ZodObject<{
5363
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
5364
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
5365
+ }, "strip", z.ZodTypeAny, {
5366
+ x: number;
5367
+ y: number;
5368
+ }, {
5369
+ x: string | number;
5370
+ y: string | number;
5371
+ }>;
5372
+ anchor_side: z.ZodEnum<["top", "bottom", "left", "right"]>;
5373
+ text: z.ZodString;
2363
5374
  }, "strip", z.ZodTypeAny, {
5375
+ type: "schematic_net_label";
5376
+ source_net_id: string;
2364
5377
  center: {
2365
5378
  x: number;
2366
5379
  y: number;
2367
5380
  };
2368
- shape: "circle";
2369
- radius: number;
5381
+ text: string;
5382
+ anchor_side: "left" | "right" | "top" | "bottom";
2370
5383
  }, {
5384
+ type: "schematic_net_label";
5385
+ source_net_id: string;
2371
5386
  center: {
2372
5387
  x: string | number;
2373
5388
  y: string | number;
2374
5389
  };
2375
- shape: "circle";
2376
- radius: string | number;
2377
- }>]>>;
2378
- type PCBKeepoutInput = z.input<typeof pcb_keepout>;
2379
- type PCBKeepout = z.infer<typeof pcb_keepout>;
2380
-
2381
- declare const cad_component: z.ZodObject<{
5390
+ text: string;
5391
+ anchor_side: "left" | "right" | "top" | "bottom";
5392
+ }>, z.ZodObject<{
2382
5393
  type: z.ZodLiteral<"cad_component">;
2383
5394
  cad_component_id: z.ZodString;
2384
5395
  pcb_component_id: z.ZodString;
@@ -2490,10 +5501,10 @@ declare const cad_component: z.ZodObject<{
2490
5501
  model_stl_url?: string | undefined;
2491
5502
  model_3mf_url?: string | undefined;
2492
5503
  model_jscad?: any;
2493
- }>;
2494
- type CadComponentInput = z.input<typeof cad_component>;
2495
- type CadComponent = z.infer<typeof cad_component>;
2496
-
5504
+ }>]>;
5505
+ /**
5506
+ * @deprecated use any_circuit_element instead
5507
+ */
2497
5508
  declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
2498
5509
  type: z.ZodLiteral<"source_trace">;
2499
5510
  source_trace_id: z.ZodString;
@@ -2941,7 +5952,7 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
2941
5952
  supplier_part_numbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
2942
5953
  }>, z.ZodObject<{
2943
5954
  type: z.ZodLiteral<"pcb_component">;
2944
- pcb_component_id: z.ZodString;
5955
+ pcb_component_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
2945
5956
  source_component_id: z.ZodString;
2946
5957
  center: z.ZodObject<{
2947
5958
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
@@ -2987,13 +5998,14 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
2987
5998
  x: string | number;
2988
5999
  y: string | number;
2989
6000
  };
2990
- pcb_component_id: string;
2991
6001
  layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
2992
6002
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2993
6003
  };
6004
+ pcb_component_id?: string | undefined;
2994
6005
  }>, z.ZodUnion<[z.ZodObject<{
2995
6006
  type: z.ZodLiteral<"pcb_hole">;
2996
- hole_shape: z.ZodDefault<z.ZodEnum<["round", "square"]>>;
6007
+ pcb_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
6008
+ hole_shape: z.ZodEnum<["circle", "square"]>;
2997
6009
  hole_diameter: z.ZodNumber;
2998
6010
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
2999
6011
  y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
@@ -3001,16 +6013,19 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3001
6013
  x: number;
3002
6014
  y: number;
3003
6015
  type: "pcb_hole";
3004
- hole_shape: "round" | "square";
6016
+ pcb_hole_id: string;
6017
+ hole_shape: "circle" | "square";
3005
6018
  hole_diameter: number;
3006
6019
  }, {
3007
6020
  x: string | number;
3008
6021
  y: string | number;
3009
6022
  type: "pcb_hole";
6023
+ hole_shape: "circle" | "square";
3010
6024
  hole_diameter: number;
3011
- hole_shape?: "round" | "square" | undefined;
6025
+ pcb_hole_id?: string | undefined;
3012
6026
  }>, z.ZodObject<{
3013
6027
  type: z.ZodLiteral<"pcb_hole">;
6028
+ pcb_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3014
6029
  hole_shape: z.ZodLiteral<"oval">;
3015
6030
  hole_width: z.ZodNumber;
3016
6031
  hole_height: z.ZodNumber;
@@ -3020,6 +6035,7 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3020
6035
  x: number;
3021
6036
  y: number;
3022
6037
  type: "pcb_hole";
6038
+ pcb_hole_id: string;
3023
6039
  hole_shape: "oval";
3024
6040
  hole_width: number;
3025
6041
  hole_height: number;
@@ -3030,6 +6046,7 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3030
6046
  hole_shape: "oval";
3031
6047
  hole_width: number;
3032
6048
  hole_height: number;
6049
+ pcb_hole_id?: string | undefined;
3033
6050
  }>]>, z.ZodUnion<[z.ZodObject<{
3034
6051
  type: z.ZodLiteral<"pcb_plated_hole">;
3035
6052
  shape: z.ZodLiteral<"circle">;
@@ -3049,6 +6066,7 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3049
6066
  port_hints: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3050
6067
  pcb_component_id: z.ZodOptional<z.ZodString>;
3051
6068
  pcb_port_id: z.ZodOptional<z.ZodString>;
6069
+ pcb_plated_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3052
6070
  }, "strip", z.ZodTypeAny, {
3053
6071
  x: number;
3054
6072
  y: number;
@@ -3057,6 +6075,7 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3057
6075
  shape: "circle";
3058
6076
  outer_diameter: number;
3059
6077
  layers: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6")[];
6078
+ pcb_plated_hole_id: string;
3060
6079
  port_hints?: string[] | undefined;
3061
6080
  pcb_component_id?: string | undefined;
3062
6081
  pcb_port_id?: string | undefined;
@@ -3073,6 +6092,7 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3073
6092
  port_hints?: string[] | undefined;
3074
6093
  pcb_component_id?: string | undefined;
3075
6094
  pcb_port_id?: string | undefined;
6095
+ pcb_plated_hole_id?: string | undefined;
3076
6096
  }>, z.ZodObject<{
3077
6097
  type: z.ZodLiteral<"pcb_plated_hole">;
3078
6098
  shape: z.ZodEnum<["oval", "pill"]>;
@@ -3094,6 +6114,7 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3094
6114
  port_hints: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3095
6115
  pcb_component_id: z.ZodOptional<z.ZodString>;
3096
6116
  pcb_port_id: z.ZodOptional<z.ZodString>;
6117
+ pcb_plated_hole_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3097
6118
  }, "strip", z.ZodTypeAny, {
3098
6119
  x: number;
3099
6120
  y: number;
@@ -3102,6 +6123,7 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3102
6123
  hole_height: number;
3103
6124
  shape: "oval" | "pill";
3104
6125
  layers: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6")[];
6126
+ pcb_plated_hole_id: string;
3105
6127
  outer_width: number;
3106
6128
  outer_height: number;
3107
6129
  port_hints?: string[] | undefined;
@@ -3122,9 +6144,91 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3122
6144
  port_hints?: string[] | undefined;
3123
6145
  pcb_component_id?: string | undefined;
3124
6146
  pcb_port_id?: string | undefined;
6147
+ pcb_plated_hole_id?: string | undefined;
6148
+ }>]>, z.ZodUnion<[z.ZodObject<{
6149
+ type: z.ZodLiteral<"pcb_keepout">;
6150
+ shape: z.ZodLiteral<"rect">;
6151
+ center: z.ZodObject<{
6152
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
6153
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
6154
+ }, "strip", z.ZodTypeAny, {
6155
+ x: number;
6156
+ y: number;
6157
+ }, {
6158
+ x: string | number;
6159
+ y: string | number;
6160
+ }>;
6161
+ width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
6162
+ height: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
6163
+ pcb_keepout_id: z.ZodString;
6164
+ layers: z.ZodArray<z.ZodString, "many">;
6165
+ description: z.ZodOptional<z.ZodString>;
6166
+ }, "strip", z.ZodTypeAny, {
6167
+ type: "pcb_keepout";
6168
+ width: number;
6169
+ height: number;
6170
+ center: {
6171
+ x: number;
6172
+ y: number;
6173
+ };
6174
+ shape: "rect";
6175
+ layers: string[];
6176
+ pcb_keepout_id: string;
6177
+ description?: string | undefined;
6178
+ }, {
6179
+ type: "pcb_keepout";
6180
+ width: string | number;
6181
+ height: string | number;
6182
+ center: {
6183
+ x: string | number;
6184
+ y: string | number;
6185
+ };
6186
+ shape: "rect";
6187
+ layers: string[];
6188
+ pcb_keepout_id: string;
6189
+ description?: string | undefined;
6190
+ }>, z.ZodObject<{
6191
+ type: z.ZodLiteral<"pcb_keepout">;
6192
+ shape: z.ZodLiteral<"circle">;
6193
+ center: z.ZodObject<{
6194
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
6195
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
6196
+ }, "strip", z.ZodTypeAny, {
6197
+ x: number;
6198
+ y: number;
6199
+ }, {
6200
+ x: string | number;
6201
+ y: string | number;
6202
+ }>;
6203
+ radius: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
6204
+ pcb_keepout_id: z.ZodString;
6205
+ layers: z.ZodArray<z.ZodString, "many">;
6206
+ description: z.ZodOptional<z.ZodString>;
6207
+ }, "strip", z.ZodTypeAny, {
6208
+ type: "pcb_keepout";
6209
+ center: {
6210
+ x: number;
6211
+ y: number;
6212
+ };
6213
+ shape: "circle";
6214
+ layers: string[];
6215
+ radius: number;
6216
+ pcb_keepout_id: string;
6217
+ description?: string | undefined;
6218
+ }, {
6219
+ type: "pcb_keepout";
6220
+ center: {
6221
+ x: string | number;
6222
+ y: string | number;
6223
+ };
6224
+ shape: "circle";
6225
+ layers: string[];
6226
+ radius: string | number;
6227
+ pcb_keepout_id: string;
6228
+ description?: string | undefined;
3125
6229
  }>]>, z.ZodObject<{
3126
6230
  type: z.ZodLiteral<"pcb_port">;
3127
- pcb_port_id: z.ZodString;
6231
+ pcb_port_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3128
6232
  source_port_id: z.ZodString;
3129
6233
  pcb_component_id: z.ZodString;
3130
6234
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
@@ -3155,40 +6259,68 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3155
6259
  layers: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
3156
6260
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3157
6261
  })[];
3158
- pcb_port_id: string;
6262
+ pcb_port_id?: string | undefined;
3159
6263
  }>, z.ZodObject<{
3160
6264
  type: z.ZodLiteral<"pcb_text">;
6265
+ pcb_text_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3161
6266
  text: z.ZodString;
3162
- x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3163
- y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3164
- align: z.ZodEnum<["bottom-left"]>;
6267
+ center: z.ZodObject<{
6268
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
6269
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
6270
+ }, "strip", z.ZodTypeAny, {
6271
+ x: number;
6272
+ y: number;
6273
+ }, {
6274
+ x: string | number;
6275
+ y: string | number;
6276
+ }>;
6277
+ layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
6278
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
6279
+ }, "strip", z.ZodTypeAny, {
6280
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
6281
+ }, {
6282
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
6283
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
6284
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
6285
+ }>;
3165
6286
  width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3166
6287
  height: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3167
6288
  lines: z.ZodNumber;
6289
+ align: z.ZodEnum<["bottom-left"]>;
3168
6290
  }, "strip", z.ZodTypeAny, {
3169
- x: number;
3170
- y: number;
3171
6291
  type: "pcb_text";
3172
6292
  width: number;
3173
6293
  height: number;
6294
+ center: {
6295
+ x: number;
6296
+ y: number;
6297
+ };
3174
6298
  text: string;
3175
- align: "bottom-left";
6299
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
6300
+ pcb_text_id: string;
3176
6301
  lines: number;
6302
+ align: "bottom-left";
3177
6303
  }, {
3178
- x: string | number;
3179
- y: string | number;
3180
6304
  type: "pcb_text";
3181
6305
  width: string | number;
3182
6306
  height: string | number;
6307
+ center: {
6308
+ x: string | number;
6309
+ y: string | number;
6310
+ };
3183
6311
  text: string;
3184
- align: "bottom-left";
6312
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
6313
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
6314
+ };
3185
6315
  lines: number;
6316
+ align: "bottom-left";
6317
+ pcb_text_id?: string | undefined;
3186
6318
  }>, z.ZodObject<{
3187
6319
  type: z.ZodLiteral<"pcb_trace">;
3188
6320
  source_trace_id: z.ZodOptional<z.ZodString>;
3189
6321
  pcb_component_id: z.ZodOptional<z.ZodString>;
3190
- pcb_trace_id: z.ZodString;
3191
- route_thickness_mode: z.ZodDefault<z.ZodEnum<["constant", "interpolated"]>>;
6322
+ pcb_trace_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
6323
+ route_thickness_mode: z.ZodOptional<z.ZodDefault<z.ZodEnum<["constant", "interpolated"]>>>;
3192
6324
  should_round_corners: z.ZodOptional<z.ZodBoolean>;
3193
6325
  route: z.ZodArray<z.ZodUnion<[z.ZodObject<{
3194
6326
  route_type: z.ZodLiteral<"wire">;
@@ -3197,12 +6329,20 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3197
6329
  width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3198
6330
  start_pcb_port_id: z.ZodOptional<z.ZodString>;
3199
6331
  end_pcb_port_id: z.ZodOptional<z.ZodString>;
3200
- layer: z.ZodString;
6332
+ layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
6333
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
6334
+ }, "strip", z.ZodTypeAny, {
6335
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
6336
+ }, {
6337
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
6338
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
6339
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
6340
+ }>;
3201
6341
  }, "strip", z.ZodTypeAny, {
3202
6342
  x: number;
3203
6343
  y: number;
3204
6344
  width: number;
3205
- layer: string;
6345
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3206
6346
  route_type: "wire";
3207
6347
  start_pcb_port_id?: string | undefined;
3208
6348
  end_pcb_port_id?: string | undefined;
@@ -3210,7 +6350,9 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3210
6350
  x: string | number;
3211
6351
  y: string | number;
3212
6352
  width: string | number;
3213
- layer: string;
6353
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
6354
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
6355
+ };
3214
6356
  route_type: "wire";
3215
6357
  start_pcb_port_id?: string | undefined;
3216
6358
  end_pcb_port_id?: string | undefined;
@@ -3236,12 +6378,11 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3236
6378
  }, "strip", z.ZodTypeAny, {
3237
6379
  type: "pcb_trace";
3238
6380
  pcb_trace_id: string;
3239
- route_thickness_mode: "constant" | "interpolated";
3240
6381
  route: ({
3241
6382
  x: number;
3242
6383
  y: number;
3243
6384
  width: number;
3244
- layer: string;
6385
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3245
6386
  route_type: "wire";
3246
6387
  start_pcb_port_id?: string | undefined;
3247
6388
  end_pcb_port_id?: string | undefined;
@@ -3254,15 +6395,17 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3254
6395
  })[];
3255
6396
  source_trace_id?: string | undefined;
3256
6397
  pcb_component_id?: string | undefined;
6398
+ route_thickness_mode?: "constant" | "interpolated" | undefined;
3257
6399
  should_round_corners?: boolean | undefined;
3258
6400
  }, {
3259
6401
  type: "pcb_trace";
3260
- pcb_trace_id: string;
3261
6402
  route: ({
3262
6403
  x: string | number;
3263
6404
  y: string | number;
3264
6405
  width: string | number;
3265
- layer: string;
6406
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
6407
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
6408
+ };
3266
6409
  route_type: "wire";
3267
6410
  start_pcb_port_id?: string | undefined;
3268
6411
  end_pcb_port_id?: string | undefined;
@@ -3275,10 +6418,12 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3275
6418
  })[];
3276
6419
  source_trace_id?: string | undefined;
3277
6420
  pcb_component_id?: string | undefined;
6421
+ pcb_trace_id?: string | undefined;
3278
6422
  route_thickness_mode?: "constant" | "interpolated" | undefined;
3279
6423
  should_round_corners?: boolean | undefined;
3280
6424
  }>, z.ZodObject<{
3281
6425
  type: z.ZodLiteral<"pcb_via">;
6426
+ pcb_via_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3282
6427
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3283
6428
  y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3284
6429
  outer_diameter: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
@@ -3317,6 +6462,7 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3317
6462
  hole_diameter: number;
3318
6463
  outer_diameter: number;
3319
6464
  layers: ("top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6")[];
6465
+ pcb_via_id: string;
3320
6466
  to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
3321
6467
  from_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
3322
6468
  }, {
@@ -3334,10 +6480,11 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3334
6480
  from_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
3335
6481
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3336
6482
  } | undefined;
6483
+ pcb_via_id?: string | undefined;
3337
6484
  }>, z.ZodUnion<[z.ZodObject<{
3338
- pcb_smtpad_id: z.ZodString;
3339
6485
  type: z.ZodLiteral<"pcb_smtpad">;
3340
6486
  shape: z.ZodLiteral<"circle">;
6487
+ pcb_smtpad_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3341
6488
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3342
6489
  y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3343
6490
  radius: z.ZodNumber;
@@ -3372,15 +6519,15 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3372
6519
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3373
6520
  };
3374
6521
  shape: "circle";
3375
- pcb_smtpad_id: string;
3376
6522
  radius: number;
3377
6523
  port_hints?: string[] | undefined;
3378
6524
  pcb_component_id?: string | undefined;
3379
6525
  pcb_port_id?: string | undefined;
6526
+ pcb_smtpad_id?: string | undefined;
3380
6527
  }>, z.ZodObject<{
3381
- pcb_smtpad_id: z.ZodString;
3382
6528
  type: z.ZodLiteral<"pcb_smtpad">;
3383
6529
  shape: z.ZodLiteral<"rect">;
6530
+ pcb_smtpad_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3384
6531
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3385
6532
  y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3386
6533
  width: z.ZodNumber;
@@ -3419,13 +6566,13 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3419
6566
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3420
6567
  };
3421
6568
  shape: "rect";
3422
- pcb_smtpad_id: string;
3423
6569
  port_hints?: string[] | undefined;
3424
6570
  pcb_component_id?: string | undefined;
3425
6571
  pcb_port_id?: string | undefined;
6572
+ pcb_smtpad_id?: string | undefined;
3426
6573
  }>]>, z.ZodObject<{
3427
6574
  type: z.ZodLiteral<"pcb_board">;
3428
- pcb_board_id: z.ZodDefault<z.ZodString>;
6575
+ pcb_board_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3429
6576
  width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3430
6577
  height: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3431
6578
  center: z.ZodObject<{
@@ -3438,6 +6585,16 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3438
6585
  x: string | number;
3439
6586
  y: string | number;
3440
6587
  }>;
6588
+ outline: z.ZodOptional<z.ZodArray<z.ZodObject<{
6589
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
6590
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
6591
+ }, "strip", z.ZodTypeAny, {
6592
+ x: number;
6593
+ y: number;
6594
+ }, {
6595
+ x: string | number;
6596
+ y: string | number;
6597
+ }>, "many">>;
3441
6598
  }, "strip", z.ZodTypeAny, {
3442
6599
  type: "pcb_board";
3443
6600
  width: number;
@@ -3447,6 +6604,10 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3447
6604
  y: number;
3448
6605
  };
3449
6606
  pcb_board_id: string;
6607
+ outline?: {
6608
+ x: number;
6609
+ y: number;
6610
+ }[] | undefined;
3450
6611
  }, {
3451
6612
  type: "pcb_board";
3452
6613
  width: string | number;
@@ -3456,12 +6617,16 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3456
6617
  y: string | number;
3457
6618
  };
3458
6619
  pcb_board_id?: string | undefined;
6620
+ outline?: {
6621
+ x: string | number;
6622
+ y: string | number;
6623
+ }[] | undefined;
3459
6624
  }>, z.ZodObject<{
3460
- pcb_trace_hint_id: z.ZodString;
3461
6625
  type: z.ZodLiteral<"pcb_trace_hint">;
6626
+ pcb_trace_hint_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3462
6627
  pcb_port_id: z.ZodString;
3463
6628
  pcb_component_id: z.ZodString;
3464
- route: z.ZodArray<z.ZodOptional<z.ZodObject<{
6629
+ route: z.ZodArray<z.ZodObject<{
3465
6630
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3466
6631
  y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3467
6632
  via: z.ZodOptional<z.ZodBoolean>;
@@ -3489,24 +6654,24 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3489
6654
  to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
3490
6655
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3491
6656
  } | undefined;
3492
- }>>, "many">;
6657
+ }>, "many">;
3493
6658
  }, "strip", z.ZodTypeAny, {
3494
6659
  type: "pcb_trace_hint";
3495
6660
  pcb_component_id: string;
3496
6661
  pcb_port_id: string;
3497
- route: ({
6662
+ route: {
3498
6663
  x: number;
3499
6664
  y: number;
3500
6665
  trace_width?: number | undefined;
3501
6666
  via?: boolean | undefined;
3502
6667
  to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
3503
- } | undefined)[];
6668
+ }[];
3504
6669
  pcb_trace_hint_id: string;
3505
6670
  }, {
3506
6671
  type: "pcb_trace_hint";
3507
6672
  pcb_component_id: string;
3508
6673
  pcb_port_id: string;
3509
- route: ({
6674
+ route: {
3510
6675
  x: string | number;
3511
6676
  y: string | number;
3512
6677
  trace_width?: string | number | undefined;
@@ -3514,11 +6679,11 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3514
6679
  to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
3515
6680
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3516
6681
  } | undefined;
3517
- } | undefined)[];
3518
- pcb_trace_hint_id: string;
6682
+ }[];
6683
+ pcb_trace_hint_id?: string | undefined;
3519
6684
  }>, z.ZodObject<{
3520
6685
  type: z.ZodLiteral<"pcb_silkscreen_line">;
3521
- pcb_silkscreen_line_id: z.ZodString;
6686
+ pcb_silkscreen_line_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3522
6687
  pcb_component_id: z.ZodString;
3523
6688
  stroke_width: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
3524
6689
  x1: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
@@ -3544,11 +6709,11 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3544
6709
  y2: string | number;
3545
6710
  pcb_component_id: string;
3546
6711
  layer: "top" | "bottom";
3547
- pcb_silkscreen_line_id: string;
6712
+ pcb_silkscreen_line_id?: string | undefined;
3548
6713
  stroke_width?: string | number | undefined;
3549
6714
  }>, z.ZodObject<{
3550
6715
  type: z.ZodLiteral<"pcb_silkscreen_path">;
3551
- pcb_silkscreen_path_id: z.ZodString;
6716
+ pcb_silkscreen_path_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3552
6717
  pcb_component_id: z.ZodString;
3553
6718
  layer: z.ZodEnum<["top", "bottom"]>;
3554
6719
  route: z.ZodArray<z.ZodObject<{
@@ -3581,14 +6746,23 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3581
6746
  y: string | number;
3582
6747
  }[];
3583
6748
  stroke_width: string | number;
3584
- pcb_silkscreen_path_id: string;
6749
+ pcb_silkscreen_path_id?: string | undefined;
3585
6750
  }>, z.ZodObject<{
3586
6751
  type: z.ZodLiteral<"pcb_silkscreen_text">;
6752
+ pcb_silkscreen_text_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3587
6753
  font: z.ZodDefault<z.ZodLiteral<"tscircuit2024">>;
3588
6754
  font_size: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
3589
6755
  pcb_component_id: z.ZodString;
3590
6756
  text: z.ZodString;
3591
- layer: z.ZodEnum<["top", "bottom"]>;
6757
+ layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
6758
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
6759
+ }, "strip", z.ZodTypeAny, {
6760
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
6761
+ }, {
6762
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
6763
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
6764
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
6765
+ }>;
3592
6766
  anchor_position: z.ZodDefault<z.ZodObject<{
3593
6767
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3594
6768
  y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
@@ -3604,7 +6778,8 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3604
6778
  type: "pcb_silkscreen_text";
3605
6779
  text: string;
3606
6780
  pcb_component_id: string;
3607
- layer: "top" | "bottom";
6781
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
6782
+ pcb_silkscreen_text_id: string;
3608
6783
  font: "tscircuit2024";
3609
6784
  font_size: number;
3610
6785
  anchor_position: {
@@ -3616,7 +6791,10 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3616
6791
  type: "pcb_silkscreen_text";
3617
6792
  text: string;
3618
6793
  pcb_component_id: string;
3619
- layer: "top" | "bottom";
6794
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
6795
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
6796
+ };
6797
+ pcb_silkscreen_text_id?: string | undefined;
3620
6798
  font?: "tscircuit2024" | undefined;
3621
6799
  font_size?: string | number | undefined;
3622
6800
  anchor_position?: {
@@ -3626,7 +6804,7 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3626
6804
  anchor_alignment?: "center" | "top_left" | "top_right" | "bottom_left" | "bottom_right" | undefined;
3627
6805
  }>, z.ZodObject<{
3628
6806
  type: z.ZodLiteral<"pcb_silkscreen_rect">;
3629
- pcb_silkscreen_rect_id: z.ZodString;
6807
+ pcb_silkscreen_rect_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3630
6808
  pcb_component_id: z.ZodString;
3631
6809
  center: z.ZodObject<{
3632
6810
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
@@ -3640,7 +6818,15 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3640
6818
  }>;
3641
6819
  width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3642
6820
  height: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3643
- layer: z.ZodEnum<["top", "bottom"]>;
6821
+ layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
6822
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
6823
+ }, "strip", z.ZodTypeAny, {
6824
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
6825
+ }, {
6826
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
6827
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
6828
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
6829
+ }>;
3644
6830
  }, "strip", z.ZodTypeAny, {
3645
6831
  type: "pcb_silkscreen_rect";
3646
6832
  width: number;
@@ -3650,7 +6836,7 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3650
6836
  y: number;
3651
6837
  };
3652
6838
  pcb_component_id: string;
3653
- layer: "top" | "bottom";
6839
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3654
6840
  pcb_silkscreen_rect_id: string;
3655
6841
  }, {
3656
6842
  type: "pcb_silkscreen_rect";
@@ -3661,11 +6847,13 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3661
6847
  y: string | number;
3662
6848
  };
3663
6849
  pcb_component_id: string;
3664
- layer: "top" | "bottom";
3665
- pcb_silkscreen_rect_id: string;
6850
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
6851
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
6852
+ };
6853
+ pcb_silkscreen_rect_id?: string | undefined;
3666
6854
  }>, z.ZodObject<{
3667
6855
  type: z.ZodLiteral<"pcb_silkscreen_circle">;
3668
- pcb_silkscreen_circle_id: z.ZodString;
6856
+ pcb_silkscreen_circle_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3669
6857
  pcb_component_id: z.ZodString;
3670
6858
  center: z.ZodObject<{
3671
6859
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
@@ -3698,10 +6886,10 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3698
6886
  pcb_component_id: string;
3699
6887
  layer: "top" | "bottom";
3700
6888
  radius: string | number;
3701
- pcb_silkscreen_circle_id: string;
6889
+ pcb_silkscreen_circle_id?: string | undefined;
3702
6890
  }>, z.ZodObject<{
3703
6891
  type: z.ZodLiteral<"pcb_silkscreen_oval">;
3704
- pcb_silkscreen_oval_id: z.ZodString;
6892
+ pcb_silkscreen_oval_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3705
6893
  pcb_component_id: z.ZodString;
3706
6894
  center: z.ZodObject<{
3707
6895
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
@@ -3735,12 +6923,12 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3735
6923
  };
3736
6924
  pcb_component_id: string;
3737
6925
  layer: "top" | "bottom";
3738
- pcb_silkscreen_oval_id: string;
3739
6926
  radius_x: string | number;
3740
6927
  radius_y: string | number;
6928
+ pcb_silkscreen_oval_id?: string | undefined;
3741
6929
  }>, z.ZodObject<{
3742
- pcb_error_id: z.ZodString;
3743
- type: z.ZodLiteral<"pcb_error">;
6930
+ type: z.ZodLiteral<"pcb_trace_error">;
6931
+ pcb_trace_error_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3744
6932
  error_type: z.ZodLiteral<"pcb_trace_error">;
3745
6933
  message: z.ZodString;
3746
6934
  center: z.ZodOptional<z.ZodObject<{
@@ -3759,11 +6947,11 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3759
6947
  pcb_port_ids: z.ZodArray<z.ZodString, "many">;
3760
6948
  }, "strip", z.ZodTypeAny, {
3761
6949
  message: string;
3762
- type: "pcb_error";
6950
+ type: "pcb_trace_error";
3763
6951
  source_trace_id: string;
3764
6952
  error_type: "pcb_trace_error";
3765
6953
  pcb_trace_id: string;
3766
- pcb_error_id: string;
6954
+ pcb_trace_error_id: string;
3767
6955
  pcb_component_ids: string[];
3768
6956
  pcb_port_ids: string[];
3769
6957
  center?: {
@@ -3772,55 +6960,57 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3772
6960
  } | undefined;
3773
6961
  }, {
3774
6962
  message: string;
3775
- type: "pcb_error";
6963
+ type: "pcb_trace_error";
3776
6964
  source_trace_id: string;
3777
6965
  error_type: "pcb_trace_error";
3778
6966
  pcb_trace_id: string;
3779
- pcb_error_id: string;
3780
6967
  pcb_component_ids: string[];
3781
6968
  pcb_port_ids: string[];
3782
6969
  center?: {
3783
6970
  x: string | number;
3784
6971
  y: string | number;
3785
6972
  } | undefined;
6973
+ pcb_trace_error_id?: string | undefined;
3786
6974
  }>, z.ZodObject<{
3787
- pcb_error_id: z.ZodString;
3788
- type: z.ZodLiteral<"pcb_error">;
3789
- error_type: z.ZodLiteral<"pcb_placement_error">;
6975
+ type: z.ZodLiteral<"pcb_placement_error">;
6976
+ pcb_placement_error_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3790
6977
  message: z.ZodString;
3791
6978
  }, "strip", z.ZodTypeAny, {
3792
6979
  message: string;
3793
- type: "pcb_error";
3794
- error_type: "pcb_placement_error";
3795
- pcb_error_id: string;
6980
+ type: "pcb_placement_error";
6981
+ pcb_placement_error_id: string;
3796
6982
  }, {
3797
6983
  message: string;
3798
- type: "pcb_error";
3799
- error_type: "pcb_placement_error";
3800
- pcb_error_id: string;
6984
+ type: "pcb_placement_error";
6985
+ pcb_placement_error_id?: string | undefined;
3801
6986
  }>, z.ZodObject<{
3802
- pcb_error_id: z.ZodString;
3803
- type: z.ZodLiteral<"pcb_error">;
3804
- error_type: z.ZodLiteral<"pcb_port_not_matched_error">;
6987
+ type: z.ZodLiteral<"pcb_port_not_matched_error">;
6988
+ pcb_error_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3805
6989
  message: z.ZodString;
3806
6990
  pcb_component_ids: z.ZodArray<z.ZodString, "many">;
3807
6991
  }, "strip", z.ZodTypeAny, {
3808
6992
  message: string;
3809
- type: "pcb_error";
3810
- error_type: "pcb_port_not_matched_error";
3811
- pcb_error_id: string;
6993
+ type: "pcb_port_not_matched_error";
3812
6994
  pcb_component_ids: string[];
6995
+ pcb_error_id: string;
3813
6996
  }, {
3814
6997
  message: string;
3815
- type: "pcb_error";
3816
- error_type: "pcb_port_not_matched_error";
3817
- pcb_error_id: string;
6998
+ type: "pcb_port_not_matched_error";
3818
6999
  pcb_component_ids: string[];
7000
+ pcb_error_id?: string | undefined;
3819
7001
  }>, z.ZodObject<{
3820
7002
  type: z.ZodLiteral<"pcb_fabrication_note_path">;
3821
- fabrication_note_path_id: z.ZodString;
7003
+ pcb_fabrication_note_path_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3822
7004
  pcb_component_id: z.ZodString;
3823
- layer: z.ZodEnum<["top", "bottom"]>;
7005
+ layer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
7006
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
7007
+ }, "strip", z.ZodTypeAny, {
7008
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
7009
+ }, {
7010
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
7011
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
7012
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
7013
+ }>;
3824
7014
  route: z.ZodArray<z.ZodObject<{
3825
7015
  x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3826
7016
  y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
@@ -3832,28 +7022,34 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3832
7022
  y: string | number;
3833
7023
  }>, "many">;
3834
7024
  stroke_width: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
7025
+ color: z.ZodOptional<z.ZodString>;
3835
7026
  }, "strip", z.ZodTypeAny, {
3836
7027
  type: "pcb_fabrication_note_path";
3837
7028
  pcb_component_id: string;
3838
- layer: "top" | "bottom";
7029
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3839
7030
  route: {
3840
7031
  x: number;
3841
7032
  y: number;
3842
7033
  }[];
3843
7034
  stroke_width: number;
3844
- fabrication_note_path_id: string;
7035
+ pcb_fabrication_note_path_id: string;
7036
+ color?: string | undefined;
3845
7037
  }, {
3846
7038
  type: "pcb_fabrication_note_path";
3847
7039
  pcb_component_id: string;
3848
- layer: "top" | "bottom";
7040
+ layer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
7041
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
7042
+ };
3849
7043
  route: {
3850
7044
  x: string | number;
3851
7045
  y: string | number;
3852
7046
  }[];
3853
7047
  stroke_width: string | number;
3854
- fabrication_note_path_id: string;
7048
+ color?: string | undefined;
7049
+ pcb_fabrication_note_path_id?: string | undefined;
3855
7050
  }>, z.ZodObject<{
3856
7051
  type: z.ZodLiteral<"pcb_fabrication_note_text">;
7052
+ pcb_fabrication_note_text_id: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3857
7053
  font: z.ZodDefault<z.ZodLiteral<"tscircuit2024">>;
3858
7054
  font_size: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
3859
7055
  pcb_component_id: z.ZodString;
@@ -3870,6 +7066,7 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3870
7066
  y: string | number;
3871
7067
  }>>;
3872
7068
  anchor_alignment: z.ZodDefault<z.ZodEnum<["center", "top_left", "top_right", "bottom_left", "bottom_right"]>>;
7069
+ color: z.ZodOptional<z.ZodString>;
3873
7070
  }, "strip", z.ZodTypeAny, {
3874
7071
  type: "pcb_fabrication_note_text";
3875
7072
  text: string;
@@ -3882,6 +7079,8 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3882
7079
  y: number;
3883
7080
  };
3884
7081
  anchor_alignment: "center" | "top_left" | "top_right" | "bottom_left" | "bottom_right";
7082
+ pcb_fabrication_note_text_id: string;
7083
+ color?: string | undefined;
3885
7084
  }, {
3886
7085
  type: "pcb_fabrication_note_text";
3887
7086
  text: string;
@@ -3894,6 +7093,8 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
3894
7093
  y: string | number;
3895
7094
  } | undefined;
3896
7095
  anchor_alignment?: "center" | "top_left" | "top_right" | "bottom_left" | "bottom_right" | undefined;
7096
+ pcb_fabrication_note_text_id?: string | undefined;
7097
+ color?: string | undefined;
3897
7098
  }>, z.ZodObject<{
3898
7099
  type: z.ZodLiteral<"schematic_box">;
3899
7100
  schematic_component_id: z.ZodString;
@@ -4001,6 +7202,22 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
4001
7202
  source_component_id: z.ZodString;
4002
7203
  schematic_component_id: z.ZodString;
4003
7204
  pin_spacing: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
7205
+ pin_styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
7206
+ left_margin: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
7207
+ right_margin: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
7208
+ top_margin: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
7209
+ bottom_margin: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
7210
+ }, "strip", z.ZodTypeAny, {
7211
+ left_margin?: number | undefined;
7212
+ right_margin?: number | undefined;
7213
+ top_margin?: number | undefined;
7214
+ bottom_margin?: number | undefined;
7215
+ }, {
7216
+ left_margin?: string | number | undefined;
7217
+ right_margin?: string | number | undefined;
7218
+ top_margin?: string | number | undefined;
7219
+ bottom_margin?: string | number | undefined;
7220
+ }>>>;
4004
7221
  box_width: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
4005
7222
  symbol_name: z.ZodOptional<z.ZodString>;
4006
7223
  port_arrangement: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
@@ -4109,6 +7326,12 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
4109
7326
  y: number;
4110
7327
  };
4111
7328
  pin_spacing?: number | undefined;
7329
+ pin_styles?: Record<string, {
7330
+ left_margin?: number | undefined;
7331
+ right_margin?: number | undefined;
7332
+ top_margin?: number | undefined;
7333
+ bottom_margin?: number | undefined;
7334
+ }> | undefined;
4112
7335
  box_width?: number | undefined;
4113
7336
  symbol_name?: string | undefined;
4114
7337
  port_arrangement?: {
@@ -4149,6 +7372,12 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
4149
7372
  };
4150
7373
  rotation?: string | number | undefined;
4151
7374
  pin_spacing?: string | number | undefined;
7375
+ pin_styles?: Record<string, {
7376
+ left_margin?: string | number | undefined;
7377
+ right_margin?: string | number | undefined;
7378
+ top_margin?: string | number | undefined;
7379
+ bottom_margin?: string | number | undefined;
7380
+ }> | undefined;
4152
7381
  box_width?: string | number | undefined;
4153
7382
  symbol_name?: string | undefined;
4154
7383
  port_arrangement?: {
@@ -4487,7 +7716,15 @@ declare const any_soup_element: z.ZodUnion<[z.ZodObject<{
4487
7716
  model_3mf_url?: string | undefined;
4488
7717
  model_jscad?: any;
4489
7718
  }>]>;
4490
- type AnySoupElement = z.infer<typeof any_soup_element>;
4491
- type AnySoupElementInput = z.input<typeof any_soup_element>;
7719
+ type AnyCircuitElement = z.infer<typeof any_circuit_element>;
7720
+ type AnyCircuitElementInput = z.input<typeof any_circuit_element>;
7721
+ /**
7722
+ * @deprecated use AnyCircuitElement instead
7723
+ */
7724
+ type AnySoupElement = AnyCircuitElement;
7725
+ /**
7726
+ * @deprecated use AnyCircuitElementInput instead
7727
+ */
7728
+ type AnySoupElementInput = AnyCircuitElementInput;
4492
7729
 
4493
- export { type AnySoupElement, type AnySoupElementInput, type AnySourceComponent, type CadComponent, type CadComponentInput, type InputPoint, type InputPosition, type LayerRef, type LayerRefInput, type PCBBoard, type PCBBoardInput, type PCBComponent, type PCBComponentInput, type PCBHole, type PCBHoleInput, type PCBKeepout, type PCBKeepoutInput, type PCBPlacementError, type PCBPlacementErrorInput, type PCBPlatedHole, type PCBPlatedHoleInput, type PCBPort, type PCBPortInput, type PCBPortNotMatchedError, type PCBPortNotMatchedErrorInput, type PCBSMTPad, type PCBSMTPadInput, type PCBText, type PCBTextInput, type PCBTrace, type PCBTraceError, type PCBTraceErrorInput, type PCBTraceInput, type PCBVia, type PCBViaInput, type PcbFabricationNotePath, type PcbFabricationNotePathInput, type PcbFabricationNoteText, type PcbFabricationNoteTextInput, type PcbRouteHint, type PcbRouteHintInput, type PcbRouteHints, type PcbRouteHintsInput, type PcbSilkscreenCircle, type PcbSilkscreenCircleInput, type PcbSilkscreenLine, type PcbSilkscreenLineInput, type PcbSilkscreenOval, type PcbSilkscreenOvalInput, type PcbSilkscreenPath, type PcbSilkscreenPathInput, type PcbSilkscreenRect, type PcbSilkscreenRectInput, type PcbSilkscreenText, type PcbSilkscreenTextInput, type PcbTraceHint, type PcbTraceHintInput, type Point, type Point3, type Position, type RouteHintPoint, type RouteHintPointInput, type SchematicBox, type SchematicBoxInput, type SchematicComponent, type SchematicComponentInput, type SchematicError, type SchematicErrorInput, type SchematicLine, type SchematicLineInput, type SchematicNetLabel, type SchematicNetLabelInput, type SchematicPath, type SchematicPathInput, type SchematicPort, type SchematicPortInput, type SchematicText, type SchematicTextInput, type SchematicTrace, type SchematicTraceInput, type Size, type SourceComponentBase, type SourceGroup, type SourceGroupInput, type SourceLed, type SourceLedInput, type SourceNet, type SourceNetInput, type SourcePort, type SourceSimpleBugInput, type SourceSimpleCapacitor, type SourceSimpleCapacitorInput, type SourceSimpleChip, type SourceSimpleChipInput, type SourceSimpleDiode, type SourceSimpleDiodeInput, type SourceSimpleGround, type SourceSimpleGroundInput, type SourceSimpleInductor, type SourceSimpleInductorInput, type SourceSimplePowerSource, type SourceSimplePowerSourceInput, type SourceSimpleResistor, type SourceSimpleResistorInput, type SourceTrace, type SupplierName, type VisibleLayerRef, all_layers, any_soup_element, any_source_component, cad_component, capacitance, current, distance, inductance, layer_ref, layer_string, length, pcb_board, pcb_component, pcb_fabrication_note_path, pcb_fabrication_note_text, pcb_hole, pcb_keepout, pcb_placement_error, pcb_plated_hole, pcb_port, pcb_port_not_matched_error, pcb_route_hint, pcb_route_hints, pcb_silkscreen_circle, pcb_silkscreen_line, pcb_silkscreen_oval, pcb_silkscreen_path, pcb_silkscreen_rect, pcb_silkscreen_text, pcb_smtpad, pcb_text, pcb_trace, pcb_trace_error, pcb_trace_hint, pcb_via, point, point3, position, position3, resistance, rotation, route_hint_point, schematic_box, schematic_component, schematic_error, schematic_line, schematic_net_label, schematic_path, schematic_port, schematic_text, schematic_trace, size, source_component_base, source_group, source_led, source_net, source_port, source_simple_bug, source_simple_capacitor, source_simple_chip, source_simple_diode, source_simple_ground, source_simple_power_source, source_simple_resistor, source_trace, supplier_name, time, visible_layer, voltage };
7730
+ export { type AnyCircuitElement, type AnyCircuitElementInput, type AnySoupElement, type AnySoupElementInput, type AnySourceComponent, type CadComponent, type CadComponentInput, type Distance, type InputPoint, type InputPosition, type InputRotation, type LayerRef, type LayerRefInput, type Length, type PCBBoard, type PCBComponent, type PCBFabricationNotePath, type PCBFabricationNoteText, type PCBHole, type PCBHoleInput, type PCBKeepout, type PCBKeepoutInput, type PCBPlacementError, type PCBPlatedHole, type PCBPlatedHoleInput, type PCBPort, type PCBPortInput, type PCBPortNotMatchedError, type PCBSMTPad, type PCBSMTPadInput, type PCBSilkscreenLine, type PCBSilkscreenText, type PCBText, type PCBTrace, type PCBTraceError, type PCBTraceHint, type PCBTraceInput, type PCBVia, type PcbBoard, type PcbBoardInput, type PcbCircuitElement, type PcbComponent, type PcbComponentInput, type PcbFabricationNotePath, type PcbFabricationNotePathInput, type PcbFabricationNoteText, type PcbFabricationNoteTextInput, type PcbHole, type PcbHoleCircleOrSquare, type PcbHoleCircleOrSquareInput, type PcbHoleOval, type PcbHoleOvalInput, type PcbPlacementError, type PcbPlacementErrorInput, type PcbPlatedHole, type PcbPlatedHoleCircle, type PcbPlatedHoleInput, type PcbPlatedHoleOval, type PcbPort, type PcbPortInput, type PcbPortNotMatchedError, type PcbPortNotMatchedErrorInput, type PcbRouteHint, type PcbRouteHintInput, type PcbRouteHints, type PcbRouteHintsInput, type PcbSilkscreenCircle, type PcbSilkscreenCircleInput, type PcbSilkscreenLine, type PcbSilkscreenLineInput, type PcbSilkscreenOval, type PcbSilkscreenOvalDeprecated, type PcbSilkscreenOvalInput, type PcbSilkscreenPath, type PcbSilkscreenPathDeprecated, type PcbSilkscreenPathInput, type PcbSilkscreenRect, type PcbSilkscreenRectInput, type PcbSilkscreenRectOld, type PcbSilkscreenText, type PcbSilkscreenTextInput, type PcbSmtPad, type PcbSmtPadCircle, type PcbSmtPadRect, type PcbText, type PcbTextInput, type PcbTrace, type PcbTraceError, type PcbTraceErrorInput, type PcbTraceHint, type PcbTraceHintInput, type PcbTraceInput, type PcbTraceRoutePoint, type PcbTraceRoutePointVia, type PcbTraceRoutePointWire, type PcbVia, type PcbViaInput, type Point, type Point3, type Position, type Rotation, type RouteHintPoint, type RouteHintPointInput, type SchematicBox, type SchematicBoxInput, type SchematicComponent, type SchematicComponentInput, type SchematicError, type SchematicErrorInput, type SchematicLine, type SchematicLineInput, type SchematicNetLabel, type SchematicNetLabelInput, type SchematicPath, type SchematicPathInput, type SchematicPort, type SchematicPortInput, type SchematicText, type SchematicTextInput, type SchematicTrace, type SchematicTraceInput, type Size, type SourceComponentBase, type SourceGroup, type SourceGroupInput, type SourceLed, type SourceLedInput, type SourceNet, type SourceNetInput, type SourcePort, type SourceSimpleBugInput, type SourceSimpleCapacitor, type SourceSimpleCapacitorInput, type SourceSimpleChip, type SourceSimpleChipInput, type SourceSimpleDiode, type SourceSimpleDiodeInput, type SourceSimpleGround, type SourceSimpleGroundInput, type SourceSimpleInductor, type SourceSimpleInductorInput, type SourceSimplePowerSource, type SourceSimplePowerSourceInput, type SourceSimpleResistor, type SourceSimpleResistorInput, type SourceTrace, type SupplierName, type VisibleLayer, type VisibleLayerRef, all_layers, any_circuit_element, any_soup_element, any_source_component, cad_component, capacitance, current, distance, getZodPrefixedIdWithDefault, inductance, layer_ref, layer_string, length, pcb_board, pcb_component, pcb_fabrication_note_path, pcb_fabrication_note_text, pcb_hole, pcb_hole_circle_or_square_shape, pcb_hole_oval_shape, pcb_keepout, pcb_placement_error, pcb_plated_hole, pcb_port, pcb_port_not_matched_error, pcb_route_hint, pcb_route_hints, pcb_silkscreen_circle, pcb_silkscreen_line, pcb_silkscreen_oval, pcb_silkscreen_path, pcb_silkscreen_rect, pcb_silkscreen_text, pcb_smtpad, pcb_text, pcb_trace, pcb_trace_error, pcb_trace_hint, pcb_trace_route_point, pcb_trace_route_point_via, pcb_trace_route_point_wire, pcb_via, point, point3, position, position3, resistance, rotation, route_hint_point, schematic_box, schematic_component, schematic_error, schematic_line, schematic_net_label, schematic_path, schematic_pin_styles, schematic_port, schematic_text, schematic_trace, size, source_component_base, source_group, source_led, source_net, source_port, source_simple_bug, source_simple_capacitor, source_simple_chip, source_simple_diode, source_simple_ground, source_simple_power_source, source_simple_resistor, source_trace, supplier_name, time, visible_layer, voltage };