circuit-json 0.0.227 → 0.0.229
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -0
- package/dist/index.d.mts +245 -2
- package/dist/index.mjs +254 -216
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1495,25 +1495,59 @@ var pcb_trace_error = z66.object({
|
|
|
1495
1495
|
}).describe("Defines a trace error on the PCB");
|
|
1496
1496
|
expectTypesMatch(true);
|
|
1497
1497
|
|
|
1498
|
-
// src/pcb/
|
|
1498
|
+
// src/pcb/pcb_trace_missing_error.ts
|
|
1499
1499
|
import { z as z67 } from "zod";
|
|
1500
|
-
var
|
|
1501
|
-
type: z67.literal("
|
|
1502
|
-
|
|
1503
|
-
|
|
1500
|
+
var pcb_trace_missing_error = z67.object({
|
|
1501
|
+
type: z67.literal("pcb_trace_missing_error"),
|
|
1502
|
+
pcb_trace_missing_error_id: getZodPrefixedIdWithDefault(
|
|
1503
|
+
"pcb_trace_missing_error"
|
|
1504
|
+
),
|
|
1505
|
+
error_type: z67.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
|
|
1504
1506
|
message: z67.string(),
|
|
1507
|
+
center: point.optional(),
|
|
1508
|
+
source_trace_id: z67.string(),
|
|
1505
1509
|
pcb_component_ids: z67.array(z67.string()),
|
|
1510
|
+
pcb_port_ids: z67.array(z67.string()),
|
|
1506
1511
|
subcircuit_id: z67.string().optional()
|
|
1512
|
+
}).describe(
|
|
1513
|
+
"Defines an error when a source trace has no corresponding PCB trace"
|
|
1514
|
+
);
|
|
1515
|
+
expectTypesMatch(true);
|
|
1516
|
+
|
|
1517
|
+
// src/pcb/pcb_port_not_matched_error.ts
|
|
1518
|
+
import { z as z68 } from "zod";
|
|
1519
|
+
var pcb_port_not_matched_error = z68.object({
|
|
1520
|
+
type: z68.literal("pcb_port_not_matched_error"),
|
|
1521
|
+
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
1522
|
+
error_type: z68.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
|
|
1523
|
+
message: z68.string(),
|
|
1524
|
+
pcb_component_ids: z68.array(z68.string()),
|
|
1525
|
+
subcircuit_id: z68.string().optional()
|
|
1507
1526
|
}).describe("Defines a trace error on the PCB where a port is not matched");
|
|
1508
1527
|
expectTypesMatch(true);
|
|
1509
1528
|
|
|
1529
|
+
// src/pcb/pcb_port_not_connected_error.ts
|
|
1530
|
+
import { z as z69 } from "zod";
|
|
1531
|
+
var pcb_port_not_connected_error = z69.object({
|
|
1532
|
+
type: z69.literal("pcb_port_not_connected_error"),
|
|
1533
|
+
pcb_error_id: getZodPrefixedIdWithDefault("pcb_port_not_connected_error"),
|
|
1534
|
+
error_type: z69.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
|
|
1535
|
+
message: z69.string(),
|
|
1536
|
+
pcb_port_ids: z69.array(z69.string()),
|
|
1537
|
+
pcb_component_ids: z69.array(z69.string()),
|
|
1538
|
+
subcircuit_id: z69.string().optional()
|
|
1539
|
+
}).describe("Defines an error when a pcb port is not connected to any trace");
|
|
1540
|
+
expectTypesMatch(
|
|
1541
|
+
true
|
|
1542
|
+
);
|
|
1543
|
+
|
|
1510
1544
|
// src/pcb/pcb_via.ts
|
|
1511
|
-
import { z as
|
|
1512
|
-
var pcb_via =
|
|
1513
|
-
type:
|
|
1545
|
+
import { z as z70 } from "zod";
|
|
1546
|
+
var pcb_via = z70.object({
|
|
1547
|
+
type: z70.literal("pcb_via"),
|
|
1514
1548
|
pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
|
|
1515
|
-
pcb_group_id:
|
|
1516
|
-
subcircuit_id:
|
|
1549
|
+
pcb_group_id: z70.string().optional(),
|
|
1550
|
+
subcircuit_id: z70.string().optional(),
|
|
1517
1551
|
x: distance,
|
|
1518
1552
|
y: distance,
|
|
1519
1553
|
outer_diameter: distance.default("0.6mm"),
|
|
@@ -1522,59 +1556,59 @@ var pcb_via = z68.object({
|
|
|
1522
1556
|
from_layer: layer_ref.optional(),
|
|
1523
1557
|
/** @deprecated */
|
|
1524
1558
|
to_layer: layer_ref.optional(),
|
|
1525
|
-
layers:
|
|
1526
|
-
pcb_trace_id:
|
|
1559
|
+
layers: z70.array(layer_ref),
|
|
1560
|
+
pcb_trace_id: z70.string().optional()
|
|
1527
1561
|
}).describe("Defines a via on the PCB");
|
|
1528
1562
|
expectTypesMatch(true);
|
|
1529
1563
|
|
|
1530
1564
|
// src/pcb/pcb_board.ts
|
|
1531
|
-
import { z as
|
|
1532
|
-
var pcb_board =
|
|
1533
|
-
type:
|
|
1565
|
+
import { z as z71 } from "zod";
|
|
1566
|
+
var pcb_board = z71.object({
|
|
1567
|
+
type: z71.literal("pcb_board"),
|
|
1534
1568
|
pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
|
|
1535
|
-
is_subcircuit:
|
|
1536
|
-
subcircuit_id:
|
|
1569
|
+
is_subcircuit: z71.boolean().optional(),
|
|
1570
|
+
subcircuit_id: z71.string().optional(),
|
|
1537
1571
|
width: length,
|
|
1538
1572
|
height: length,
|
|
1539
1573
|
center: point,
|
|
1540
1574
|
thickness: length.optional().default(1.4),
|
|
1541
|
-
num_layers:
|
|
1542
|
-
outline:
|
|
1543
|
-
material:
|
|
1575
|
+
num_layers: z71.number().optional().default(4),
|
|
1576
|
+
outline: z71.array(point).optional(),
|
|
1577
|
+
material: z71.enum(["fr4", "fr1"]).default("fr4")
|
|
1544
1578
|
}).describe("Defines the board outline of the PCB");
|
|
1545
1579
|
expectTypesMatch(true);
|
|
1546
1580
|
|
|
1547
1581
|
// src/pcb/pcb_placement_error.ts
|
|
1548
|
-
import { z as
|
|
1549
|
-
var pcb_placement_error =
|
|
1550
|
-
type:
|
|
1582
|
+
import { z as z72 } from "zod";
|
|
1583
|
+
var pcb_placement_error = z72.object({
|
|
1584
|
+
type: z72.literal("pcb_placement_error"),
|
|
1551
1585
|
pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
|
|
1552
|
-
error_type:
|
|
1553
|
-
message:
|
|
1554
|
-
subcircuit_id:
|
|
1586
|
+
error_type: z72.literal("pcb_placement_error").default("pcb_placement_error"),
|
|
1587
|
+
message: z72.string(),
|
|
1588
|
+
subcircuit_id: z72.string().optional()
|
|
1555
1589
|
}).describe("Defines a placement error on the PCB");
|
|
1556
1590
|
expectTypesMatch(true);
|
|
1557
1591
|
|
|
1558
1592
|
// src/pcb/pcb_trace_hint.ts
|
|
1559
|
-
import { z as
|
|
1560
|
-
var pcb_trace_hint =
|
|
1561
|
-
type:
|
|
1593
|
+
import { z as z73 } from "zod";
|
|
1594
|
+
var pcb_trace_hint = z73.object({
|
|
1595
|
+
type: z73.literal("pcb_trace_hint"),
|
|
1562
1596
|
pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
|
|
1563
|
-
pcb_port_id:
|
|
1564
|
-
pcb_component_id:
|
|
1565
|
-
route:
|
|
1566
|
-
subcircuit_id:
|
|
1597
|
+
pcb_port_id: z73.string(),
|
|
1598
|
+
pcb_component_id: z73.string(),
|
|
1599
|
+
route: z73.array(route_hint_point),
|
|
1600
|
+
subcircuit_id: z73.string().optional()
|
|
1567
1601
|
}).describe("A hint that can be used during generation of a PCB trace");
|
|
1568
1602
|
expectTypesMatch(true);
|
|
1569
1603
|
|
|
1570
1604
|
// src/pcb/pcb_silkscreen_line.ts
|
|
1571
|
-
import { z as
|
|
1572
|
-
var pcb_silkscreen_line =
|
|
1573
|
-
type:
|
|
1605
|
+
import { z as z74 } from "zod";
|
|
1606
|
+
var pcb_silkscreen_line = z74.object({
|
|
1607
|
+
type: z74.literal("pcb_silkscreen_line"),
|
|
1574
1608
|
pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
|
|
1575
|
-
pcb_component_id:
|
|
1576
|
-
pcb_group_id:
|
|
1577
|
-
subcircuit_id:
|
|
1609
|
+
pcb_component_id: z74.string(),
|
|
1610
|
+
pcb_group_id: z74.string().optional(),
|
|
1611
|
+
subcircuit_id: z74.string().optional(),
|
|
1578
1612
|
stroke_width: distance.default("0.1mm"),
|
|
1579
1613
|
x1: distance,
|
|
1580
1614
|
y1: distance,
|
|
@@ -1585,67 +1619,67 @@ var pcb_silkscreen_line = z72.object({
|
|
|
1585
1619
|
expectTypesMatch(true);
|
|
1586
1620
|
|
|
1587
1621
|
// src/pcb/pcb_silkscreen_path.ts
|
|
1588
|
-
import { z as
|
|
1589
|
-
var pcb_silkscreen_path =
|
|
1590
|
-
type:
|
|
1622
|
+
import { z as z75 } from "zod";
|
|
1623
|
+
var pcb_silkscreen_path = z75.object({
|
|
1624
|
+
type: z75.literal("pcb_silkscreen_path"),
|
|
1591
1625
|
pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
|
|
1592
|
-
pcb_component_id:
|
|
1593
|
-
pcb_group_id:
|
|
1594
|
-
subcircuit_id:
|
|
1626
|
+
pcb_component_id: z75.string(),
|
|
1627
|
+
pcb_group_id: z75.string().optional(),
|
|
1628
|
+
subcircuit_id: z75.string().optional(),
|
|
1595
1629
|
layer: visible_layer,
|
|
1596
|
-
route:
|
|
1630
|
+
route: z75.array(point),
|
|
1597
1631
|
stroke_width: length
|
|
1598
1632
|
}).describe("Defines a silkscreen path on the PCB");
|
|
1599
1633
|
expectTypesMatch(true);
|
|
1600
1634
|
|
|
1601
1635
|
// src/pcb/pcb_silkscreen_text.ts
|
|
1602
|
-
import { z as
|
|
1603
|
-
var pcb_silkscreen_text =
|
|
1604
|
-
type:
|
|
1636
|
+
import { z as z76 } from "zod";
|
|
1637
|
+
var pcb_silkscreen_text = z76.object({
|
|
1638
|
+
type: z76.literal("pcb_silkscreen_text"),
|
|
1605
1639
|
pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
|
|
1606
|
-
pcb_group_id:
|
|
1607
|
-
subcircuit_id:
|
|
1608
|
-
font:
|
|
1640
|
+
pcb_group_id: z76.string().optional(),
|
|
1641
|
+
subcircuit_id: z76.string().optional(),
|
|
1642
|
+
font: z76.literal("tscircuit2024").default("tscircuit2024"),
|
|
1609
1643
|
font_size: distance.default("0.2mm"),
|
|
1610
|
-
pcb_component_id:
|
|
1611
|
-
text:
|
|
1612
|
-
ccw_rotation:
|
|
1644
|
+
pcb_component_id: z76.string(),
|
|
1645
|
+
text: z76.string(),
|
|
1646
|
+
ccw_rotation: z76.number().optional(),
|
|
1613
1647
|
layer: layer_ref,
|
|
1614
|
-
is_mirrored:
|
|
1648
|
+
is_mirrored: z76.boolean().default(false).optional(),
|
|
1615
1649
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
1616
1650
|
anchor_alignment: ninePointAnchor.default("center")
|
|
1617
1651
|
}).describe("Defines silkscreen text on the PCB");
|
|
1618
1652
|
expectTypesMatch(true);
|
|
1619
1653
|
|
|
1620
1654
|
// src/pcb/pcb_silkscreen_rect.ts
|
|
1621
|
-
import { z as
|
|
1622
|
-
var pcb_silkscreen_rect =
|
|
1623
|
-
type:
|
|
1655
|
+
import { z as z77 } from "zod";
|
|
1656
|
+
var pcb_silkscreen_rect = z77.object({
|
|
1657
|
+
type: z77.literal("pcb_silkscreen_rect"),
|
|
1624
1658
|
pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
|
|
1625
|
-
pcb_component_id:
|
|
1626
|
-
pcb_group_id:
|
|
1627
|
-
subcircuit_id:
|
|
1659
|
+
pcb_component_id: z77.string(),
|
|
1660
|
+
pcb_group_id: z77.string().optional(),
|
|
1661
|
+
subcircuit_id: z77.string().optional(),
|
|
1628
1662
|
center: point,
|
|
1629
1663
|
width: length,
|
|
1630
1664
|
height: length,
|
|
1631
1665
|
layer: layer_ref,
|
|
1632
1666
|
stroke_width: length.default("1mm"),
|
|
1633
|
-
is_filled:
|
|
1634
|
-
has_stroke:
|
|
1635
|
-
is_stroke_dashed:
|
|
1667
|
+
is_filled: z77.boolean().default(true).optional(),
|
|
1668
|
+
has_stroke: z77.boolean().optional(),
|
|
1669
|
+
is_stroke_dashed: z77.boolean().optional()
|
|
1636
1670
|
}).describe("Defines a silkscreen rect on the PCB");
|
|
1637
1671
|
expectTypesMatch(true);
|
|
1638
1672
|
|
|
1639
1673
|
// src/pcb/pcb_silkscreen_circle.ts
|
|
1640
|
-
import { z as
|
|
1641
|
-
var pcb_silkscreen_circle =
|
|
1642
|
-
type:
|
|
1674
|
+
import { z as z78 } from "zod";
|
|
1675
|
+
var pcb_silkscreen_circle = z78.object({
|
|
1676
|
+
type: z78.literal("pcb_silkscreen_circle"),
|
|
1643
1677
|
pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
|
|
1644
1678
|
"pcb_silkscreen_circle"
|
|
1645
1679
|
),
|
|
1646
|
-
pcb_component_id:
|
|
1647
|
-
pcb_group_id:
|
|
1648
|
-
subcircuit_id:
|
|
1680
|
+
pcb_component_id: z78.string(),
|
|
1681
|
+
pcb_group_id: z78.string().optional(),
|
|
1682
|
+
subcircuit_id: z78.string().optional(),
|
|
1649
1683
|
center: point,
|
|
1650
1684
|
radius: length,
|
|
1651
1685
|
layer: visible_layer,
|
|
@@ -1654,13 +1688,13 @@ var pcb_silkscreen_circle = z76.object({
|
|
|
1654
1688
|
expectTypesMatch(true);
|
|
1655
1689
|
|
|
1656
1690
|
// src/pcb/pcb_silkscreen_oval.ts
|
|
1657
|
-
import { z as
|
|
1658
|
-
var pcb_silkscreen_oval =
|
|
1659
|
-
type:
|
|
1691
|
+
import { z as z79 } from "zod";
|
|
1692
|
+
var pcb_silkscreen_oval = z79.object({
|
|
1693
|
+
type: z79.literal("pcb_silkscreen_oval"),
|
|
1660
1694
|
pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
|
|
1661
|
-
pcb_component_id:
|
|
1662
|
-
pcb_group_id:
|
|
1663
|
-
subcircuit_id:
|
|
1695
|
+
pcb_component_id: z79.string(),
|
|
1696
|
+
pcb_group_id: z79.string().optional(),
|
|
1697
|
+
subcircuit_id: z79.string().optional(),
|
|
1664
1698
|
center: point,
|
|
1665
1699
|
radius_x: distance,
|
|
1666
1700
|
radius_y: distance,
|
|
@@ -1669,103 +1703,103 @@ var pcb_silkscreen_oval = z77.object({
|
|
|
1669
1703
|
expectTypesMatch(true);
|
|
1670
1704
|
|
|
1671
1705
|
// src/pcb/pcb_fabrication_note_text.ts
|
|
1672
|
-
import { z as
|
|
1673
|
-
var pcb_fabrication_note_text =
|
|
1674
|
-
type:
|
|
1706
|
+
import { z as z80 } from "zod";
|
|
1707
|
+
var pcb_fabrication_note_text = z80.object({
|
|
1708
|
+
type: z80.literal("pcb_fabrication_note_text"),
|
|
1675
1709
|
pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
|
|
1676
1710
|
"pcb_fabrication_note_text"
|
|
1677
1711
|
),
|
|
1678
|
-
subcircuit_id:
|
|
1679
|
-
pcb_group_id:
|
|
1680
|
-
font:
|
|
1712
|
+
subcircuit_id: z80.string().optional(),
|
|
1713
|
+
pcb_group_id: z80.string().optional(),
|
|
1714
|
+
font: z80.literal("tscircuit2024").default("tscircuit2024"),
|
|
1681
1715
|
font_size: distance.default("1mm"),
|
|
1682
|
-
pcb_component_id:
|
|
1683
|
-
text:
|
|
1716
|
+
pcb_component_id: z80.string(),
|
|
1717
|
+
text: z80.string(),
|
|
1684
1718
|
layer: visible_layer,
|
|
1685
1719
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
1686
|
-
anchor_alignment:
|
|
1687
|
-
color:
|
|
1720
|
+
anchor_alignment: z80.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
1721
|
+
color: z80.string().optional()
|
|
1688
1722
|
}).describe(
|
|
1689
1723
|
"Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
|
|
1690
1724
|
);
|
|
1691
1725
|
expectTypesMatch(true);
|
|
1692
1726
|
|
|
1693
1727
|
// src/pcb/pcb_fabrication_note_path.ts
|
|
1694
|
-
import { z as
|
|
1695
|
-
var pcb_fabrication_note_path =
|
|
1696
|
-
type:
|
|
1728
|
+
import { z as z81 } from "zod";
|
|
1729
|
+
var pcb_fabrication_note_path = z81.object({
|
|
1730
|
+
type: z81.literal("pcb_fabrication_note_path"),
|
|
1697
1731
|
pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
|
|
1698
1732
|
"pcb_fabrication_note_path"
|
|
1699
1733
|
),
|
|
1700
|
-
pcb_component_id:
|
|
1701
|
-
subcircuit_id:
|
|
1734
|
+
pcb_component_id: z81.string(),
|
|
1735
|
+
subcircuit_id: z81.string().optional(),
|
|
1702
1736
|
layer: layer_ref,
|
|
1703
|
-
route:
|
|
1737
|
+
route: z81.array(point),
|
|
1704
1738
|
stroke_width: length,
|
|
1705
|
-
color:
|
|
1739
|
+
color: z81.string().optional()
|
|
1706
1740
|
}).describe(
|
|
1707
1741
|
"Defines a fabrication path on the PCB for fabricators or assemblers"
|
|
1708
1742
|
);
|
|
1709
1743
|
expectTypesMatch(true);
|
|
1710
1744
|
|
|
1711
1745
|
// src/pcb/pcb_footprint_overlap_error.ts
|
|
1712
|
-
import { z as
|
|
1713
|
-
var pcb_footprint_overlap_error =
|
|
1714
|
-
type:
|
|
1746
|
+
import { z as z82 } from "zod";
|
|
1747
|
+
var pcb_footprint_overlap_error = z82.object({
|
|
1748
|
+
type: z82.literal("pcb_footprint_overlap_error"),
|
|
1715
1749
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
1716
|
-
error_type:
|
|
1717
|
-
message:
|
|
1718
|
-
pcb_smtpad_ids:
|
|
1719
|
-
pcb_plated_hole_ids:
|
|
1720
|
-
pcb_hole_ids:
|
|
1721
|
-
pcb_keepout_ids:
|
|
1750
|
+
error_type: z82.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
|
|
1751
|
+
message: z82.string(),
|
|
1752
|
+
pcb_smtpad_ids: z82.array(z82.string()).optional(),
|
|
1753
|
+
pcb_plated_hole_ids: z82.array(z82.string()).optional(),
|
|
1754
|
+
pcb_hole_ids: z82.array(z82.string()).optional(),
|
|
1755
|
+
pcb_keepout_ids: z82.array(z82.string()).optional()
|
|
1722
1756
|
}).describe("Error emitted when a pcb footprint overlaps with another element");
|
|
1723
1757
|
expectTypesMatch(
|
|
1724
1758
|
true
|
|
1725
1759
|
);
|
|
1726
1760
|
|
|
1727
1761
|
// src/pcb/pcb_keepout.ts
|
|
1728
|
-
import { z as
|
|
1729
|
-
var pcb_keepout =
|
|
1730
|
-
type:
|
|
1731
|
-
shape:
|
|
1732
|
-
pcb_group_id:
|
|
1733
|
-
subcircuit_id:
|
|
1762
|
+
import { z as z83 } from "zod";
|
|
1763
|
+
var pcb_keepout = z83.object({
|
|
1764
|
+
type: z83.literal("pcb_keepout"),
|
|
1765
|
+
shape: z83.literal("rect"),
|
|
1766
|
+
pcb_group_id: z83.string().optional(),
|
|
1767
|
+
subcircuit_id: z83.string().optional(),
|
|
1734
1768
|
center: point,
|
|
1735
1769
|
width: distance,
|
|
1736
1770
|
height: distance,
|
|
1737
|
-
pcb_keepout_id:
|
|
1738
|
-
layers:
|
|
1771
|
+
pcb_keepout_id: z83.string(),
|
|
1772
|
+
layers: z83.array(z83.string()),
|
|
1739
1773
|
// Specify layers where the keepout applies
|
|
1740
|
-
description:
|
|
1774
|
+
description: z83.string().optional()
|
|
1741
1775
|
// Optional description of the keepout
|
|
1742
1776
|
}).or(
|
|
1743
|
-
|
|
1744
|
-
type:
|
|
1745
|
-
shape:
|
|
1746
|
-
pcb_group_id:
|
|
1747
|
-
subcircuit_id:
|
|
1777
|
+
z83.object({
|
|
1778
|
+
type: z83.literal("pcb_keepout"),
|
|
1779
|
+
shape: z83.literal("circle"),
|
|
1780
|
+
pcb_group_id: z83.string().optional(),
|
|
1781
|
+
subcircuit_id: z83.string().optional(),
|
|
1748
1782
|
center: point,
|
|
1749
1783
|
radius: distance,
|
|
1750
|
-
pcb_keepout_id:
|
|
1751
|
-
layers:
|
|
1784
|
+
pcb_keepout_id: z83.string(),
|
|
1785
|
+
layers: z83.array(z83.string()),
|
|
1752
1786
|
// Specify layers where the keepout applies
|
|
1753
|
-
description:
|
|
1787
|
+
description: z83.string().optional()
|
|
1754
1788
|
// Optional description of the keepout
|
|
1755
1789
|
})
|
|
1756
1790
|
);
|
|
1757
1791
|
expectTypesMatch(true);
|
|
1758
1792
|
|
|
1759
1793
|
// src/pcb/pcb_cutout.ts
|
|
1760
|
-
import { z as
|
|
1761
|
-
var pcb_cutout_base =
|
|
1762
|
-
type:
|
|
1794
|
+
import { z as z84 } from "zod";
|
|
1795
|
+
var pcb_cutout_base = z84.object({
|
|
1796
|
+
type: z84.literal("pcb_cutout"),
|
|
1763
1797
|
pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
|
|
1764
|
-
pcb_group_id:
|
|
1765
|
-
subcircuit_id:
|
|
1798
|
+
pcb_group_id: z84.string().optional(),
|
|
1799
|
+
subcircuit_id: z84.string().optional()
|
|
1766
1800
|
});
|
|
1767
1801
|
var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
1768
|
-
shape:
|
|
1802
|
+
shape: z84.literal("rect"),
|
|
1769
1803
|
center: point,
|
|
1770
1804
|
width: length,
|
|
1771
1805
|
height: length,
|
|
@@ -1773,17 +1807,17 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
|
1773
1807
|
});
|
|
1774
1808
|
expectTypesMatch(true);
|
|
1775
1809
|
var pcb_cutout_circle = pcb_cutout_base.extend({
|
|
1776
|
-
shape:
|
|
1810
|
+
shape: z84.literal("circle"),
|
|
1777
1811
|
center: point,
|
|
1778
1812
|
radius: length
|
|
1779
1813
|
});
|
|
1780
1814
|
expectTypesMatch(true);
|
|
1781
1815
|
var pcb_cutout_polygon = pcb_cutout_base.extend({
|
|
1782
|
-
shape:
|
|
1783
|
-
points:
|
|
1816
|
+
shape: z84.literal("polygon"),
|
|
1817
|
+
points: z84.array(point)
|
|
1784
1818
|
});
|
|
1785
1819
|
expectTypesMatch(true);
|
|
1786
|
-
var pcb_cutout =
|
|
1820
|
+
var pcb_cutout = z84.discriminatedUnion("shape", [
|
|
1787
1821
|
pcb_cutout_rect,
|
|
1788
1822
|
pcb_cutout_circle,
|
|
1789
1823
|
pcb_cutout_polygon
|
|
@@ -1791,83 +1825,83 @@ var pcb_cutout = z82.discriminatedUnion("shape", [
|
|
|
1791
1825
|
expectTypesMatch(true);
|
|
1792
1826
|
|
|
1793
1827
|
// src/pcb/pcb_missing_footprint_error.ts
|
|
1794
|
-
import { z as
|
|
1795
|
-
var pcb_missing_footprint_error =
|
|
1796
|
-
type:
|
|
1828
|
+
import { z as z85 } from "zod";
|
|
1829
|
+
var pcb_missing_footprint_error = z85.object({
|
|
1830
|
+
type: z85.literal("pcb_missing_footprint_error"),
|
|
1797
1831
|
pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
|
|
1798
1832
|
"pcb_missing_footprint_error"
|
|
1799
1833
|
),
|
|
1800
|
-
pcb_group_id:
|
|
1801
|
-
subcircuit_id:
|
|
1802
|
-
error_type:
|
|
1803
|
-
source_component_id:
|
|
1804
|
-
message:
|
|
1834
|
+
pcb_group_id: z85.string().optional(),
|
|
1835
|
+
subcircuit_id: z85.string().optional(),
|
|
1836
|
+
error_type: z85.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
|
|
1837
|
+
source_component_id: z85.string(),
|
|
1838
|
+
message: z85.string()
|
|
1805
1839
|
}).describe("Defines a missing footprint error on the PCB");
|
|
1806
1840
|
expectTypesMatch(
|
|
1807
1841
|
true
|
|
1808
1842
|
);
|
|
1809
1843
|
|
|
1810
1844
|
// src/pcb/pcb_group.ts
|
|
1811
|
-
import { z as
|
|
1812
|
-
var pcb_group =
|
|
1813
|
-
type:
|
|
1845
|
+
import { z as z86 } from "zod";
|
|
1846
|
+
var pcb_group = z86.object({
|
|
1847
|
+
type: z86.literal("pcb_group"),
|
|
1814
1848
|
pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
|
|
1815
|
-
source_group_id:
|
|
1816
|
-
is_subcircuit:
|
|
1817
|
-
subcircuit_id:
|
|
1849
|
+
source_group_id: z86.string(),
|
|
1850
|
+
is_subcircuit: z86.boolean().optional(),
|
|
1851
|
+
subcircuit_id: z86.string().optional(),
|
|
1818
1852
|
width: length,
|
|
1819
1853
|
height: length,
|
|
1820
1854
|
center: point,
|
|
1821
|
-
pcb_component_ids:
|
|
1822
|
-
name:
|
|
1823
|
-
description:
|
|
1824
|
-
layout_mode:
|
|
1825
|
-
autorouter_configuration:
|
|
1855
|
+
pcb_component_ids: z86.array(z86.string()),
|
|
1856
|
+
name: z86.string().optional(),
|
|
1857
|
+
description: z86.string().optional(),
|
|
1858
|
+
layout_mode: z86.string().optional(),
|
|
1859
|
+
autorouter_configuration: z86.object({
|
|
1826
1860
|
trace_clearance: length
|
|
1827
1861
|
}).optional(),
|
|
1828
|
-
autorouter_used_string:
|
|
1862
|
+
autorouter_used_string: z86.string().optional()
|
|
1829
1863
|
}).describe("Defines a group of components on the PCB");
|
|
1830
1864
|
expectTypesMatch(true);
|
|
1831
1865
|
|
|
1832
1866
|
// src/pcb/pcb_autorouting_error.ts
|
|
1833
|
-
import { z as
|
|
1834
|
-
var pcb_autorouting_error =
|
|
1835
|
-
type:
|
|
1867
|
+
import { z as z87 } from "zod";
|
|
1868
|
+
var pcb_autorouting_error = z87.object({
|
|
1869
|
+
type: z87.literal("pcb_autorouting_error"),
|
|
1836
1870
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
|
|
1837
|
-
error_type:
|
|
1838
|
-
message:
|
|
1839
|
-
subcircuit_id:
|
|
1871
|
+
error_type: z87.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
|
|
1872
|
+
message: z87.string(),
|
|
1873
|
+
subcircuit_id: z87.string().optional()
|
|
1840
1874
|
}).describe("The autorouting has failed to route a portion of the board");
|
|
1841
1875
|
expectTypesMatch(true);
|
|
1842
1876
|
|
|
1843
1877
|
// src/pcb/pcb_manual_edit_conflict_warning.ts
|
|
1844
|
-
import { z as
|
|
1845
|
-
var pcb_manual_edit_conflict_warning =
|
|
1846
|
-
type:
|
|
1878
|
+
import { z as z88 } from "zod";
|
|
1879
|
+
var pcb_manual_edit_conflict_warning = z88.object({
|
|
1880
|
+
type: z88.literal("pcb_manual_edit_conflict_warning"),
|
|
1847
1881
|
pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
1848
1882
|
"pcb_manual_edit_conflict_warning"
|
|
1849
1883
|
),
|
|
1850
|
-
warning_type:
|
|
1851
|
-
message:
|
|
1852
|
-
pcb_component_id:
|
|
1853
|
-
pcb_group_id:
|
|
1854
|
-
subcircuit_id:
|
|
1855
|
-
source_component_id:
|
|
1884
|
+
warning_type: z88.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
|
|
1885
|
+
message: z88.string(),
|
|
1886
|
+
pcb_component_id: z88.string(),
|
|
1887
|
+
pcb_group_id: z88.string().optional(),
|
|
1888
|
+
subcircuit_id: z88.string().optional(),
|
|
1889
|
+
source_component_id: z88.string()
|
|
1856
1890
|
}).describe(
|
|
1857
1891
|
"Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
|
|
1858
1892
|
);
|
|
1859
1893
|
expectTypesMatch(true);
|
|
1860
1894
|
|
|
1861
1895
|
// src/pcb/pcb_breakout_point.ts
|
|
1862
|
-
import { z as
|
|
1863
|
-
var pcb_breakout_point =
|
|
1864
|
-
type:
|
|
1896
|
+
import { z as z89 } from "zod";
|
|
1897
|
+
var pcb_breakout_point = z89.object({
|
|
1898
|
+
type: z89.literal("pcb_breakout_point"),
|
|
1865
1899
|
pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
|
|
1866
|
-
pcb_group_id:
|
|
1867
|
-
subcircuit_id:
|
|
1868
|
-
source_trace_id:
|
|
1869
|
-
source_port_id:
|
|
1870
|
-
source_net_id:
|
|
1900
|
+
pcb_group_id: z89.string(),
|
|
1901
|
+
subcircuit_id: z89.string().optional(),
|
|
1902
|
+
source_trace_id: z89.string().optional(),
|
|
1903
|
+
source_port_id: z89.string().optional(),
|
|
1904
|
+
source_net_id: z89.string().optional(),
|
|
1871
1905
|
x: distance,
|
|
1872
1906
|
y: distance
|
|
1873
1907
|
}).describe(
|
|
@@ -1876,87 +1910,87 @@ var pcb_breakout_point = z87.object({
|
|
|
1876
1910
|
expectTypesMatch(true);
|
|
1877
1911
|
|
|
1878
1912
|
// src/pcb/pcb_ground_plane.ts
|
|
1879
|
-
import { z as
|
|
1880
|
-
var pcb_ground_plane =
|
|
1881
|
-
type:
|
|
1913
|
+
import { z as z90 } from "zod";
|
|
1914
|
+
var pcb_ground_plane = z90.object({
|
|
1915
|
+
type: z90.literal("pcb_ground_plane"),
|
|
1882
1916
|
pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
|
|
1883
|
-
source_pcb_ground_plane_id:
|
|
1884
|
-
source_net_id:
|
|
1885
|
-
pcb_group_id:
|
|
1886
|
-
subcircuit_id:
|
|
1917
|
+
source_pcb_ground_plane_id: z90.string(),
|
|
1918
|
+
source_net_id: z90.string(),
|
|
1919
|
+
pcb_group_id: z90.string().optional(),
|
|
1920
|
+
subcircuit_id: z90.string().optional()
|
|
1887
1921
|
}).describe("Defines a ground plane on the PCB");
|
|
1888
1922
|
expectTypesMatch(true);
|
|
1889
1923
|
|
|
1890
1924
|
// src/pcb/pcb_ground_plane_region.ts
|
|
1891
|
-
import { z as
|
|
1892
|
-
var pcb_ground_plane_region =
|
|
1893
|
-
type:
|
|
1925
|
+
import { z as z91 } from "zod";
|
|
1926
|
+
var pcb_ground_plane_region = z91.object({
|
|
1927
|
+
type: z91.literal("pcb_ground_plane_region"),
|
|
1894
1928
|
pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
|
|
1895
1929
|
"pcb_ground_plane_region"
|
|
1896
1930
|
),
|
|
1897
|
-
pcb_ground_plane_id:
|
|
1898
|
-
pcb_group_id:
|
|
1899
|
-
subcircuit_id:
|
|
1931
|
+
pcb_ground_plane_id: z91.string(),
|
|
1932
|
+
pcb_group_id: z91.string().optional(),
|
|
1933
|
+
subcircuit_id: z91.string().optional(),
|
|
1900
1934
|
layer: layer_ref,
|
|
1901
|
-
points:
|
|
1935
|
+
points: z91.array(point)
|
|
1902
1936
|
}).describe("Defines a polygon region of a ground plane");
|
|
1903
1937
|
expectTypesMatch(true);
|
|
1904
1938
|
|
|
1905
1939
|
// src/pcb/pcb_thermal_spoke.ts
|
|
1906
|
-
import { z as
|
|
1907
|
-
var pcb_thermal_spoke =
|
|
1908
|
-
type:
|
|
1940
|
+
import { z as z92 } from "zod";
|
|
1941
|
+
var pcb_thermal_spoke = z92.object({
|
|
1942
|
+
type: z92.literal("pcb_thermal_spoke"),
|
|
1909
1943
|
pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
|
|
1910
|
-
pcb_ground_plane_id:
|
|
1911
|
-
shape:
|
|
1912
|
-
spoke_count:
|
|
1944
|
+
pcb_ground_plane_id: z92.string(),
|
|
1945
|
+
shape: z92.string(),
|
|
1946
|
+
spoke_count: z92.number(),
|
|
1913
1947
|
spoke_thickness: distance,
|
|
1914
1948
|
spoke_inner_diameter: distance,
|
|
1915
1949
|
spoke_outer_diameter: distance,
|
|
1916
|
-
pcb_plated_hole_id:
|
|
1917
|
-
subcircuit_id:
|
|
1950
|
+
pcb_plated_hole_id: z92.string().optional(),
|
|
1951
|
+
subcircuit_id: z92.string().optional()
|
|
1918
1952
|
}).describe("Pattern for connecting a ground plane to a plated hole");
|
|
1919
1953
|
expectTypesMatch(true);
|
|
1920
1954
|
|
|
1921
1955
|
// src/cad/cad_component.ts
|
|
1922
|
-
import { z as
|
|
1923
|
-
var cad_component =
|
|
1924
|
-
type:
|
|
1925
|
-
cad_component_id:
|
|
1926
|
-
pcb_component_id:
|
|
1927
|
-
source_component_id:
|
|
1956
|
+
import { z as z93 } from "zod";
|
|
1957
|
+
var cad_component = z93.object({
|
|
1958
|
+
type: z93.literal("cad_component"),
|
|
1959
|
+
cad_component_id: z93.string(),
|
|
1960
|
+
pcb_component_id: z93.string(),
|
|
1961
|
+
source_component_id: z93.string(),
|
|
1928
1962
|
position: point3,
|
|
1929
1963
|
rotation: point3.optional(),
|
|
1930
1964
|
size: point3.optional(),
|
|
1931
1965
|
layer: layer_ref.optional(),
|
|
1932
|
-
subcircuit_id:
|
|
1966
|
+
subcircuit_id: z93.string().optional(),
|
|
1933
1967
|
// These are all ways to generate/load the 3d model
|
|
1934
|
-
footprinter_string:
|
|
1935
|
-
model_obj_url:
|
|
1936
|
-
model_stl_url:
|
|
1937
|
-
model_3mf_url:
|
|
1938
|
-
model_jscad:
|
|
1968
|
+
footprinter_string: z93.string().optional(),
|
|
1969
|
+
model_obj_url: z93.string().optional(),
|
|
1970
|
+
model_stl_url: z93.string().optional(),
|
|
1971
|
+
model_3mf_url: z93.string().optional(),
|
|
1972
|
+
model_jscad: z93.any().optional()
|
|
1939
1973
|
}).describe("Defines a component on the PCB");
|
|
1940
1974
|
expectTypesMatch(true);
|
|
1941
1975
|
|
|
1942
1976
|
// src/simulation/simulation_voltage_source.ts
|
|
1943
|
-
import { z as
|
|
1944
|
-
var simulation_voltage_source =
|
|
1945
|
-
type:
|
|
1977
|
+
import { z as z94 } from "zod";
|
|
1978
|
+
var simulation_voltage_source = z94.object({
|
|
1979
|
+
type: z94.literal("simulation_voltage_source"),
|
|
1946
1980
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
1947
1981
|
"simulation_voltage_source"
|
|
1948
1982
|
),
|
|
1949
|
-
positive_source_port_id:
|
|
1950
|
-
negative_source_port_id:
|
|
1951
|
-
positive_source_net_id:
|
|
1952
|
-
negative_source_net_id:
|
|
1983
|
+
positive_source_port_id: z94.string(),
|
|
1984
|
+
negative_source_port_id: z94.string(),
|
|
1985
|
+
positive_source_net_id: z94.string(),
|
|
1986
|
+
negative_source_net_id: z94.string(),
|
|
1953
1987
|
voltage
|
|
1954
1988
|
}).describe("Defines a voltage source for simulation");
|
|
1955
1989
|
expectTypesMatch(true);
|
|
1956
1990
|
|
|
1957
1991
|
// src/any_circuit_element.ts
|
|
1958
|
-
import { z as
|
|
1959
|
-
var any_circuit_element =
|
|
1992
|
+
import { z as z95 } from "zod";
|
|
1993
|
+
var any_circuit_element = z95.union([
|
|
1960
1994
|
source_trace,
|
|
1961
1995
|
source_port,
|
|
1962
1996
|
any_source_component,
|
|
@@ -2003,8 +2037,10 @@ var any_circuit_element = z93.union([
|
|
|
2003
2037
|
pcb_silkscreen_circle,
|
|
2004
2038
|
pcb_silkscreen_oval,
|
|
2005
2039
|
pcb_trace_error,
|
|
2040
|
+
pcb_trace_missing_error,
|
|
2006
2041
|
pcb_placement_error,
|
|
2007
2042
|
pcb_port_not_matched_error,
|
|
2043
|
+
pcb_port_not_connected_error,
|
|
2008
2044
|
pcb_fabrication_note_path,
|
|
2009
2045
|
pcb_fabrication_note_text,
|
|
2010
2046
|
pcb_autorouting_error,
|
|
@@ -2076,6 +2112,7 @@ export {
|
|
|
2076
2112
|
pcb_placement_error,
|
|
2077
2113
|
pcb_plated_hole,
|
|
2078
2114
|
pcb_port,
|
|
2115
|
+
pcb_port_not_connected_error,
|
|
2079
2116
|
pcb_port_not_matched_error,
|
|
2080
2117
|
pcb_route_hint,
|
|
2081
2118
|
pcb_route_hints,
|
|
@@ -2093,6 +2130,7 @@ export {
|
|
|
2093
2130
|
pcb_trace,
|
|
2094
2131
|
pcb_trace_error,
|
|
2095
2132
|
pcb_trace_hint,
|
|
2133
|
+
pcb_trace_missing_error,
|
|
2096
2134
|
pcb_trace_route_point,
|
|
2097
2135
|
pcb_trace_route_point_via,
|
|
2098
2136
|
pcb_trace_route_point_wire,
|