circuit-json 0.0.452 → 0.0.453
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 +23 -0
- package/dist/index.d.mts +86 -1
- package/dist/index.mjs +1127 -1104
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1529,124 +1529,145 @@ var schematic_component_overlap_warning = z90.object({
|
|
|
1529
1529
|
);
|
|
1530
1530
|
expectTypesMatch(true);
|
|
1531
1531
|
|
|
1532
|
-
// src/schematic/
|
|
1532
|
+
// src/schematic/schematic_element_outside_sheet_warning.ts
|
|
1533
1533
|
import { z as z91 } from "zod";
|
|
1534
|
-
var
|
|
1535
|
-
type: z91.literal("
|
|
1534
|
+
var schematic_element_outside_sheet_warning = z91.object({
|
|
1535
|
+
type: z91.literal("schematic_element_outside_sheet_warning"),
|
|
1536
|
+
schematic_element_outside_sheet_warning_id: getZodPrefixedIdWithDefault(
|
|
1537
|
+
"schematic_element_outside_sheet_warning"
|
|
1538
|
+
),
|
|
1539
|
+
warning_type: z91.literal("schematic_element_outside_sheet_warning").default("schematic_element_outside_sheet_warning"),
|
|
1540
|
+
message: z91.string(),
|
|
1541
|
+
schematic_sheet_id: z91.string(),
|
|
1542
|
+
schematic_element_type: z91.enum([
|
|
1543
|
+
"schematic_component",
|
|
1544
|
+
"schematic_net_label",
|
|
1545
|
+
"schematic_trace"
|
|
1546
|
+
]),
|
|
1547
|
+
schematic_element_id: z91.string()
|
|
1548
|
+
}).describe(
|
|
1549
|
+
"Warning emitted when a schematic component, net label, or trace extends outside its schematic sheet"
|
|
1550
|
+
);
|
|
1551
|
+
expectTypesMatch(true);
|
|
1552
|
+
|
|
1553
|
+
// src/schematic/schematic_group.ts
|
|
1554
|
+
import { z as z92 } from "zod";
|
|
1555
|
+
var schematic_group = z92.object({
|
|
1556
|
+
type: z92.literal("schematic_group"),
|
|
1536
1557
|
schematic_group_id: getZodPrefixedIdWithDefault("schematic_group"),
|
|
1537
|
-
schematic_sheet_id:
|
|
1538
|
-
source_group_id:
|
|
1539
|
-
is_subcircuit:
|
|
1540
|
-
subcircuit_id:
|
|
1558
|
+
schematic_sheet_id: z92.string().optional(),
|
|
1559
|
+
source_group_id: z92.string(),
|
|
1560
|
+
is_subcircuit: z92.boolean().optional(),
|
|
1561
|
+
subcircuit_id: z92.string().optional(),
|
|
1541
1562
|
width: length,
|
|
1542
1563
|
height: length,
|
|
1543
1564
|
center: point,
|
|
1544
|
-
schematic_component_ids:
|
|
1545
|
-
show_as_schematic_box:
|
|
1546
|
-
name:
|
|
1547
|
-
description:
|
|
1565
|
+
schematic_component_ids: z92.array(z92.string()),
|
|
1566
|
+
show_as_schematic_box: z92.boolean().optional(),
|
|
1567
|
+
name: z92.string().optional(),
|
|
1568
|
+
description: z92.string().optional()
|
|
1548
1569
|
}).describe("Defines a group of components on the schematic");
|
|
1549
1570
|
expectTypesMatch(true);
|
|
1550
1571
|
|
|
1551
1572
|
// src/schematic/schematic_table.ts
|
|
1552
|
-
import { z as
|
|
1553
|
-
var schematic_table =
|
|
1554
|
-
type:
|
|
1573
|
+
import { z as z93 } from "zod";
|
|
1574
|
+
var schematic_table = z93.object({
|
|
1575
|
+
type: z93.literal("schematic_table"),
|
|
1555
1576
|
schematic_table_id: getZodPrefixedIdWithDefault("schematic_table"),
|
|
1556
|
-
schematic_sheet_id:
|
|
1577
|
+
schematic_sheet_id: z93.string().optional(),
|
|
1557
1578
|
anchor_position: point,
|
|
1558
|
-
column_widths:
|
|
1559
|
-
row_heights:
|
|
1579
|
+
column_widths: z93.array(distance),
|
|
1580
|
+
row_heights: z93.array(distance),
|
|
1560
1581
|
cell_padding: distance.optional(),
|
|
1561
1582
|
border_width: distance.optional(),
|
|
1562
|
-
subcircuit_id:
|
|
1563
|
-
schematic_component_id:
|
|
1583
|
+
subcircuit_id: z93.string().optional(),
|
|
1584
|
+
schematic_component_id: z93.string().optional(),
|
|
1564
1585
|
anchor: ninePointAnchor.optional()
|
|
1565
1586
|
}).describe("Defines a table on the schematic");
|
|
1566
1587
|
expectTypesMatch(true);
|
|
1567
1588
|
|
|
1568
1589
|
// src/schematic/schematic_table_cell.ts
|
|
1569
|
-
import { z as
|
|
1570
|
-
var schematic_table_cell =
|
|
1571
|
-
type:
|
|
1590
|
+
import { z as z94 } from "zod";
|
|
1591
|
+
var schematic_table_cell = z94.object({
|
|
1592
|
+
type: z94.literal("schematic_table_cell"),
|
|
1572
1593
|
schematic_table_cell_id: getZodPrefixedIdWithDefault(
|
|
1573
1594
|
"schematic_table_cell"
|
|
1574
1595
|
),
|
|
1575
|
-
schematic_sheet_id:
|
|
1576
|
-
schematic_table_id:
|
|
1577
|
-
start_row_index:
|
|
1578
|
-
end_row_index:
|
|
1579
|
-
start_column_index:
|
|
1580
|
-
end_column_index:
|
|
1581
|
-
text:
|
|
1596
|
+
schematic_sheet_id: z94.string().optional(),
|
|
1597
|
+
schematic_table_id: z94.string(),
|
|
1598
|
+
start_row_index: z94.number(),
|
|
1599
|
+
end_row_index: z94.number(),
|
|
1600
|
+
start_column_index: z94.number(),
|
|
1601
|
+
end_column_index: z94.number(),
|
|
1602
|
+
text: z94.string().optional(),
|
|
1582
1603
|
center: point,
|
|
1583
1604
|
width: distance,
|
|
1584
1605
|
height: distance,
|
|
1585
|
-
horizontal_align:
|
|
1586
|
-
vertical_align:
|
|
1606
|
+
horizontal_align: z94.enum(["left", "center", "right"]).optional(),
|
|
1607
|
+
vertical_align: z94.enum(["top", "middle", "bottom"]).optional(),
|
|
1587
1608
|
font_size: distance.optional(),
|
|
1588
|
-
subcircuit_id:
|
|
1609
|
+
subcircuit_id: z94.string().optional()
|
|
1589
1610
|
}).describe("Defines a cell within a schematic_table");
|
|
1590
1611
|
expectTypesMatch(true);
|
|
1591
1612
|
|
|
1592
1613
|
// src/schematic/schematic_sheet.ts
|
|
1593
|
-
import { z as
|
|
1594
|
-
var schematic_sheet =
|
|
1595
|
-
type:
|
|
1614
|
+
import { z as z95 } from "zod";
|
|
1615
|
+
var schematic_sheet = z95.object({
|
|
1616
|
+
type: z95.literal("schematic_sheet"),
|
|
1596
1617
|
schematic_sheet_id: getZodPrefixedIdWithDefault("schematic_sheet"),
|
|
1597
|
-
name:
|
|
1598
|
-
sheet_index:
|
|
1599
|
-
subcircuit_id:
|
|
1600
|
-
outline_color:
|
|
1618
|
+
name: z95.string().optional(),
|
|
1619
|
+
sheet_index: z95.number().optional(),
|
|
1620
|
+
subcircuit_id: z95.string().optional(),
|
|
1621
|
+
outline_color: z95.string().optional()
|
|
1601
1622
|
}).describe(
|
|
1602
1623
|
"Defines a schematic sheet or page that components can be placed on"
|
|
1603
1624
|
);
|
|
1604
1625
|
expectTypesMatch(true);
|
|
1605
1626
|
|
|
1606
1627
|
// src/pcb/properties/brep.ts
|
|
1607
|
-
import { z as
|
|
1608
|
-
var point_with_bulge =
|
|
1628
|
+
import { z as z96 } from "zod";
|
|
1629
|
+
var point_with_bulge = z96.object({
|
|
1609
1630
|
x: distance,
|
|
1610
1631
|
y: distance,
|
|
1611
|
-
bulge:
|
|
1632
|
+
bulge: z96.number().optional()
|
|
1612
1633
|
});
|
|
1613
1634
|
expectTypesMatch(true);
|
|
1614
|
-
var ring =
|
|
1615
|
-
vertices:
|
|
1635
|
+
var ring = z96.object({
|
|
1636
|
+
vertices: z96.array(point_with_bulge)
|
|
1616
1637
|
});
|
|
1617
1638
|
expectTypesMatch(true);
|
|
1618
|
-
var brep_shape =
|
|
1639
|
+
var brep_shape = z96.object({
|
|
1619
1640
|
outer_ring: ring,
|
|
1620
|
-
inner_rings:
|
|
1641
|
+
inner_rings: z96.array(ring).default([])
|
|
1621
1642
|
});
|
|
1622
1643
|
expectTypesMatch(true);
|
|
1623
1644
|
|
|
1624
1645
|
// src/pcb/properties/pcb_route_hints.ts
|
|
1625
|
-
import { z as
|
|
1626
|
-
var pcb_route_hint =
|
|
1646
|
+
import { z as z97 } from "zod";
|
|
1647
|
+
var pcb_route_hint = z97.object({
|
|
1627
1648
|
x: distance,
|
|
1628
1649
|
y: distance,
|
|
1629
|
-
via:
|
|
1650
|
+
via: z97.boolean().optional(),
|
|
1630
1651
|
via_to_layer: layer_ref.optional()
|
|
1631
1652
|
});
|
|
1632
|
-
var pcb_route_hints =
|
|
1653
|
+
var pcb_route_hints = z97.array(pcb_route_hint);
|
|
1633
1654
|
expectTypesMatch(true);
|
|
1634
1655
|
expectTypesMatch(true);
|
|
1635
1656
|
|
|
1636
1657
|
// src/pcb/properties/route_hint_point.ts
|
|
1637
|
-
import { z as
|
|
1638
|
-
var route_hint_point =
|
|
1658
|
+
import { z as z98 } from "zod";
|
|
1659
|
+
var route_hint_point = z98.object({
|
|
1639
1660
|
x: distance,
|
|
1640
1661
|
y: distance,
|
|
1641
|
-
via:
|
|
1662
|
+
via: z98.boolean().optional(),
|
|
1642
1663
|
to_layer: layer_ref.optional(),
|
|
1643
1664
|
trace_width: distance.optional()
|
|
1644
1665
|
});
|
|
1645
1666
|
expectTypesMatch(true);
|
|
1646
1667
|
|
|
1647
1668
|
// src/pcb/properties/manufacturing_drc_properties.ts
|
|
1648
|
-
import { z as
|
|
1649
|
-
var manufacturing_drc_properties =
|
|
1669
|
+
import { z as z99 } from "zod";
|
|
1670
|
+
var manufacturing_drc_properties = z99.object({
|
|
1650
1671
|
min_trace_width: length.optional(),
|
|
1651
1672
|
min_board_edge_clearance: length.optional(),
|
|
1652
1673
|
min_via_hole_edge_to_via_hole_edge_clearance: length.optional(),
|
|
@@ -1661,27 +1682,27 @@ var manufacturing_drc_properties = z98.object({
|
|
|
1661
1682
|
});
|
|
1662
1683
|
|
|
1663
1684
|
// src/pcb/pcb_component.ts
|
|
1664
|
-
import { z as
|
|
1665
|
-
var pcb_component =
|
|
1666
|
-
type:
|
|
1685
|
+
import { z as z100 } from "zod";
|
|
1686
|
+
var pcb_component = z100.object({
|
|
1687
|
+
type: z100.literal("pcb_component"),
|
|
1667
1688
|
pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
|
|
1668
|
-
source_component_id:
|
|
1689
|
+
source_component_id: z100.string(),
|
|
1669
1690
|
center: point,
|
|
1670
1691
|
layer: layer_ref,
|
|
1671
1692
|
rotation,
|
|
1672
|
-
display_offset_x:
|
|
1693
|
+
display_offset_x: z100.string().optional().describe(
|
|
1673
1694
|
"How to display the x offset for this part, usually corresponding with how the user specified it"
|
|
1674
1695
|
),
|
|
1675
|
-
display_offset_y:
|
|
1696
|
+
display_offset_y: z100.string().optional().describe(
|
|
1676
1697
|
"How to display the y offset for this part, usually corresponding with how the user specified it"
|
|
1677
1698
|
),
|
|
1678
1699
|
width: length,
|
|
1679
1700
|
height: length,
|
|
1680
|
-
do_not_place:
|
|
1681
|
-
is_allowed_to_be_off_board:
|
|
1682
|
-
subcircuit_id:
|
|
1683
|
-
pcb_group_id:
|
|
1684
|
-
position_mode:
|
|
1701
|
+
do_not_place: z100.boolean().optional(),
|
|
1702
|
+
is_allowed_to_be_off_board: z100.boolean().optional(),
|
|
1703
|
+
subcircuit_id: z100.string().optional(),
|
|
1704
|
+
pcb_group_id: z100.string().optional(),
|
|
1705
|
+
position_mode: z100.enum([
|
|
1685
1706
|
"packed",
|
|
1686
1707
|
"relative_to_group_anchor",
|
|
1687
1708
|
"relative_to_another_component",
|
|
@@ -1689,129 +1710,129 @@ var pcb_component = z99.object({
|
|
|
1689
1710
|
]).optional(),
|
|
1690
1711
|
anchor_position: point.optional(),
|
|
1691
1712
|
anchor_alignment: ninePointAnchor.optional(),
|
|
1692
|
-
positioned_relative_to_pcb_group_id:
|
|
1693
|
-
positioned_relative_to_pcb_board_id:
|
|
1713
|
+
positioned_relative_to_pcb_group_id: z100.string().optional(),
|
|
1714
|
+
positioned_relative_to_pcb_board_id: z100.string().optional(),
|
|
1694
1715
|
cable_insertion_center: point.optional(),
|
|
1695
|
-
insertion_direction:
|
|
1716
|
+
insertion_direction: z100.enum([
|
|
1696
1717
|
"from_above",
|
|
1697
1718
|
"from_left",
|
|
1698
1719
|
"from_right",
|
|
1699
1720
|
"from_front",
|
|
1700
1721
|
"from_back"
|
|
1701
1722
|
]).optional(),
|
|
1702
|
-
metadata:
|
|
1723
|
+
metadata: z100.object({
|
|
1703
1724
|
kicad_footprint: kicadFootprintMetadata.optional()
|
|
1704
1725
|
}).optional(),
|
|
1705
|
-
obstructs_within_bounds:
|
|
1726
|
+
obstructs_within_bounds: z100.boolean().default(true).describe(
|
|
1706
1727
|
"Does this component take up all the space within its bounds on a layer. This is generally true except for when separated pin headers are being represented by a single component (in which case, chips can be placed between the pin headers) or for tall modules where chips fit underneath"
|
|
1707
1728
|
)
|
|
1708
1729
|
}).describe("Defines a component on the PCB");
|
|
1709
1730
|
expectTypesMatch(true);
|
|
1710
1731
|
|
|
1711
1732
|
// src/pcb/pcb_hole.ts
|
|
1712
|
-
import { z as
|
|
1713
|
-
var pcb_hole_circle =
|
|
1714
|
-
type:
|
|
1733
|
+
import { z as z101 } from "zod";
|
|
1734
|
+
var pcb_hole_circle = z101.object({
|
|
1735
|
+
type: z101.literal("pcb_hole"),
|
|
1715
1736
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1716
|
-
pcb_group_id:
|
|
1717
|
-
subcircuit_id:
|
|
1718
|
-
pcb_component_id:
|
|
1719
|
-
hole_shape:
|
|
1720
|
-
hole_diameter:
|
|
1737
|
+
pcb_group_id: z101.string().optional(),
|
|
1738
|
+
subcircuit_id: z101.string().optional(),
|
|
1739
|
+
pcb_component_id: z101.string().optional(),
|
|
1740
|
+
hole_shape: z101.literal("circle"),
|
|
1741
|
+
hole_diameter: z101.number(),
|
|
1721
1742
|
x: distance,
|
|
1722
1743
|
y: distance,
|
|
1723
|
-
is_covered_with_solder_mask:
|
|
1724
|
-
soldermask_margin:
|
|
1744
|
+
is_covered_with_solder_mask: z101.boolean().optional(),
|
|
1745
|
+
soldermask_margin: z101.number().optional()
|
|
1725
1746
|
});
|
|
1726
1747
|
var pcb_hole_circle_shape = pcb_hole_circle.describe(
|
|
1727
1748
|
"Defines a circular hole on the PCB"
|
|
1728
1749
|
);
|
|
1729
1750
|
expectTypesMatch(true);
|
|
1730
|
-
var pcb_hole_rect =
|
|
1731
|
-
type:
|
|
1751
|
+
var pcb_hole_rect = z101.object({
|
|
1752
|
+
type: z101.literal("pcb_hole"),
|
|
1732
1753
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1733
|
-
pcb_group_id:
|
|
1734
|
-
subcircuit_id:
|
|
1735
|
-
pcb_component_id:
|
|
1736
|
-
hole_shape:
|
|
1737
|
-
hole_width:
|
|
1738
|
-
hole_height:
|
|
1754
|
+
pcb_group_id: z101.string().optional(),
|
|
1755
|
+
subcircuit_id: z101.string().optional(),
|
|
1756
|
+
pcb_component_id: z101.string().optional(),
|
|
1757
|
+
hole_shape: z101.literal("rect"),
|
|
1758
|
+
hole_width: z101.number(),
|
|
1759
|
+
hole_height: z101.number(),
|
|
1739
1760
|
x: distance,
|
|
1740
1761
|
y: distance,
|
|
1741
|
-
is_covered_with_solder_mask:
|
|
1742
|
-
soldermask_margin:
|
|
1762
|
+
is_covered_with_solder_mask: z101.boolean().optional(),
|
|
1763
|
+
soldermask_margin: z101.number().optional()
|
|
1743
1764
|
});
|
|
1744
1765
|
var pcb_hole_rect_shape = pcb_hole_rect.describe(
|
|
1745
1766
|
"Defines a rectangular (square-capable) hole on the PCB. Use equal width/height for square."
|
|
1746
1767
|
);
|
|
1747
1768
|
expectTypesMatch(true);
|
|
1748
|
-
var pcb_hole_circle_or_square =
|
|
1749
|
-
type:
|
|
1769
|
+
var pcb_hole_circle_or_square = z101.object({
|
|
1770
|
+
type: z101.literal("pcb_hole"),
|
|
1750
1771
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1751
|
-
pcb_group_id:
|
|
1752
|
-
subcircuit_id:
|
|
1753
|
-
pcb_component_id:
|
|
1754
|
-
hole_shape:
|
|
1755
|
-
hole_diameter:
|
|
1772
|
+
pcb_group_id: z101.string().optional(),
|
|
1773
|
+
subcircuit_id: z101.string().optional(),
|
|
1774
|
+
pcb_component_id: z101.string().optional(),
|
|
1775
|
+
hole_shape: z101.enum(["circle", "square"]),
|
|
1776
|
+
hole_diameter: z101.number(),
|
|
1756
1777
|
x: distance,
|
|
1757
1778
|
y: distance,
|
|
1758
|
-
is_covered_with_solder_mask:
|
|
1759
|
-
soldermask_margin:
|
|
1779
|
+
is_covered_with_solder_mask: z101.boolean().optional(),
|
|
1780
|
+
soldermask_margin: z101.number().optional()
|
|
1760
1781
|
});
|
|
1761
1782
|
var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
|
|
1762
1783
|
"Defines a circular or square hole on the PCB"
|
|
1763
1784
|
);
|
|
1764
1785
|
expectTypesMatch(true);
|
|
1765
|
-
var pcb_hole_oval =
|
|
1766
|
-
type:
|
|
1786
|
+
var pcb_hole_oval = z101.object({
|
|
1787
|
+
type: z101.literal("pcb_hole"),
|
|
1767
1788
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1768
|
-
pcb_group_id:
|
|
1769
|
-
subcircuit_id:
|
|
1770
|
-
pcb_component_id:
|
|
1771
|
-
hole_shape:
|
|
1772
|
-
hole_width:
|
|
1773
|
-
hole_height:
|
|
1789
|
+
pcb_group_id: z101.string().optional(),
|
|
1790
|
+
subcircuit_id: z101.string().optional(),
|
|
1791
|
+
pcb_component_id: z101.string().optional(),
|
|
1792
|
+
hole_shape: z101.literal("oval"),
|
|
1793
|
+
hole_width: z101.number(),
|
|
1794
|
+
hole_height: z101.number(),
|
|
1774
1795
|
x: distance,
|
|
1775
1796
|
y: distance,
|
|
1776
|
-
is_covered_with_solder_mask:
|
|
1777
|
-
soldermask_margin:
|
|
1797
|
+
is_covered_with_solder_mask: z101.boolean().optional(),
|
|
1798
|
+
soldermask_margin: z101.number().optional()
|
|
1778
1799
|
});
|
|
1779
1800
|
var pcb_hole_oval_shape = pcb_hole_oval.describe(
|
|
1780
1801
|
"Defines an oval hole on the PCB"
|
|
1781
1802
|
);
|
|
1782
1803
|
expectTypesMatch(true);
|
|
1783
|
-
var pcb_hole_pill =
|
|
1784
|
-
type:
|
|
1804
|
+
var pcb_hole_pill = z101.object({
|
|
1805
|
+
type: z101.literal("pcb_hole"),
|
|
1785
1806
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1786
|
-
pcb_group_id:
|
|
1787
|
-
subcircuit_id:
|
|
1788
|
-
pcb_component_id:
|
|
1789
|
-
hole_shape:
|
|
1790
|
-
hole_width:
|
|
1791
|
-
hole_height:
|
|
1807
|
+
pcb_group_id: z101.string().optional(),
|
|
1808
|
+
subcircuit_id: z101.string().optional(),
|
|
1809
|
+
pcb_component_id: z101.string().optional(),
|
|
1810
|
+
hole_shape: z101.literal("pill"),
|
|
1811
|
+
hole_width: z101.number(),
|
|
1812
|
+
hole_height: z101.number(),
|
|
1792
1813
|
x: distance,
|
|
1793
1814
|
y: distance,
|
|
1794
|
-
is_covered_with_solder_mask:
|
|
1795
|
-
soldermask_margin:
|
|
1815
|
+
is_covered_with_solder_mask: z101.boolean().optional(),
|
|
1816
|
+
soldermask_margin: z101.number().optional()
|
|
1796
1817
|
});
|
|
1797
1818
|
var pcb_hole_pill_shape = pcb_hole_pill.describe(
|
|
1798
1819
|
"Defines a pill-shaped hole on the PCB"
|
|
1799
1820
|
);
|
|
1800
1821
|
expectTypesMatch(true);
|
|
1801
|
-
var pcb_hole_rotated_pill =
|
|
1802
|
-
type:
|
|
1822
|
+
var pcb_hole_rotated_pill = z101.object({
|
|
1823
|
+
type: z101.literal("pcb_hole"),
|
|
1803
1824
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1804
|
-
pcb_group_id:
|
|
1805
|
-
subcircuit_id:
|
|
1806
|
-
pcb_component_id:
|
|
1807
|
-
hole_shape:
|
|
1808
|
-
hole_width:
|
|
1809
|
-
hole_height:
|
|
1825
|
+
pcb_group_id: z101.string().optional(),
|
|
1826
|
+
subcircuit_id: z101.string().optional(),
|
|
1827
|
+
pcb_component_id: z101.string().optional(),
|
|
1828
|
+
hole_shape: z101.literal("rotated_pill"),
|
|
1829
|
+
hole_width: z101.number(),
|
|
1830
|
+
hole_height: z101.number(),
|
|
1810
1831
|
x: distance,
|
|
1811
1832
|
y: distance,
|
|
1812
1833
|
ccw_rotation: rotation,
|
|
1813
|
-
is_covered_with_solder_mask:
|
|
1814
|
-
soldermask_margin:
|
|
1834
|
+
is_covered_with_solder_mask: z101.boolean().optional(),
|
|
1835
|
+
soldermask_margin: z101.number().optional()
|
|
1815
1836
|
});
|
|
1816
1837
|
var pcb_hole_rotated_pill_shape = pcb_hole_rotated_pill.describe(
|
|
1817
1838
|
"Defines a rotated pill-shaped hole on the PCB"
|
|
@@ -1820,147 +1841,147 @@ expectTypesMatch(true);
|
|
|
1820
1841
|
var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval).or(pcb_hole_pill).or(pcb_hole_rotated_pill).or(pcb_hole_circle).or(pcb_hole_rect);
|
|
1821
1842
|
|
|
1822
1843
|
// src/pcb/pcb_plated_hole.ts
|
|
1823
|
-
import { z as
|
|
1824
|
-
var pcb_plated_hole_circle =
|
|
1825
|
-
type:
|
|
1826
|
-
shape:
|
|
1827
|
-
pcb_group_id:
|
|
1828
|
-
subcircuit_id:
|
|
1829
|
-
outer_diameter:
|
|
1830
|
-
hole_diameter:
|
|
1831
|
-
is_covered_with_solder_mask:
|
|
1844
|
+
import { z as z102 } from "zod";
|
|
1845
|
+
var pcb_plated_hole_circle = z102.object({
|
|
1846
|
+
type: z102.literal("pcb_plated_hole"),
|
|
1847
|
+
shape: z102.literal("circle"),
|
|
1848
|
+
pcb_group_id: z102.string().optional(),
|
|
1849
|
+
subcircuit_id: z102.string().optional(),
|
|
1850
|
+
outer_diameter: z102.number(),
|
|
1851
|
+
hole_diameter: z102.number(),
|
|
1852
|
+
is_covered_with_solder_mask: z102.boolean().optional(),
|
|
1832
1853
|
x: distance,
|
|
1833
1854
|
y: distance,
|
|
1834
|
-
layers:
|
|
1835
|
-
port_hints:
|
|
1836
|
-
pcb_component_id:
|
|
1837
|
-
pcb_port_id:
|
|
1855
|
+
layers: z102.array(layer_ref),
|
|
1856
|
+
port_hints: z102.array(z102.string()).optional(),
|
|
1857
|
+
pcb_component_id: z102.string().optional(),
|
|
1858
|
+
pcb_port_id: z102.string().optional(),
|
|
1838
1859
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1839
|
-
soldermask_margin:
|
|
1860
|
+
soldermask_margin: z102.number().optional()
|
|
1840
1861
|
});
|
|
1841
|
-
var pcb_plated_hole_oval =
|
|
1842
|
-
type:
|
|
1843
|
-
shape:
|
|
1844
|
-
pcb_group_id:
|
|
1845
|
-
subcircuit_id:
|
|
1846
|
-
outer_width:
|
|
1847
|
-
outer_height:
|
|
1848
|
-
hole_width:
|
|
1849
|
-
hole_height:
|
|
1850
|
-
is_covered_with_solder_mask:
|
|
1862
|
+
var pcb_plated_hole_oval = z102.object({
|
|
1863
|
+
type: z102.literal("pcb_plated_hole"),
|
|
1864
|
+
shape: z102.enum(["oval", "pill"]),
|
|
1865
|
+
pcb_group_id: z102.string().optional(),
|
|
1866
|
+
subcircuit_id: z102.string().optional(),
|
|
1867
|
+
outer_width: z102.number(),
|
|
1868
|
+
outer_height: z102.number(),
|
|
1869
|
+
hole_width: z102.number(),
|
|
1870
|
+
hole_height: z102.number(),
|
|
1871
|
+
is_covered_with_solder_mask: z102.boolean().optional(),
|
|
1851
1872
|
x: distance,
|
|
1852
1873
|
y: distance,
|
|
1853
1874
|
ccw_rotation: rotation,
|
|
1854
|
-
layers:
|
|
1855
|
-
port_hints:
|
|
1856
|
-
pcb_component_id:
|
|
1857
|
-
pcb_port_id:
|
|
1875
|
+
layers: z102.array(layer_ref),
|
|
1876
|
+
port_hints: z102.array(z102.string()).optional(),
|
|
1877
|
+
pcb_component_id: z102.string().optional(),
|
|
1878
|
+
pcb_port_id: z102.string().optional(),
|
|
1858
1879
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1859
|
-
soldermask_margin:
|
|
1880
|
+
soldermask_margin: z102.number().optional()
|
|
1860
1881
|
});
|
|
1861
|
-
var pcb_circular_hole_with_rect_pad =
|
|
1862
|
-
type:
|
|
1863
|
-
shape:
|
|
1864
|
-
pcb_group_id:
|
|
1865
|
-
subcircuit_id:
|
|
1866
|
-
hole_shape:
|
|
1867
|
-
pad_shape:
|
|
1868
|
-
hole_diameter:
|
|
1869
|
-
rect_pad_width:
|
|
1870
|
-
rect_pad_height:
|
|
1871
|
-
rect_border_radius:
|
|
1882
|
+
var pcb_circular_hole_with_rect_pad = z102.object({
|
|
1883
|
+
type: z102.literal("pcb_plated_hole"),
|
|
1884
|
+
shape: z102.literal("circular_hole_with_rect_pad"),
|
|
1885
|
+
pcb_group_id: z102.string().optional(),
|
|
1886
|
+
subcircuit_id: z102.string().optional(),
|
|
1887
|
+
hole_shape: z102.literal("circle"),
|
|
1888
|
+
pad_shape: z102.literal("rect"),
|
|
1889
|
+
hole_diameter: z102.number(),
|
|
1890
|
+
rect_pad_width: z102.number(),
|
|
1891
|
+
rect_pad_height: z102.number(),
|
|
1892
|
+
rect_border_radius: z102.number().optional(),
|
|
1872
1893
|
hole_offset_x: distance.default(0),
|
|
1873
1894
|
hole_offset_y: distance.default(0),
|
|
1874
|
-
is_covered_with_solder_mask:
|
|
1895
|
+
is_covered_with_solder_mask: z102.boolean().optional(),
|
|
1875
1896
|
x: distance,
|
|
1876
1897
|
y: distance,
|
|
1877
|
-
layers:
|
|
1878
|
-
port_hints:
|
|
1879
|
-
pcb_component_id:
|
|
1880
|
-
pcb_port_id:
|
|
1898
|
+
layers: z102.array(layer_ref),
|
|
1899
|
+
port_hints: z102.array(z102.string()).optional(),
|
|
1900
|
+
pcb_component_id: z102.string().optional(),
|
|
1901
|
+
pcb_port_id: z102.string().optional(),
|
|
1881
1902
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1882
|
-
soldermask_margin:
|
|
1903
|
+
soldermask_margin: z102.number().optional(),
|
|
1883
1904
|
rect_ccw_rotation: rotation.optional()
|
|
1884
1905
|
});
|
|
1885
|
-
var pcb_pill_hole_with_rect_pad =
|
|
1886
|
-
type:
|
|
1887
|
-
shape:
|
|
1888
|
-
pcb_group_id:
|
|
1889
|
-
subcircuit_id:
|
|
1890
|
-
hole_shape:
|
|
1891
|
-
pad_shape:
|
|
1892
|
-
hole_width:
|
|
1893
|
-
hole_height:
|
|
1894
|
-
rect_pad_width:
|
|
1895
|
-
rect_pad_height:
|
|
1896
|
-
rect_border_radius:
|
|
1906
|
+
var pcb_pill_hole_with_rect_pad = z102.object({
|
|
1907
|
+
type: z102.literal("pcb_plated_hole"),
|
|
1908
|
+
shape: z102.literal("pill_hole_with_rect_pad"),
|
|
1909
|
+
pcb_group_id: z102.string().optional(),
|
|
1910
|
+
subcircuit_id: z102.string().optional(),
|
|
1911
|
+
hole_shape: z102.literal("pill"),
|
|
1912
|
+
pad_shape: z102.literal("rect"),
|
|
1913
|
+
hole_width: z102.number(),
|
|
1914
|
+
hole_height: z102.number(),
|
|
1915
|
+
rect_pad_width: z102.number(),
|
|
1916
|
+
rect_pad_height: z102.number(),
|
|
1917
|
+
rect_border_radius: z102.number().optional(),
|
|
1897
1918
|
hole_offset_x: distance.default(0),
|
|
1898
1919
|
hole_offset_y: distance.default(0),
|
|
1899
|
-
is_covered_with_solder_mask:
|
|
1920
|
+
is_covered_with_solder_mask: z102.boolean().optional(),
|
|
1900
1921
|
x: distance,
|
|
1901
1922
|
y: distance,
|
|
1902
|
-
layers:
|
|
1903
|
-
port_hints:
|
|
1904
|
-
pcb_component_id:
|
|
1905
|
-
pcb_port_id:
|
|
1923
|
+
layers: z102.array(layer_ref),
|
|
1924
|
+
port_hints: z102.array(z102.string()).optional(),
|
|
1925
|
+
pcb_component_id: z102.string().optional(),
|
|
1926
|
+
pcb_port_id: z102.string().optional(),
|
|
1906
1927
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1907
|
-
soldermask_margin:
|
|
1928
|
+
soldermask_margin: z102.number().optional()
|
|
1908
1929
|
});
|
|
1909
|
-
var pcb_rotated_pill_hole_with_rect_pad =
|
|
1910
|
-
type:
|
|
1911
|
-
shape:
|
|
1912
|
-
pcb_group_id:
|
|
1913
|
-
subcircuit_id:
|
|
1914
|
-
hole_shape:
|
|
1915
|
-
pad_shape:
|
|
1916
|
-
hole_width:
|
|
1917
|
-
hole_height:
|
|
1930
|
+
var pcb_rotated_pill_hole_with_rect_pad = z102.object({
|
|
1931
|
+
type: z102.literal("pcb_plated_hole"),
|
|
1932
|
+
shape: z102.literal("rotated_pill_hole_with_rect_pad"),
|
|
1933
|
+
pcb_group_id: z102.string().optional(),
|
|
1934
|
+
subcircuit_id: z102.string().optional(),
|
|
1935
|
+
hole_shape: z102.literal("rotated_pill"),
|
|
1936
|
+
pad_shape: z102.literal("rect"),
|
|
1937
|
+
hole_width: z102.number(),
|
|
1938
|
+
hole_height: z102.number(),
|
|
1918
1939
|
hole_ccw_rotation: rotation,
|
|
1919
|
-
rect_pad_width:
|
|
1920
|
-
rect_pad_height:
|
|
1921
|
-
rect_border_radius:
|
|
1940
|
+
rect_pad_width: z102.number(),
|
|
1941
|
+
rect_pad_height: z102.number(),
|
|
1942
|
+
rect_border_radius: z102.number().optional(),
|
|
1922
1943
|
rect_ccw_rotation: rotation,
|
|
1923
1944
|
hole_offset_x: distance.default(0),
|
|
1924
1945
|
hole_offset_y: distance.default(0),
|
|
1925
|
-
is_covered_with_solder_mask:
|
|
1946
|
+
is_covered_with_solder_mask: z102.boolean().optional(),
|
|
1926
1947
|
x: distance,
|
|
1927
1948
|
y: distance,
|
|
1928
|
-
layers:
|
|
1929
|
-
port_hints:
|
|
1930
|
-
pcb_component_id:
|
|
1931
|
-
pcb_port_id:
|
|
1949
|
+
layers: z102.array(layer_ref),
|
|
1950
|
+
port_hints: z102.array(z102.string()).optional(),
|
|
1951
|
+
pcb_component_id: z102.string().optional(),
|
|
1952
|
+
pcb_port_id: z102.string().optional(),
|
|
1932
1953
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1933
|
-
soldermask_margin:
|
|
1954
|
+
soldermask_margin: z102.number().optional()
|
|
1934
1955
|
});
|
|
1935
|
-
var pcb_hole_with_polygon_pad =
|
|
1936
|
-
type:
|
|
1937
|
-
shape:
|
|
1938
|
-
pcb_group_id:
|
|
1939
|
-
subcircuit_id:
|
|
1940
|
-
hole_shape:
|
|
1941
|
-
hole_diameter:
|
|
1942
|
-
hole_width:
|
|
1943
|
-
hole_height:
|
|
1944
|
-
pad_outline:
|
|
1945
|
-
|
|
1956
|
+
var pcb_hole_with_polygon_pad = z102.object({
|
|
1957
|
+
type: z102.literal("pcb_plated_hole"),
|
|
1958
|
+
shape: z102.literal("hole_with_polygon_pad"),
|
|
1959
|
+
pcb_group_id: z102.string().optional(),
|
|
1960
|
+
subcircuit_id: z102.string().optional(),
|
|
1961
|
+
hole_shape: z102.enum(["circle", "oval", "pill", "rotated_pill"]),
|
|
1962
|
+
hole_diameter: z102.number().optional(),
|
|
1963
|
+
hole_width: z102.number().optional(),
|
|
1964
|
+
hole_height: z102.number().optional(),
|
|
1965
|
+
pad_outline: z102.array(
|
|
1966
|
+
z102.object({
|
|
1946
1967
|
x: distance,
|
|
1947
1968
|
y: distance
|
|
1948
1969
|
})
|
|
1949
1970
|
).min(3),
|
|
1950
1971
|
hole_offset_x: distance.default(0),
|
|
1951
1972
|
hole_offset_y: distance.default(0),
|
|
1952
|
-
is_covered_with_solder_mask:
|
|
1973
|
+
is_covered_with_solder_mask: z102.boolean().optional(),
|
|
1953
1974
|
x: distance,
|
|
1954
1975
|
y: distance,
|
|
1955
|
-
layers:
|
|
1956
|
-
port_hints:
|
|
1957
|
-
pcb_component_id:
|
|
1958
|
-
pcb_port_id:
|
|
1976
|
+
layers: z102.array(layer_ref),
|
|
1977
|
+
port_hints: z102.array(z102.string()).optional(),
|
|
1978
|
+
pcb_component_id: z102.string().optional(),
|
|
1979
|
+
pcb_port_id: z102.string().optional(),
|
|
1959
1980
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1960
|
-
soldermask_margin:
|
|
1981
|
+
soldermask_margin: z102.number().optional(),
|
|
1961
1982
|
ccw_rotation: rotation.optional()
|
|
1962
1983
|
});
|
|
1963
|
-
var pcb_plated_hole =
|
|
1984
|
+
var pcb_plated_hole = z102.union([
|
|
1964
1985
|
pcb_plated_hole_circle,
|
|
1965
1986
|
pcb_plated_hole_oval,
|
|
1966
1987
|
pcb_circular_hole_with_rect_pad,
|
|
@@ -1978,138 +1999,138 @@ expectTypesMatch(true);
|
|
|
1978
1999
|
expectTypesMatch(true);
|
|
1979
2000
|
|
|
1980
2001
|
// src/pcb/pcb_port.ts
|
|
1981
|
-
import { z as
|
|
1982
|
-
var pcb_port =
|
|
1983
|
-
type:
|
|
2002
|
+
import { z as z103 } from "zod";
|
|
2003
|
+
var pcb_port = z103.object({
|
|
2004
|
+
type: z103.literal("pcb_port"),
|
|
1984
2005
|
pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
|
|
1985
|
-
pcb_group_id:
|
|
1986
|
-
subcircuit_id:
|
|
1987
|
-
source_port_id:
|
|
1988
|
-
pcb_component_id:
|
|
2006
|
+
pcb_group_id: z103.string().optional(),
|
|
2007
|
+
subcircuit_id: z103.string().optional(),
|
|
2008
|
+
source_port_id: z103.string(),
|
|
2009
|
+
pcb_component_id: z103.string().optional(),
|
|
1989
2010
|
x: distance,
|
|
1990
2011
|
y: distance,
|
|
1991
|
-
layers:
|
|
1992
|
-
is_board_pinout:
|
|
2012
|
+
layers: z103.array(layer_ref),
|
|
2013
|
+
is_board_pinout: z103.boolean().optional()
|
|
1993
2014
|
}).describe("Defines a port on the PCB");
|
|
1994
2015
|
expectTypesMatch(true);
|
|
1995
2016
|
|
|
1996
2017
|
// src/pcb/pcb_smtpad.ts
|
|
1997
|
-
import { z as
|
|
1998
|
-
var pcb_smtpad_circle =
|
|
1999
|
-
type:
|
|
2000
|
-
shape:
|
|
2018
|
+
import { z as z104 } from "zod";
|
|
2019
|
+
var pcb_smtpad_circle = z104.object({
|
|
2020
|
+
type: z104.literal("pcb_smtpad"),
|
|
2021
|
+
shape: z104.literal("circle"),
|
|
2001
2022
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
2002
|
-
pcb_group_id:
|
|
2003
|
-
subcircuit_id:
|
|
2023
|
+
pcb_group_id: z104.string().optional(),
|
|
2024
|
+
subcircuit_id: z104.string().optional(),
|
|
2004
2025
|
x: distance,
|
|
2005
2026
|
y: distance,
|
|
2006
|
-
radius:
|
|
2027
|
+
radius: z104.number(),
|
|
2007
2028
|
layer: layer_ref,
|
|
2008
|
-
port_hints:
|
|
2009
|
-
pcb_component_id:
|
|
2010
|
-
pcb_port_id:
|
|
2011
|
-
is_covered_with_solder_mask:
|
|
2012
|
-
soldermask_margin:
|
|
2029
|
+
port_hints: z104.array(z104.string()).optional(),
|
|
2030
|
+
pcb_component_id: z104.string().optional(),
|
|
2031
|
+
pcb_port_id: z104.string().optional(),
|
|
2032
|
+
is_covered_with_solder_mask: z104.boolean().optional(),
|
|
2033
|
+
soldermask_margin: z104.number().optional()
|
|
2013
2034
|
});
|
|
2014
|
-
var pcb_smtpad_rect =
|
|
2015
|
-
type:
|
|
2016
|
-
shape:
|
|
2035
|
+
var pcb_smtpad_rect = z104.object({
|
|
2036
|
+
type: z104.literal("pcb_smtpad"),
|
|
2037
|
+
shape: z104.literal("rect"),
|
|
2017
2038
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
2018
|
-
pcb_group_id:
|
|
2019
|
-
subcircuit_id:
|
|
2039
|
+
pcb_group_id: z104.string().optional(),
|
|
2040
|
+
subcircuit_id: z104.string().optional(),
|
|
2020
2041
|
x: distance,
|
|
2021
2042
|
y: distance,
|
|
2022
|
-
width:
|
|
2023
|
-
height:
|
|
2024
|
-
rect_border_radius:
|
|
2025
|
-
corner_radius:
|
|
2043
|
+
width: z104.number(),
|
|
2044
|
+
height: z104.number(),
|
|
2045
|
+
rect_border_radius: z104.number().optional(),
|
|
2046
|
+
corner_radius: z104.number().optional(),
|
|
2026
2047
|
layer: layer_ref,
|
|
2027
|
-
port_hints:
|
|
2028
|
-
pcb_component_id:
|
|
2029
|
-
pcb_port_id:
|
|
2030
|
-
is_covered_with_solder_mask:
|
|
2031
|
-
soldermask_margin:
|
|
2032
|
-
soldermask_margin_left:
|
|
2033
|
-
soldermask_margin_top:
|
|
2034
|
-
soldermask_margin_right:
|
|
2035
|
-
soldermask_margin_bottom:
|
|
2048
|
+
port_hints: z104.array(z104.string()).optional(),
|
|
2049
|
+
pcb_component_id: z104.string().optional(),
|
|
2050
|
+
pcb_port_id: z104.string().optional(),
|
|
2051
|
+
is_covered_with_solder_mask: z104.boolean().optional(),
|
|
2052
|
+
soldermask_margin: z104.number().optional(),
|
|
2053
|
+
soldermask_margin_left: z104.number().optional(),
|
|
2054
|
+
soldermask_margin_top: z104.number().optional(),
|
|
2055
|
+
soldermask_margin_right: z104.number().optional(),
|
|
2056
|
+
soldermask_margin_bottom: z104.number().optional()
|
|
2036
2057
|
});
|
|
2037
|
-
var pcb_smtpad_rotated_rect =
|
|
2038
|
-
type:
|
|
2039
|
-
shape:
|
|
2058
|
+
var pcb_smtpad_rotated_rect = z104.object({
|
|
2059
|
+
type: z104.literal("pcb_smtpad"),
|
|
2060
|
+
shape: z104.literal("rotated_rect"),
|
|
2040
2061
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
2041
|
-
pcb_group_id:
|
|
2042
|
-
subcircuit_id:
|
|
2062
|
+
pcb_group_id: z104.string().optional(),
|
|
2063
|
+
subcircuit_id: z104.string().optional(),
|
|
2043
2064
|
x: distance,
|
|
2044
2065
|
y: distance,
|
|
2045
|
-
width:
|
|
2046
|
-
height:
|
|
2047
|
-
rect_border_radius:
|
|
2048
|
-
corner_radius:
|
|
2066
|
+
width: z104.number(),
|
|
2067
|
+
height: z104.number(),
|
|
2068
|
+
rect_border_radius: z104.number().optional(),
|
|
2069
|
+
corner_radius: z104.number().optional(),
|
|
2049
2070
|
ccw_rotation: rotation,
|
|
2050
2071
|
layer: layer_ref,
|
|
2051
|
-
port_hints:
|
|
2052
|
-
pcb_component_id:
|
|
2053
|
-
pcb_port_id:
|
|
2054
|
-
is_covered_with_solder_mask:
|
|
2055
|
-
soldermask_margin:
|
|
2056
|
-
soldermask_margin_left:
|
|
2057
|
-
soldermask_margin_top:
|
|
2058
|
-
soldermask_margin_right:
|
|
2059
|
-
soldermask_margin_bottom:
|
|
2072
|
+
port_hints: z104.array(z104.string()).optional(),
|
|
2073
|
+
pcb_component_id: z104.string().optional(),
|
|
2074
|
+
pcb_port_id: z104.string().optional(),
|
|
2075
|
+
is_covered_with_solder_mask: z104.boolean().optional(),
|
|
2076
|
+
soldermask_margin: z104.number().optional(),
|
|
2077
|
+
soldermask_margin_left: z104.number().optional(),
|
|
2078
|
+
soldermask_margin_top: z104.number().optional(),
|
|
2079
|
+
soldermask_margin_right: z104.number().optional(),
|
|
2080
|
+
soldermask_margin_bottom: z104.number().optional()
|
|
2060
2081
|
});
|
|
2061
|
-
var pcb_smtpad_pill =
|
|
2062
|
-
type:
|
|
2063
|
-
shape:
|
|
2082
|
+
var pcb_smtpad_pill = z104.object({
|
|
2083
|
+
type: z104.literal("pcb_smtpad"),
|
|
2084
|
+
shape: z104.literal("pill"),
|
|
2064
2085
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
2065
|
-
pcb_group_id:
|
|
2066
|
-
subcircuit_id:
|
|
2086
|
+
pcb_group_id: z104.string().optional(),
|
|
2087
|
+
subcircuit_id: z104.string().optional(),
|
|
2067
2088
|
x: distance,
|
|
2068
2089
|
y: distance,
|
|
2069
|
-
width:
|
|
2070
|
-
height:
|
|
2071
|
-
radius:
|
|
2090
|
+
width: z104.number(),
|
|
2091
|
+
height: z104.number(),
|
|
2092
|
+
radius: z104.number(),
|
|
2072
2093
|
layer: layer_ref,
|
|
2073
|
-
port_hints:
|
|
2074
|
-
pcb_component_id:
|
|
2075
|
-
pcb_port_id:
|
|
2076
|
-
is_covered_with_solder_mask:
|
|
2077
|
-
soldermask_margin:
|
|
2094
|
+
port_hints: z104.array(z104.string()).optional(),
|
|
2095
|
+
pcb_component_id: z104.string().optional(),
|
|
2096
|
+
pcb_port_id: z104.string().optional(),
|
|
2097
|
+
is_covered_with_solder_mask: z104.boolean().optional(),
|
|
2098
|
+
soldermask_margin: z104.number().optional()
|
|
2078
2099
|
});
|
|
2079
|
-
var pcb_smtpad_rotated_pill =
|
|
2080
|
-
type:
|
|
2081
|
-
shape:
|
|
2100
|
+
var pcb_smtpad_rotated_pill = z104.object({
|
|
2101
|
+
type: z104.literal("pcb_smtpad"),
|
|
2102
|
+
shape: z104.literal("rotated_pill"),
|
|
2082
2103
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
2083
|
-
pcb_group_id:
|
|
2084
|
-
subcircuit_id:
|
|
2104
|
+
pcb_group_id: z104.string().optional(),
|
|
2105
|
+
subcircuit_id: z104.string().optional(),
|
|
2085
2106
|
x: distance,
|
|
2086
2107
|
y: distance,
|
|
2087
|
-
width:
|
|
2088
|
-
height:
|
|
2089
|
-
radius:
|
|
2108
|
+
width: z104.number(),
|
|
2109
|
+
height: z104.number(),
|
|
2110
|
+
radius: z104.number(),
|
|
2090
2111
|
ccw_rotation: rotation,
|
|
2091
2112
|
layer: layer_ref,
|
|
2092
|
-
port_hints:
|
|
2093
|
-
pcb_component_id:
|
|
2094
|
-
pcb_port_id:
|
|
2095
|
-
is_covered_with_solder_mask:
|
|
2096
|
-
soldermask_margin:
|
|
2113
|
+
port_hints: z104.array(z104.string()).optional(),
|
|
2114
|
+
pcb_component_id: z104.string().optional(),
|
|
2115
|
+
pcb_port_id: z104.string().optional(),
|
|
2116
|
+
is_covered_with_solder_mask: z104.boolean().optional(),
|
|
2117
|
+
soldermask_margin: z104.number().optional()
|
|
2097
2118
|
});
|
|
2098
|
-
var pcb_smtpad_polygon =
|
|
2099
|
-
type:
|
|
2100
|
-
shape:
|
|
2119
|
+
var pcb_smtpad_polygon = z104.object({
|
|
2120
|
+
type: z104.literal("pcb_smtpad"),
|
|
2121
|
+
shape: z104.literal("polygon"),
|
|
2101
2122
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
2102
|
-
pcb_group_id:
|
|
2103
|
-
subcircuit_id:
|
|
2104
|
-
points:
|
|
2123
|
+
pcb_group_id: z104.string().optional(),
|
|
2124
|
+
subcircuit_id: z104.string().optional(),
|
|
2125
|
+
points: z104.array(point),
|
|
2105
2126
|
layer: layer_ref,
|
|
2106
|
-
port_hints:
|
|
2107
|
-
pcb_component_id:
|
|
2108
|
-
pcb_port_id:
|
|
2109
|
-
is_covered_with_solder_mask:
|
|
2110
|
-
soldermask_margin:
|
|
2127
|
+
port_hints: z104.array(z104.string()).optional(),
|
|
2128
|
+
pcb_component_id: z104.string().optional(),
|
|
2129
|
+
pcb_port_id: z104.string().optional(),
|
|
2130
|
+
is_covered_with_solder_mask: z104.boolean().optional(),
|
|
2131
|
+
soldermask_margin: z104.number().optional()
|
|
2111
2132
|
});
|
|
2112
|
-
var pcb_smtpad =
|
|
2133
|
+
var pcb_smtpad = z104.discriminatedUnion("shape", [
|
|
2113
2134
|
pcb_smtpad_circle,
|
|
2114
2135
|
pcb_smtpad_rect,
|
|
2115
2136
|
pcb_smtpad_rotated_rect,
|
|
@@ -2125,79 +2146,79 @@ expectTypesMatch(true);
|
|
|
2125
2146
|
expectTypesMatch(true);
|
|
2126
2147
|
|
|
2127
2148
|
// src/pcb/pcb_solder_paste.ts
|
|
2128
|
-
import { z as
|
|
2129
|
-
var pcb_solder_paste_circle =
|
|
2130
|
-
type:
|
|
2131
|
-
shape:
|
|
2149
|
+
import { z as z105 } from "zod";
|
|
2150
|
+
var pcb_solder_paste_circle = z105.object({
|
|
2151
|
+
type: z105.literal("pcb_solder_paste"),
|
|
2152
|
+
shape: z105.literal("circle"),
|
|
2132
2153
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2133
|
-
pcb_group_id:
|
|
2134
|
-
subcircuit_id:
|
|
2154
|
+
pcb_group_id: z105.string().optional(),
|
|
2155
|
+
subcircuit_id: z105.string().optional(),
|
|
2135
2156
|
x: distance,
|
|
2136
2157
|
y: distance,
|
|
2137
|
-
radius:
|
|
2158
|
+
radius: z105.number(),
|
|
2138
2159
|
layer: layer_ref,
|
|
2139
|
-
pcb_component_id:
|
|
2140
|
-
pcb_smtpad_id:
|
|
2160
|
+
pcb_component_id: z105.string().optional(),
|
|
2161
|
+
pcb_smtpad_id: z105.string().optional()
|
|
2141
2162
|
});
|
|
2142
|
-
var pcb_solder_paste_rect =
|
|
2143
|
-
type:
|
|
2144
|
-
shape:
|
|
2163
|
+
var pcb_solder_paste_rect = z105.object({
|
|
2164
|
+
type: z105.literal("pcb_solder_paste"),
|
|
2165
|
+
shape: z105.literal("rect"),
|
|
2145
2166
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2146
|
-
pcb_group_id:
|
|
2147
|
-
subcircuit_id:
|
|
2167
|
+
pcb_group_id: z105.string().optional(),
|
|
2168
|
+
subcircuit_id: z105.string().optional(),
|
|
2148
2169
|
x: distance,
|
|
2149
2170
|
y: distance,
|
|
2150
|
-
width:
|
|
2151
|
-
height:
|
|
2171
|
+
width: z105.number(),
|
|
2172
|
+
height: z105.number(),
|
|
2152
2173
|
layer: layer_ref,
|
|
2153
|
-
pcb_component_id:
|
|
2154
|
-
pcb_smtpad_id:
|
|
2174
|
+
pcb_component_id: z105.string().optional(),
|
|
2175
|
+
pcb_smtpad_id: z105.string().optional()
|
|
2155
2176
|
});
|
|
2156
|
-
var pcb_solder_paste_pill =
|
|
2157
|
-
type:
|
|
2158
|
-
shape:
|
|
2177
|
+
var pcb_solder_paste_pill = z105.object({
|
|
2178
|
+
type: z105.literal("pcb_solder_paste"),
|
|
2179
|
+
shape: z105.literal("pill"),
|
|
2159
2180
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2160
|
-
pcb_group_id:
|
|
2161
|
-
subcircuit_id:
|
|
2181
|
+
pcb_group_id: z105.string().optional(),
|
|
2182
|
+
subcircuit_id: z105.string().optional(),
|
|
2162
2183
|
x: distance,
|
|
2163
2184
|
y: distance,
|
|
2164
|
-
width:
|
|
2165
|
-
height:
|
|
2166
|
-
radius:
|
|
2185
|
+
width: z105.number(),
|
|
2186
|
+
height: z105.number(),
|
|
2187
|
+
radius: z105.number(),
|
|
2167
2188
|
layer: layer_ref,
|
|
2168
|
-
pcb_component_id:
|
|
2169
|
-
pcb_smtpad_id:
|
|
2189
|
+
pcb_component_id: z105.string().optional(),
|
|
2190
|
+
pcb_smtpad_id: z105.string().optional()
|
|
2170
2191
|
});
|
|
2171
|
-
var pcb_solder_paste_rotated_rect =
|
|
2172
|
-
type:
|
|
2173
|
-
shape:
|
|
2192
|
+
var pcb_solder_paste_rotated_rect = z105.object({
|
|
2193
|
+
type: z105.literal("pcb_solder_paste"),
|
|
2194
|
+
shape: z105.literal("rotated_rect"),
|
|
2174
2195
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2175
|
-
pcb_group_id:
|
|
2176
|
-
subcircuit_id:
|
|
2196
|
+
pcb_group_id: z105.string().optional(),
|
|
2197
|
+
subcircuit_id: z105.string().optional(),
|
|
2177
2198
|
x: distance,
|
|
2178
2199
|
y: distance,
|
|
2179
|
-
width:
|
|
2180
|
-
height:
|
|
2200
|
+
width: z105.number(),
|
|
2201
|
+
height: z105.number(),
|
|
2181
2202
|
ccw_rotation: distance,
|
|
2182
2203
|
layer: layer_ref,
|
|
2183
|
-
pcb_component_id:
|
|
2184
|
-
pcb_smtpad_id:
|
|
2204
|
+
pcb_component_id: z105.string().optional(),
|
|
2205
|
+
pcb_smtpad_id: z105.string().optional()
|
|
2185
2206
|
});
|
|
2186
|
-
var pcb_solder_paste_oval =
|
|
2187
|
-
type:
|
|
2188
|
-
shape:
|
|
2207
|
+
var pcb_solder_paste_oval = z105.object({
|
|
2208
|
+
type: z105.literal("pcb_solder_paste"),
|
|
2209
|
+
shape: z105.literal("oval"),
|
|
2189
2210
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2190
|
-
pcb_group_id:
|
|
2191
|
-
subcircuit_id:
|
|
2211
|
+
pcb_group_id: z105.string().optional(),
|
|
2212
|
+
subcircuit_id: z105.string().optional(),
|
|
2192
2213
|
x: distance,
|
|
2193
2214
|
y: distance,
|
|
2194
|
-
width:
|
|
2195
|
-
height:
|
|
2215
|
+
width: z105.number(),
|
|
2216
|
+
height: z105.number(),
|
|
2196
2217
|
layer: layer_ref,
|
|
2197
|
-
pcb_component_id:
|
|
2198
|
-
pcb_smtpad_id:
|
|
2218
|
+
pcb_component_id: z105.string().optional(),
|
|
2219
|
+
pcb_smtpad_id: z105.string().optional()
|
|
2199
2220
|
});
|
|
2200
|
-
var pcb_solder_paste =
|
|
2221
|
+
var pcb_solder_paste = z105.union([
|
|
2201
2222
|
pcb_solder_paste_circle,
|
|
2202
2223
|
pcb_solder_paste_rect,
|
|
2203
2224
|
pcb_solder_paste_pill,
|
|
@@ -2213,193 +2234,193 @@ expectTypesMatch(
|
|
|
2213
2234
|
expectTypesMatch(true);
|
|
2214
2235
|
|
|
2215
2236
|
// src/pcb/pcb_text.ts
|
|
2216
|
-
import { z as
|
|
2217
|
-
var pcb_text =
|
|
2218
|
-
type:
|
|
2237
|
+
import { z as z106 } from "zod";
|
|
2238
|
+
var pcb_text = z106.object({
|
|
2239
|
+
type: z106.literal("pcb_text"),
|
|
2219
2240
|
pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
|
|
2220
|
-
pcb_group_id:
|
|
2221
|
-
subcircuit_id:
|
|
2222
|
-
text:
|
|
2241
|
+
pcb_group_id: z106.string().optional(),
|
|
2242
|
+
subcircuit_id: z106.string().optional(),
|
|
2243
|
+
text: z106.string(),
|
|
2223
2244
|
center: point,
|
|
2224
2245
|
layer: layer_ref,
|
|
2225
2246
|
width: length,
|
|
2226
2247
|
height: length,
|
|
2227
|
-
lines:
|
|
2248
|
+
lines: z106.number(),
|
|
2228
2249
|
// @ts-ignore
|
|
2229
|
-
align:
|
|
2250
|
+
align: z106.enum(["bottom-left"])
|
|
2230
2251
|
}).describe("Defines text on the PCB");
|
|
2231
2252
|
expectTypesMatch(true);
|
|
2232
2253
|
|
|
2233
2254
|
// src/pcb/pcb_trace.ts
|
|
2234
|
-
import { z as
|
|
2235
|
-
var pcb_trace_route_point_wire =
|
|
2236
|
-
route_type:
|
|
2255
|
+
import { z as z107 } from "zod";
|
|
2256
|
+
var pcb_trace_route_point_wire = z107.object({
|
|
2257
|
+
route_type: z107.literal("wire"),
|
|
2237
2258
|
x: distance,
|
|
2238
2259
|
y: distance,
|
|
2239
2260
|
width: distance,
|
|
2240
|
-
copper_pour_id:
|
|
2241
|
-
is_inside_copper_pour:
|
|
2242
|
-
start_pcb_port_id:
|
|
2243
|
-
end_pcb_port_id:
|
|
2261
|
+
copper_pour_id: z107.string().optional(),
|
|
2262
|
+
is_inside_copper_pour: z107.boolean().optional(),
|
|
2263
|
+
start_pcb_port_id: z107.string().optional(),
|
|
2264
|
+
end_pcb_port_id: z107.string().optional(),
|
|
2244
2265
|
layer: layer_ref
|
|
2245
2266
|
});
|
|
2246
|
-
var pcb_trace_route_point_via =
|
|
2247
|
-
route_type:
|
|
2267
|
+
var pcb_trace_route_point_via = z107.object({
|
|
2268
|
+
route_type: z107.literal("via"),
|
|
2248
2269
|
x: distance,
|
|
2249
2270
|
y: distance,
|
|
2250
|
-
copper_pour_id:
|
|
2251
|
-
is_inside_copper_pour:
|
|
2271
|
+
copper_pour_id: z107.string().optional(),
|
|
2272
|
+
is_inside_copper_pour: z107.boolean().optional(),
|
|
2252
2273
|
hole_diameter: distance.optional(),
|
|
2253
2274
|
outer_diameter: distance.optional(),
|
|
2254
2275
|
from_layer: layer_ref,
|
|
2255
2276
|
to_layer: layer_ref
|
|
2256
2277
|
});
|
|
2257
|
-
var pcb_trace_route_point_through_pad =
|
|
2258
|
-
route_type:
|
|
2278
|
+
var pcb_trace_route_point_through_pad = z107.object({
|
|
2279
|
+
route_type: z107.literal("through_pad"),
|
|
2259
2280
|
start: point,
|
|
2260
2281
|
end: point,
|
|
2261
2282
|
width: distance,
|
|
2262
2283
|
start_layer: layer_ref,
|
|
2263
2284
|
end_layer: layer_ref,
|
|
2264
|
-
pcb_smtpad_id:
|
|
2265
|
-
pcb_plated_hole_id:
|
|
2285
|
+
pcb_smtpad_id: z107.string().optional(),
|
|
2286
|
+
pcb_plated_hole_id: z107.string().optional()
|
|
2266
2287
|
});
|
|
2267
|
-
var pcb_trace_route_point =
|
|
2288
|
+
var pcb_trace_route_point = z107.union([
|
|
2268
2289
|
pcb_trace_route_point_wire,
|
|
2269
2290
|
pcb_trace_route_point_via,
|
|
2270
2291
|
pcb_trace_route_point_through_pad
|
|
2271
2292
|
]);
|
|
2272
|
-
var pcb_trace =
|
|
2273
|
-
type:
|
|
2274
|
-
source_trace_id:
|
|
2275
|
-
pcb_component_id:
|
|
2293
|
+
var pcb_trace = z107.object({
|
|
2294
|
+
type: z107.literal("pcb_trace"),
|
|
2295
|
+
source_trace_id: z107.string().optional(),
|
|
2296
|
+
pcb_component_id: z107.string().optional(),
|
|
2276
2297
|
pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
|
|
2277
|
-
pcb_group_id:
|
|
2278
|
-
subcircuit_id:
|
|
2279
|
-
route_thickness_mode:
|
|
2280
|
-
route_order_index:
|
|
2281
|
-
should_round_corners:
|
|
2282
|
-
trace_length:
|
|
2283
|
-
highlight_color:
|
|
2284
|
-
route:
|
|
2298
|
+
pcb_group_id: z107.string().optional(),
|
|
2299
|
+
subcircuit_id: z107.string().optional(),
|
|
2300
|
+
route_thickness_mode: z107.enum(["constant", "interpolated"]).default("constant").optional(),
|
|
2301
|
+
route_order_index: z107.number().optional(),
|
|
2302
|
+
should_round_corners: z107.boolean().optional(),
|
|
2303
|
+
trace_length: z107.number().optional(),
|
|
2304
|
+
highlight_color: z107.string().optional(),
|
|
2305
|
+
route: z107.array(pcb_trace_route_point)
|
|
2285
2306
|
}).describe("Defines a trace on the PCB");
|
|
2286
2307
|
expectTypesMatch(true);
|
|
2287
2308
|
expectTypesMatch(true);
|
|
2288
2309
|
|
|
2289
2310
|
// src/pcb/pcb_trace_warning.ts
|
|
2290
|
-
import { z as
|
|
2291
|
-
var pcb_trace_warning =
|
|
2292
|
-
type:
|
|
2311
|
+
import { z as z108 } from "zod";
|
|
2312
|
+
var pcb_trace_warning = z108.object({
|
|
2313
|
+
type: z108.literal("pcb_trace_warning"),
|
|
2293
2314
|
pcb_trace_warning_id: getZodPrefixedIdWithDefault("pcb_trace_warning"),
|
|
2294
|
-
warning_type:
|
|
2295
|
-
message:
|
|
2315
|
+
warning_type: z108.literal("pcb_trace_warning").default("pcb_trace_warning"),
|
|
2316
|
+
message: z108.string(),
|
|
2296
2317
|
center: point.optional(),
|
|
2297
|
-
pcb_trace_id:
|
|
2298
|
-
source_trace_id:
|
|
2299
|
-
pcb_component_ids:
|
|
2300
|
-
pcb_port_ids:
|
|
2301
|
-
subcircuit_id:
|
|
2318
|
+
pcb_trace_id: z108.string(),
|
|
2319
|
+
source_trace_id: z108.string(),
|
|
2320
|
+
pcb_component_ids: z108.array(z108.string()),
|
|
2321
|
+
pcb_port_ids: z108.array(z108.string()),
|
|
2322
|
+
subcircuit_id: z108.string().optional()
|
|
2302
2323
|
}).describe("Defines a trace warning on the PCB");
|
|
2303
2324
|
expectTypesMatch(true);
|
|
2304
2325
|
|
|
2305
2326
|
// src/pcb/pcb_trace_too_long_warning.ts
|
|
2306
|
-
import { z as
|
|
2307
|
-
var pcb_trace_too_long_warning =
|
|
2308
|
-
type:
|
|
2327
|
+
import { z as z109 } from "zod";
|
|
2328
|
+
var pcb_trace_too_long_warning = z109.object({
|
|
2329
|
+
type: z109.literal("pcb_trace_too_long_warning"),
|
|
2309
2330
|
pcb_trace_too_long_warning_id: getZodPrefixedIdWithDefault(
|
|
2310
2331
|
"pcb_trace_too_long_warning"
|
|
2311
2332
|
),
|
|
2312
|
-
warning_type:
|
|
2313
|
-
message:
|
|
2314
|
-
pcb_trace_id:
|
|
2315
|
-
source_net_id:
|
|
2316
|
-
source_trace_id:
|
|
2333
|
+
warning_type: z109.literal("pcb_trace_too_long_warning").default("pcb_trace_too_long_warning"),
|
|
2334
|
+
message: z109.string(),
|
|
2335
|
+
pcb_trace_id: z109.string(),
|
|
2336
|
+
source_net_id: z109.string().optional(),
|
|
2337
|
+
source_trace_id: z109.string().optional(),
|
|
2317
2338
|
actual_trace_length: distance,
|
|
2318
2339
|
maximum_trace_length: distance,
|
|
2319
|
-
subcircuit_id:
|
|
2340
|
+
subcircuit_id: z109.string().optional()
|
|
2320
2341
|
}).describe(
|
|
2321
2342
|
"Warning emitted when a PCB trace is longer than its maximum allowed length"
|
|
2322
2343
|
);
|
|
2323
2344
|
expectTypesMatch(true);
|
|
2324
2345
|
|
|
2325
2346
|
// src/pcb/pcb_trace_error.ts
|
|
2326
|
-
import { z as
|
|
2347
|
+
import { z as z110 } from "zod";
|
|
2327
2348
|
var pcb_trace_error = base_circuit_json_error.extend({
|
|
2328
|
-
type:
|
|
2349
|
+
type: z110.literal("pcb_trace_error"),
|
|
2329
2350
|
pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
|
|
2330
|
-
error_type:
|
|
2351
|
+
error_type: z110.literal("pcb_trace_error").default("pcb_trace_error"),
|
|
2331
2352
|
center: point.optional(),
|
|
2332
|
-
pcb_trace_id:
|
|
2333
|
-
source_trace_id:
|
|
2334
|
-
pcb_component_ids:
|
|
2335
|
-
pcb_port_ids:
|
|
2336
|
-
subcircuit_id:
|
|
2353
|
+
pcb_trace_id: z110.string(),
|
|
2354
|
+
source_trace_id: z110.string(),
|
|
2355
|
+
pcb_component_ids: z110.array(z110.string()),
|
|
2356
|
+
pcb_port_ids: z110.array(z110.string()),
|
|
2357
|
+
subcircuit_id: z110.string().optional()
|
|
2337
2358
|
}).describe("Defines a trace error on the PCB");
|
|
2338
2359
|
expectTypesMatch(true);
|
|
2339
2360
|
|
|
2340
2361
|
// src/pcb/pcb_trace_missing_error.ts
|
|
2341
|
-
import { z as
|
|
2362
|
+
import { z as z111 } from "zod";
|
|
2342
2363
|
var pcb_trace_missing_error = base_circuit_json_error.extend({
|
|
2343
|
-
type:
|
|
2364
|
+
type: z111.literal("pcb_trace_missing_error"),
|
|
2344
2365
|
pcb_trace_missing_error_id: getZodPrefixedIdWithDefault(
|
|
2345
2366
|
"pcb_trace_missing_error"
|
|
2346
2367
|
),
|
|
2347
|
-
error_type:
|
|
2368
|
+
error_type: z111.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
|
|
2348
2369
|
center: point.optional(),
|
|
2349
|
-
source_trace_id:
|
|
2350
|
-
pcb_component_ids:
|
|
2351
|
-
pcb_port_ids:
|
|
2352
|
-
subcircuit_id:
|
|
2370
|
+
source_trace_id: z111.string(),
|
|
2371
|
+
pcb_component_ids: z111.array(z111.string()),
|
|
2372
|
+
pcb_port_ids: z111.array(z111.string()),
|
|
2373
|
+
subcircuit_id: z111.string().optional()
|
|
2353
2374
|
}).describe(
|
|
2354
2375
|
"Defines an error when a source trace has no corresponding PCB trace"
|
|
2355
2376
|
);
|
|
2356
2377
|
expectTypesMatch(true);
|
|
2357
2378
|
|
|
2358
2379
|
// src/pcb/pcb_port_not_matched_error.ts
|
|
2359
|
-
import { z as
|
|
2380
|
+
import { z as z112 } from "zod";
|
|
2360
2381
|
var pcb_port_not_matched_error = base_circuit_json_error.extend({
|
|
2361
|
-
type:
|
|
2382
|
+
type: z112.literal("pcb_port_not_matched_error"),
|
|
2362
2383
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
2363
|
-
error_type:
|
|
2364
|
-
pcb_component_ids:
|
|
2365
|
-
subcircuit_id:
|
|
2384
|
+
error_type: z112.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
|
|
2385
|
+
pcb_component_ids: z112.array(z112.string()),
|
|
2386
|
+
subcircuit_id: z112.string().optional()
|
|
2366
2387
|
}).describe("Defines a trace error on the PCB where a port is not matched");
|
|
2367
2388
|
expectTypesMatch(true);
|
|
2368
2389
|
|
|
2369
2390
|
// src/pcb/pcb_port_not_connected_error.ts
|
|
2370
|
-
import { z as
|
|
2391
|
+
import { z as z113 } from "zod";
|
|
2371
2392
|
var pcb_port_not_connected_error = base_circuit_json_error.extend({
|
|
2372
|
-
type:
|
|
2393
|
+
type: z113.literal("pcb_port_not_connected_error"),
|
|
2373
2394
|
pcb_port_not_connected_error_id: getZodPrefixedIdWithDefault(
|
|
2374
2395
|
"pcb_port_not_connected_error"
|
|
2375
2396
|
),
|
|
2376
|
-
error_type:
|
|
2377
|
-
pcb_port_ids:
|
|
2378
|
-
pcb_component_ids:
|
|
2379
|
-
subcircuit_id:
|
|
2397
|
+
error_type: z113.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
|
|
2398
|
+
pcb_port_ids: z113.array(z113.string()),
|
|
2399
|
+
pcb_component_ids: z113.array(z113.string()),
|
|
2400
|
+
subcircuit_id: z113.string().optional()
|
|
2380
2401
|
}).describe("Defines an error when a pcb port is not connected to any trace");
|
|
2381
2402
|
expectTypesMatch(
|
|
2382
2403
|
true
|
|
2383
2404
|
);
|
|
2384
2405
|
|
|
2385
2406
|
// src/pcb/pcb_net.ts
|
|
2386
|
-
import { z as
|
|
2387
|
-
var pcb_net =
|
|
2388
|
-
type:
|
|
2407
|
+
import { z as z114 } from "zod";
|
|
2408
|
+
var pcb_net = z114.object({
|
|
2409
|
+
type: z114.literal("pcb_net"),
|
|
2389
2410
|
pcb_net_id: getZodPrefixedIdWithDefault("pcb_net"),
|
|
2390
|
-
source_net_id:
|
|
2391
|
-
highlight_color:
|
|
2411
|
+
source_net_id: z114.string().optional(),
|
|
2412
|
+
highlight_color: z114.string().optional()
|
|
2392
2413
|
}).describe("Defines a net on the PCB");
|
|
2393
2414
|
expectTypesMatch(true);
|
|
2394
2415
|
|
|
2395
2416
|
// src/pcb/pcb_via.ts
|
|
2396
|
-
import { z as
|
|
2397
|
-
var pcb_via =
|
|
2398
|
-
type:
|
|
2417
|
+
import { z as z115 } from "zod";
|
|
2418
|
+
var pcb_via = z115.object({
|
|
2419
|
+
type: z115.literal("pcb_via"),
|
|
2399
2420
|
pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
|
|
2400
|
-
pcb_group_id:
|
|
2401
|
-
subcircuit_id:
|
|
2402
|
-
subcircuit_connectivity_map_key:
|
|
2421
|
+
pcb_group_id: z115.string().optional(),
|
|
2422
|
+
subcircuit_id: z115.string().optional(),
|
|
2423
|
+
subcircuit_connectivity_map_key: z115.string().optional(),
|
|
2403
2424
|
x: distance,
|
|
2404
2425
|
y: distance,
|
|
2405
2426
|
outer_diameter: distance.default("0.6mm"),
|
|
@@ -2408,103 +2429,103 @@ var pcb_via = z114.object({
|
|
|
2408
2429
|
from_layer: layer_ref.optional(),
|
|
2409
2430
|
/** @deprecated */
|
|
2410
2431
|
to_layer: layer_ref.optional(),
|
|
2411
|
-
layers:
|
|
2412
|
-
pcb_trace_id:
|
|
2413
|
-
net_is_assignable:
|
|
2414
|
-
net_assigned:
|
|
2415
|
-
is_tented:
|
|
2432
|
+
layers: z115.array(layer_ref),
|
|
2433
|
+
pcb_trace_id: z115.string().optional(),
|
|
2434
|
+
net_is_assignable: z115.boolean().optional(),
|
|
2435
|
+
net_assigned: z115.boolean().optional(),
|
|
2436
|
+
is_tented: z115.boolean().optional()
|
|
2416
2437
|
}).describe("Defines a via on the PCB");
|
|
2417
2438
|
expectTypesMatch(true);
|
|
2418
2439
|
|
|
2419
2440
|
// src/pcb/pcb_board.ts
|
|
2420
|
-
import { z as
|
|
2421
|
-
var pcb_board =
|
|
2422
|
-
type:
|
|
2441
|
+
import { z as z116 } from "zod";
|
|
2442
|
+
var pcb_board = z116.object({
|
|
2443
|
+
type: z116.literal("pcb_board"),
|
|
2423
2444
|
pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
|
|
2424
|
-
pcb_panel_id:
|
|
2425
|
-
carrier_pcb_board_id:
|
|
2426
|
-
is_subcircuit:
|
|
2427
|
-
subcircuit_id:
|
|
2428
|
-
is_mounted_to_carrier_board:
|
|
2445
|
+
pcb_panel_id: z116.string().optional(),
|
|
2446
|
+
carrier_pcb_board_id: z116.string().optional(),
|
|
2447
|
+
is_subcircuit: z116.boolean().optional(),
|
|
2448
|
+
subcircuit_id: z116.string().optional(),
|
|
2449
|
+
is_mounted_to_carrier_board: z116.boolean().optional(),
|
|
2429
2450
|
width: length.optional(),
|
|
2430
2451
|
height: length.optional(),
|
|
2431
2452
|
center: point,
|
|
2432
|
-
display_offset_x:
|
|
2453
|
+
display_offset_x: z116.string().optional().describe(
|
|
2433
2454
|
"How to display the x offset for this board, usually corresponding with how the user specified it"
|
|
2434
2455
|
),
|
|
2435
|
-
display_offset_y:
|
|
2456
|
+
display_offset_y: z116.string().optional().describe(
|
|
2436
2457
|
"How to display the y offset for this board, usually corresponding with how the user specified it"
|
|
2437
2458
|
),
|
|
2438
2459
|
thickness: length.optional().default(1.4),
|
|
2439
|
-
num_layers:
|
|
2440
|
-
outline:
|
|
2441
|
-
shape:
|
|
2442
|
-
material:
|
|
2443
|
-
solder_mask_color:
|
|
2444
|
-
silkscreen_color:
|
|
2460
|
+
num_layers: z116.number().optional().default(4),
|
|
2461
|
+
outline: z116.array(point).optional(),
|
|
2462
|
+
shape: z116.enum(["rect", "polygon"]).optional(),
|
|
2463
|
+
material: z116.enum(["fr4", "fr1"]).default("fr4"),
|
|
2464
|
+
solder_mask_color: z116.string().optional(),
|
|
2465
|
+
silkscreen_color: z116.string().optional(),
|
|
2445
2466
|
anchor_position: point.optional(),
|
|
2446
2467
|
anchor_alignment: ninePointAnchor.optional(),
|
|
2447
|
-
position_mode:
|
|
2468
|
+
position_mode: z116.enum(["relative_to_panel_anchor", "none"]).optional()
|
|
2448
2469
|
}).merge(manufacturing_drc_properties).describe("Defines the board outline of the PCB");
|
|
2449
2470
|
expectTypesMatch(true);
|
|
2450
2471
|
|
|
2451
2472
|
// src/pcb/pcb_panel.ts
|
|
2452
|
-
import { z as
|
|
2453
|
-
var pcb_panel =
|
|
2454
|
-
type:
|
|
2473
|
+
import { z as z117 } from "zod";
|
|
2474
|
+
var pcb_panel = z117.object({
|
|
2475
|
+
type: z117.literal("pcb_panel"),
|
|
2455
2476
|
pcb_panel_id: getZodPrefixedIdWithDefault("pcb_panel"),
|
|
2456
2477
|
width: length,
|
|
2457
2478
|
height: length,
|
|
2458
2479
|
center: point,
|
|
2459
2480
|
thickness: length.optional().default(1.4),
|
|
2460
|
-
covered_with_solder_mask:
|
|
2481
|
+
covered_with_solder_mask: z117.boolean().optional().default(true)
|
|
2461
2482
|
}).describe("Defines a PCB panel that can contain multiple boards");
|
|
2462
2483
|
expectTypesMatch(true);
|
|
2463
2484
|
|
|
2464
2485
|
// src/pcb/pcb_placement_error.ts
|
|
2465
|
-
import { z as
|
|
2486
|
+
import { z as z118 } from "zod";
|
|
2466
2487
|
var pcb_placement_error = base_circuit_json_error.extend({
|
|
2467
|
-
type:
|
|
2488
|
+
type: z118.literal("pcb_placement_error"),
|
|
2468
2489
|
pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
|
|
2469
|
-
error_type:
|
|
2470
|
-
subcircuit_id:
|
|
2490
|
+
error_type: z118.literal("pcb_placement_error").default("pcb_placement_error"),
|
|
2491
|
+
subcircuit_id: z118.string().optional()
|
|
2471
2492
|
}).describe("Defines a placement error on the PCB");
|
|
2472
2493
|
expectTypesMatch(true);
|
|
2473
2494
|
|
|
2474
2495
|
// src/pcb/pcb_panelization_placement_error.ts
|
|
2475
|
-
import { z as
|
|
2496
|
+
import { z as z119 } from "zod";
|
|
2476
2497
|
var pcb_panelization_placement_error = base_circuit_json_error.extend({
|
|
2477
|
-
type:
|
|
2498
|
+
type: z119.literal("pcb_panelization_placement_error"),
|
|
2478
2499
|
pcb_panelization_placement_error_id: getZodPrefixedIdWithDefault(
|
|
2479
2500
|
"pcb_panelization_placement_error"
|
|
2480
2501
|
),
|
|
2481
|
-
error_type:
|
|
2482
|
-
pcb_panel_id:
|
|
2483
|
-
pcb_board_id:
|
|
2484
|
-
subcircuit_id:
|
|
2502
|
+
error_type: z119.literal("pcb_panelization_placement_error").default("pcb_panelization_placement_error"),
|
|
2503
|
+
pcb_panel_id: z119.string().optional(),
|
|
2504
|
+
pcb_board_id: z119.string().optional(),
|
|
2505
|
+
subcircuit_id: z119.string().optional()
|
|
2485
2506
|
}).describe("Defines a panelization placement error on the PCB");
|
|
2486
2507
|
expectTypesMatch(true);
|
|
2487
2508
|
|
|
2488
2509
|
// src/pcb/pcb_trace_hint.ts
|
|
2489
|
-
import { z as
|
|
2490
|
-
var pcb_trace_hint =
|
|
2491
|
-
type:
|
|
2510
|
+
import { z as z120 } from "zod";
|
|
2511
|
+
var pcb_trace_hint = z120.object({
|
|
2512
|
+
type: z120.literal("pcb_trace_hint"),
|
|
2492
2513
|
pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
|
|
2493
|
-
pcb_port_id:
|
|
2494
|
-
pcb_component_id:
|
|
2495
|
-
route:
|
|
2496
|
-
subcircuit_id:
|
|
2514
|
+
pcb_port_id: z120.string(),
|
|
2515
|
+
pcb_component_id: z120.string(),
|
|
2516
|
+
route: z120.array(route_hint_point),
|
|
2517
|
+
subcircuit_id: z120.string().optional()
|
|
2497
2518
|
}).describe("A hint that can be used during generation of a PCB trace");
|
|
2498
2519
|
expectTypesMatch(true);
|
|
2499
2520
|
|
|
2500
2521
|
// src/pcb/pcb_silkscreen_line.ts
|
|
2501
|
-
import { z as
|
|
2502
|
-
var pcb_silkscreen_line =
|
|
2503
|
-
type:
|
|
2522
|
+
import { z as z121 } from "zod";
|
|
2523
|
+
var pcb_silkscreen_line = z121.object({
|
|
2524
|
+
type: z121.literal("pcb_silkscreen_line"),
|
|
2504
2525
|
pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
|
|
2505
|
-
pcb_component_id:
|
|
2506
|
-
pcb_group_id:
|
|
2507
|
-
subcircuit_id:
|
|
2526
|
+
pcb_component_id: z121.string(),
|
|
2527
|
+
pcb_group_id: z121.string().optional(),
|
|
2528
|
+
subcircuit_id: z121.string().optional(),
|
|
2508
2529
|
stroke_width: distance.default("0.1mm"),
|
|
2509
2530
|
x1: distance,
|
|
2510
2531
|
y1: distance,
|
|
@@ -2515,32 +2536,32 @@ var pcb_silkscreen_line = z120.object({
|
|
|
2515
2536
|
expectTypesMatch(true);
|
|
2516
2537
|
|
|
2517
2538
|
// src/pcb/pcb_silkscreen_path.ts
|
|
2518
|
-
import { z as
|
|
2519
|
-
var pcb_silkscreen_path =
|
|
2520
|
-
type:
|
|
2539
|
+
import { z as z122 } from "zod";
|
|
2540
|
+
var pcb_silkscreen_path = z122.object({
|
|
2541
|
+
type: z122.literal("pcb_silkscreen_path"),
|
|
2521
2542
|
pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
|
|
2522
|
-
pcb_component_id:
|
|
2523
|
-
pcb_group_id:
|
|
2524
|
-
subcircuit_id:
|
|
2543
|
+
pcb_component_id: z122.string(),
|
|
2544
|
+
pcb_group_id: z122.string().optional(),
|
|
2545
|
+
subcircuit_id: z122.string().optional(),
|
|
2525
2546
|
layer: visible_layer,
|
|
2526
|
-
route:
|
|
2547
|
+
route: z122.array(point),
|
|
2527
2548
|
stroke_width: length
|
|
2528
2549
|
}).describe("Defines a silkscreen path on the PCB");
|
|
2529
2550
|
expectTypesMatch(true);
|
|
2530
2551
|
|
|
2531
2552
|
// src/pcb/pcb_silkscreen_text.ts
|
|
2532
|
-
import { z as
|
|
2533
|
-
var pcb_silkscreen_text =
|
|
2534
|
-
type:
|
|
2553
|
+
import { z as z123 } from "zod";
|
|
2554
|
+
var pcb_silkscreen_text = z123.object({
|
|
2555
|
+
type: z123.literal("pcb_silkscreen_text"),
|
|
2535
2556
|
pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
|
|
2536
|
-
pcb_group_id:
|
|
2537
|
-
subcircuit_id:
|
|
2538
|
-
font:
|
|
2557
|
+
pcb_group_id: z123.string().optional(),
|
|
2558
|
+
subcircuit_id: z123.string().optional(),
|
|
2559
|
+
font: z123.literal("tscircuit2024").default("tscircuit2024"),
|
|
2539
2560
|
font_size: distance.default("0.2mm"),
|
|
2540
|
-
pcb_component_id:
|
|
2541
|
-
text:
|
|
2542
|
-
is_knockout:
|
|
2543
|
-
knockout_padding:
|
|
2561
|
+
pcb_component_id: z123.string(),
|
|
2562
|
+
text: z123.string(),
|
|
2563
|
+
is_knockout: z123.boolean().default(false).optional(),
|
|
2564
|
+
knockout_padding: z123.object({
|
|
2544
2565
|
left: length,
|
|
2545
2566
|
top: length,
|
|
2546
2567
|
bottom: length,
|
|
@@ -2551,27 +2572,27 @@ var pcb_silkscreen_text = z122.object({
|
|
|
2551
2572
|
bottom: "0.2mm",
|
|
2552
2573
|
right: "0.2mm"
|
|
2553
2574
|
}).optional(),
|
|
2554
|
-
ccw_rotation:
|
|
2575
|
+
ccw_rotation: z123.number().optional(),
|
|
2555
2576
|
layer: layer_ref,
|
|
2556
|
-
is_mirrored:
|
|
2577
|
+
is_mirrored: z123.boolean().default(false).optional(),
|
|
2557
2578
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2558
2579
|
anchor_alignment: ninePointAnchor.default("center")
|
|
2559
2580
|
}).describe("Defines silkscreen text on the PCB");
|
|
2560
2581
|
expectTypesMatch(true);
|
|
2561
2582
|
|
|
2562
2583
|
// src/pcb/pcb_copper_text.ts
|
|
2563
|
-
import { z as
|
|
2564
|
-
var pcb_copper_text =
|
|
2565
|
-
type:
|
|
2584
|
+
import { z as z124 } from "zod";
|
|
2585
|
+
var pcb_copper_text = z124.object({
|
|
2586
|
+
type: z124.literal("pcb_copper_text"),
|
|
2566
2587
|
pcb_copper_text_id: getZodPrefixedIdWithDefault("pcb_copper_text"),
|
|
2567
|
-
pcb_group_id:
|
|
2568
|
-
subcircuit_id:
|
|
2569
|
-
font:
|
|
2588
|
+
pcb_group_id: z124.string().optional(),
|
|
2589
|
+
subcircuit_id: z124.string().optional(),
|
|
2590
|
+
font: z124.literal("tscircuit2024").default("tscircuit2024"),
|
|
2570
2591
|
font_size: distance.default("0.2mm"),
|
|
2571
|
-
pcb_component_id:
|
|
2572
|
-
text:
|
|
2573
|
-
is_knockout:
|
|
2574
|
-
knockout_padding:
|
|
2592
|
+
pcb_component_id: z124.string(),
|
|
2593
|
+
text: z124.string(),
|
|
2594
|
+
is_knockout: z124.boolean().default(false).optional(),
|
|
2595
|
+
knockout_padding: z124.object({
|
|
2575
2596
|
left: length,
|
|
2576
2597
|
top: length,
|
|
2577
2598
|
bottom: length,
|
|
@@ -2582,61 +2603,61 @@ var pcb_copper_text = z123.object({
|
|
|
2582
2603
|
bottom: "0.2mm",
|
|
2583
2604
|
right: "0.2mm"
|
|
2584
2605
|
}).optional(),
|
|
2585
|
-
ccw_rotation:
|
|
2606
|
+
ccw_rotation: z124.number().optional(),
|
|
2586
2607
|
layer: layer_ref,
|
|
2587
|
-
is_mirrored:
|
|
2608
|
+
is_mirrored: z124.boolean().default(false).optional(),
|
|
2588
2609
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2589
2610
|
anchor_alignment: ninePointAnchor.default("center")
|
|
2590
2611
|
}).describe("Defines copper text on the PCB");
|
|
2591
2612
|
expectTypesMatch(true);
|
|
2592
2613
|
|
|
2593
2614
|
// src/pcb/pcb_silkscreen_rect.ts
|
|
2594
|
-
import { z as
|
|
2595
|
-
var pcb_silkscreen_rect =
|
|
2596
|
-
type:
|
|
2615
|
+
import { z as z125 } from "zod";
|
|
2616
|
+
var pcb_silkscreen_rect = z125.object({
|
|
2617
|
+
type: z125.literal("pcb_silkscreen_rect"),
|
|
2597
2618
|
pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
|
|
2598
|
-
pcb_component_id:
|
|
2599
|
-
pcb_group_id:
|
|
2600
|
-
subcircuit_id:
|
|
2619
|
+
pcb_component_id: z125.string(),
|
|
2620
|
+
pcb_group_id: z125.string().optional(),
|
|
2621
|
+
subcircuit_id: z125.string().optional(),
|
|
2601
2622
|
center: point,
|
|
2602
2623
|
width: length,
|
|
2603
2624
|
height: length,
|
|
2604
2625
|
layer: layer_ref,
|
|
2605
2626
|
stroke_width: length.default("1mm"),
|
|
2606
2627
|
corner_radius: length.optional(),
|
|
2607
|
-
is_filled:
|
|
2608
|
-
has_stroke:
|
|
2609
|
-
is_stroke_dashed:
|
|
2610
|
-
ccw_rotation:
|
|
2628
|
+
is_filled: z125.boolean().default(true).optional(),
|
|
2629
|
+
has_stroke: z125.boolean().optional(),
|
|
2630
|
+
is_stroke_dashed: z125.boolean().optional(),
|
|
2631
|
+
ccw_rotation: z125.number().optional()
|
|
2611
2632
|
}).describe("Defines a silkscreen rect on the PCB");
|
|
2612
2633
|
expectTypesMatch(true);
|
|
2613
2634
|
|
|
2614
2635
|
// src/pcb/pcb_silkscreen_circle.ts
|
|
2615
|
-
import { z as
|
|
2616
|
-
var pcb_silkscreen_circle =
|
|
2617
|
-
type:
|
|
2636
|
+
import { z as z126 } from "zod";
|
|
2637
|
+
var pcb_silkscreen_circle = z126.object({
|
|
2638
|
+
type: z126.literal("pcb_silkscreen_circle"),
|
|
2618
2639
|
pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
|
|
2619
2640
|
"pcb_silkscreen_circle"
|
|
2620
2641
|
),
|
|
2621
|
-
pcb_component_id:
|
|
2622
|
-
pcb_group_id:
|
|
2623
|
-
subcircuit_id:
|
|
2642
|
+
pcb_component_id: z126.string(),
|
|
2643
|
+
pcb_group_id: z126.string().optional(),
|
|
2644
|
+
subcircuit_id: z126.string().optional(),
|
|
2624
2645
|
center: point,
|
|
2625
2646
|
radius: length,
|
|
2626
2647
|
layer: visible_layer,
|
|
2627
2648
|
stroke_width: length.default("1mm"),
|
|
2628
|
-
is_filled:
|
|
2649
|
+
is_filled: z126.boolean().optional()
|
|
2629
2650
|
}).describe("Defines a silkscreen circle on the PCB");
|
|
2630
2651
|
expectTypesMatch(true);
|
|
2631
2652
|
|
|
2632
2653
|
// src/pcb/pcb_silkscreen_oval.ts
|
|
2633
|
-
import { z as
|
|
2634
|
-
var pcb_silkscreen_oval =
|
|
2635
|
-
type:
|
|
2654
|
+
import { z as z127 } from "zod";
|
|
2655
|
+
var pcb_silkscreen_oval = z127.object({
|
|
2656
|
+
type: z127.literal("pcb_silkscreen_oval"),
|
|
2636
2657
|
pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
|
|
2637
|
-
pcb_component_id:
|
|
2638
|
-
pcb_group_id:
|
|
2639
|
-
subcircuit_id:
|
|
2658
|
+
pcb_component_id: z127.string(),
|
|
2659
|
+
pcb_group_id: z127.string().optional(),
|
|
2660
|
+
subcircuit_id: z127.string().optional(),
|
|
2640
2661
|
center: point,
|
|
2641
2662
|
radius_x: distance,
|
|
2642
2663
|
radius_y: distance,
|
|
@@ -2646,265 +2667,265 @@ var pcb_silkscreen_oval = z126.object({
|
|
|
2646
2667
|
expectTypesMatch(true);
|
|
2647
2668
|
|
|
2648
2669
|
// src/pcb/pcb_silkscreen_graphic.ts
|
|
2649
|
-
import { z as
|
|
2650
|
-
var pcb_silkscreen_graphic_base =
|
|
2651
|
-
type:
|
|
2670
|
+
import { z as z128 } from "zod";
|
|
2671
|
+
var pcb_silkscreen_graphic_base = z128.object({
|
|
2672
|
+
type: z128.literal("pcb_silkscreen_graphic"),
|
|
2652
2673
|
pcb_silkscreen_graphic_id: getZodPrefixedIdWithDefault(
|
|
2653
2674
|
"pcb_silkscreen_graphic"
|
|
2654
2675
|
),
|
|
2655
|
-
pcb_component_id:
|
|
2656
|
-
pcb_group_id:
|
|
2657
|
-
subcircuit_id:
|
|
2676
|
+
pcb_component_id: z128.string(),
|
|
2677
|
+
pcb_group_id: z128.string().optional(),
|
|
2678
|
+
subcircuit_id: z128.string().optional(),
|
|
2658
2679
|
layer: visible_layer,
|
|
2659
2680
|
image_asset: asset.optional()
|
|
2660
2681
|
});
|
|
2661
2682
|
var pcb_silkscreen_graphic_brep = pcb_silkscreen_graphic_base.extend({
|
|
2662
|
-
shape:
|
|
2683
|
+
shape: z128.literal("brep"),
|
|
2663
2684
|
brep_shape
|
|
2664
2685
|
}).describe("Defines a BRep silkscreen graphic on the PCB");
|
|
2665
2686
|
expectTypesMatch(
|
|
2666
2687
|
true
|
|
2667
2688
|
);
|
|
2668
|
-
var pcb_silkscreen_graphic =
|
|
2689
|
+
var pcb_silkscreen_graphic = z128.discriminatedUnion("shape", [pcb_silkscreen_graphic_brep]).describe("Defines a silkscreen graphic on the PCB");
|
|
2669
2690
|
expectTypesMatch(true);
|
|
2670
2691
|
|
|
2671
2692
|
// src/pcb/pcb_silkscreen_pill.ts
|
|
2672
|
-
import { z as
|
|
2673
|
-
var pcb_silkscreen_pill =
|
|
2674
|
-
type:
|
|
2693
|
+
import { z as z129 } from "zod";
|
|
2694
|
+
var pcb_silkscreen_pill = z129.object({
|
|
2695
|
+
type: z129.literal("pcb_silkscreen_pill"),
|
|
2675
2696
|
pcb_silkscreen_pill_id: getZodPrefixedIdWithDefault("pcb_silkscreen_pill"),
|
|
2676
|
-
pcb_component_id:
|
|
2677
|
-
pcb_group_id:
|
|
2678
|
-
subcircuit_id:
|
|
2697
|
+
pcb_component_id: z129.string(),
|
|
2698
|
+
pcb_group_id: z129.string().optional(),
|
|
2699
|
+
subcircuit_id: z129.string().optional(),
|
|
2679
2700
|
center: point,
|
|
2680
2701
|
width: length,
|
|
2681
2702
|
height: length,
|
|
2682
2703
|
layer: layer_ref,
|
|
2683
|
-
ccw_rotation:
|
|
2704
|
+
ccw_rotation: z129.number().optional()
|
|
2684
2705
|
}).describe("Defines a silkscreen pill on the PCB");
|
|
2685
2706
|
expectTypesMatch(true);
|
|
2686
2707
|
|
|
2687
2708
|
// src/pcb/pcb_fabrication_note_text.ts
|
|
2688
|
-
import { z as
|
|
2689
|
-
var pcb_fabrication_note_text =
|
|
2690
|
-
type:
|
|
2709
|
+
import { z as z130 } from "zod";
|
|
2710
|
+
var pcb_fabrication_note_text = z130.object({
|
|
2711
|
+
type: z130.literal("pcb_fabrication_note_text"),
|
|
2691
2712
|
pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
|
|
2692
2713
|
"pcb_fabrication_note_text"
|
|
2693
2714
|
),
|
|
2694
|
-
subcircuit_id:
|
|
2695
|
-
pcb_group_id:
|
|
2696
|
-
font:
|
|
2715
|
+
subcircuit_id: z130.string().optional(),
|
|
2716
|
+
pcb_group_id: z130.string().optional(),
|
|
2717
|
+
font: z130.literal("tscircuit2024").default("tscircuit2024"),
|
|
2697
2718
|
font_size: distance.default("1mm"),
|
|
2698
|
-
pcb_component_id:
|
|
2699
|
-
text:
|
|
2700
|
-
ccw_rotation:
|
|
2719
|
+
pcb_component_id: z130.string(),
|
|
2720
|
+
text: z130.string(),
|
|
2721
|
+
ccw_rotation: z130.number().optional(),
|
|
2701
2722
|
layer: visible_layer,
|
|
2702
2723
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2703
|
-
anchor_alignment:
|
|
2704
|
-
color:
|
|
2724
|
+
anchor_alignment: z130.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
2725
|
+
color: z130.string().optional()
|
|
2705
2726
|
}).describe(
|
|
2706
2727
|
"Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
|
|
2707
2728
|
);
|
|
2708
2729
|
expectTypesMatch(true);
|
|
2709
2730
|
|
|
2710
2731
|
// src/pcb/pcb_fabrication_note_path.ts
|
|
2711
|
-
import { z as
|
|
2712
|
-
var pcb_fabrication_note_path =
|
|
2713
|
-
type:
|
|
2732
|
+
import { z as z131 } from "zod";
|
|
2733
|
+
var pcb_fabrication_note_path = z131.object({
|
|
2734
|
+
type: z131.literal("pcb_fabrication_note_path"),
|
|
2714
2735
|
pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
|
|
2715
2736
|
"pcb_fabrication_note_path"
|
|
2716
2737
|
),
|
|
2717
|
-
pcb_component_id:
|
|
2718
|
-
subcircuit_id:
|
|
2738
|
+
pcb_component_id: z131.string(),
|
|
2739
|
+
subcircuit_id: z131.string().optional(),
|
|
2719
2740
|
layer: layer_ref,
|
|
2720
|
-
route:
|
|
2741
|
+
route: z131.array(point),
|
|
2721
2742
|
stroke_width: length,
|
|
2722
|
-
color:
|
|
2743
|
+
color: z131.string().optional()
|
|
2723
2744
|
}).describe(
|
|
2724
2745
|
"Defines a fabrication path on the PCB for fabricators or assemblers"
|
|
2725
2746
|
);
|
|
2726
2747
|
expectTypesMatch(true);
|
|
2727
2748
|
|
|
2728
2749
|
// src/pcb/pcb_fabrication_note_rect.ts
|
|
2729
|
-
import { z as
|
|
2730
|
-
var pcb_fabrication_note_rect =
|
|
2731
|
-
type:
|
|
2750
|
+
import { z as z132 } from "zod";
|
|
2751
|
+
var pcb_fabrication_note_rect = z132.object({
|
|
2752
|
+
type: z132.literal("pcb_fabrication_note_rect"),
|
|
2732
2753
|
pcb_fabrication_note_rect_id: getZodPrefixedIdWithDefault(
|
|
2733
2754
|
"pcb_fabrication_note_rect"
|
|
2734
2755
|
),
|
|
2735
|
-
pcb_component_id:
|
|
2736
|
-
pcb_group_id:
|
|
2737
|
-
subcircuit_id:
|
|
2756
|
+
pcb_component_id: z132.string(),
|
|
2757
|
+
pcb_group_id: z132.string().optional(),
|
|
2758
|
+
subcircuit_id: z132.string().optional(),
|
|
2738
2759
|
center: point,
|
|
2739
2760
|
width: length,
|
|
2740
2761
|
height: length,
|
|
2741
2762
|
layer: visible_layer,
|
|
2742
2763
|
stroke_width: length.default("0.1mm"),
|
|
2743
2764
|
corner_radius: length.optional(),
|
|
2744
|
-
is_filled:
|
|
2745
|
-
has_stroke:
|
|
2746
|
-
is_stroke_dashed:
|
|
2747
|
-
color:
|
|
2765
|
+
is_filled: z132.boolean().optional(),
|
|
2766
|
+
has_stroke: z132.boolean().optional(),
|
|
2767
|
+
is_stroke_dashed: z132.boolean().optional(),
|
|
2768
|
+
color: z132.string().optional()
|
|
2748
2769
|
}).describe("Defines a fabrication note rectangle on the PCB");
|
|
2749
2770
|
expectTypesMatch(true);
|
|
2750
2771
|
|
|
2751
2772
|
// src/pcb/pcb_fabrication_note_dimension.ts
|
|
2752
|
-
import { z as
|
|
2753
|
-
var pcb_fabrication_note_dimension =
|
|
2754
|
-
type:
|
|
2773
|
+
import { z as z133 } from "zod";
|
|
2774
|
+
var pcb_fabrication_note_dimension = z133.object({
|
|
2775
|
+
type: z133.literal("pcb_fabrication_note_dimension"),
|
|
2755
2776
|
pcb_fabrication_note_dimension_id: getZodPrefixedIdWithDefault(
|
|
2756
2777
|
"pcb_fabrication_note_dimension"
|
|
2757
2778
|
),
|
|
2758
|
-
pcb_component_id:
|
|
2759
|
-
pcb_group_id:
|
|
2760
|
-
subcircuit_id:
|
|
2779
|
+
pcb_component_id: z133.string(),
|
|
2780
|
+
pcb_group_id: z133.string().optional(),
|
|
2781
|
+
subcircuit_id: z133.string().optional(),
|
|
2761
2782
|
layer: visible_layer,
|
|
2762
2783
|
from: point,
|
|
2763
2784
|
to: point,
|
|
2764
|
-
text:
|
|
2765
|
-
text_ccw_rotation:
|
|
2785
|
+
text: z133.string().optional(),
|
|
2786
|
+
text_ccw_rotation: z133.number().optional(),
|
|
2766
2787
|
offset: length.optional(),
|
|
2767
2788
|
offset_distance: length.optional(),
|
|
2768
|
-
offset_direction:
|
|
2769
|
-
x:
|
|
2770
|
-
y:
|
|
2789
|
+
offset_direction: z133.object({
|
|
2790
|
+
x: z133.number(),
|
|
2791
|
+
y: z133.number()
|
|
2771
2792
|
}).optional(),
|
|
2772
|
-
font:
|
|
2793
|
+
font: z133.literal("tscircuit2024").default("tscircuit2024"),
|
|
2773
2794
|
font_size: length.default("1mm"),
|
|
2774
|
-
color:
|
|
2795
|
+
color: z133.string().optional(),
|
|
2775
2796
|
arrow_size: length.default("1mm")
|
|
2776
2797
|
}).describe("Defines a measurement annotation within PCB fabrication notes");
|
|
2777
2798
|
expectTypesMatch(true);
|
|
2778
2799
|
|
|
2779
2800
|
// src/pcb/pcb_note_text.ts
|
|
2780
|
-
import { z as
|
|
2781
|
-
var pcb_note_text =
|
|
2782
|
-
type:
|
|
2801
|
+
import { z as z134 } from "zod";
|
|
2802
|
+
var pcb_note_text = z134.object({
|
|
2803
|
+
type: z134.literal("pcb_note_text"),
|
|
2783
2804
|
pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
|
|
2784
|
-
pcb_component_id:
|
|
2785
|
-
pcb_group_id:
|
|
2786
|
-
subcircuit_id:
|
|
2787
|
-
name:
|
|
2788
|
-
font:
|
|
2805
|
+
pcb_component_id: z134.string().optional(),
|
|
2806
|
+
pcb_group_id: z134.string().optional(),
|
|
2807
|
+
subcircuit_id: z134.string().optional(),
|
|
2808
|
+
name: z134.string().optional(),
|
|
2809
|
+
font: z134.literal("tscircuit2024").default("tscircuit2024"),
|
|
2789
2810
|
font_size: distance.default("1mm"),
|
|
2790
|
-
text:
|
|
2811
|
+
text: z134.string().optional(),
|
|
2791
2812
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2792
|
-
anchor_alignment:
|
|
2813
|
+
anchor_alignment: z134.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
2793
2814
|
layer: visible_layer.default("top"),
|
|
2794
|
-
is_mirrored_from_top_view:
|
|
2795
|
-
color:
|
|
2815
|
+
is_mirrored_from_top_view: z134.boolean().optional(),
|
|
2816
|
+
color: z134.string().optional()
|
|
2796
2817
|
}).describe("Defines a documentation note in text on the PCB");
|
|
2797
2818
|
expectTypesMatch(true);
|
|
2798
2819
|
|
|
2799
2820
|
// src/pcb/pcb_note_rect.ts
|
|
2800
|
-
import { z as
|
|
2801
|
-
var pcb_note_rect =
|
|
2802
|
-
type:
|
|
2821
|
+
import { z as z135 } from "zod";
|
|
2822
|
+
var pcb_note_rect = z135.object({
|
|
2823
|
+
type: z135.literal("pcb_note_rect"),
|
|
2803
2824
|
pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
|
|
2804
|
-
pcb_component_id:
|
|
2805
|
-
pcb_group_id:
|
|
2806
|
-
subcircuit_id:
|
|
2807
|
-
name:
|
|
2808
|
-
text:
|
|
2825
|
+
pcb_component_id: z135.string().optional(),
|
|
2826
|
+
pcb_group_id: z135.string().optional(),
|
|
2827
|
+
subcircuit_id: z135.string().optional(),
|
|
2828
|
+
name: z135.string().optional(),
|
|
2829
|
+
text: z135.string().optional(),
|
|
2809
2830
|
center: point,
|
|
2810
2831
|
width: length,
|
|
2811
2832
|
height: length,
|
|
2812
2833
|
layer: visible_layer.default("top"),
|
|
2813
2834
|
stroke_width: length.default("0.1mm"),
|
|
2814
2835
|
corner_radius: length.optional(),
|
|
2815
|
-
is_filled:
|
|
2816
|
-
has_stroke:
|
|
2817
|
-
is_stroke_dashed:
|
|
2818
|
-
color:
|
|
2836
|
+
is_filled: z135.boolean().optional(),
|
|
2837
|
+
has_stroke: z135.boolean().optional(),
|
|
2838
|
+
is_stroke_dashed: z135.boolean().optional(),
|
|
2839
|
+
color: z135.string().optional()
|
|
2819
2840
|
}).describe("Defines a rectangular documentation note on the PCB");
|
|
2820
2841
|
expectTypesMatch(true);
|
|
2821
2842
|
|
|
2822
2843
|
// src/pcb/pcb_note_path.ts
|
|
2823
|
-
import { z as
|
|
2824
|
-
var pcb_note_path =
|
|
2825
|
-
type:
|
|
2844
|
+
import { z as z136 } from "zod";
|
|
2845
|
+
var pcb_note_path = z136.object({
|
|
2846
|
+
type: z136.literal("pcb_note_path"),
|
|
2826
2847
|
pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
|
|
2827
|
-
pcb_component_id:
|
|
2828
|
-
pcb_group_id:
|
|
2829
|
-
subcircuit_id:
|
|
2830
|
-
name:
|
|
2831
|
-
text:
|
|
2832
|
-
route:
|
|
2848
|
+
pcb_component_id: z136.string().optional(),
|
|
2849
|
+
pcb_group_id: z136.string().optional(),
|
|
2850
|
+
subcircuit_id: z136.string().optional(),
|
|
2851
|
+
name: z136.string().optional(),
|
|
2852
|
+
text: z136.string().optional(),
|
|
2853
|
+
route: z136.array(point),
|
|
2833
2854
|
layer: visible_layer.default("top"),
|
|
2834
2855
|
stroke_width: length.default("0.1mm"),
|
|
2835
|
-
color:
|
|
2856
|
+
color: z136.string().optional()
|
|
2836
2857
|
}).describe("Defines a polyline documentation note on the PCB");
|
|
2837
2858
|
expectTypesMatch(true);
|
|
2838
2859
|
|
|
2839
2860
|
// src/pcb/pcb_note_line.ts
|
|
2840
|
-
import { z as
|
|
2841
|
-
var pcb_note_line =
|
|
2842
|
-
type:
|
|
2861
|
+
import { z as z137 } from "zod";
|
|
2862
|
+
var pcb_note_line = z137.object({
|
|
2863
|
+
type: z137.literal("pcb_note_line"),
|
|
2843
2864
|
pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
|
|
2844
|
-
pcb_component_id:
|
|
2845
|
-
pcb_group_id:
|
|
2846
|
-
subcircuit_id:
|
|
2847
|
-
name:
|
|
2848
|
-
text:
|
|
2865
|
+
pcb_component_id: z137.string().optional(),
|
|
2866
|
+
pcb_group_id: z137.string().optional(),
|
|
2867
|
+
subcircuit_id: z137.string().optional(),
|
|
2868
|
+
name: z137.string().optional(),
|
|
2869
|
+
text: z137.string().optional(),
|
|
2849
2870
|
x1: distance,
|
|
2850
2871
|
y1: distance,
|
|
2851
2872
|
x2: distance,
|
|
2852
2873
|
y2: distance,
|
|
2853
2874
|
layer: visible_layer.default("top"),
|
|
2854
2875
|
stroke_width: distance.default("0.1mm"),
|
|
2855
|
-
color:
|
|
2856
|
-
is_dashed:
|
|
2876
|
+
color: z137.string().optional(),
|
|
2877
|
+
is_dashed: z137.boolean().optional()
|
|
2857
2878
|
}).describe("Defines a straight documentation note line on the PCB");
|
|
2858
2879
|
expectTypesMatch(true);
|
|
2859
2880
|
|
|
2860
2881
|
// src/pcb/pcb_note_dimension.ts
|
|
2861
|
-
import { z as
|
|
2862
|
-
var pcb_note_dimension =
|
|
2863
|
-
type:
|
|
2882
|
+
import { z as z138 } from "zod";
|
|
2883
|
+
var pcb_note_dimension = z138.object({
|
|
2884
|
+
type: z138.literal("pcb_note_dimension"),
|
|
2864
2885
|
pcb_note_dimension_id: getZodPrefixedIdWithDefault("pcb_note_dimension"),
|
|
2865
|
-
pcb_component_id:
|
|
2866
|
-
pcb_group_id:
|
|
2867
|
-
subcircuit_id:
|
|
2868
|
-
name:
|
|
2886
|
+
pcb_component_id: z138.string().optional(),
|
|
2887
|
+
pcb_group_id: z138.string().optional(),
|
|
2888
|
+
subcircuit_id: z138.string().optional(),
|
|
2889
|
+
name: z138.string().optional(),
|
|
2869
2890
|
from: point,
|
|
2870
2891
|
to: point,
|
|
2871
|
-
text:
|
|
2872
|
-
text_ccw_rotation:
|
|
2892
|
+
text: z138.string().optional(),
|
|
2893
|
+
text_ccw_rotation: z138.number().optional(),
|
|
2873
2894
|
offset_distance: length.optional(),
|
|
2874
|
-
offset_direction:
|
|
2875
|
-
x:
|
|
2876
|
-
y:
|
|
2895
|
+
offset_direction: z138.object({
|
|
2896
|
+
x: z138.number(),
|
|
2897
|
+
y: z138.number()
|
|
2877
2898
|
}).optional(),
|
|
2878
|
-
font:
|
|
2899
|
+
font: z138.literal("tscircuit2024").default("tscircuit2024"),
|
|
2879
2900
|
font_size: length.default("1mm"),
|
|
2880
2901
|
layer: visible_layer.default("top"),
|
|
2881
|
-
color:
|
|
2902
|
+
color: z138.string().optional(),
|
|
2882
2903
|
arrow_size: length.default("1mm")
|
|
2883
2904
|
}).describe("Defines a measurement annotation within PCB documentation notes");
|
|
2884
2905
|
expectTypesMatch(true);
|
|
2885
2906
|
|
|
2886
2907
|
// src/pcb/pcb_footprint_overlap_error.ts
|
|
2887
|
-
import { z as
|
|
2908
|
+
import { z as z139 } from "zod";
|
|
2888
2909
|
var pcb_footprint_overlap_error = base_circuit_json_error.extend({
|
|
2889
|
-
type:
|
|
2910
|
+
type: z139.literal("pcb_footprint_overlap_error"),
|
|
2890
2911
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
2891
|
-
error_type:
|
|
2892
|
-
pcb_smtpad_ids:
|
|
2893
|
-
pcb_plated_hole_ids:
|
|
2894
|
-
pcb_hole_ids:
|
|
2895
|
-
pcb_keepout_ids:
|
|
2912
|
+
error_type: z139.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
|
|
2913
|
+
pcb_smtpad_ids: z139.array(z139.string()).optional(),
|
|
2914
|
+
pcb_plated_hole_ids: z139.array(z139.string()).optional(),
|
|
2915
|
+
pcb_hole_ids: z139.array(z139.string()).optional(),
|
|
2916
|
+
pcb_keepout_ids: z139.array(z139.string()).optional()
|
|
2896
2917
|
}).describe("Error emitted when a pcb footprint overlaps with another element");
|
|
2897
2918
|
expectTypesMatch(
|
|
2898
2919
|
true
|
|
2899
2920
|
);
|
|
2900
2921
|
|
|
2901
2922
|
// src/pcb/pcb_courtyard_overlap_error.ts
|
|
2902
|
-
import { z as
|
|
2923
|
+
import { z as z140 } from "zod";
|
|
2903
2924
|
var pcb_courtyard_overlap_error = base_circuit_json_error.extend({
|
|
2904
|
-
type:
|
|
2925
|
+
type: z140.literal("pcb_courtyard_overlap_error"),
|
|
2905
2926
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
2906
|
-
error_type:
|
|
2907
|
-
pcb_component_ids:
|
|
2927
|
+
error_type: z140.literal("pcb_courtyard_overlap_error").default("pcb_courtyard_overlap_error"),
|
|
2928
|
+
pcb_component_ids: z140.tuple([z140.string(), z140.string()])
|
|
2908
2929
|
}).describe(
|
|
2909
2930
|
"Error emitted when the courtyard (CrtYd) of one PCB component overlaps with the courtyard of another"
|
|
2910
2931
|
);
|
|
@@ -2913,49 +2934,49 @@ expectTypesMatch(
|
|
|
2913
2934
|
);
|
|
2914
2935
|
|
|
2915
2936
|
// src/pcb/pcb_keepout.ts
|
|
2916
|
-
import { z as
|
|
2917
|
-
var pcb_keepout =
|
|
2918
|
-
type:
|
|
2919
|
-
shape:
|
|
2920
|
-
pcb_group_id:
|
|
2921
|
-
subcircuit_id:
|
|
2937
|
+
import { z as z141 } from "zod";
|
|
2938
|
+
var pcb_keepout = z141.object({
|
|
2939
|
+
type: z141.literal("pcb_keepout"),
|
|
2940
|
+
shape: z141.literal("rect"),
|
|
2941
|
+
pcb_group_id: z141.string().optional(),
|
|
2942
|
+
subcircuit_id: z141.string().optional(),
|
|
2922
2943
|
center: point,
|
|
2923
2944
|
width: distance,
|
|
2924
2945
|
height: distance,
|
|
2925
|
-
pcb_keepout_id:
|
|
2926
|
-
layers:
|
|
2946
|
+
pcb_keepout_id: z141.string(),
|
|
2947
|
+
layers: z141.array(z141.string()),
|
|
2927
2948
|
// Specify layers where the keepout applies
|
|
2928
|
-
description:
|
|
2949
|
+
description: z141.string().optional()
|
|
2929
2950
|
// Optional description of the keepout
|
|
2930
2951
|
}).or(
|
|
2931
|
-
|
|
2932
|
-
type:
|
|
2933
|
-
shape:
|
|
2934
|
-
pcb_group_id:
|
|
2935
|
-
subcircuit_id:
|
|
2952
|
+
z141.object({
|
|
2953
|
+
type: z141.literal("pcb_keepout"),
|
|
2954
|
+
shape: z141.literal("circle"),
|
|
2955
|
+
pcb_group_id: z141.string().optional(),
|
|
2956
|
+
subcircuit_id: z141.string().optional(),
|
|
2936
2957
|
center: point,
|
|
2937
2958
|
radius: distance,
|
|
2938
|
-
pcb_keepout_id:
|
|
2939
|
-
layers:
|
|
2959
|
+
pcb_keepout_id: z141.string(),
|
|
2960
|
+
layers: z141.array(z141.string()),
|
|
2940
2961
|
// Specify layers where the keepout applies
|
|
2941
|
-
description:
|
|
2962
|
+
description: z141.string().optional()
|
|
2942
2963
|
// Optional description of the keepout
|
|
2943
2964
|
})
|
|
2944
2965
|
);
|
|
2945
2966
|
expectTypesMatch(true);
|
|
2946
2967
|
|
|
2947
2968
|
// src/pcb/pcb_cutout.ts
|
|
2948
|
-
import { z as
|
|
2949
|
-
var pcb_cutout_base =
|
|
2950
|
-
type:
|
|
2969
|
+
import { z as z142 } from "zod";
|
|
2970
|
+
var pcb_cutout_base = z142.object({
|
|
2971
|
+
type: z142.literal("pcb_cutout"),
|
|
2951
2972
|
pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
|
|
2952
|
-
pcb_group_id:
|
|
2953
|
-
subcircuit_id:
|
|
2954
|
-
pcb_board_id:
|
|
2955
|
-
pcb_panel_id:
|
|
2973
|
+
pcb_group_id: z142.string().optional(),
|
|
2974
|
+
subcircuit_id: z142.string().optional(),
|
|
2975
|
+
pcb_board_id: z142.string().optional(),
|
|
2976
|
+
pcb_panel_id: z142.string().optional()
|
|
2956
2977
|
});
|
|
2957
2978
|
var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
2958
|
-
shape:
|
|
2979
|
+
shape: z142.literal("rect"),
|
|
2959
2980
|
center: point,
|
|
2960
2981
|
width: length,
|
|
2961
2982
|
height: length,
|
|
@@ -2964,26 +2985,26 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
|
2964
2985
|
});
|
|
2965
2986
|
expectTypesMatch(true);
|
|
2966
2987
|
var pcb_cutout_circle = pcb_cutout_base.extend({
|
|
2967
|
-
shape:
|
|
2988
|
+
shape: z142.literal("circle"),
|
|
2968
2989
|
center: point,
|
|
2969
2990
|
radius: length
|
|
2970
2991
|
});
|
|
2971
2992
|
expectTypesMatch(true);
|
|
2972
2993
|
var pcb_cutout_polygon = pcb_cutout_base.extend({
|
|
2973
|
-
shape:
|
|
2974
|
-
points:
|
|
2994
|
+
shape: z142.literal("polygon"),
|
|
2995
|
+
points: z142.array(point)
|
|
2975
2996
|
});
|
|
2976
2997
|
expectTypesMatch(true);
|
|
2977
2998
|
var pcb_cutout_path = pcb_cutout_base.extend({
|
|
2978
|
-
shape:
|
|
2979
|
-
route:
|
|
2999
|
+
shape: z142.literal("path"),
|
|
3000
|
+
route: z142.array(point),
|
|
2980
3001
|
slot_width: length,
|
|
2981
3002
|
slot_length: length.optional(),
|
|
2982
3003
|
space_between_slots: length.optional(),
|
|
2983
3004
|
slot_corner_radius: length.optional()
|
|
2984
3005
|
});
|
|
2985
3006
|
expectTypesMatch(true);
|
|
2986
|
-
var pcb_cutout =
|
|
3007
|
+
var pcb_cutout = z142.discriminatedUnion("shape", [
|
|
2987
3008
|
pcb_cutout_rect,
|
|
2988
3009
|
pcb_cutout_circle,
|
|
2989
3010
|
pcb_cutout_polygon,
|
|
@@ -2992,169 +3013,169 @@ var pcb_cutout = z141.discriminatedUnion("shape", [
|
|
|
2992
3013
|
expectTypesMatch(true);
|
|
2993
3014
|
|
|
2994
3015
|
// src/pcb/pcb_missing_footprint_error.ts
|
|
2995
|
-
import { z as
|
|
3016
|
+
import { z as z143 } from "zod";
|
|
2996
3017
|
var pcb_missing_footprint_error = base_circuit_json_error.extend({
|
|
2997
|
-
type:
|
|
3018
|
+
type: z143.literal("pcb_missing_footprint_error"),
|
|
2998
3019
|
pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
|
|
2999
3020
|
"pcb_missing_footprint_error"
|
|
3000
3021
|
),
|
|
3001
|
-
pcb_group_id:
|
|
3002
|
-
subcircuit_id:
|
|
3003
|
-
error_type:
|
|
3004
|
-
source_component_id:
|
|
3022
|
+
pcb_group_id: z143.string().optional(),
|
|
3023
|
+
subcircuit_id: z143.string().optional(),
|
|
3024
|
+
error_type: z143.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
|
|
3025
|
+
source_component_id: z143.string()
|
|
3005
3026
|
}).describe("Defines a missing footprint error on the PCB");
|
|
3006
3027
|
expectTypesMatch(
|
|
3007
3028
|
true
|
|
3008
3029
|
);
|
|
3009
3030
|
|
|
3010
3031
|
// src/pcb/external_footprint_load_error.ts
|
|
3011
|
-
import { z as
|
|
3032
|
+
import { z as z144 } from "zod";
|
|
3012
3033
|
var external_footprint_load_error = base_circuit_json_error.extend({
|
|
3013
|
-
type:
|
|
3034
|
+
type: z144.literal("external_footprint_load_error"),
|
|
3014
3035
|
external_footprint_load_error_id: getZodPrefixedIdWithDefault(
|
|
3015
3036
|
"external_footprint_load_error"
|
|
3016
3037
|
),
|
|
3017
|
-
pcb_component_id:
|
|
3018
|
-
source_component_id:
|
|
3019
|
-
pcb_group_id:
|
|
3020
|
-
subcircuit_id:
|
|
3021
|
-
footprinter_string:
|
|
3022
|
-
error_type:
|
|
3038
|
+
pcb_component_id: z144.string(),
|
|
3039
|
+
source_component_id: z144.string(),
|
|
3040
|
+
pcb_group_id: z144.string().optional(),
|
|
3041
|
+
subcircuit_id: z144.string().optional(),
|
|
3042
|
+
footprinter_string: z144.string().optional(),
|
|
3043
|
+
error_type: z144.literal("external_footprint_load_error").default("external_footprint_load_error")
|
|
3023
3044
|
}).describe("Defines an error when an external footprint fails to load");
|
|
3024
3045
|
expectTypesMatch(true);
|
|
3025
3046
|
|
|
3026
3047
|
// src/pcb/circuit_json_footprint_load_error.ts
|
|
3027
|
-
import { z as
|
|
3048
|
+
import { z as z145 } from "zod";
|
|
3028
3049
|
var circuit_json_footprint_load_error = base_circuit_json_error.extend({
|
|
3029
|
-
type:
|
|
3050
|
+
type: z145.literal("circuit_json_footprint_load_error"),
|
|
3030
3051
|
circuit_json_footprint_load_error_id: getZodPrefixedIdWithDefault(
|
|
3031
3052
|
"circuit_json_footprint_load_error"
|
|
3032
3053
|
),
|
|
3033
|
-
pcb_component_id:
|
|
3034
|
-
source_component_id:
|
|
3035
|
-
pcb_group_id:
|
|
3036
|
-
subcircuit_id:
|
|
3037
|
-
error_type:
|
|
3038
|
-
circuit_json:
|
|
3054
|
+
pcb_component_id: z145.string(),
|
|
3055
|
+
source_component_id: z145.string(),
|
|
3056
|
+
pcb_group_id: z145.string().optional(),
|
|
3057
|
+
subcircuit_id: z145.string().optional(),
|
|
3058
|
+
error_type: z145.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
|
|
3059
|
+
circuit_json: z145.array(z145.any()).optional()
|
|
3039
3060
|
}).describe("Defines an error when a circuit JSON footprint fails to load");
|
|
3040
3061
|
expectTypesMatch(true);
|
|
3041
3062
|
|
|
3042
3063
|
// src/pcb/pcb_group.ts
|
|
3043
|
-
import { z as
|
|
3044
|
-
var pcb_group =
|
|
3045
|
-
type:
|
|
3064
|
+
import { z as z146 } from "zod";
|
|
3065
|
+
var pcb_group = z146.object({
|
|
3066
|
+
type: z146.literal("pcb_group"),
|
|
3046
3067
|
pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
|
|
3047
|
-
source_group_id:
|
|
3048
|
-
is_subcircuit:
|
|
3049
|
-
subcircuit_id:
|
|
3068
|
+
source_group_id: z146.string(),
|
|
3069
|
+
is_subcircuit: z146.boolean().optional(),
|
|
3070
|
+
subcircuit_id: z146.string().optional(),
|
|
3050
3071
|
width: length.optional(),
|
|
3051
3072
|
height: length.optional(),
|
|
3052
3073
|
center: point,
|
|
3053
|
-
display_offset_x:
|
|
3074
|
+
display_offset_x: z146.string().optional().describe(
|
|
3054
3075
|
"How to display the x offset for this group, usually corresponding with how the user specified it"
|
|
3055
3076
|
),
|
|
3056
|
-
display_offset_y:
|
|
3077
|
+
display_offset_y: z146.string().optional().describe(
|
|
3057
3078
|
"How to display the y offset for this group, usually corresponding with how the user specified it"
|
|
3058
3079
|
),
|
|
3059
|
-
outline:
|
|
3080
|
+
outline: z146.array(point).optional(),
|
|
3060
3081
|
anchor_position: point.optional(),
|
|
3061
3082
|
anchor_alignment: ninePointAnchor.default("center"),
|
|
3062
|
-
position_mode:
|
|
3063
|
-
positioned_relative_to_pcb_group_id:
|
|
3064
|
-
positioned_relative_to_pcb_board_id:
|
|
3065
|
-
pcb_component_ids:
|
|
3066
|
-
child_layout_mode:
|
|
3067
|
-
name:
|
|
3068
|
-
description:
|
|
3069
|
-
layout_mode:
|
|
3070
|
-
autorouter_configuration:
|
|
3083
|
+
position_mode: z146.enum(["packed", "relative_to_group_anchor", "none"]).optional(),
|
|
3084
|
+
positioned_relative_to_pcb_group_id: z146.string().optional(),
|
|
3085
|
+
positioned_relative_to_pcb_board_id: z146.string().optional(),
|
|
3086
|
+
pcb_component_ids: z146.array(z146.string()),
|
|
3087
|
+
child_layout_mode: z146.enum(["packed", "none"]).optional(),
|
|
3088
|
+
name: z146.string().optional(),
|
|
3089
|
+
description: z146.string().optional(),
|
|
3090
|
+
layout_mode: z146.string().optional(),
|
|
3091
|
+
autorouter_configuration: z146.object({
|
|
3071
3092
|
trace_clearance: length
|
|
3072
3093
|
}).optional(),
|
|
3073
|
-
autorouter_used_string:
|
|
3094
|
+
autorouter_used_string: z146.string().optional()
|
|
3074
3095
|
}).describe("Defines a group of components on the PCB");
|
|
3075
3096
|
expectTypesMatch(true);
|
|
3076
3097
|
|
|
3077
3098
|
// src/pcb/pcb_autorouting_error.ts
|
|
3078
|
-
import { z as
|
|
3099
|
+
import { z as z147 } from "zod";
|
|
3079
3100
|
var pcb_autorouting_error = base_circuit_json_error.extend({
|
|
3080
|
-
type:
|
|
3101
|
+
type: z147.literal("pcb_autorouting_error"),
|
|
3081
3102
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
|
|
3082
|
-
error_type:
|
|
3083
|
-
subcircuit_id:
|
|
3103
|
+
error_type: z147.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
|
|
3104
|
+
subcircuit_id: z147.string().optional()
|
|
3084
3105
|
}).describe("The autorouting has failed to route a portion of the board");
|
|
3085
3106
|
expectTypesMatch(true);
|
|
3086
3107
|
|
|
3087
3108
|
// src/pcb/pcb_manual_edit_conflict_warning.ts
|
|
3088
|
-
import { z as
|
|
3089
|
-
var pcb_manual_edit_conflict_warning =
|
|
3090
|
-
type:
|
|
3109
|
+
import { z as z148 } from "zod";
|
|
3110
|
+
var pcb_manual_edit_conflict_warning = z148.object({
|
|
3111
|
+
type: z148.literal("pcb_manual_edit_conflict_warning"),
|
|
3091
3112
|
pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
3092
3113
|
"pcb_manual_edit_conflict_warning"
|
|
3093
3114
|
),
|
|
3094
|
-
warning_type:
|
|
3095
|
-
message:
|
|
3096
|
-
pcb_component_id:
|
|
3097
|
-
pcb_group_id:
|
|
3098
|
-
subcircuit_id:
|
|
3099
|
-
source_component_id:
|
|
3115
|
+
warning_type: z148.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
|
|
3116
|
+
message: z148.string(),
|
|
3117
|
+
pcb_component_id: z148.string(),
|
|
3118
|
+
pcb_group_id: z148.string().optional(),
|
|
3119
|
+
subcircuit_id: z148.string().optional(),
|
|
3120
|
+
source_component_id: z148.string()
|
|
3100
3121
|
}).describe(
|
|
3101
3122
|
"Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
|
|
3102
3123
|
);
|
|
3103
3124
|
expectTypesMatch(true);
|
|
3104
3125
|
|
|
3105
3126
|
// src/pcb/pcb_connector_not_in_accessible_orientation_warning.ts
|
|
3106
|
-
import { z as
|
|
3107
|
-
var connectorOrientationDirection =
|
|
3108
|
-
var pcb_connector_not_in_accessible_orientation_warning =
|
|
3109
|
-
type:
|
|
3127
|
+
import { z as z149 } from "zod";
|
|
3128
|
+
var connectorOrientationDirection = z149.enum(["x-", "x+", "y+", "y-"]);
|
|
3129
|
+
var pcb_connector_not_in_accessible_orientation_warning = z149.object({
|
|
3130
|
+
type: z149.literal("pcb_connector_not_in_accessible_orientation_warning"),
|
|
3110
3131
|
pcb_connector_not_in_accessible_orientation_warning_id: getZodPrefixedIdWithDefault(
|
|
3111
3132
|
"pcb_connector_not_in_accessible_orientation_warning"
|
|
3112
3133
|
),
|
|
3113
|
-
warning_type:
|
|
3114
|
-
message:
|
|
3115
|
-
pcb_component_id:
|
|
3116
|
-
source_component_id:
|
|
3117
|
-
pcb_board_id:
|
|
3134
|
+
warning_type: z149.literal("pcb_connector_not_in_accessible_orientation_warning").default("pcb_connector_not_in_accessible_orientation_warning"),
|
|
3135
|
+
message: z149.string(),
|
|
3136
|
+
pcb_component_id: z149.string(),
|
|
3137
|
+
source_component_id: z149.string().optional(),
|
|
3138
|
+
pcb_board_id: z149.string().optional(),
|
|
3118
3139
|
facing_direction: connectorOrientationDirection,
|
|
3119
3140
|
recommended_facing_direction: connectorOrientationDirection,
|
|
3120
|
-
subcircuit_id:
|
|
3141
|
+
subcircuit_id: z149.string().optional()
|
|
3121
3142
|
}).describe(
|
|
3122
3143
|
"Warning emitted when a connector PCB component is facing inward toward the board and should be reoriented to an outward-facing direction"
|
|
3123
3144
|
);
|
|
3124
3145
|
expectTypesMatch(true);
|
|
3125
3146
|
|
|
3126
3147
|
// src/pcb/supplier_footprint_mismatch_warning.ts
|
|
3127
|
-
import { z as
|
|
3128
|
-
var supplier_footprint_mismatch_warning =
|
|
3129
|
-
type:
|
|
3148
|
+
import { z as z150 } from "zod";
|
|
3149
|
+
var supplier_footprint_mismatch_warning = z150.object({
|
|
3150
|
+
type: z150.literal("supplier_footprint_mismatch_warning"),
|
|
3130
3151
|
supplier_footprint_mismatch_warning_id: getZodPrefixedIdWithDefault(
|
|
3131
3152
|
"supplier_footprint_mismatch_warning"
|
|
3132
3153
|
),
|
|
3133
|
-
warning_type:
|
|
3134
|
-
message:
|
|
3135
|
-
source_component_id:
|
|
3136
|
-
pcb_component_id:
|
|
3137
|
-
pcb_group_id:
|
|
3138
|
-
subcircuit_id:
|
|
3154
|
+
warning_type: z150.literal("supplier_footprint_mismatch_warning").default("supplier_footprint_mismatch_warning"),
|
|
3155
|
+
message: z150.string(),
|
|
3156
|
+
source_component_id: z150.string(),
|
|
3157
|
+
pcb_component_id: z150.string().optional(),
|
|
3158
|
+
pcb_group_id: z150.string().optional(),
|
|
3159
|
+
subcircuit_id: z150.string().optional(),
|
|
3139
3160
|
supplier_name: supplier_name.optional(),
|
|
3140
|
-
supplier_part_number:
|
|
3141
|
-
supplier_footprint_url:
|
|
3142
|
-
footprint_copper_intersection_over_union:
|
|
3161
|
+
supplier_part_number: z150.string().optional(),
|
|
3162
|
+
supplier_footprint_url: z150.string().optional(),
|
|
3163
|
+
footprint_copper_intersection_over_union: z150.number()
|
|
3143
3164
|
}).describe(
|
|
3144
3165
|
"Warning emitted when a supplier part footprint does not match the expected footprint"
|
|
3145
3166
|
);
|
|
3146
3167
|
expectTypesMatch(true);
|
|
3147
3168
|
|
|
3148
3169
|
// src/pcb/pcb_breakout_point.ts
|
|
3149
|
-
import { z as
|
|
3150
|
-
var pcb_breakout_point =
|
|
3151
|
-
type:
|
|
3170
|
+
import { z as z151 } from "zod";
|
|
3171
|
+
var pcb_breakout_point = z151.object({
|
|
3172
|
+
type: z151.literal("pcb_breakout_point"),
|
|
3152
3173
|
pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
|
|
3153
|
-
pcb_group_id:
|
|
3154
|
-
subcircuit_id:
|
|
3155
|
-
source_trace_id:
|
|
3156
|
-
source_port_id:
|
|
3157
|
-
source_net_id:
|
|
3174
|
+
pcb_group_id: z151.string(),
|
|
3175
|
+
subcircuit_id: z151.string().optional(),
|
|
3176
|
+
source_trace_id: z151.string().optional(),
|
|
3177
|
+
source_port_id: z151.string().optional(),
|
|
3178
|
+
source_net_id: z151.string().optional(),
|
|
3158
3179
|
x: distance,
|
|
3159
3180
|
y: distance
|
|
3160
3181
|
}).describe(
|
|
@@ -3163,61 +3184,61 @@ var pcb_breakout_point = z150.object({
|
|
|
3163
3184
|
expectTypesMatch(true);
|
|
3164
3185
|
|
|
3165
3186
|
// src/pcb/pcb_ground_plane.ts
|
|
3166
|
-
import { z as
|
|
3167
|
-
var pcb_ground_plane =
|
|
3168
|
-
type:
|
|
3187
|
+
import { z as z152 } from "zod";
|
|
3188
|
+
var pcb_ground_plane = z152.object({
|
|
3189
|
+
type: z152.literal("pcb_ground_plane"),
|
|
3169
3190
|
pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
|
|
3170
|
-
source_pcb_ground_plane_id:
|
|
3171
|
-
source_net_id:
|
|
3172
|
-
pcb_group_id:
|
|
3173
|
-
subcircuit_id:
|
|
3191
|
+
source_pcb_ground_plane_id: z152.string(),
|
|
3192
|
+
source_net_id: z152.string(),
|
|
3193
|
+
pcb_group_id: z152.string().optional(),
|
|
3194
|
+
subcircuit_id: z152.string().optional()
|
|
3174
3195
|
}).describe("Defines a ground plane on the PCB");
|
|
3175
3196
|
expectTypesMatch(true);
|
|
3176
3197
|
|
|
3177
3198
|
// src/pcb/pcb_ground_plane_region.ts
|
|
3178
|
-
import { z as
|
|
3179
|
-
var pcb_ground_plane_region =
|
|
3180
|
-
type:
|
|
3199
|
+
import { z as z153 } from "zod";
|
|
3200
|
+
var pcb_ground_plane_region = z153.object({
|
|
3201
|
+
type: z153.literal("pcb_ground_plane_region"),
|
|
3181
3202
|
pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
|
|
3182
3203
|
"pcb_ground_plane_region"
|
|
3183
3204
|
),
|
|
3184
|
-
pcb_ground_plane_id:
|
|
3185
|
-
pcb_group_id:
|
|
3186
|
-
subcircuit_id:
|
|
3205
|
+
pcb_ground_plane_id: z153.string(),
|
|
3206
|
+
pcb_group_id: z153.string().optional(),
|
|
3207
|
+
subcircuit_id: z153.string().optional(),
|
|
3187
3208
|
layer: layer_ref,
|
|
3188
|
-
points:
|
|
3209
|
+
points: z153.array(point)
|
|
3189
3210
|
}).describe("Defines a polygon region of a ground plane");
|
|
3190
3211
|
expectTypesMatch(true);
|
|
3191
3212
|
|
|
3192
3213
|
// src/pcb/pcb_thermal_spoke.ts
|
|
3193
|
-
import { z as
|
|
3194
|
-
var pcb_thermal_spoke =
|
|
3195
|
-
type:
|
|
3214
|
+
import { z as z154 } from "zod";
|
|
3215
|
+
var pcb_thermal_spoke = z154.object({
|
|
3216
|
+
type: z154.literal("pcb_thermal_spoke"),
|
|
3196
3217
|
pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
|
|
3197
|
-
pcb_ground_plane_id:
|
|
3198
|
-
shape:
|
|
3199
|
-
spoke_count:
|
|
3218
|
+
pcb_ground_plane_id: z154.string(),
|
|
3219
|
+
shape: z154.string(),
|
|
3220
|
+
spoke_count: z154.number(),
|
|
3200
3221
|
spoke_thickness: distance,
|
|
3201
3222
|
spoke_inner_diameter: distance,
|
|
3202
3223
|
spoke_outer_diameter: distance,
|
|
3203
|
-
pcb_plated_hole_id:
|
|
3204
|
-
subcircuit_id:
|
|
3224
|
+
pcb_plated_hole_id: z154.string().optional(),
|
|
3225
|
+
subcircuit_id: z154.string().optional()
|
|
3205
3226
|
}).describe("Pattern for connecting a ground plane to a plated hole");
|
|
3206
3227
|
expectTypesMatch(true);
|
|
3207
3228
|
|
|
3208
3229
|
// src/pcb/pcb_copper_pour.ts
|
|
3209
|
-
import { z as
|
|
3210
|
-
var pcb_copper_pour_base =
|
|
3211
|
-
type:
|
|
3230
|
+
import { z as z155 } from "zod";
|
|
3231
|
+
var pcb_copper_pour_base = z155.object({
|
|
3232
|
+
type: z155.literal("pcb_copper_pour"),
|
|
3212
3233
|
pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
|
|
3213
|
-
pcb_group_id:
|
|
3214
|
-
subcircuit_id:
|
|
3234
|
+
pcb_group_id: z155.string().optional(),
|
|
3235
|
+
subcircuit_id: z155.string().optional(),
|
|
3215
3236
|
layer: layer_ref,
|
|
3216
|
-
source_net_id:
|
|
3217
|
-
covered_with_solder_mask:
|
|
3237
|
+
source_net_id: z155.string().optional(),
|
|
3238
|
+
covered_with_solder_mask: z155.boolean().optional().default(true)
|
|
3218
3239
|
});
|
|
3219
3240
|
var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
3220
|
-
shape:
|
|
3241
|
+
shape: z155.literal("rect"),
|
|
3221
3242
|
center: point,
|
|
3222
3243
|
width: length,
|
|
3223
3244
|
height: length,
|
|
@@ -3225,16 +3246,16 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
|
3225
3246
|
});
|
|
3226
3247
|
expectTypesMatch(true);
|
|
3227
3248
|
var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
|
|
3228
|
-
shape:
|
|
3249
|
+
shape: z155.literal("brep"),
|
|
3229
3250
|
brep_shape
|
|
3230
3251
|
});
|
|
3231
3252
|
expectTypesMatch(true);
|
|
3232
3253
|
var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
|
|
3233
|
-
shape:
|
|
3234
|
-
points:
|
|
3254
|
+
shape: z155.literal("polygon"),
|
|
3255
|
+
points: z155.array(point)
|
|
3235
3256
|
});
|
|
3236
3257
|
expectTypesMatch(true);
|
|
3237
|
-
var pcb_copper_pour =
|
|
3258
|
+
var pcb_copper_pour = z155.discriminatedUnion("shape", [
|
|
3238
3259
|
pcb_copper_pour_rect,
|
|
3239
3260
|
pcb_copper_pour_brep,
|
|
3240
3261
|
pcb_copper_pour_polygon
|
|
@@ -3242,99 +3263,99 @@ var pcb_copper_pour = z154.discriminatedUnion("shape", [
|
|
|
3242
3263
|
expectTypesMatch(true);
|
|
3243
3264
|
|
|
3244
3265
|
// src/pcb/pcb_component_outside_board_error.ts
|
|
3245
|
-
import { z as
|
|
3266
|
+
import { z as z156 } from "zod";
|
|
3246
3267
|
var pcb_component_outside_board_error = base_circuit_json_error.extend({
|
|
3247
|
-
type:
|
|
3268
|
+
type: z156.literal("pcb_component_outside_board_error"),
|
|
3248
3269
|
pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
|
|
3249
3270
|
"pcb_component_outside_board_error"
|
|
3250
3271
|
),
|
|
3251
|
-
error_type:
|
|
3252
|
-
pcb_component_id:
|
|
3253
|
-
pcb_board_id:
|
|
3272
|
+
error_type: z156.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
|
|
3273
|
+
pcb_component_id: z156.string(),
|
|
3274
|
+
pcb_board_id: z156.string(),
|
|
3254
3275
|
component_center: point,
|
|
3255
|
-
component_bounds:
|
|
3256
|
-
min_x:
|
|
3257
|
-
max_x:
|
|
3258
|
-
min_y:
|
|
3259
|
-
max_y:
|
|
3276
|
+
component_bounds: z156.object({
|
|
3277
|
+
min_x: z156.number(),
|
|
3278
|
+
max_x: z156.number(),
|
|
3279
|
+
min_y: z156.number(),
|
|
3280
|
+
max_y: z156.number()
|
|
3260
3281
|
}),
|
|
3261
|
-
subcircuit_id:
|
|
3262
|
-
source_component_id:
|
|
3282
|
+
subcircuit_id: z156.string().optional(),
|
|
3283
|
+
source_component_id: z156.string().optional()
|
|
3263
3284
|
}).describe(
|
|
3264
3285
|
"Error emitted when a PCB component is placed outside the board boundaries"
|
|
3265
3286
|
);
|
|
3266
3287
|
expectTypesMatch(true);
|
|
3267
3288
|
|
|
3268
3289
|
// src/pcb/pcb_component_not_on_board_edge_error.ts
|
|
3269
|
-
import { z as
|
|
3290
|
+
import { z as z157 } from "zod";
|
|
3270
3291
|
var pcb_component_not_on_board_edge_error = base_circuit_json_error.extend({
|
|
3271
|
-
type:
|
|
3292
|
+
type: z157.literal("pcb_component_not_on_board_edge_error"),
|
|
3272
3293
|
pcb_component_not_on_board_edge_error_id: getZodPrefixedIdWithDefault(
|
|
3273
3294
|
"pcb_component_not_on_board_edge_error"
|
|
3274
3295
|
),
|
|
3275
|
-
error_type:
|
|
3276
|
-
pcb_component_id:
|
|
3277
|
-
pcb_board_id:
|
|
3296
|
+
error_type: z157.literal("pcb_component_not_on_board_edge_error").default("pcb_component_not_on_board_edge_error"),
|
|
3297
|
+
pcb_component_id: z157.string(),
|
|
3298
|
+
pcb_board_id: z157.string(),
|
|
3278
3299
|
component_center: point,
|
|
3279
|
-
pad_to_nearest_board_edge_distance:
|
|
3280
|
-
source_component_id:
|
|
3281
|
-
subcircuit_id:
|
|
3300
|
+
pad_to_nearest_board_edge_distance: z157.number(),
|
|
3301
|
+
source_component_id: z157.string().optional(),
|
|
3302
|
+
subcircuit_id: z157.string().optional()
|
|
3282
3303
|
}).describe(
|
|
3283
3304
|
"Error emitted when a component that must be placed on the board edge is centered away from the edge"
|
|
3284
3305
|
);
|
|
3285
3306
|
expectTypesMatch(true);
|
|
3286
3307
|
|
|
3287
3308
|
// src/pcb/pcb_component_invalid_layer_error.ts
|
|
3288
|
-
import { z as
|
|
3309
|
+
import { z as z158 } from "zod";
|
|
3289
3310
|
var pcb_component_invalid_layer_error = base_circuit_json_error.extend({
|
|
3290
|
-
type:
|
|
3311
|
+
type: z158.literal("pcb_component_invalid_layer_error"),
|
|
3291
3312
|
pcb_component_invalid_layer_error_id: getZodPrefixedIdWithDefault(
|
|
3292
3313
|
"pcb_component_invalid_layer_error"
|
|
3293
3314
|
),
|
|
3294
|
-
error_type:
|
|
3295
|
-
pcb_component_id:
|
|
3296
|
-
source_component_id:
|
|
3315
|
+
error_type: z158.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
|
|
3316
|
+
pcb_component_id: z158.string().optional(),
|
|
3317
|
+
source_component_id: z158.string(),
|
|
3297
3318
|
layer: layer_ref,
|
|
3298
|
-
subcircuit_id:
|
|
3319
|
+
subcircuit_id: z158.string().optional()
|
|
3299
3320
|
}).describe(
|
|
3300
3321
|
"Error emitted when a component is placed on an invalid layer (components can only be on 'top' or 'bottom' layers)"
|
|
3301
3322
|
);
|
|
3302
3323
|
expectTypesMatch(true);
|
|
3303
3324
|
|
|
3304
3325
|
// src/pcb/pcb_via_clearance_error.ts
|
|
3305
|
-
import { z as
|
|
3326
|
+
import { z as z159 } from "zod";
|
|
3306
3327
|
var pcb_via_clearance_error = base_circuit_json_error.extend({
|
|
3307
|
-
type:
|
|
3328
|
+
type: z159.literal("pcb_via_clearance_error"),
|
|
3308
3329
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
3309
|
-
error_type:
|
|
3310
|
-
pcb_via_ids:
|
|
3330
|
+
error_type: z159.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
|
|
3331
|
+
pcb_via_ids: z159.array(z159.string()).min(2),
|
|
3311
3332
|
minimum_clearance: distance.optional(),
|
|
3312
3333
|
actual_clearance: distance.optional(),
|
|
3313
|
-
pcb_center:
|
|
3314
|
-
x:
|
|
3315
|
-
y:
|
|
3334
|
+
pcb_center: z159.object({
|
|
3335
|
+
x: z159.number().optional(),
|
|
3336
|
+
y: z159.number().optional()
|
|
3316
3337
|
}).optional(),
|
|
3317
|
-
subcircuit_id:
|
|
3338
|
+
subcircuit_id: z159.string().optional()
|
|
3318
3339
|
}).describe("Error emitted when vias are closer than the allowed clearance");
|
|
3319
3340
|
expectTypesMatch(true);
|
|
3320
3341
|
|
|
3321
3342
|
// src/pcb/pcb_via_trace_clearance_error.ts
|
|
3322
|
-
import { z as
|
|
3343
|
+
import { z as z160 } from "zod";
|
|
3323
3344
|
var pcb_via_trace_clearance_error = base_circuit_json_error.extend({
|
|
3324
|
-
type:
|
|
3345
|
+
type: z160.literal("pcb_via_trace_clearance_error"),
|
|
3325
3346
|
pcb_via_trace_clearance_error_id: getZodPrefixedIdWithDefault(
|
|
3326
3347
|
"pcb_via_trace_clearance_error"
|
|
3327
3348
|
),
|
|
3328
|
-
error_type:
|
|
3329
|
-
pcb_via_id:
|
|
3330
|
-
pcb_trace_id:
|
|
3349
|
+
error_type: z160.literal("pcb_via_trace_clearance_error").default("pcb_via_trace_clearance_error"),
|
|
3350
|
+
pcb_via_id: z160.string(),
|
|
3351
|
+
pcb_trace_id: z160.string(),
|
|
3331
3352
|
minimum_clearance: distance.optional(),
|
|
3332
3353
|
actual_clearance: distance.optional(),
|
|
3333
|
-
center:
|
|
3334
|
-
x:
|
|
3335
|
-
y:
|
|
3354
|
+
center: z160.object({
|
|
3355
|
+
x: z160.number().optional(),
|
|
3356
|
+
y: z160.number().optional()
|
|
3336
3357
|
}).optional(),
|
|
3337
|
-
subcircuit_id:
|
|
3358
|
+
subcircuit_id: z160.string().optional()
|
|
3338
3359
|
}).describe(
|
|
3339
3360
|
"Error emitted when a via and trace are closer than the allowed clearance"
|
|
3340
3361
|
);
|
|
@@ -3343,41 +3364,41 @@ expectTypesMatch(
|
|
|
3343
3364
|
);
|
|
3344
3365
|
|
|
3345
3366
|
// src/pcb/pcb_pad_pad_clearance_error.ts
|
|
3346
|
-
import { z as
|
|
3367
|
+
import { z as z161 } from "zod";
|
|
3347
3368
|
var pcb_pad_pad_clearance_error = base_circuit_json_error.extend({
|
|
3348
|
-
type:
|
|
3369
|
+
type: z161.literal("pcb_pad_pad_clearance_error"),
|
|
3349
3370
|
pcb_pad_pad_clearance_error_id: getZodPrefixedIdWithDefault(
|
|
3350
3371
|
"pcb_pad_pad_clearance_error"
|
|
3351
3372
|
),
|
|
3352
|
-
error_type:
|
|
3353
|
-
pcb_pad_ids:
|
|
3373
|
+
error_type: z161.literal("pcb_pad_pad_clearance_error").default("pcb_pad_pad_clearance_error"),
|
|
3374
|
+
pcb_pad_ids: z161.array(z161.string()).min(2),
|
|
3354
3375
|
minimum_clearance: distance.optional(),
|
|
3355
3376
|
actual_clearance: distance.optional(),
|
|
3356
|
-
center:
|
|
3357
|
-
x:
|
|
3358
|
-
y:
|
|
3377
|
+
center: z161.object({
|
|
3378
|
+
x: z161.number().optional(),
|
|
3379
|
+
y: z161.number().optional()
|
|
3359
3380
|
}).optional(),
|
|
3360
|
-
subcircuit_id:
|
|
3381
|
+
subcircuit_id: z161.string().optional()
|
|
3361
3382
|
}).describe("Error emitted when pads are closer than the allowed clearance");
|
|
3362
3383
|
expectTypesMatch(true);
|
|
3363
3384
|
|
|
3364
3385
|
// src/pcb/pcb_pad_trace_clearance_error.ts
|
|
3365
|
-
import { z as
|
|
3386
|
+
import { z as z162 } from "zod";
|
|
3366
3387
|
var pcb_pad_trace_clearance_error = base_circuit_json_error.extend({
|
|
3367
|
-
type:
|
|
3388
|
+
type: z162.literal("pcb_pad_trace_clearance_error"),
|
|
3368
3389
|
pcb_pad_trace_clearance_error_id: getZodPrefixedIdWithDefault(
|
|
3369
3390
|
"pcb_pad_trace_clearance_error"
|
|
3370
3391
|
),
|
|
3371
|
-
error_type:
|
|
3372
|
-
pcb_pad_id:
|
|
3373
|
-
pcb_trace_id:
|
|
3392
|
+
error_type: z162.literal("pcb_pad_trace_clearance_error").default("pcb_pad_trace_clearance_error"),
|
|
3393
|
+
pcb_pad_id: z162.string(),
|
|
3394
|
+
pcb_trace_id: z162.string(),
|
|
3374
3395
|
minimum_clearance: distance.optional(),
|
|
3375
3396
|
actual_clearance: distance.optional(),
|
|
3376
|
-
center:
|
|
3377
|
-
x:
|
|
3378
|
-
y:
|
|
3397
|
+
center: z162.object({
|
|
3398
|
+
x: z162.number().optional(),
|
|
3399
|
+
y: z162.number().optional()
|
|
3379
3400
|
}).optional(),
|
|
3380
|
-
subcircuit_id:
|
|
3401
|
+
subcircuit_id: z162.string().optional()
|
|
3381
3402
|
}).describe(
|
|
3382
3403
|
"Error emitted when a pad and trace are closer than allowed clearance"
|
|
3383
3404
|
);
|
|
@@ -3386,89 +3407,89 @@ expectTypesMatch(
|
|
|
3386
3407
|
);
|
|
3387
3408
|
|
|
3388
3409
|
// src/pcb/pcb_courtyard_rect.ts
|
|
3389
|
-
import { z as
|
|
3390
|
-
var pcb_courtyard_rect =
|
|
3391
|
-
type:
|
|
3410
|
+
import { z as z163 } from "zod";
|
|
3411
|
+
var pcb_courtyard_rect = z163.object({
|
|
3412
|
+
type: z163.literal("pcb_courtyard_rect"),
|
|
3392
3413
|
pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
|
|
3393
|
-
pcb_component_id:
|
|
3394
|
-
pcb_group_id:
|
|
3395
|
-
subcircuit_id:
|
|
3414
|
+
pcb_component_id: z163.string(),
|
|
3415
|
+
pcb_group_id: z163.string().optional(),
|
|
3416
|
+
subcircuit_id: z163.string().optional(),
|
|
3396
3417
|
center: point,
|
|
3397
3418
|
width: length,
|
|
3398
3419
|
height: length,
|
|
3399
3420
|
layer: visible_layer,
|
|
3400
3421
|
ccw_rotation: rotation.optional(),
|
|
3401
|
-
color:
|
|
3422
|
+
color: z163.string().optional()
|
|
3402
3423
|
}).describe("Defines a courtyard rectangle on the PCB");
|
|
3403
3424
|
expectTypesMatch(true);
|
|
3404
3425
|
|
|
3405
3426
|
// src/pcb/pcb_courtyard_outline.ts
|
|
3406
|
-
import { z as
|
|
3407
|
-
var pcb_courtyard_outline =
|
|
3408
|
-
type:
|
|
3427
|
+
import { z as z164 } from "zod";
|
|
3428
|
+
var pcb_courtyard_outline = z164.object({
|
|
3429
|
+
type: z164.literal("pcb_courtyard_outline"),
|
|
3409
3430
|
pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
|
|
3410
3431
|
"pcb_courtyard_outline"
|
|
3411
3432
|
),
|
|
3412
|
-
pcb_component_id:
|
|
3413
|
-
pcb_group_id:
|
|
3414
|
-
subcircuit_id:
|
|
3433
|
+
pcb_component_id: z164.string(),
|
|
3434
|
+
pcb_group_id: z164.string().optional(),
|
|
3435
|
+
subcircuit_id: z164.string().optional(),
|
|
3415
3436
|
layer: visible_layer,
|
|
3416
|
-
outline:
|
|
3437
|
+
outline: z164.array(point).min(2)
|
|
3417
3438
|
}).describe("Defines a courtyard outline on the PCB");
|
|
3418
3439
|
expectTypesMatch(true);
|
|
3419
3440
|
|
|
3420
3441
|
// src/pcb/pcb_courtyard_polygon.ts
|
|
3421
|
-
import { z as
|
|
3422
|
-
var pcb_courtyard_polygon =
|
|
3423
|
-
type:
|
|
3442
|
+
import { z as z165 } from "zod";
|
|
3443
|
+
var pcb_courtyard_polygon = z165.object({
|
|
3444
|
+
type: z165.literal("pcb_courtyard_polygon"),
|
|
3424
3445
|
pcb_courtyard_polygon_id: getZodPrefixedIdWithDefault(
|
|
3425
3446
|
"pcb_courtyard_polygon"
|
|
3426
3447
|
),
|
|
3427
|
-
pcb_component_id:
|
|
3428
|
-
pcb_group_id:
|
|
3429
|
-
subcircuit_id:
|
|
3448
|
+
pcb_component_id: z165.string(),
|
|
3449
|
+
pcb_group_id: z165.string().optional(),
|
|
3450
|
+
subcircuit_id: z165.string().optional(),
|
|
3430
3451
|
layer: visible_layer,
|
|
3431
|
-
points:
|
|
3432
|
-
color:
|
|
3452
|
+
points: z165.array(point).min(3),
|
|
3453
|
+
color: z165.string().optional()
|
|
3433
3454
|
}).describe("Defines a courtyard polygon on the PCB");
|
|
3434
3455
|
expectTypesMatch(true);
|
|
3435
3456
|
|
|
3436
3457
|
// src/pcb/pcb_courtyard_circle.ts
|
|
3437
|
-
import { z as
|
|
3438
|
-
var pcb_courtyard_circle =
|
|
3439
|
-
type:
|
|
3458
|
+
import { z as z166 } from "zod";
|
|
3459
|
+
var pcb_courtyard_circle = z166.object({
|
|
3460
|
+
type: z166.literal("pcb_courtyard_circle"),
|
|
3440
3461
|
pcb_courtyard_circle_id: getZodPrefixedIdWithDefault(
|
|
3441
3462
|
"pcb_courtyard_circle"
|
|
3442
3463
|
),
|
|
3443
|
-
pcb_component_id:
|
|
3444
|
-
pcb_group_id:
|
|
3445
|
-
subcircuit_id:
|
|
3464
|
+
pcb_component_id: z166.string(),
|
|
3465
|
+
pcb_group_id: z166.string().optional(),
|
|
3466
|
+
subcircuit_id: z166.string().optional(),
|
|
3446
3467
|
center: point,
|
|
3447
3468
|
radius: length,
|
|
3448
3469
|
layer: visible_layer,
|
|
3449
|
-
color:
|
|
3470
|
+
color: z166.string().optional()
|
|
3450
3471
|
}).describe("Defines a courtyard circle on the PCB");
|
|
3451
3472
|
expectTypesMatch(true);
|
|
3452
3473
|
|
|
3453
3474
|
// src/pcb/pcb_courtyard_pill.ts
|
|
3454
|
-
import { z as
|
|
3455
|
-
var pcb_courtyard_pill =
|
|
3456
|
-
type:
|
|
3475
|
+
import { z as z167 } from "zod";
|
|
3476
|
+
var pcb_courtyard_pill = z167.object({
|
|
3477
|
+
type: z167.literal("pcb_courtyard_pill"),
|
|
3457
3478
|
pcb_courtyard_pill_id: getZodPrefixedIdWithDefault("pcb_courtyard_pill"),
|
|
3458
|
-
pcb_component_id:
|
|
3459
|
-
pcb_group_id:
|
|
3460
|
-
subcircuit_id:
|
|
3479
|
+
pcb_component_id: z167.string(),
|
|
3480
|
+
pcb_group_id: z167.string().optional(),
|
|
3481
|
+
subcircuit_id: z167.string().optional(),
|
|
3461
3482
|
center: point,
|
|
3462
3483
|
width: length,
|
|
3463
3484
|
height: length,
|
|
3464
3485
|
radius: length,
|
|
3465
3486
|
layer: visible_layer,
|
|
3466
|
-
color:
|
|
3487
|
+
color: z167.string().optional()
|
|
3467
3488
|
}).describe("Defines a courtyard pill on the PCB");
|
|
3468
3489
|
expectTypesMatch(true);
|
|
3469
3490
|
|
|
3470
3491
|
// src/cad/cad_component.ts
|
|
3471
|
-
import { z as
|
|
3492
|
+
import { z as z168 } from "zod";
|
|
3472
3493
|
|
|
3473
3494
|
// src/cad/cad_model_conventions.ts
|
|
3474
3495
|
var cad_model_formats = [
|
|
@@ -3499,49 +3520,49 @@ var cadModelDefaultDirectionMap = {
|
|
|
3499
3520
|
};
|
|
3500
3521
|
|
|
3501
3522
|
// src/cad/cad_component.ts
|
|
3502
|
-
var cad_component =
|
|
3503
|
-
type:
|
|
3504
|
-
cad_component_id:
|
|
3505
|
-
pcb_component_id:
|
|
3506
|
-
source_component_id:
|
|
3523
|
+
var cad_component = z168.object({
|
|
3524
|
+
type: z168.literal("cad_component"),
|
|
3525
|
+
cad_component_id: z168.string(),
|
|
3526
|
+
pcb_component_id: z168.string(),
|
|
3527
|
+
source_component_id: z168.string(),
|
|
3507
3528
|
position: point3,
|
|
3508
3529
|
rotation: point3.optional(),
|
|
3509
3530
|
size: point3.optional(),
|
|
3510
3531
|
layer: layer_ref.optional(),
|
|
3511
|
-
subcircuit_id:
|
|
3532
|
+
subcircuit_id: z168.string().optional(),
|
|
3512
3533
|
// These are all ways to generate/load the 3d model
|
|
3513
|
-
footprinter_string:
|
|
3514
|
-
model_obj_url:
|
|
3515
|
-
model_stl_url:
|
|
3516
|
-
model_3mf_url:
|
|
3517
|
-
model_gltf_url:
|
|
3518
|
-
model_glb_url:
|
|
3519
|
-
model_step_url:
|
|
3520
|
-
model_wrl_url:
|
|
3534
|
+
footprinter_string: z168.string().optional(),
|
|
3535
|
+
model_obj_url: z168.string().optional(),
|
|
3536
|
+
model_stl_url: z168.string().optional(),
|
|
3537
|
+
model_3mf_url: z168.string().optional(),
|
|
3538
|
+
model_gltf_url: z168.string().optional(),
|
|
3539
|
+
model_glb_url: z168.string().optional(),
|
|
3540
|
+
model_step_url: z168.string().optional(),
|
|
3541
|
+
model_wrl_url: z168.string().optional(),
|
|
3521
3542
|
model_asset: asset.optional(),
|
|
3522
|
-
model_unit_to_mm_scale_factor:
|
|
3523
|
-
model_board_normal_direction:
|
|
3543
|
+
model_unit_to_mm_scale_factor: z168.number().optional(),
|
|
3544
|
+
model_board_normal_direction: z168.enum(cad_model_axis_directions).optional().describe(
|
|
3524
3545
|
`The direction in the model's coordinate space that is considered "up" or "coming out of the board surface"`
|
|
3525
3546
|
),
|
|
3526
3547
|
model_origin_position: point3.optional(),
|
|
3527
|
-
model_origin_alignment:
|
|
3548
|
+
model_origin_alignment: z168.enum([
|
|
3528
3549
|
"unknown",
|
|
3529
3550
|
"center",
|
|
3530
3551
|
"center_of_component_on_board_surface",
|
|
3531
3552
|
"bottom_center_of_component"
|
|
3532
3553
|
]).optional(),
|
|
3533
|
-
model_object_fit:
|
|
3534
|
-
model_jscad:
|
|
3535
|
-
show_as_translucent_model:
|
|
3536
|
-
show_as_bounding_box:
|
|
3537
|
-
anchor_alignment:
|
|
3554
|
+
model_object_fit: z168.enum(["contain_within_bounds", "fill_bounds"]).optional().default("contain_within_bounds"),
|
|
3555
|
+
model_jscad: z168.any().optional(),
|
|
3556
|
+
show_as_translucent_model: z168.boolean().optional(),
|
|
3557
|
+
show_as_bounding_box: z168.boolean().optional(),
|
|
3558
|
+
anchor_alignment: z168.enum(["center", "center_of_component_on_board_surface"]).optional().default("center")
|
|
3538
3559
|
}).describe("Defines a component on the PCB");
|
|
3539
3560
|
expectTypesMatch(true);
|
|
3540
3561
|
|
|
3541
3562
|
// src/simulation/simulation_voltage_source.ts
|
|
3542
|
-
import { z as
|
|
3543
|
-
var wave_shape =
|
|
3544
|
-
var percentage =
|
|
3563
|
+
import { z as z169 } from "zod";
|
|
3564
|
+
var wave_shape = z169.enum(["sinewave", "square", "triangle", "sawtooth"]);
|
|
3565
|
+
var percentage = z169.union([z169.string(), z169.number()]).transform((val) => {
|
|
3545
3566
|
if (typeof val === "string") {
|
|
3546
3567
|
if (val.endsWith("%")) {
|
|
3547
3568
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -3550,30 +3571,30 @@ var percentage = z168.union([z168.string(), z168.number()]).transform((val) => {
|
|
|
3550
3571
|
}
|
|
3551
3572
|
return val;
|
|
3552
3573
|
}).pipe(
|
|
3553
|
-
|
|
3574
|
+
z169.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
3554
3575
|
);
|
|
3555
|
-
var simulation_dc_voltage_source =
|
|
3556
|
-
type:
|
|
3576
|
+
var simulation_dc_voltage_source = z169.object({
|
|
3577
|
+
type: z169.literal("simulation_voltage_source"),
|
|
3557
3578
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
3558
3579
|
"simulation_voltage_source"
|
|
3559
3580
|
),
|
|
3560
|
-
is_dc_source:
|
|
3561
|
-
positive_source_port_id:
|
|
3562
|
-
negative_source_port_id:
|
|
3563
|
-
positive_source_net_id:
|
|
3564
|
-
negative_source_net_id:
|
|
3581
|
+
is_dc_source: z169.literal(true).optional().default(true),
|
|
3582
|
+
positive_source_port_id: z169.string().optional(),
|
|
3583
|
+
negative_source_port_id: z169.string().optional(),
|
|
3584
|
+
positive_source_net_id: z169.string().optional(),
|
|
3585
|
+
negative_source_net_id: z169.string().optional(),
|
|
3565
3586
|
voltage
|
|
3566
3587
|
}).describe("Defines a DC voltage source for simulation");
|
|
3567
|
-
var simulation_ac_voltage_source =
|
|
3568
|
-
type:
|
|
3588
|
+
var simulation_ac_voltage_source = z169.object({
|
|
3589
|
+
type: z169.literal("simulation_voltage_source"),
|
|
3569
3590
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
3570
3591
|
"simulation_voltage_source"
|
|
3571
3592
|
),
|
|
3572
|
-
is_dc_source:
|
|
3573
|
-
terminal1_source_port_id:
|
|
3574
|
-
terminal2_source_port_id:
|
|
3575
|
-
terminal1_source_net_id:
|
|
3576
|
-
terminal2_source_net_id:
|
|
3593
|
+
is_dc_source: z169.literal(false),
|
|
3594
|
+
terminal1_source_port_id: z169.string().optional(),
|
|
3595
|
+
terminal2_source_port_id: z169.string().optional(),
|
|
3596
|
+
terminal1_source_net_id: z169.string().optional(),
|
|
3597
|
+
terminal2_source_net_id: z169.string().optional(),
|
|
3577
3598
|
voltage: voltage.optional(),
|
|
3578
3599
|
frequency: frequency.optional(),
|
|
3579
3600
|
peak_to_peak_voltage: voltage.optional(),
|
|
@@ -3586,14 +3607,14 @@ var simulation_ac_voltage_source = z168.object({
|
|
|
3586
3607
|
pulse_width: ms.optional(),
|
|
3587
3608
|
period: ms.optional()
|
|
3588
3609
|
}).describe("Defines an AC voltage source for simulation");
|
|
3589
|
-
var simulation_voltage_source =
|
|
3610
|
+
var simulation_voltage_source = z169.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
|
|
3590
3611
|
expectTypesMatch(true);
|
|
3591
3612
|
expectTypesMatch(true);
|
|
3592
3613
|
expectTypesMatch(true);
|
|
3593
3614
|
|
|
3594
3615
|
// src/simulation/simulation_current_source.ts
|
|
3595
|
-
import { z as
|
|
3596
|
-
var percentage2 =
|
|
3616
|
+
import { z as z170 } from "zod";
|
|
3617
|
+
var percentage2 = z170.union([z170.string(), z170.number()]).transform((val) => {
|
|
3597
3618
|
if (typeof val === "string") {
|
|
3598
3619
|
if (val.endsWith("%")) {
|
|
3599
3620
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -3602,30 +3623,30 @@ var percentage2 = z169.union([z169.string(), z169.number()]).transform((val) =>
|
|
|
3602
3623
|
}
|
|
3603
3624
|
return val;
|
|
3604
3625
|
}).pipe(
|
|
3605
|
-
|
|
3626
|
+
z170.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
3606
3627
|
);
|
|
3607
|
-
var simulation_dc_current_source =
|
|
3608
|
-
type:
|
|
3628
|
+
var simulation_dc_current_source = z170.object({
|
|
3629
|
+
type: z170.literal("simulation_current_source"),
|
|
3609
3630
|
simulation_current_source_id: getZodPrefixedIdWithDefault(
|
|
3610
3631
|
"simulation_current_source"
|
|
3611
3632
|
),
|
|
3612
|
-
is_dc_source:
|
|
3613
|
-
positive_source_port_id:
|
|
3614
|
-
negative_source_port_id:
|
|
3615
|
-
positive_source_net_id:
|
|
3616
|
-
negative_source_net_id:
|
|
3633
|
+
is_dc_source: z170.literal(true).optional().default(true),
|
|
3634
|
+
positive_source_port_id: z170.string().optional(),
|
|
3635
|
+
negative_source_port_id: z170.string().optional(),
|
|
3636
|
+
positive_source_net_id: z170.string().optional(),
|
|
3637
|
+
negative_source_net_id: z170.string().optional(),
|
|
3617
3638
|
current
|
|
3618
3639
|
}).describe("Defines a DC current source for simulation");
|
|
3619
|
-
var simulation_ac_current_source =
|
|
3620
|
-
type:
|
|
3640
|
+
var simulation_ac_current_source = z170.object({
|
|
3641
|
+
type: z170.literal("simulation_current_source"),
|
|
3621
3642
|
simulation_current_source_id: getZodPrefixedIdWithDefault(
|
|
3622
3643
|
"simulation_current_source"
|
|
3623
3644
|
),
|
|
3624
|
-
is_dc_source:
|
|
3625
|
-
terminal1_source_port_id:
|
|
3626
|
-
terminal2_source_port_id:
|
|
3627
|
-
terminal1_source_net_id:
|
|
3628
|
-
terminal2_source_net_id:
|
|
3645
|
+
is_dc_source: z170.literal(false),
|
|
3646
|
+
terminal1_source_port_id: z170.string().optional(),
|
|
3647
|
+
terminal2_source_port_id: z170.string().optional(),
|
|
3648
|
+
terminal1_source_net_id: z170.string().optional(),
|
|
3649
|
+
terminal2_source_net_id: z170.string().optional(),
|
|
3629
3650
|
current: current.optional(),
|
|
3630
3651
|
frequency: frequency.optional(),
|
|
3631
3652
|
peak_to_peak_current: current.optional(),
|
|
@@ -3633,31 +3654,31 @@ var simulation_ac_current_source = z169.object({
|
|
|
3633
3654
|
phase: rotation.optional(),
|
|
3634
3655
|
duty_cycle: percentage2.optional()
|
|
3635
3656
|
}).describe("Defines an AC current source for simulation");
|
|
3636
|
-
var simulation_current_source =
|
|
3657
|
+
var simulation_current_source = z170.union([simulation_dc_current_source, simulation_ac_current_source]).describe("Defines a current source for simulation");
|
|
3637
3658
|
expectTypesMatch(true);
|
|
3638
3659
|
expectTypesMatch(true);
|
|
3639
3660
|
expectTypesMatch(true);
|
|
3640
3661
|
|
|
3641
3662
|
// src/simulation/simulation_experiment.ts
|
|
3642
|
-
import { z as
|
|
3643
|
-
var experiment_type =
|
|
3644
|
-
|
|
3645
|
-
|
|
3646
|
-
|
|
3647
|
-
|
|
3663
|
+
import { z as z171 } from "zod";
|
|
3664
|
+
var experiment_type = z171.union([
|
|
3665
|
+
z171.literal("spice_dc_sweep"),
|
|
3666
|
+
z171.literal("spice_dc_operating_point"),
|
|
3667
|
+
z171.literal("spice_transient_analysis"),
|
|
3668
|
+
z171.literal("spice_ac_analysis")
|
|
3648
3669
|
]);
|
|
3649
|
-
var spice_simulation_options =
|
|
3650
|
-
method:
|
|
3651
|
-
reltol:
|
|
3652
|
-
abstol:
|
|
3653
|
-
vntol:
|
|
3670
|
+
var spice_simulation_options = z171.object({
|
|
3671
|
+
method: z171.enum(["trap", "gear"]).optional(),
|
|
3672
|
+
reltol: z171.union([z171.number(), z171.string()]).optional(),
|
|
3673
|
+
abstol: z171.union([z171.number(), z171.string()]).optional(),
|
|
3674
|
+
vntol: z171.union([z171.number(), z171.string()]).optional()
|
|
3654
3675
|
}).describe("SPICE solver options for a simulation experiment");
|
|
3655
|
-
var simulation_experiment =
|
|
3656
|
-
type:
|
|
3676
|
+
var simulation_experiment = z171.object({
|
|
3677
|
+
type: z171.literal("simulation_experiment"),
|
|
3657
3678
|
simulation_experiment_id: getZodPrefixedIdWithDefault(
|
|
3658
3679
|
"simulation_experiment"
|
|
3659
3680
|
),
|
|
3660
|
-
name:
|
|
3681
|
+
name: z171.string(),
|
|
3661
3682
|
experiment_type,
|
|
3662
3683
|
time_per_step: duration_ms.optional(),
|
|
3663
3684
|
start_time_ms: ms.optional(),
|
|
@@ -3667,73 +3688,73 @@ var simulation_experiment = z170.object({
|
|
|
3667
3688
|
expectTypesMatch(true);
|
|
3668
3689
|
|
|
3669
3690
|
// src/simulation/simulation_transient_voltage_graph.ts
|
|
3670
|
-
import { z as
|
|
3671
|
-
var simulation_transient_voltage_graph =
|
|
3672
|
-
type:
|
|
3691
|
+
import { z as z172 } from "zod";
|
|
3692
|
+
var simulation_transient_voltage_graph = z172.object({
|
|
3693
|
+
type: z172.literal("simulation_transient_voltage_graph"),
|
|
3673
3694
|
simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
|
|
3674
3695
|
"simulation_transient_voltage_graph"
|
|
3675
3696
|
),
|
|
3676
|
-
simulation_experiment_id:
|
|
3677
|
-
timestamps_ms:
|
|
3678
|
-
voltage_levels:
|
|
3679
|
-
source_component_id:
|
|
3680
|
-
subcircuit_connectivity_map_key:
|
|
3697
|
+
simulation_experiment_id: z172.string(),
|
|
3698
|
+
timestamps_ms: z172.array(z172.number()).optional(),
|
|
3699
|
+
voltage_levels: z172.array(z172.number()),
|
|
3700
|
+
source_component_id: z172.string().optional(),
|
|
3701
|
+
subcircuit_connectivity_map_key: z172.string().optional(),
|
|
3681
3702
|
time_per_step: duration_ms,
|
|
3682
3703
|
start_time_ms: ms,
|
|
3683
3704
|
end_time_ms: ms,
|
|
3684
|
-
name:
|
|
3685
|
-
color:
|
|
3705
|
+
name: z172.string().optional(),
|
|
3706
|
+
color: z172.string().optional()
|
|
3686
3707
|
}).describe("Stores voltage measurements over time for a simulation");
|
|
3687
3708
|
expectTypesMatch(true);
|
|
3688
3709
|
|
|
3689
3710
|
// src/simulation/simulation_transient_current_graph.ts
|
|
3690
|
-
import { z as
|
|
3691
|
-
var simulation_transient_current_graph =
|
|
3692
|
-
type:
|
|
3711
|
+
import { z as z173 } from "zod";
|
|
3712
|
+
var simulation_transient_current_graph = z173.object({
|
|
3713
|
+
type: z173.literal("simulation_transient_current_graph"),
|
|
3693
3714
|
simulation_transient_current_graph_id: getZodPrefixedIdWithDefault(
|
|
3694
3715
|
"simulation_transient_current_graph"
|
|
3695
3716
|
),
|
|
3696
|
-
simulation_experiment_id:
|
|
3697
|
-
timestamps_ms:
|
|
3698
|
-
current_levels:
|
|
3699
|
-
source_component_id:
|
|
3700
|
-
subcircuit_connectivity_map_key:
|
|
3717
|
+
simulation_experiment_id: z173.string(),
|
|
3718
|
+
timestamps_ms: z173.array(z173.number()).optional(),
|
|
3719
|
+
current_levels: z173.array(z173.number()),
|
|
3720
|
+
source_component_id: z173.string().optional(),
|
|
3721
|
+
subcircuit_connectivity_map_key: z173.string().optional(),
|
|
3701
3722
|
time_per_step: duration_ms,
|
|
3702
3723
|
start_time_ms: ms,
|
|
3703
3724
|
end_time_ms: ms,
|
|
3704
|
-
name:
|
|
3705
|
-
color:
|
|
3725
|
+
name: z173.string().optional(),
|
|
3726
|
+
color: z173.string().optional()
|
|
3706
3727
|
}).describe("Stores current measurements over time for a simulation");
|
|
3707
3728
|
expectTypesMatch(true);
|
|
3708
3729
|
|
|
3709
3730
|
// src/simulation/simulation_switch.ts
|
|
3710
|
-
import { z as
|
|
3711
|
-
var simulation_switch =
|
|
3712
|
-
type:
|
|
3731
|
+
import { z as z174 } from "zod";
|
|
3732
|
+
var simulation_switch = z174.object({
|
|
3733
|
+
type: z174.literal("simulation_switch"),
|
|
3713
3734
|
simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
|
|
3714
|
-
source_component_id:
|
|
3735
|
+
source_component_id: z174.string().optional(),
|
|
3715
3736
|
closes_at: ms.optional(),
|
|
3716
3737
|
opens_at: ms.optional(),
|
|
3717
|
-
starts_closed:
|
|
3738
|
+
starts_closed: z174.boolean().optional(),
|
|
3718
3739
|
switching_frequency: frequency.optional()
|
|
3719
3740
|
}).describe("Defines a switch for simulation timing control");
|
|
3720
3741
|
expectTypesMatch(true);
|
|
3721
3742
|
|
|
3722
3743
|
// src/simulation/simulation_voltage_probe.ts
|
|
3723
|
-
import { z as
|
|
3724
|
-
var simulation_voltage_probe =
|
|
3725
|
-
type:
|
|
3744
|
+
import { z as z175 } from "zod";
|
|
3745
|
+
var simulation_voltage_probe = z175.object({
|
|
3746
|
+
type: z175.literal("simulation_voltage_probe"),
|
|
3726
3747
|
simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
|
|
3727
3748
|
"simulation_voltage_probe"
|
|
3728
3749
|
),
|
|
3729
|
-
source_component_id:
|
|
3730
|
-
name:
|
|
3731
|
-
signal_input_source_port_id:
|
|
3732
|
-
signal_input_source_net_id:
|
|
3733
|
-
reference_input_source_port_id:
|
|
3734
|
-
reference_input_source_net_id:
|
|
3735
|
-
subcircuit_id:
|
|
3736
|
-
color:
|
|
3750
|
+
source_component_id: z175.string().optional(),
|
|
3751
|
+
name: z175.string().optional(),
|
|
3752
|
+
signal_input_source_port_id: z175.string().optional(),
|
|
3753
|
+
signal_input_source_net_id: z175.string().optional(),
|
|
3754
|
+
reference_input_source_port_id: z175.string().optional(),
|
|
3755
|
+
reference_input_source_net_id: z175.string().optional(),
|
|
3756
|
+
subcircuit_id: z175.string().optional(),
|
|
3757
|
+
color: z175.string().optional()
|
|
3737
3758
|
}).describe(
|
|
3738
3759
|
"Defines a voltage probe for simulation. If a reference input is not provided, it measures against ground. If a reference input is provided, it measures the differential voltage between two points."
|
|
3739
3760
|
).superRefine((data, ctx) => {
|
|
@@ -3743,20 +3764,20 @@ var simulation_voltage_probe = z174.object({
|
|
|
3743
3764
|
const has_nets = !!data.signal_input_source_net_id || !!data.reference_input_source_net_id;
|
|
3744
3765
|
if (has_ports && has_nets) {
|
|
3745
3766
|
ctx.addIssue({
|
|
3746
|
-
code:
|
|
3767
|
+
code: z175.ZodIssueCode.custom,
|
|
3747
3768
|
message: "Cannot mix port and net connections in a differential probe."
|
|
3748
3769
|
});
|
|
3749
3770
|
} else if (has_ports) {
|
|
3750
3771
|
if (!data.signal_input_source_port_id || !data.reference_input_source_port_id) {
|
|
3751
3772
|
ctx.addIssue({
|
|
3752
|
-
code:
|
|
3773
|
+
code: z175.ZodIssueCode.custom,
|
|
3753
3774
|
message: "Differential port probe requires both signal_input_source_port_id and reference_input_source_port_id."
|
|
3754
3775
|
});
|
|
3755
3776
|
}
|
|
3756
3777
|
} else if (has_nets) {
|
|
3757
3778
|
if (!data.signal_input_source_net_id || !data.reference_input_source_net_id) {
|
|
3758
3779
|
ctx.addIssue({
|
|
3759
|
-
code:
|
|
3780
|
+
code: z175.ZodIssueCode.custom,
|
|
3760
3781
|
message: "Differential net probe requires both signal_input_source_net_id and reference_input_source_net_id."
|
|
3761
3782
|
});
|
|
3762
3783
|
}
|
|
@@ -3764,7 +3785,7 @@ var simulation_voltage_probe = z174.object({
|
|
|
3764
3785
|
} else {
|
|
3765
3786
|
if (!!data.signal_input_source_port_id === !!data.signal_input_source_net_id) {
|
|
3766
3787
|
ctx.addIssue({
|
|
3767
|
-
code:
|
|
3788
|
+
code: z175.ZodIssueCode.custom,
|
|
3768
3789
|
message: "A voltage probe must have exactly one of signal_input_source_port_id or signal_input_source_net_id."
|
|
3769
3790
|
});
|
|
3770
3791
|
}
|
|
@@ -3773,20 +3794,20 @@ var simulation_voltage_probe = z174.object({
|
|
|
3773
3794
|
expectTypesMatch(true);
|
|
3774
3795
|
|
|
3775
3796
|
// src/simulation/simulation_current_probe.ts
|
|
3776
|
-
import { z as
|
|
3777
|
-
var simulation_current_probe =
|
|
3778
|
-
type:
|
|
3797
|
+
import { z as z176 } from "zod";
|
|
3798
|
+
var simulation_current_probe = z176.object({
|
|
3799
|
+
type: z176.literal("simulation_current_probe"),
|
|
3779
3800
|
simulation_current_probe_id: getZodPrefixedIdWithDefault(
|
|
3780
3801
|
"simulation_current_probe"
|
|
3781
3802
|
),
|
|
3782
|
-
source_component_id:
|
|
3783
|
-
name:
|
|
3784
|
-
positive_source_port_id:
|
|
3785
|
-
negative_source_port_id:
|
|
3786
|
-
positive_source_net_id:
|
|
3787
|
-
negative_source_net_id:
|
|
3788
|
-
subcircuit_id:
|
|
3789
|
-
color:
|
|
3803
|
+
source_component_id: z176.string().optional(),
|
|
3804
|
+
name: z176.string().optional(),
|
|
3805
|
+
positive_source_port_id: z176.string().optional(),
|
|
3806
|
+
negative_source_port_id: z176.string().optional(),
|
|
3807
|
+
positive_source_net_id: z176.string().optional(),
|
|
3808
|
+
negative_source_net_id: z176.string().optional(),
|
|
3809
|
+
subcircuit_id: z176.string().optional(),
|
|
3810
|
+
color: z176.string().optional()
|
|
3790
3811
|
}).describe(
|
|
3791
3812
|
"Defines a current probe for simulation. It measures current flowing from the positive endpoint to the negative endpoint."
|
|
3792
3813
|
).superRefine((data, ctx) => {
|
|
@@ -3798,7 +3819,7 @@ var simulation_current_probe = z175.object({
|
|
|
3798
3819
|
const hasNets = hasPositiveNet || hasNegativeNet;
|
|
3799
3820
|
if (hasPorts && hasNets) {
|
|
3800
3821
|
ctx.addIssue({
|
|
3801
|
-
code:
|
|
3822
|
+
code: z176.ZodIssueCode.custom,
|
|
3802
3823
|
message: "Cannot mix port and net connections in a current probe."
|
|
3803
3824
|
});
|
|
3804
3825
|
return;
|
|
@@ -3806,7 +3827,7 @@ var simulation_current_probe = z175.object({
|
|
|
3806
3827
|
if (hasPorts) {
|
|
3807
3828
|
if (!hasPositivePort || !hasNegativePort) {
|
|
3808
3829
|
ctx.addIssue({
|
|
3809
|
-
code:
|
|
3830
|
+
code: z176.ZodIssueCode.custom,
|
|
3810
3831
|
message: "Current probe using source ports requires both positive_source_port_id and negative_source_port_id."
|
|
3811
3832
|
});
|
|
3812
3833
|
}
|
|
@@ -3815,79 +3836,79 @@ var simulation_current_probe = z175.object({
|
|
|
3815
3836
|
if (hasNets) {
|
|
3816
3837
|
if (!hasPositiveNet || !hasNegativeNet) {
|
|
3817
3838
|
ctx.addIssue({
|
|
3818
|
-
code:
|
|
3839
|
+
code: z176.ZodIssueCode.custom,
|
|
3819
3840
|
message: "Current probe using source nets requires both positive_source_net_id and negative_source_net_id."
|
|
3820
3841
|
});
|
|
3821
3842
|
}
|
|
3822
3843
|
return;
|
|
3823
3844
|
}
|
|
3824
3845
|
ctx.addIssue({
|
|
3825
|
-
code:
|
|
3846
|
+
code: z176.ZodIssueCode.custom,
|
|
3826
3847
|
message: "A current probe must have either positive/negative source port ids or positive/negative source net ids."
|
|
3827
3848
|
});
|
|
3828
3849
|
});
|
|
3829
3850
|
expectTypesMatch(true);
|
|
3830
3851
|
|
|
3831
3852
|
// src/simulation/simulation_unknown_experiment_error.ts
|
|
3832
|
-
import { z as
|
|
3853
|
+
import { z as z177 } from "zod";
|
|
3833
3854
|
var simulation_unknown_experiment_error = base_circuit_json_error.extend({
|
|
3834
|
-
type:
|
|
3855
|
+
type: z177.literal("simulation_unknown_experiment_error"),
|
|
3835
3856
|
simulation_unknown_experiment_error_id: getZodPrefixedIdWithDefault(
|
|
3836
3857
|
"simulation_unknown_experiment_error"
|
|
3837
3858
|
),
|
|
3838
|
-
error_type:
|
|
3839
|
-
simulation_experiment_id:
|
|
3840
|
-
subcircuit_id:
|
|
3859
|
+
error_type: z177.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
|
|
3860
|
+
simulation_experiment_id: z177.string().optional(),
|
|
3861
|
+
subcircuit_id: z177.string().optional()
|
|
3841
3862
|
}).describe("An unknown error occurred during the simulation experiment.");
|
|
3842
3863
|
expectTypesMatch(true);
|
|
3843
3864
|
|
|
3844
3865
|
// src/simulation/simulation_op_amp.ts
|
|
3845
|
-
import { z as
|
|
3846
|
-
var simulation_op_amp =
|
|
3847
|
-
type:
|
|
3866
|
+
import { z as z178 } from "zod";
|
|
3867
|
+
var simulation_op_amp = z178.object({
|
|
3868
|
+
type: z178.literal("simulation_op_amp"),
|
|
3848
3869
|
simulation_op_amp_id: getZodPrefixedIdWithDefault("simulation_op_amp"),
|
|
3849
|
-
source_component_id:
|
|
3850
|
-
inverting_input_source_port_id:
|
|
3851
|
-
non_inverting_input_source_port_id:
|
|
3852
|
-
output_source_port_id:
|
|
3853
|
-
positive_supply_source_port_id:
|
|
3854
|
-
negative_supply_source_port_id:
|
|
3870
|
+
source_component_id: z178.string().optional(),
|
|
3871
|
+
inverting_input_source_port_id: z178.string(),
|
|
3872
|
+
non_inverting_input_source_port_id: z178.string(),
|
|
3873
|
+
output_source_port_id: z178.string(),
|
|
3874
|
+
positive_supply_source_port_id: z178.string(),
|
|
3875
|
+
negative_supply_source_port_id: z178.string()
|
|
3855
3876
|
}).describe("Defines a simple ideal operational amplifier for simulation");
|
|
3856
3877
|
expectTypesMatch(true);
|
|
3857
3878
|
|
|
3858
3879
|
// src/simulation/simulation_spice_subcircuit.ts
|
|
3859
|
-
import { z as
|
|
3860
|
-
var simulation_spice_subcircuit =
|
|
3861
|
-
type:
|
|
3880
|
+
import { z as z179 } from "zod";
|
|
3881
|
+
var simulation_spice_subcircuit = z179.object({
|
|
3882
|
+
type: z179.literal("simulation_spice_subcircuit"),
|
|
3862
3883
|
simulation_spice_subcircuit_id: getZodPrefixedIdWithDefault(
|
|
3863
3884
|
"simulation_spice_subcircuit"
|
|
3864
3885
|
),
|
|
3865
|
-
source_component_id:
|
|
3866
|
-
spice_pin_to_source_port_map:
|
|
3867
|
-
subcircuit_source:
|
|
3886
|
+
source_component_id: z179.string(),
|
|
3887
|
+
spice_pin_to_source_port_map: z179.record(z179.string(), z179.string()),
|
|
3888
|
+
subcircuit_source: z179.string()
|
|
3868
3889
|
}).describe("Defines a custom SPICE subcircuit model for simulation");
|
|
3869
3890
|
expectTypesMatch(
|
|
3870
3891
|
true
|
|
3871
3892
|
);
|
|
3872
3893
|
|
|
3873
3894
|
// src/simulation/simulation_oscilloscope_trace.ts
|
|
3874
|
-
import { z as
|
|
3895
|
+
import { z as z180 } from "zod";
|
|
3875
3896
|
var hasValue = (value) => value !== void 0;
|
|
3876
|
-
var simulation_oscilloscope_trace =
|
|
3877
|
-
type:
|
|
3897
|
+
var simulation_oscilloscope_trace = z180.object({
|
|
3898
|
+
type: z180.literal("simulation_oscilloscope_trace"),
|
|
3878
3899
|
simulation_oscilloscope_trace_id: getZodPrefixedIdWithDefault(
|
|
3879
3900
|
"simulation_oscilloscope_trace"
|
|
3880
3901
|
),
|
|
3881
|
-
simulation_transient_voltage_graph_id:
|
|
3882
|
-
simulation_transient_current_graph_id:
|
|
3883
|
-
simulation_voltage_probe_id:
|
|
3884
|
-
simulation_current_probe_id:
|
|
3885
|
-
display_name:
|
|
3886
|
-
color:
|
|
3887
|
-
display_center_value:
|
|
3888
|
-
display_center_offset_divs:
|
|
3889
|
-
volts_per_div:
|
|
3890
|
-
amps_per_div:
|
|
3902
|
+
simulation_transient_voltage_graph_id: z180.string().optional(),
|
|
3903
|
+
simulation_transient_current_graph_id: z180.string().optional(),
|
|
3904
|
+
simulation_voltage_probe_id: z180.string().optional(),
|
|
3905
|
+
simulation_current_probe_id: z180.string().optional(),
|
|
3906
|
+
display_name: z180.string().optional(),
|
|
3907
|
+
color: z180.string().optional(),
|
|
3908
|
+
display_center_value: z180.number().optional(),
|
|
3909
|
+
display_center_offset_divs: z180.number().optional(),
|
|
3910
|
+
volts_per_div: z180.number().positive().optional(),
|
|
3911
|
+
amps_per_div: z180.number().positive().optional()
|
|
3891
3912
|
}).describe(
|
|
3892
3913
|
"Defines how a simulation measurement is rendered as an oscilloscope-style trace."
|
|
3893
3914
|
).superRefine((data, ctx) => {
|
|
@@ -3901,19 +3922,19 @@ var simulation_oscilloscope_trace = z179.object({
|
|
|
3901
3922
|
].filter(hasValue).length;
|
|
3902
3923
|
if (voltageReferences + currentReferences !== 1) {
|
|
3903
3924
|
ctx.addIssue({
|
|
3904
|
-
code:
|
|
3925
|
+
code: z180.ZodIssueCode.custom,
|
|
3905
3926
|
message: "An oscilloscope trace must reference exactly one voltage graph, current graph, voltage probe, or current probe."
|
|
3906
3927
|
});
|
|
3907
3928
|
}
|
|
3908
3929
|
if (voltageReferences > 0 && data.amps_per_div !== void 0) {
|
|
3909
3930
|
ctx.addIssue({
|
|
3910
|
-
code:
|
|
3931
|
+
code: z180.ZodIssueCode.custom,
|
|
3911
3932
|
message: "Voltage oscilloscope traces must use volts_per_div, not amps_per_div."
|
|
3912
3933
|
});
|
|
3913
3934
|
}
|
|
3914
3935
|
if (currentReferences > 0 && data.volts_per_div !== void 0) {
|
|
3915
3936
|
ctx.addIssue({
|
|
3916
|
-
code:
|
|
3937
|
+
code: z180.ZodIssueCode.custom,
|
|
3917
3938
|
message: "Current oscilloscope traces must use amps_per_div, not volts_per_div."
|
|
3918
3939
|
});
|
|
3919
3940
|
}
|
|
@@ -3921,8 +3942,8 @@ var simulation_oscilloscope_trace = z179.object({
|
|
|
3921
3942
|
expectTypesMatch(true);
|
|
3922
3943
|
|
|
3923
3944
|
// src/any_circuit_element.ts
|
|
3924
|
-
import { z as
|
|
3925
|
-
var any_circuit_element =
|
|
3945
|
+
import { z as z181 } from "zod";
|
|
3946
|
+
var any_circuit_element = z181.union([
|
|
3926
3947
|
source_trace,
|
|
3927
3948
|
source_port,
|
|
3928
3949
|
source_component_internal_connection,
|
|
@@ -4052,6 +4073,7 @@ var any_circuit_element = z180.union([
|
|
|
4052
4073
|
schematic_voltage_probe,
|
|
4053
4074
|
schematic_manual_edit_conflict_warning,
|
|
4054
4075
|
schematic_component_overlap_warning,
|
|
4076
|
+
schematic_element_outside_sheet_warning,
|
|
4055
4077
|
schematic_group,
|
|
4056
4078
|
schematic_sheet,
|
|
4057
4079
|
schematic_table,
|
|
@@ -4227,6 +4249,7 @@ export {
|
|
|
4227
4249
|
schematic_debug_object_base,
|
|
4228
4250
|
schematic_debug_point,
|
|
4229
4251
|
schematic_debug_rect,
|
|
4252
|
+
schematic_element_outside_sheet_warning,
|
|
4230
4253
|
schematic_error,
|
|
4231
4254
|
schematic_group,
|
|
4232
4255
|
schematic_layout_error,
|