circuit-json 0.0.478 → 0.0.479
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 +24 -0
- package/dist/index.d.mts +222 -1
- package/dist/index.mjs +1294 -1269
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1584,104 +1584,127 @@ var schematic_element_outside_sheet_warning = z92.object({
|
|
|
1584
1584
|
);
|
|
1585
1585
|
expectTypesMatch(true);
|
|
1586
1586
|
|
|
1587
|
-
// src/schematic/
|
|
1587
|
+
// src/schematic/schematic_graphic.ts
|
|
1588
1588
|
import { z as z93 } from "zod";
|
|
1589
|
-
var
|
|
1590
|
-
|
|
1591
|
-
|
|
1589
|
+
var positiveFiniteDistance = distance.pipe(z93.number().positive().finite());
|
|
1590
|
+
var schematic_graphic = z93.object({
|
|
1591
|
+
type: z93.literal("schematic_graphic"),
|
|
1592
|
+
schematic_graphic_id: getZodPrefixedIdWithDefault("schematic_graphic"),
|
|
1592
1593
|
schematic_sheet_id: z93.string().optional(),
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1594
|
+
asset: asset.optional(),
|
|
1595
|
+
svg_content: z93.string().optional(),
|
|
1596
|
+
width: positiveFiniteDistance.optional(),
|
|
1597
|
+
height: positiveFiniteDistance.optional()
|
|
1598
|
+
}).describe(
|
|
1599
|
+
"References a graphic asset or inline SVG content with optional centered layout bounds on a schematic sheet"
|
|
1600
|
+
).superRefine(({ asset: asset2, svg_content }, ctx) => {
|
|
1601
|
+
if (asset2 === void 0 && svg_content === void 0) {
|
|
1602
|
+
ctx.addIssue({
|
|
1603
|
+
code: z93.ZodIssueCode.custom,
|
|
1604
|
+
message: "At least one of asset or svg_content is required"
|
|
1605
|
+
});
|
|
1606
|
+
}
|
|
1607
|
+
});
|
|
1608
|
+
expectTypesMatch(true);
|
|
1609
|
+
|
|
1610
|
+
// src/schematic/schematic_group.ts
|
|
1611
|
+
import { z as z94 } from "zod";
|
|
1612
|
+
var schematic_group = z94.object({
|
|
1613
|
+
type: z94.literal("schematic_group"),
|
|
1614
|
+
schematic_group_id: getZodPrefixedIdWithDefault("schematic_group"),
|
|
1615
|
+
schematic_sheet_id: z94.string().optional(),
|
|
1616
|
+
source_group_id: z94.string(),
|
|
1617
|
+
is_subcircuit: z94.boolean().optional(),
|
|
1618
|
+
subcircuit_id: z94.string().optional(),
|
|
1596
1619
|
width: length,
|
|
1597
1620
|
height: length,
|
|
1598
1621
|
center: point,
|
|
1599
|
-
schematic_component_ids:
|
|
1600
|
-
show_as_schematic_box:
|
|
1601
|
-
name:
|
|
1602
|
-
description:
|
|
1622
|
+
schematic_component_ids: z94.array(z94.string()),
|
|
1623
|
+
show_as_schematic_box: z94.boolean().optional(),
|
|
1624
|
+
name: z94.string().optional(),
|
|
1625
|
+
description: z94.string().optional()
|
|
1603
1626
|
}).describe("Defines a group of components on the schematic");
|
|
1604
1627
|
expectTypesMatch(true);
|
|
1605
1628
|
|
|
1606
1629
|
// src/schematic/schematic_table.ts
|
|
1607
|
-
import { z as
|
|
1608
|
-
var schematic_table =
|
|
1609
|
-
type:
|
|
1630
|
+
import { z as z95 } from "zod";
|
|
1631
|
+
var schematic_table = z95.object({
|
|
1632
|
+
type: z95.literal("schematic_table"),
|
|
1610
1633
|
schematic_table_id: getZodPrefixedIdWithDefault("schematic_table"),
|
|
1611
|
-
schematic_sheet_id:
|
|
1634
|
+
schematic_sheet_id: z95.string().optional(),
|
|
1612
1635
|
anchor_position: point,
|
|
1613
|
-
column_widths:
|
|
1614
|
-
row_heights:
|
|
1636
|
+
column_widths: z95.array(distance),
|
|
1637
|
+
row_heights: z95.array(distance),
|
|
1615
1638
|
cell_padding: distance.optional(),
|
|
1616
1639
|
border_width: distance.optional(),
|
|
1617
|
-
subcircuit_id:
|
|
1618
|
-
schematic_component_id:
|
|
1640
|
+
subcircuit_id: z95.string().optional(),
|
|
1641
|
+
schematic_component_id: z95.string().optional(),
|
|
1619
1642
|
anchor: ninePointAnchor.optional()
|
|
1620
1643
|
}).describe("Defines a table on the schematic");
|
|
1621
1644
|
expectTypesMatch(true);
|
|
1622
1645
|
|
|
1623
1646
|
// src/schematic/schematic_table_cell.ts
|
|
1624
|
-
import { z as
|
|
1625
|
-
var schematic_table_cell =
|
|
1626
|
-
type:
|
|
1647
|
+
import { z as z96 } from "zod";
|
|
1648
|
+
var schematic_table_cell = z96.object({
|
|
1649
|
+
type: z96.literal("schematic_table_cell"),
|
|
1627
1650
|
schematic_table_cell_id: getZodPrefixedIdWithDefault(
|
|
1628
1651
|
"schematic_table_cell"
|
|
1629
1652
|
),
|
|
1630
|
-
schematic_sheet_id:
|
|
1631
|
-
schematic_table_id:
|
|
1632
|
-
start_row_index:
|
|
1633
|
-
end_row_index:
|
|
1634
|
-
start_column_index:
|
|
1635
|
-
end_column_index:
|
|
1636
|
-
text:
|
|
1653
|
+
schematic_sheet_id: z96.string().optional(),
|
|
1654
|
+
schematic_table_id: z96.string(),
|
|
1655
|
+
start_row_index: z96.number(),
|
|
1656
|
+
end_row_index: z96.number(),
|
|
1657
|
+
start_column_index: z96.number(),
|
|
1658
|
+
end_column_index: z96.number(),
|
|
1659
|
+
text: z96.string().optional(),
|
|
1637
1660
|
center: point,
|
|
1638
1661
|
width: distance,
|
|
1639
1662
|
height: distance,
|
|
1640
|
-
horizontal_align:
|
|
1641
|
-
vertical_align:
|
|
1663
|
+
horizontal_align: z96.enum(["left", "center", "right"]).optional(),
|
|
1664
|
+
vertical_align: z96.enum(["top", "middle", "bottom"]).optional(),
|
|
1642
1665
|
font_size: distance.optional(),
|
|
1643
|
-
subcircuit_id:
|
|
1666
|
+
subcircuit_id: z96.string().optional()
|
|
1644
1667
|
}).describe("Defines a cell within a schematic_table");
|
|
1645
1668
|
expectTypesMatch(true);
|
|
1646
1669
|
|
|
1647
1670
|
// src/schematic/schematic_sheet.ts
|
|
1648
|
-
import { z as
|
|
1649
|
-
var schematic_sheet_size =
|
|
1650
|
-
var schematic_sheet =
|
|
1651
|
-
type:
|
|
1671
|
+
import { z as z97 } from "zod";
|
|
1672
|
+
var schematic_sheet_size = z97.enum(["a4", "ansi_b"]);
|
|
1673
|
+
var schematic_sheet = z97.object({
|
|
1674
|
+
type: z97.literal("schematic_sheet"),
|
|
1652
1675
|
schematic_sheet_id: getZodPrefixedIdWithDefault("schematic_sheet"),
|
|
1653
|
-
name:
|
|
1654
|
-
sheet_index:
|
|
1676
|
+
name: z97.string().optional(),
|
|
1677
|
+
sheet_index: z97.number().optional(),
|
|
1655
1678
|
sheet_size: schematic_sheet_size.optional(),
|
|
1656
|
-
sheet_width:
|
|
1657
|
-
sheet_height:
|
|
1658
|
-
subcircuit_id:
|
|
1659
|
-
outline_color:
|
|
1679
|
+
sheet_width: z97.number().positive().optional(),
|
|
1680
|
+
sheet_height: z97.number().positive().optional(),
|
|
1681
|
+
subcircuit_id: z97.string().optional(),
|
|
1682
|
+
outline_color: z97.string().optional()
|
|
1660
1683
|
}).describe(
|
|
1661
1684
|
"Defines a schematic sheet or page that components can be placed on"
|
|
1662
1685
|
);
|
|
1663
1686
|
expectTypesMatch(true);
|
|
1664
1687
|
|
|
1665
1688
|
// src/pcb/properties/brep.ts
|
|
1666
|
-
import { z as
|
|
1667
|
-
var point_with_bulge =
|
|
1689
|
+
import { z as z98 } from "zod";
|
|
1690
|
+
var point_with_bulge = z98.object({
|
|
1668
1691
|
x: distance,
|
|
1669
1692
|
y: distance,
|
|
1670
|
-
bulge:
|
|
1693
|
+
bulge: z98.number().optional()
|
|
1671
1694
|
});
|
|
1672
1695
|
expectTypesMatch(true);
|
|
1673
|
-
var ring =
|
|
1674
|
-
vertices:
|
|
1696
|
+
var ring = z98.object({
|
|
1697
|
+
vertices: z98.array(point_with_bulge)
|
|
1675
1698
|
});
|
|
1676
1699
|
expectTypesMatch(true);
|
|
1677
|
-
var brep_shape =
|
|
1700
|
+
var brep_shape = z98.object({
|
|
1678
1701
|
outer_ring: ring,
|
|
1679
|
-
inner_rings:
|
|
1702
|
+
inner_rings: z98.array(ring).default([])
|
|
1680
1703
|
});
|
|
1681
1704
|
expectTypesMatch(true);
|
|
1682
1705
|
|
|
1683
1706
|
// src/pcb/properties/insertion_direction.ts
|
|
1684
|
-
import { z as
|
|
1707
|
+
import { z as z99 } from "zod";
|
|
1685
1708
|
var insertionDirectionToCanonical = {
|
|
1686
1709
|
from_left: "from_left",
|
|
1687
1710
|
from_right: "from_right",
|
|
@@ -1708,7 +1731,7 @@ var insertionDirectionToVector = {
|
|
|
1708
1731
|
from_above: { x: 0, y: 0, z: 1 },
|
|
1709
1732
|
from_below: { x: 0, y: 0, z: -1 }
|
|
1710
1733
|
};
|
|
1711
|
-
var insertion_direction =
|
|
1734
|
+
var insertion_direction = z99.enum([
|
|
1712
1735
|
"from_left",
|
|
1713
1736
|
"from_right",
|
|
1714
1737
|
"from_top",
|
|
@@ -1733,8 +1756,8 @@ expectTypesMatch(
|
|
|
1733
1756
|
);
|
|
1734
1757
|
|
|
1735
1758
|
// src/pcb/properties/pcb_pin1_location.ts
|
|
1736
|
-
import { z as
|
|
1737
|
-
var pcb_pin1_location =
|
|
1759
|
+
import { z as z100 } from "zod";
|
|
1760
|
+
var pcb_pin1_location = z100.enum([
|
|
1738
1761
|
"leftside_top",
|
|
1739
1762
|
"leftside_bottom",
|
|
1740
1763
|
"rightside_top",
|
|
@@ -1771,31 +1794,31 @@ var getRotationBetweenPcbPin1Locations = (from, to) => {
|
|
|
1771
1794
|
};
|
|
1772
1795
|
|
|
1773
1796
|
// src/pcb/properties/pcb_route_hints.ts
|
|
1774
|
-
import { z as
|
|
1775
|
-
var pcb_route_hint =
|
|
1797
|
+
import { z as z101 } from "zod";
|
|
1798
|
+
var pcb_route_hint = z101.object({
|
|
1776
1799
|
x: distance,
|
|
1777
1800
|
y: distance,
|
|
1778
|
-
via:
|
|
1801
|
+
via: z101.boolean().optional(),
|
|
1779
1802
|
via_to_layer: layer_ref.optional()
|
|
1780
1803
|
});
|
|
1781
|
-
var pcb_route_hints =
|
|
1804
|
+
var pcb_route_hints = z101.array(pcb_route_hint);
|
|
1782
1805
|
expectTypesMatch(true);
|
|
1783
1806
|
expectTypesMatch(true);
|
|
1784
1807
|
|
|
1785
1808
|
// src/pcb/properties/route_hint_point.ts
|
|
1786
|
-
import { z as
|
|
1787
|
-
var route_hint_point =
|
|
1809
|
+
import { z as z102 } from "zod";
|
|
1810
|
+
var route_hint_point = z102.object({
|
|
1788
1811
|
x: distance,
|
|
1789
1812
|
y: distance,
|
|
1790
|
-
via:
|
|
1813
|
+
via: z102.boolean().optional(),
|
|
1791
1814
|
to_layer: layer_ref.optional(),
|
|
1792
1815
|
trace_width: distance.optional()
|
|
1793
1816
|
});
|
|
1794
1817
|
expectTypesMatch(true);
|
|
1795
1818
|
|
|
1796
1819
|
// src/pcb/properties/manufacturing_drc_properties.ts
|
|
1797
|
-
import { z as
|
|
1798
|
-
var manufacturing_drc_properties =
|
|
1820
|
+
import { z as z103 } from "zod";
|
|
1821
|
+
var manufacturing_drc_properties = z103.object({
|
|
1799
1822
|
min_trace_width: length.optional(),
|
|
1800
1823
|
min_board_edge_clearance: length.optional(),
|
|
1801
1824
|
min_via_hole_edge_to_via_hole_edge_clearance: length.optional(),
|
|
@@ -1810,27 +1833,27 @@ var manufacturing_drc_properties = z102.object({
|
|
|
1810
1833
|
});
|
|
1811
1834
|
|
|
1812
1835
|
// src/pcb/pcb_component.ts
|
|
1813
|
-
import { z as
|
|
1814
|
-
var pcb_component =
|
|
1815
|
-
type:
|
|
1836
|
+
import { z as z104 } from "zod";
|
|
1837
|
+
var pcb_component = z104.object({
|
|
1838
|
+
type: z104.literal("pcb_component"),
|
|
1816
1839
|
pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
|
|
1817
|
-
source_component_id:
|
|
1840
|
+
source_component_id: z104.string(),
|
|
1818
1841
|
center: point,
|
|
1819
1842
|
layer: layer_ref,
|
|
1820
1843
|
rotation,
|
|
1821
|
-
display_offset_x:
|
|
1844
|
+
display_offset_x: z104.string().optional().describe(
|
|
1822
1845
|
"How to display the x offset for this part, usually corresponding with how the user specified it"
|
|
1823
1846
|
),
|
|
1824
|
-
display_offset_y:
|
|
1847
|
+
display_offset_y: z104.string().optional().describe(
|
|
1825
1848
|
"How to display the y offset for this part, usually corresponding with how the user specified it"
|
|
1826
1849
|
),
|
|
1827
1850
|
width: length,
|
|
1828
1851
|
height: length,
|
|
1829
|
-
do_not_place:
|
|
1830
|
-
is_allowed_to_be_off_board:
|
|
1831
|
-
subcircuit_id:
|
|
1832
|
-
pcb_group_id:
|
|
1833
|
-
position_mode:
|
|
1852
|
+
do_not_place: z104.boolean().optional(),
|
|
1853
|
+
is_allowed_to_be_off_board: z104.boolean().optional(),
|
|
1854
|
+
subcircuit_id: z104.string().optional(),
|
|
1855
|
+
pcb_group_id: z104.string().optional(),
|
|
1856
|
+
position_mode: z104.enum([
|
|
1834
1857
|
"packed",
|
|
1835
1858
|
"relative_to_group_anchor",
|
|
1836
1859
|
"relative_to_another_component",
|
|
@@ -1838,48 +1861,48 @@ var pcb_component = z103.object({
|
|
|
1838
1861
|
]).optional(),
|
|
1839
1862
|
anchor_position: point.optional(),
|
|
1840
1863
|
anchor_alignment: ninePointAnchor.optional(),
|
|
1841
|
-
positioned_relative_to_pcb_group_id:
|
|
1842
|
-
positioned_relative_to_pcb_board_id:
|
|
1864
|
+
positioned_relative_to_pcb_group_id: z104.string().optional(),
|
|
1865
|
+
positioned_relative_to_pcb_board_id: z104.string().optional(),
|
|
1843
1866
|
cable_insertion_center: point.optional(),
|
|
1844
1867
|
insertion_direction: insertion_direction.optional(),
|
|
1845
1868
|
pin1_location: pcb_pin1_location.optional().describe(
|
|
1846
1869
|
"Location of pin 1 on the unrotated, top-view component footprint"
|
|
1847
1870
|
),
|
|
1848
|
-
supplier_pin1_location_map:
|
|
1871
|
+
supplier_pin1_location_map: z104.record(supplier_name, pcb_pin1_location).optional().describe(
|
|
1849
1872
|
"Pin 1 location for each supplier's unrotated, top-view footprint"
|
|
1850
1873
|
),
|
|
1851
|
-
metadata:
|
|
1874
|
+
metadata: z104.object({
|
|
1852
1875
|
kicad_footprint: kicadFootprintMetadata.optional()
|
|
1853
1876
|
}).optional(),
|
|
1854
|
-
obstructs_within_bounds:
|
|
1877
|
+
obstructs_within_bounds: z104.boolean().default(true).describe(
|
|
1855
1878
|
"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"
|
|
1856
1879
|
)
|
|
1857
1880
|
}).describe("Defines a component on the PCB");
|
|
1858
1881
|
expectTypesMatch(true);
|
|
1859
1882
|
|
|
1860
1883
|
// src/pcb/pcb_debug_object.ts
|
|
1861
|
-
import { z as
|
|
1862
|
-
var pcb_debug_object_base =
|
|
1863
|
-
type:
|
|
1884
|
+
import { z as z105 } from "zod";
|
|
1885
|
+
var pcb_debug_object_base = z105.object({
|
|
1886
|
+
type: z105.literal("pcb_debug_object"),
|
|
1864
1887
|
pcb_debug_object_id: getZodPrefixedIdWithDefault("pcb_debug_object"),
|
|
1865
|
-
label:
|
|
1866
|
-
subcircuit_id:
|
|
1888
|
+
label: z105.string().optional(),
|
|
1889
|
+
subcircuit_id: z105.string().optional()
|
|
1867
1890
|
});
|
|
1868
1891
|
var pcb_debug_rect = pcb_debug_object_base.extend({
|
|
1869
|
-
shape:
|
|
1892
|
+
shape: z105.literal("rect"),
|
|
1870
1893
|
center: point,
|
|
1871
1894
|
size
|
|
1872
1895
|
});
|
|
1873
1896
|
var pcb_debug_line = pcb_debug_object_base.extend({
|
|
1874
|
-
shape:
|
|
1897
|
+
shape: z105.literal("line"),
|
|
1875
1898
|
start: point,
|
|
1876
1899
|
end: point
|
|
1877
1900
|
});
|
|
1878
1901
|
var pcb_debug_point = pcb_debug_object_base.extend({
|
|
1879
|
-
shape:
|
|
1902
|
+
shape: z105.literal("point"),
|
|
1880
1903
|
center: point
|
|
1881
1904
|
});
|
|
1882
|
-
var pcb_debug_object =
|
|
1905
|
+
var pcb_debug_object = z105.discriminatedUnion("shape", [
|
|
1883
1906
|
pcb_debug_rect,
|
|
1884
1907
|
pcb_debug_line,
|
|
1885
1908
|
pcb_debug_point
|
|
@@ -1887,109 +1910,109 @@ var pcb_debug_object = z104.discriminatedUnion("shape", [
|
|
|
1887
1910
|
expectTypesMatch(true);
|
|
1888
1911
|
|
|
1889
1912
|
// src/pcb/pcb_hole.ts
|
|
1890
|
-
import { z as
|
|
1891
|
-
var pcb_hole_circle =
|
|
1892
|
-
type:
|
|
1913
|
+
import { z as z106 } from "zod";
|
|
1914
|
+
var pcb_hole_circle = z106.object({
|
|
1915
|
+
type: z106.literal("pcb_hole"),
|
|
1893
1916
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1894
|
-
pcb_group_id:
|
|
1895
|
-
subcircuit_id:
|
|
1896
|
-
pcb_component_id:
|
|
1897
|
-
hole_shape:
|
|
1898
|
-
hole_diameter:
|
|
1917
|
+
pcb_group_id: z106.string().optional(),
|
|
1918
|
+
subcircuit_id: z106.string().optional(),
|
|
1919
|
+
pcb_component_id: z106.string().optional(),
|
|
1920
|
+
hole_shape: z106.literal("circle"),
|
|
1921
|
+
hole_diameter: z106.number(),
|
|
1899
1922
|
x: distance,
|
|
1900
1923
|
y: distance,
|
|
1901
|
-
is_covered_with_solder_mask:
|
|
1902
|
-
soldermask_margin:
|
|
1924
|
+
is_covered_with_solder_mask: z106.boolean().optional(),
|
|
1925
|
+
soldermask_margin: z106.number().optional()
|
|
1903
1926
|
});
|
|
1904
1927
|
var pcb_hole_circle_shape = pcb_hole_circle.describe(
|
|
1905
1928
|
"Defines a circular hole on the PCB"
|
|
1906
1929
|
);
|
|
1907
1930
|
expectTypesMatch(true);
|
|
1908
|
-
var pcb_hole_rect =
|
|
1909
|
-
type:
|
|
1931
|
+
var pcb_hole_rect = z106.object({
|
|
1932
|
+
type: z106.literal("pcb_hole"),
|
|
1910
1933
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1911
|
-
pcb_group_id:
|
|
1912
|
-
subcircuit_id:
|
|
1913
|
-
pcb_component_id:
|
|
1914
|
-
hole_shape:
|
|
1915
|
-
hole_width:
|
|
1916
|
-
hole_height:
|
|
1934
|
+
pcb_group_id: z106.string().optional(),
|
|
1935
|
+
subcircuit_id: z106.string().optional(),
|
|
1936
|
+
pcb_component_id: z106.string().optional(),
|
|
1937
|
+
hole_shape: z106.literal("rect"),
|
|
1938
|
+
hole_width: z106.number(),
|
|
1939
|
+
hole_height: z106.number(),
|
|
1917
1940
|
x: distance,
|
|
1918
1941
|
y: distance,
|
|
1919
|
-
is_covered_with_solder_mask:
|
|
1920
|
-
soldermask_margin:
|
|
1942
|
+
is_covered_with_solder_mask: z106.boolean().optional(),
|
|
1943
|
+
soldermask_margin: z106.number().optional()
|
|
1921
1944
|
});
|
|
1922
1945
|
var pcb_hole_rect_shape = pcb_hole_rect.describe(
|
|
1923
1946
|
"Defines a rectangular (square-capable) hole on the PCB. Use equal width/height for square."
|
|
1924
1947
|
);
|
|
1925
1948
|
expectTypesMatch(true);
|
|
1926
|
-
var pcb_hole_circle_or_square =
|
|
1927
|
-
type:
|
|
1949
|
+
var pcb_hole_circle_or_square = z106.object({
|
|
1950
|
+
type: z106.literal("pcb_hole"),
|
|
1928
1951
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1929
|
-
pcb_group_id:
|
|
1930
|
-
subcircuit_id:
|
|
1931
|
-
pcb_component_id:
|
|
1932
|
-
hole_shape:
|
|
1933
|
-
hole_diameter:
|
|
1952
|
+
pcb_group_id: z106.string().optional(),
|
|
1953
|
+
subcircuit_id: z106.string().optional(),
|
|
1954
|
+
pcb_component_id: z106.string().optional(),
|
|
1955
|
+
hole_shape: z106.enum(["circle", "square"]),
|
|
1956
|
+
hole_diameter: z106.number(),
|
|
1934
1957
|
x: distance,
|
|
1935
1958
|
y: distance,
|
|
1936
|
-
is_covered_with_solder_mask:
|
|
1937
|
-
soldermask_margin:
|
|
1959
|
+
is_covered_with_solder_mask: z106.boolean().optional(),
|
|
1960
|
+
soldermask_margin: z106.number().optional()
|
|
1938
1961
|
});
|
|
1939
1962
|
var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
|
|
1940
1963
|
"Defines a circular or square hole on the PCB"
|
|
1941
1964
|
);
|
|
1942
1965
|
expectTypesMatch(true);
|
|
1943
|
-
var pcb_hole_oval =
|
|
1944
|
-
type:
|
|
1966
|
+
var pcb_hole_oval = z106.object({
|
|
1967
|
+
type: z106.literal("pcb_hole"),
|
|
1945
1968
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1946
|
-
pcb_group_id:
|
|
1947
|
-
subcircuit_id:
|
|
1948
|
-
pcb_component_id:
|
|
1949
|
-
hole_shape:
|
|
1950
|
-
hole_width:
|
|
1951
|
-
hole_height:
|
|
1969
|
+
pcb_group_id: z106.string().optional(),
|
|
1970
|
+
subcircuit_id: z106.string().optional(),
|
|
1971
|
+
pcb_component_id: z106.string().optional(),
|
|
1972
|
+
hole_shape: z106.literal("oval"),
|
|
1973
|
+
hole_width: z106.number(),
|
|
1974
|
+
hole_height: z106.number(),
|
|
1952
1975
|
x: distance,
|
|
1953
1976
|
y: distance,
|
|
1954
|
-
is_covered_with_solder_mask:
|
|
1955
|
-
soldermask_margin:
|
|
1977
|
+
is_covered_with_solder_mask: z106.boolean().optional(),
|
|
1978
|
+
soldermask_margin: z106.number().optional()
|
|
1956
1979
|
});
|
|
1957
1980
|
var pcb_hole_oval_shape = pcb_hole_oval.describe(
|
|
1958
1981
|
"Defines an oval hole on the PCB"
|
|
1959
1982
|
);
|
|
1960
1983
|
expectTypesMatch(true);
|
|
1961
|
-
var pcb_hole_pill =
|
|
1962
|
-
type:
|
|
1984
|
+
var pcb_hole_pill = z106.object({
|
|
1985
|
+
type: z106.literal("pcb_hole"),
|
|
1963
1986
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1964
|
-
pcb_group_id:
|
|
1965
|
-
subcircuit_id:
|
|
1966
|
-
pcb_component_id:
|
|
1967
|
-
hole_shape:
|
|
1968
|
-
hole_width:
|
|
1969
|
-
hole_height:
|
|
1987
|
+
pcb_group_id: z106.string().optional(),
|
|
1988
|
+
subcircuit_id: z106.string().optional(),
|
|
1989
|
+
pcb_component_id: z106.string().optional(),
|
|
1990
|
+
hole_shape: z106.literal("pill"),
|
|
1991
|
+
hole_width: z106.number(),
|
|
1992
|
+
hole_height: z106.number(),
|
|
1970
1993
|
x: distance,
|
|
1971
1994
|
y: distance,
|
|
1972
|
-
is_covered_with_solder_mask:
|
|
1973
|
-
soldermask_margin:
|
|
1995
|
+
is_covered_with_solder_mask: z106.boolean().optional(),
|
|
1996
|
+
soldermask_margin: z106.number().optional()
|
|
1974
1997
|
});
|
|
1975
1998
|
var pcb_hole_pill_shape = pcb_hole_pill.describe(
|
|
1976
1999
|
"Defines a pill-shaped hole on the PCB"
|
|
1977
2000
|
);
|
|
1978
2001
|
expectTypesMatch(true);
|
|
1979
|
-
var pcb_hole_rotated_pill =
|
|
1980
|
-
type:
|
|
2002
|
+
var pcb_hole_rotated_pill = z106.object({
|
|
2003
|
+
type: z106.literal("pcb_hole"),
|
|
1981
2004
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1982
|
-
pcb_group_id:
|
|
1983
|
-
subcircuit_id:
|
|
1984
|
-
pcb_component_id:
|
|
1985
|
-
hole_shape:
|
|
1986
|
-
hole_width:
|
|
1987
|
-
hole_height:
|
|
2005
|
+
pcb_group_id: z106.string().optional(),
|
|
2006
|
+
subcircuit_id: z106.string().optional(),
|
|
2007
|
+
pcb_component_id: z106.string().optional(),
|
|
2008
|
+
hole_shape: z106.literal("rotated_pill"),
|
|
2009
|
+
hole_width: z106.number(),
|
|
2010
|
+
hole_height: z106.number(),
|
|
1988
2011
|
x: distance,
|
|
1989
2012
|
y: distance,
|
|
1990
2013
|
ccw_rotation: rotation,
|
|
1991
|
-
is_covered_with_solder_mask:
|
|
1992
|
-
soldermask_margin:
|
|
2014
|
+
is_covered_with_solder_mask: z106.boolean().optional(),
|
|
2015
|
+
soldermask_margin: z106.number().optional()
|
|
1993
2016
|
});
|
|
1994
2017
|
var pcb_hole_rotated_pill_shape = pcb_hole_rotated_pill.describe(
|
|
1995
2018
|
"Defines a rotated pill-shaped hole on the PCB"
|
|
@@ -1998,147 +2021,147 @@ expectTypesMatch(true);
|
|
|
1998
2021
|
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);
|
|
1999
2022
|
|
|
2000
2023
|
// src/pcb/pcb_plated_hole.ts
|
|
2001
|
-
import { z as
|
|
2002
|
-
var pcb_plated_hole_circle =
|
|
2003
|
-
type:
|
|
2004
|
-
shape:
|
|
2005
|
-
pcb_group_id:
|
|
2006
|
-
subcircuit_id:
|
|
2007
|
-
outer_diameter:
|
|
2008
|
-
hole_diameter:
|
|
2009
|
-
is_covered_with_solder_mask:
|
|
2024
|
+
import { z as z107 } from "zod";
|
|
2025
|
+
var pcb_plated_hole_circle = z107.object({
|
|
2026
|
+
type: z107.literal("pcb_plated_hole"),
|
|
2027
|
+
shape: z107.literal("circle"),
|
|
2028
|
+
pcb_group_id: z107.string().optional(),
|
|
2029
|
+
subcircuit_id: z107.string().optional(),
|
|
2030
|
+
outer_diameter: z107.number(),
|
|
2031
|
+
hole_diameter: z107.number(),
|
|
2032
|
+
is_covered_with_solder_mask: z107.boolean().optional(),
|
|
2010
2033
|
x: distance,
|
|
2011
2034
|
y: distance,
|
|
2012
|
-
layers:
|
|
2013
|
-
port_hints:
|
|
2014
|
-
pcb_component_id:
|
|
2015
|
-
pcb_port_id:
|
|
2035
|
+
layers: z107.array(layer_ref),
|
|
2036
|
+
port_hints: z107.array(z107.string()).optional(),
|
|
2037
|
+
pcb_component_id: z107.string().optional(),
|
|
2038
|
+
pcb_port_id: z107.string().optional(),
|
|
2016
2039
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
2017
|
-
soldermask_margin:
|
|
2040
|
+
soldermask_margin: z107.number().optional()
|
|
2018
2041
|
});
|
|
2019
|
-
var pcb_plated_hole_oval =
|
|
2020
|
-
type:
|
|
2021
|
-
shape:
|
|
2022
|
-
pcb_group_id:
|
|
2023
|
-
subcircuit_id:
|
|
2024
|
-
outer_width:
|
|
2025
|
-
outer_height:
|
|
2026
|
-
hole_width:
|
|
2027
|
-
hole_height:
|
|
2028
|
-
is_covered_with_solder_mask:
|
|
2042
|
+
var pcb_plated_hole_oval = z107.object({
|
|
2043
|
+
type: z107.literal("pcb_plated_hole"),
|
|
2044
|
+
shape: z107.enum(["oval", "pill"]),
|
|
2045
|
+
pcb_group_id: z107.string().optional(),
|
|
2046
|
+
subcircuit_id: z107.string().optional(),
|
|
2047
|
+
outer_width: z107.number(),
|
|
2048
|
+
outer_height: z107.number(),
|
|
2049
|
+
hole_width: z107.number(),
|
|
2050
|
+
hole_height: z107.number(),
|
|
2051
|
+
is_covered_with_solder_mask: z107.boolean().optional(),
|
|
2029
2052
|
x: distance,
|
|
2030
2053
|
y: distance,
|
|
2031
2054
|
ccw_rotation: rotation,
|
|
2032
|
-
layers:
|
|
2033
|
-
port_hints:
|
|
2034
|
-
pcb_component_id:
|
|
2035
|
-
pcb_port_id:
|
|
2055
|
+
layers: z107.array(layer_ref),
|
|
2056
|
+
port_hints: z107.array(z107.string()).optional(),
|
|
2057
|
+
pcb_component_id: z107.string().optional(),
|
|
2058
|
+
pcb_port_id: z107.string().optional(),
|
|
2036
2059
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
2037
|
-
soldermask_margin:
|
|
2060
|
+
soldermask_margin: z107.number().optional()
|
|
2038
2061
|
});
|
|
2039
|
-
var pcb_circular_hole_with_rect_pad =
|
|
2040
|
-
type:
|
|
2041
|
-
shape:
|
|
2042
|
-
pcb_group_id:
|
|
2043
|
-
subcircuit_id:
|
|
2044
|
-
hole_shape:
|
|
2045
|
-
pad_shape:
|
|
2046
|
-
hole_diameter:
|
|
2047
|
-
rect_pad_width:
|
|
2048
|
-
rect_pad_height:
|
|
2049
|
-
rect_border_radius:
|
|
2062
|
+
var pcb_circular_hole_with_rect_pad = z107.object({
|
|
2063
|
+
type: z107.literal("pcb_plated_hole"),
|
|
2064
|
+
shape: z107.literal("circular_hole_with_rect_pad"),
|
|
2065
|
+
pcb_group_id: z107.string().optional(),
|
|
2066
|
+
subcircuit_id: z107.string().optional(),
|
|
2067
|
+
hole_shape: z107.literal("circle"),
|
|
2068
|
+
pad_shape: z107.literal("rect"),
|
|
2069
|
+
hole_diameter: z107.number(),
|
|
2070
|
+
rect_pad_width: z107.number(),
|
|
2071
|
+
rect_pad_height: z107.number(),
|
|
2072
|
+
rect_border_radius: z107.number().optional(),
|
|
2050
2073
|
hole_offset_x: distance.default(0),
|
|
2051
2074
|
hole_offset_y: distance.default(0),
|
|
2052
|
-
is_covered_with_solder_mask:
|
|
2075
|
+
is_covered_with_solder_mask: z107.boolean().optional(),
|
|
2053
2076
|
x: distance,
|
|
2054
2077
|
y: distance,
|
|
2055
|
-
layers:
|
|
2056
|
-
port_hints:
|
|
2057
|
-
pcb_component_id:
|
|
2058
|
-
pcb_port_id:
|
|
2078
|
+
layers: z107.array(layer_ref),
|
|
2079
|
+
port_hints: z107.array(z107.string()).optional(),
|
|
2080
|
+
pcb_component_id: z107.string().optional(),
|
|
2081
|
+
pcb_port_id: z107.string().optional(),
|
|
2059
2082
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
2060
|
-
soldermask_margin:
|
|
2083
|
+
soldermask_margin: z107.number().optional(),
|
|
2061
2084
|
rect_ccw_rotation: rotation.optional()
|
|
2062
2085
|
});
|
|
2063
|
-
var pcb_pill_hole_with_rect_pad =
|
|
2064
|
-
type:
|
|
2065
|
-
shape:
|
|
2066
|
-
pcb_group_id:
|
|
2067
|
-
subcircuit_id:
|
|
2068
|
-
hole_shape:
|
|
2069
|
-
pad_shape:
|
|
2070
|
-
hole_width:
|
|
2071
|
-
hole_height:
|
|
2072
|
-
rect_pad_width:
|
|
2073
|
-
rect_pad_height:
|
|
2074
|
-
rect_border_radius:
|
|
2086
|
+
var pcb_pill_hole_with_rect_pad = z107.object({
|
|
2087
|
+
type: z107.literal("pcb_plated_hole"),
|
|
2088
|
+
shape: z107.literal("pill_hole_with_rect_pad"),
|
|
2089
|
+
pcb_group_id: z107.string().optional(),
|
|
2090
|
+
subcircuit_id: z107.string().optional(),
|
|
2091
|
+
hole_shape: z107.literal("pill"),
|
|
2092
|
+
pad_shape: z107.literal("rect"),
|
|
2093
|
+
hole_width: z107.number(),
|
|
2094
|
+
hole_height: z107.number(),
|
|
2095
|
+
rect_pad_width: z107.number(),
|
|
2096
|
+
rect_pad_height: z107.number(),
|
|
2097
|
+
rect_border_radius: z107.number().optional(),
|
|
2075
2098
|
hole_offset_x: distance.default(0),
|
|
2076
2099
|
hole_offset_y: distance.default(0),
|
|
2077
|
-
is_covered_with_solder_mask:
|
|
2100
|
+
is_covered_with_solder_mask: z107.boolean().optional(),
|
|
2078
2101
|
x: distance,
|
|
2079
2102
|
y: distance,
|
|
2080
|
-
layers:
|
|
2081
|
-
port_hints:
|
|
2082
|
-
pcb_component_id:
|
|
2083
|
-
pcb_port_id:
|
|
2103
|
+
layers: z107.array(layer_ref),
|
|
2104
|
+
port_hints: z107.array(z107.string()).optional(),
|
|
2105
|
+
pcb_component_id: z107.string().optional(),
|
|
2106
|
+
pcb_port_id: z107.string().optional(),
|
|
2084
2107
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
2085
|
-
soldermask_margin:
|
|
2108
|
+
soldermask_margin: z107.number().optional()
|
|
2086
2109
|
});
|
|
2087
|
-
var pcb_rotated_pill_hole_with_rect_pad =
|
|
2088
|
-
type:
|
|
2089
|
-
shape:
|
|
2090
|
-
pcb_group_id:
|
|
2091
|
-
subcircuit_id:
|
|
2092
|
-
hole_shape:
|
|
2093
|
-
pad_shape:
|
|
2094
|
-
hole_width:
|
|
2095
|
-
hole_height:
|
|
2110
|
+
var pcb_rotated_pill_hole_with_rect_pad = z107.object({
|
|
2111
|
+
type: z107.literal("pcb_plated_hole"),
|
|
2112
|
+
shape: z107.literal("rotated_pill_hole_with_rect_pad"),
|
|
2113
|
+
pcb_group_id: z107.string().optional(),
|
|
2114
|
+
subcircuit_id: z107.string().optional(),
|
|
2115
|
+
hole_shape: z107.literal("rotated_pill"),
|
|
2116
|
+
pad_shape: z107.literal("rect"),
|
|
2117
|
+
hole_width: z107.number(),
|
|
2118
|
+
hole_height: z107.number(),
|
|
2096
2119
|
hole_ccw_rotation: rotation,
|
|
2097
|
-
rect_pad_width:
|
|
2098
|
-
rect_pad_height:
|
|
2099
|
-
rect_border_radius:
|
|
2120
|
+
rect_pad_width: z107.number(),
|
|
2121
|
+
rect_pad_height: z107.number(),
|
|
2122
|
+
rect_border_radius: z107.number().optional(),
|
|
2100
2123
|
rect_ccw_rotation: rotation,
|
|
2101
2124
|
hole_offset_x: distance.default(0),
|
|
2102
2125
|
hole_offset_y: distance.default(0),
|
|
2103
|
-
is_covered_with_solder_mask:
|
|
2126
|
+
is_covered_with_solder_mask: z107.boolean().optional(),
|
|
2104
2127
|
x: distance,
|
|
2105
2128
|
y: distance,
|
|
2106
|
-
layers:
|
|
2107
|
-
port_hints:
|
|
2108
|
-
pcb_component_id:
|
|
2109
|
-
pcb_port_id:
|
|
2129
|
+
layers: z107.array(layer_ref),
|
|
2130
|
+
port_hints: z107.array(z107.string()).optional(),
|
|
2131
|
+
pcb_component_id: z107.string().optional(),
|
|
2132
|
+
pcb_port_id: z107.string().optional(),
|
|
2110
2133
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
2111
|
-
soldermask_margin:
|
|
2134
|
+
soldermask_margin: z107.number().optional()
|
|
2112
2135
|
});
|
|
2113
|
-
var pcb_hole_with_polygon_pad =
|
|
2114
|
-
type:
|
|
2115
|
-
shape:
|
|
2116
|
-
pcb_group_id:
|
|
2117
|
-
subcircuit_id:
|
|
2118
|
-
hole_shape:
|
|
2119
|
-
hole_diameter:
|
|
2120
|
-
hole_width:
|
|
2121
|
-
hole_height:
|
|
2122
|
-
pad_outline:
|
|
2123
|
-
|
|
2136
|
+
var pcb_hole_with_polygon_pad = z107.object({
|
|
2137
|
+
type: z107.literal("pcb_plated_hole"),
|
|
2138
|
+
shape: z107.literal("hole_with_polygon_pad"),
|
|
2139
|
+
pcb_group_id: z107.string().optional(),
|
|
2140
|
+
subcircuit_id: z107.string().optional(),
|
|
2141
|
+
hole_shape: z107.enum(["circle", "oval", "pill", "rotated_pill"]),
|
|
2142
|
+
hole_diameter: z107.number().optional(),
|
|
2143
|
+
hole_width: z107.number().optional(),
|
|
2144
|
+
hole_height: z107.number().optional(),
|
|
2145
|
+
pad_outline: z107.array(
|
|
2146
|
+
z107.object({
|
|
2124
2147
|
x: distance,
|
|
2125
2148
|
y: distance
|
|
2126
2149
|
})
|
|
2127
2150
|
).min(3),
|
|
2128
2151
|
hole_offset_x: distance.default(0),
|
|
2129
2152
|
hole_offset_y: distance.default(0),
|
|
2130
|
-
is_covered_with_solder_mask:
|
|
2153
|
+
is_covered_with_solder_mask: z107.boolean().optional(),
|
|
2131
2154
|
x: distance,
|
|
2132
2155
|
y: distance,
|
|
2133
|
-
layers:
|
|
2134
|
-
port_hints:
|
|
2135
|
-
pcb_component_id:
|
|
2136
|
-
pcb_port_id:
|
|
2156
|
+
layers: z107.array(layer_ref),
|
|
2157
|
+
port_hints: z107.array(z107.string()).optional(),
|
|
2158
|
+
pcb_component_id: z107.string().optional(),
|
|
2159
|
+
pcb_port_id: z107.string().optional(),
|
|
2137
2160
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
2138
|
-
soldermask_margin:
|
|
2161
|
+
soldermask_margin: z107.number().optional(),
|
|
2139
2162
|
ccw_rotation: rotation.optional()
|
|
2140
2163
|
});
|
|
2141
|
-
var pcb_plated_hole =
|
|
2164
|
+
var pcb_plated_hole = z107.union([
|
|
2142
2165
|
pcb_plated_hole_circle,
|
|
2143
2166
|
pcb_plated_hole_oval,
|
|
2144
2167
|
pcb_circular_hole_with_rect_pad,
|
|
@@ -2156,144 +2179,144 @@ expectTypesMatch(true);
|
|
|
2156
2179
|
expectTypesMatch(true);
|
|
2157
2180
|
|
|
2158
2181
|
// src/pcb/pcb_port.ts
|
|
2159
|
-
import { z as
|
|
2160
|
-
var pcb_port =
|
|
2161
|
-
type:
|
|
2182
|
+
import { z as z108 } from "zod";
|
|
2183
|
+
var pcb_port = z108.object({
|
|
2184
|
+
type: z108.literal("pcb_port"),
|
|
2162
2185
|
pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
|
|
2163
|
-
pcb_group_id:
|
|
2164
|
-
subcircuit_id:
|
|
2165
|
-
source_port_id:
|
|
2166
|
-
pcb_component_id:
|
|
2186
|
+
pcb_group_id: z108.string().optional(),
|
|
2187
|
+
subcircuit_id: z108.string().optional(),
|
|
2188
|
+
source_port_id: z108.string(),
|
|
2189
|
+
pcb_component_id: z108.string().optional(),
|
|
2167
2190
|
x: distance,
|
|
2168
2191
|
y: distance,
|
|
2169
|
-
layers:
|
|
2170
|
-
is_board_pinout:
|
|
2192
|
+
layers: z108.array(layer_ref),
|
|
2193
|
+
is_board_pinout: z108.boolean().optional()
|
|
2171
2194
|
}).describe("Defines a port on the PCB");
|
|
2172
2195
|
expectTypesMatch(true);
|
|
2173
2196
|
|
|
2174
2197
|
// src/pcb/pcb_smtpad.ts
|
|
2175
|
-
import { z as
|
|
2176
|
-
var pcb_smtpad_circle =
|
|
2177
|
-
type:
|
|
2178
|
-
shape:
|
|
2198
|
+
import { z as z109 } from "zod";
|
|
2199
|
+
var pcb_smtpad_circle = z109.object({
|
|
2200
|
+
type: z109.literal("pcb_smtpad"),
|
|
2201
|
+
shape: z109.literal("circle"),
|
|
2179
2202
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
2180
|
-
pcb_group_id:
|
|
2181
|
-
subcircuit_id:
|
|
2203
|
+
pcb_group_id: z109.string().optional(),
|
|
2204
|
+
subcircuit_id: z109.string().optional(),
|
|
2182
2205
|
x: distance,
|
|
2183
2206
|
y: distance,
|
|
2184
|
-
radius:
|
|
2207
|
+
radius: z109.number(),
|
|
2185
2208
|
layer: layer_ref,
|
|
2186
|
-
port_hints:
|
|
2187
|
-
pcb_component_id:
|
|
2188
|
-
pcb_port_id:
|
|
2189
|
-
is_covered_with_solder_mask:
|
|
2190
|
-
soldermask_margin:
|
|
2191
|
-
solderpaste_margin:
|
|
2209
|
+
port_hints: z109.array(z109.string()).optional(),
|
|
2210
|
+
pcb_component_id: z109.string().optional(),
|
|
2211
|
+
pcb_port_id: z109.string().optional(),
|
|
2212
|
+
is_covered_with_solder_mask: z109.boolean().optional(),
|
|
2213
|
+
soldermask_margin: z109.number().optional(),
|
|
2214
|
+
solderpaste_margin: z109.number().optional()
|
|
2192
2215
|
});
|
|
2193
|
-
var pcb_smtpad_rect =
|
|
2194
|
-
type:
|
|
2195
|
-
shape:
|
|
2216
|
+
var pcb_smtpad_rect = z109.object({
|
|
2217
|
+
type: z109.literal("pcb_smtpad"),
|
|
2218
|
+
shape: z109.literal("rect"),
|
|
2196
2219
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
2197
|
-
pcb_group_id:
|
|
2198
|
-
subcircuit_id:
|
|
2220
|
+
pcb_group_id: z109.string().optional(),
|
|
2221
|
+
subcircuit_id: z109.string().optional(),
|
|
2199
2222
|
x: distance,
|
|
2200
2223
|
y: distance,
|
|
2201
|
-
width:
|
|
2202
|
-
height:
|
|
2203
|
-
rect_border_radius:
|
|
2204
|
-
corner_radius:
|
|
2224
|
+
width: z109.number(),
|
|
2225
|
+
height: z109.number(),
|
|
2226
|
+
rect_border_radius: z109.number().optional(),
|
|
2227
|
+
corner_radius: z109.number().optional(),
|
|
2205
2228
|
layer: layer_ref,
|
|
2206
|
-
port_hints:
|
|
2207
|
-
pcb_component_id:
|
|
2208
|
-
pcb_port_id:
|
|
2209
|
-
is_covered_with_solder_mask:
|
|
2210
|
-
soldermask_margin:
|
|
2211
|
-
soldermask_margin_left:
|
|
2212
|
-
soldermask_margin_top:
|
|
2213
|
-
soldermask_margin_right:
|
|
2214
|
-
soldermask_margin_bottom:
|
|
2215
|
-
solderpaste_margin:
|
|
2229
|
+
port_hints: z109.array(z109.string()).optional(),
|
|
2230
|
+
pcb_component_id: z109.string().optional(),
|
|
2231
|
+
pcb_port_id: z109.string().optional(),
|
|
2232
|
+
is_covered_with_solder_mask: z109.boolean().optional(),
|
|
2233
|
+
soldermask_margin: z109.number().optional(),
|
|
2234
|
+
soldermask_margin_left: z109.number().optional(),
|
|
2235
|
+
soldermask_margin_top: z109.number().optional(),
|
|
2236
|
+
soldermask_margin_right: z109.number().optional(),
|
|
2237
|
+
soldermask_margin_bottom: z109.number().optional(),
|
|
2238
|
+
solderpaste_margin: z109.number().optional()
|
|
2216
2239
|
});
|
|
2217
|
-
var pcb_smtpad_rotated_rect =
|
|
2218
|
-
type:
|
|
2219
|
-
shape:
|
|
2240
|
+
var pcb_smtpad_rotated_rect = z109.object({
|
|
2241
|
+
type: z109.literal("pcb_smtpad"),
|
|
2242
|
+
shape: z109.literal("rotated_rect"),
|
|
2220
2243
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
2221
|
-
pcb_group_id:
|
|
2222
|
-
subcircuit_id:
|
|
2244
|
+
pcb_group_id: z109.string().optional(),
|
|
2245
|
+
subcircuit_id: z109.string().optional(),
|
|
2223
2246
|
x: distance,
|
|
2224
2247
|
y: distance,
|
|
2225
|
-
width:
|
|
2226
|
-
height:
|
|
2227
|
-
rect_border_radius:
|
|
2228
|
-
corner_radius:
|
|
2248
|
+
width: z109.number(),
|
|
2249
|
+
height: z109.number(),
|
|
2250
|
+
rect_border_radius: z109.number().optional(),
|
|
2251
|
+
corner_radius: z109.number().optional(),
|
|
2229
2252
|
ccw_rotation: rotation,
|
|
2230
2253
|
layer: layer_ref,
|
|
2231
|
-
port_hints:
|
|
2232
|
-
pcb_component_id:
|
|
2233
|
-
pcb_port_id:
|
|
2234
|
-
is_covered_with_solder_mask:
|
|
2235
|
-
soldermask_margin:
|
|
2236
|
-
soldermask_margin_left:
|
|
2237
|
-
soldermask_margin_top:
|
|
2238
|
-
soldermask_margin_right:
|
|
2239
|
-
soldermask_margin_bottom:
|
|
2240
|
-
solderpaste_margin:
|
|
2254
|
+
port_hints: z109.array(z109.string()).optional(),
|
|
2255
|
+
pcb_component_id: z109.string().optional(),
|
|
2256
|
+
pcb_port_id: z109.string().optional(),
|
|
2257
|
+
is_covered_with_solder_mask: z109.boolean().optional(),
|
|
2258
|
+
soldermask_margin: z109.number().optional(),
|
|
2259
|
+
soldermask_margin_left: z109.number().optional(),
|
|
2260
|
+
soldermask_margin_top: z109.number().optional(),
|
|
2261
|
+
soldermask_margin_right: z109.number().optional(),
|
|
2262
|
+
soldermask_margin_bottom: z109.number().optional(),
|
|
2263
|
+
solderpaste_margin: z109.number().optional()
|
|
2241
2264
|
});
|
|
2242
|
-
var pcb_smtpad_pill =
|
|
2243
|
-
type:
|
|
2244
|
-
shape:
|
|
2265
|
+
var pcb_smtpad_pill = z109.object({
|
|
2266
|
+
type: z109.literal("pcb_smtpad"),
|
|
2267
|
+
shape: z109.literal("pill"),
|
|
2245
2268
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
2246
|
-
pcb_group_id:
|
|
2247
|
-
subcircuit_id:
|
|
2269
|
+
pcb_group_id: z109.string().optional(),
|
|
2270
|
+
subcircuit_id: z109.string().optional(),
|
|
2248
2271
|
x: distance,
|
|
2249
2272
|
y: distance,
|
|
2250
|
-
width:
|
|
2251
|
-
height:
|
|
2252
|
-
radius:
|
|
2273
|
+
width: z109.number(),
|
|
2274
|
+
height: z109.number(),
|
|
2275
|
+
radius: z109.number(),
|
|
2253
2276
|
layer: layer_ref,
|
|
2254
|
-
port_hints:
|
|
2255
|
-
pcb_component_id:
|
|
2256
|
-
pcb_port_id:
|
|
2257
|
-
is_covered_with_solder_mask:
|
|
2258
|
-
soldermask_margin:
|
|
2259
|
-
solderpaste_margin:
|
|
2277
|
+
port_hints: z109.array(z109.string()).optional(),
|
|
2278
|
+
pcb_component_id: z109.string().optional(),
|
|
2279
|
+
pcb_port_id: z109.string().optional(),
|
|
2280
|
+
is_covered_with_solder_mask: z109.boolean().optional(),
|
|
2281
|
+
soldermask_margin: z109.number().optional(),
|
|
2282
|
+
solderpaste_margin: z109.number().optional()
|
|
2260
2283
|
});
|
|
2261
|
-
var pcb_smtpad_rotated_pill =
|
|
2262
|
-
type:
|
|
2263
|
-
shape:
|
|
2284
|
+
var pcb_smtpad_rotated_pill = z109.object({
|
|
2285
|
+
type: z109.literal("pcb_smtpad"),
|
|
2286
|
+
shape: z109.literal("rotated_pill"),
|
|
2264
2287
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
2265
|
-
pcb_group_id:
|
|
2266
|
-
subcircuit_id:
|
|
2288
|
+
pcb_group_id: z109.string().optional(),
|
|
2289
|
+
subcircuit_id: z109.string().optional(),
|
|
2267
2290
|
x: distance,
|
|
2268
2291
|
y: distance,
|
|
2269
|
-
width:
|
|
2270
|
-
height:
|
|
2271
|
-
radius:
|
|
2292
|
+
width: z109.number(),
|
|
2293
|
+
height: z109.number(),
|
|
2294
|
+
radius: z109.number(),
|
|
2272
2295
|
ccw_rotation: rotation,
|
|
2273
2296
|
layer: layer_ref,
|
|
2274
|
-
port_hints:
|
|
2275
|
-
pcb_component_id:
|
|
2276
|
-
pcb_port_id:
|
|
2277
|
-
is_covered_with_solder_mask:
|
|
2278
|
-
soldermask_margin:
|
|
2279
|
-
solderpaste_margin:
|
|
2297
|
+
port_hints: z109.array(z109.string()).optional(),
|
|
2298
|
+
pcb_component_id: z109.string().optional(),
|
|
2299
|
+
pcb_port_id: z109.string().optional(),
|
|
2300
|
+
is_covered_with_solder_mask: z109.boolean().optional(),
|
|
2301
|
+
soldermask_margin: z109.number().optional(),
|
|
2302
|
+
solderpaste_margin: z109.number().optional()
|
|
2280
2303
|
});
|
|
2281
|
-
var pcb_smtpad_polygon =
|
|
2282
|
-
type:
|
|
2283
|
-
shape:
|
|
2304
|
+
var pcb_smtpad_polygon = z109.object({
|
|
2305
|
+
type: z109.literal("pcb_smtpad"),
|
|
2306
|
+
shape: z109.literal("polygon"),
|
|
2284
2307
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
2285
|
-
pcb_group_id:
|
|
2286
|
-
subcircuit_id:
|
|
2287
|
-
points:
|
|
2308
|
+
pcb_group_id: z109.string().optional(),
|
|
2309
|
+
subcircuit_id: z109.string().optional(),
|
|
2310
|
+
points: z109.array(point),
|
|
2288
2311
|
layer: layer_ref,
|
|
2289
|
-
port_hints:
|
|
2290
|
-
pcb_component_id:
|
|
2291
|
-
pcb_port_id:
|
|
2292
|
-
is_covered_with_solder_mask:
|
|
2293
|
-
soldermask_margin:
|
|
2294
|
-
solderpaste_margin:
|
|
2312
|
+
port_hints: z109.array(z109.string()).optional(),
|
|
2313
|
+
pcb_component_id: z109.string().optional(),
|
|
2314
|
+
pcb_port_id: z109.string().optional(),
|
|
2315
|
+
is_covered_with_solder_mask: z109.boolean().optional(),
|
|
2316
|
+
soldermask_margin: z109.number().optional(),
|
|
2317
|
+
solderpaste_margin: z109.number().optional()
|
|
2295
2318
|
});
|
|
2296
|
-
var pcb_smtpad =
|
|
2319
|
+
var pcb_smtpad = z109.discriminatedUnion("shape", [
|
|
2297
2320
|
pcb_smtpad_circle,
|
|
2298
2321
|
pcb_smtpad_rect,
|
|
2299
2322
|
pcb_smtpad_rotated_rect,
|
|
@@ -2309,95 +2332,95 @@ expectTypesMatch(true);
|
|
|
2309
2332
|
expectTypesMatch(true);
|
|
2310
2333
|
|
|
2311
2334
|
// src/pcb/pcb_solder_paste.ts
|
|
2312
|
-
import { z as
|
|
2313
|
-
var pcb_solder_paste_circle =
|
|
2314
|
-
type:
|
|
2315
|
-
shape:
|
|
2335
|
+
import { z as z110 } from "zod";
|
|
2336
|
+
var pcb_solder_paste_circle = z110.object({
|
|
2337
|
+
type: z110.literal("pcb_solder_paste"),
|
|
2338
|
+
shape: z110.literal("circle"),
|
|
2316
2339
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2317
|
-
pcb_group_id:
|
|
2318
|
-
subcircuit_id:
|
|
2340
|
+
pcb_group_id: z110.string().optional(),
|
|
2341
|
+
subcircuit_id: z110.string().optional(),
|
|
2319
2342
|
x: distance,
|
|
2320
2343
|
y: distance,
|
|
2321
|
-
radius:
|
|
2344
|
+
radius: z110.number(),
|
|
2322
2345
|
layer: layer_ref,
|
|
2323
|
-
pcb_component_id:
|
|
2324
|
-
pcb_smtpad_id:
|
|
2346
|
+
pcb_component_id: z110.string().optional(),
|
|
2347
|
+
pcb_smtpad_id: z110.string().optional()
|
|
2325
2348
|
});
|
|
2326
|
-
var pcb_solder_paste_rect =
|
|
2327
|
-
type:
|
|
2328
|
-
shape:
|
|
2349
|
+
var pcb_solder_paste_rect = z110.object({
|
|
2350
|
+
type: z110.literal("pcb_solder_paste"),
|
|
2351
|
+
shape: z110.literal("rect"),
|
|
2329
2352
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2330
|
-
pcb_group_id:
|
|
2331
|
-
subcircuit_id:
|
|
2353
|
+
pcb_group_id: z110.string().optional(),
|
|
2354
|
+
subcircuit_id: z110.string().optional(),
|
|
2332
2355
|
x: distance,
|
|
2333
2356
|
y: distance,
|
|
2334
|
-
width:
|
|
2335
|
-
height:
|
|
2357
|
+
width: z110.number(),
|
|
2358
|
+
height: z110.number(),
|
|
2336
2359
|
layer: layer_ref,
|
|
2337
|
-
pcb_component_id:
|
|
2338
|
-
pcb_smtpad_id:
|
|
2360
|
+
pcb_component_id: z110.string().optional(),
|
|
2361
|
+
pcb_smtpad_id: z110.string().optional()
|
|
2339
2362
|
});
|
|
2340
|
-
var pcb_solder_paste_pill =
|
|
2341
|
-
type:
|
|
2342
|
-
shape:
|
|
2363
|
+
var pcb_solder_paste_pill = z110.object({
|
|
2364
|
+
type: z110.literal("pcb_solder_paste"),
|
|
2365
|
+
shape: z110.literal("pill"),
|
|
2343
2366
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2344
|
-
pcb_group_id:
|
|
2345
|
-
subcircuit_id:
|
|
2367
|
+
pcb_group_id: z110.string().optional(),
|
|
2368
|
+
subcircuit_id: z110.string().optional(),
|
|
2346
2369
|
x: distance,
|
|
2347
2370
|
y: distance,
|
|
2348
|
-
width:
|
|
2349
|
-
height:
|
|
2350
|
-
radius:
|
|
2371
|
+
width: z110.number(),
|
|
2372
|
+
height: z110.number(),
|
|
2373
|
+
radius: z110.number(),
|
|
2351
2374
|
layer: layer_ref,
|
|
2352
|
-
pcb_component_id:
|
|
2353
|
-
pcb_smtpad_id:
|
|
2375
|
+
pcb_component_id: z110.string().optional(),
|
|
2376
|
+
pcb_smtpad_id: z110.string().optional()
|
|
2354
2377
|
});
|
|
2355
|
-
var pcb_solder_paste_rotated_rect =
|
|
2356
|
-
type:
|
|
2357
|
-
shape:
|
|
2378
|
+
var pcb_solder_paste_rotated_rect = z110.object({
|
|
2379
|
+
type: z110.literal("pcb_solder_paste"),
|
|
2380
|
+
shape: z110.literal("rotated_rect"),
|
|
2358
2381
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2359
|
-
pcb_group_id:
|
|
2360
|
-
subcircuit_id:
|
|
2382
|
+
pcb_group_id: z110.string().optional(),
|
|
2383
|
+
subcircuit_id: z110.string().optional(),
|
|
2361
2384
|
x: distance,
|
|
2362
2385
|
y: distance,
|
|
2363
|
-
width:
|
|
2364
|
-
height:
|
|
2386
|
+
width: z110.number(),
|
|
2387
|
+
height: z110.number(),
|
|
2365
2388
|
ccw_rotation: distance,
|
|
2366
2389
|
layer: layer_ref,
|
|
2367
|
-
pcb_component_id:
|
|
2368
|
-
pcb_smtpad_id:
|
|
2390
|
+
pcb_component_id: z110.string().optional(),
|
|
2391
|
+
pcb_smtpad_id: z110.string().optional()
|
|
2369
2392
|
});
|
|
2370
|
-
var pcb_solder_paste_rotated_pill =
|
|
2371
|
-
type:
|
|
2372
|
-
shape:
|
|
2393
|
+
var pcb_solder_paste_rotated_pill = z110.object({
|
|
2394
|
+
type: z110.literal("pcb_solder_paste"),
|
|
2395
|
+
shape: z110.literal("rotated_pill"),
|
|
2373
2396
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2374
|
-
pcb_group_id:
|
|
2375
|
-
subcircuit_id:
|
|
2397
|
+
pcb_group_id: z110.string().optional(),
|
|
2398
|
+
subcircuit_id: z110.string().optional(),
|
|
2376
2399
|
x: distance,
|
|
2377
2400
|
y: distance,
|
|
2378
|
-
width:
|
|
2379
|
-
height:
|
|
2380
|
-
radius:
|
|
2401
|
+
width: z110.number(),
|
|
2402
|
+
height: z110.number(),
|
|
2403
|
+
radius: z110.number(),
|
|
2381
2404
|
ccw_rotation: rotation,
|
|
2382
2405
|
layer: layer_ref,
|
|
2383
|
-
pcb_component_id:
|
|
2384
|
-
pcb_smtpad_id:
|
|
2406
|
+
pcb_component_id: z110.string().optional(),
|
|
2407
|
+
pcb_smtpad_id: z110.string().optional()
|
|
2385
2408
|
});
|
|
2386
|
-
var pcb_solder_paste_oval =
|
|
2387
|
-
type:
|
|
2388
|
-
shape:
|
|
2409
|
+
var pcb_solder_paste_oval = z110.object({
|
|
2410
|
+
type: z110.literal("pcb_solder_paste"),
|
|
2411
|
+
shape: z110.literal("oval"),
|
|
2389
2412
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2390
|
-
pcb_group_id:
|
|
2391
|
-
subcircuit_id:
|
|
2413
|
+
pcb_group_id: z110.string().optional(),
|
|
2414
|
+
subcircuit_id: z110.string().optional(),
|
|
2392
2415
|
x: distance,
|
|
2393
2416
|
y: distance,
|
|
2394
|
-
width:
|
|
2395
|
-
height:
|
|
2417
|
+
width: z110.number(),
|
|
2418
|
+
height: z110.number(),
|
|
2396
2419
|
layer: layer_ref,
|
|
2397
|
-
pcb_component_id:
|
|
2398
|
-
pcb_smtpad_id:
|
|
2420
|
+
pcb_component_id: z110.string().optional(),
|
|
2421
|
+
pcb_smtpad_id: z110.string().optional()
|
|
2399
2422
|
});
|
|
2400
|
-
var pcb_solder_paste =
|
|
2423
|
+
var pcb_solder_paste = z110.union([
|
|
2401
2424
|
pcb_solder_paste_circle,
|
|
2402
2425
|
pcb_solder_paste_rect,
|
|
2403
2426
|
pcb_solder_paste_pill,
|
|
@@ -2417,213 +2440,213 @@ expectTypesMatch(
|
|
|
2417
2440
|
expectTypesMatch(true);
|
|
2418
2441
|
|
|
2419
2442
|
// src/pcb/pcb_text.ts
|
|
2420
|
-
import { z as
|
|
2421
|
-
var pcb_text =
|
|
2422
|
-
type:
|
|
2443
|
+
import { z as z111 } from "zod";
|
|
2444
|
+
var pcb_text = z111.object({
|
|
2445
|
+
type: z111.literal("pcb_text"),
|
|
2423
2446
|
pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
|
|
2424
|
-
pcb_group_id:
|
|
2425
|
-
subcircuit_id:
|
|
2426
|
-
text:
|
|
2447
|
+
pcb_group_id: z111.string().optional(),
|
|
2448
|
+
subcircuit_id: z111.string().optional(),
|
|
2449
|
+
text: z111.string(),
|
|
2427
2450
|
center: point,
|
|
2428
2451
|
layer: layer_ref,
|
|
2429
2452
|
width: length,
|
|
2430
2453
|
height: length,
|
|
2431
|
-
lines:
|
|
2454
|
+
lines: z111.number(),
|
|
2432
2455
|
// @ts-ignore
|
|
2433
|
-
align:
|
|
2456
|
+
align: z111.enum(["bottom-left"])
|
|
2434
2457
|
}).describe("Defines text on the PCB");
|
|
2435
2458
|
expectTypesMatch(true);
|
|
2436
2459
|
|
|
2437
2460
|
// src/pcb/pcb_trace.ts
|
|
2438
|
-
import { z as
|
|
2439
|
-
var pcb_trace_route_point_wire =
|
|
2440
|
-
route_type:
|
|
2461
|
+
import { z as z112 } from "zod";
|
|
2462
|
+
var pcb_trace_route_point_wire = z112.object({
|
|
2463
|
+
route_type: z112.literal("wire"),
|
|
2441
2464
|
x: distance,
|
|
2442
2465
|
y: distance,
|
|
2443
2466
|
width: distance,
|
|
2444
|
-
copper_pour_id:
|
|
2445
|
-
is_inside_copper_pour:
|
|
2446
|
-
start_pcb_port_id:
|
|
2447
|
-
end_pcb_port_id:
|
|
2467
|
+
copper_pour_id: z112.string().optional(),
|
|
2468
|
+
is_inside_copper_pour: z112.boolean().optional(),
|
|
2469
|
+
start_pcb_port_id: z112.string().optional(),
|
|
2470
|
+
end_pcb_port_id: z112.string().optional(),
|
|
2448
2471
|
layer: layer_ref
|
|
2449
2472
|
});
|
|
2450
|
-
var pcb_trace_route_point_via =
|
|
2451
|
-
route_type:
|
|
2473
|
+
var pcb_trace_route_point_via = z112.object({
|
|
2474
|
+
route_type: z112.literal("via"),
|
|
2452
2475
|
x: distance,
|
|
2453
2476
|
y: distance,
|
|
2454
|
-
copper_pour_id:
|
|
2455
|
-
is_inside_copper_pour:
|
|
2477
|
+
copper_pour_id: z112.string().optional(),
|
|
2478
|
+
is_inside_copper_pour: z112.boolean().optional(),
|
|
2456
2479
|
hole_diameter: distance.optional(),
|
|
2457
2480
|
outer_diameter: distance.optional(),
|
|
2458
2481
|
from_layer: layer_ref,
|
|
2459
2482
|
to_layer: layer_ref
|
|
2460
2483
|
});
|
|
2461
|
-
var pcb_trace_route_point_through_pad =
|
|
2462
|
-
route_type:
|
|
2484
|
+
var pcb_trace_route_point_through_pad = z112.object({
|
|
2485
|
+
route_type: z112.literal("through_pad"),
|
|
2463
2486
|
start: point,
|
|
2464
2487
|
end: point,
|
|
2465
2488
|
width: distance,
|
|
2466
2489
|
start_layer: layer_ref,
|
|
2467
2490
|
end_layer: layer_ref,
|
|
2468
|
-
pcb_smtpad_id:
|
|
2469
|
-
pcb_plated_hole_id:
|
|
2491
|
+
pcb_smtpad_id: z112.string().optional(),
|
|
2492
|
+
pcb_plated_hole_id: z112.string().optional()
|
|
2470
2493
|
});
|
|
2471
|
-
var pcb_trace_route_point =
|
|
2494
|
+
var pcb_trace_route_point = z112.union([
|
|
2472
2495
|
pcb_trace_route_point_wire,
|
|
2473
2496
|
pcb_trace_route_point_via,
|
|
2474
2497
|
pcb_trace_route_point_through_pad
|
|
2475
2498
|
]);
|
|
2476
|
-
var pcb_trace =
|
|
2477
|
-
type:
|
|
2478
|
-
source_trace_id:
|
|
2479
|
-
pcb_component_id:
|
|
2499
|
+
var pcb_trace = z112.object({
|
|
2500
|
+
type: z112.literal("pcb_trace"),
|
|
2501
|
+
source_trace_id: z112.string().optional(),
|
|
2502
|
+
pcb_component_id: z112.string().optional(),
|
|
2480
2503
|
pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
|
|
2481
|
-
pcb_group_id:
|
|
2482
|
-
subcircuit_id:
|
|
2483
|
-
route_thickness_mode:
|
|
2484
|
-
route_order_index:
|
|
2485
|
-
should_round_corners:
|
|
2486
|
-
trace_length:
|
|
2487
|
-
highlight_color:
|
|
2488
|
-
route:
|
|
2504
|
+
pcb_group_id: z112.string().optional(),
|
|
2505
|
+
subcircuit_id: z112.string().optional(),
|
|
2506
|
+
route_thickness_mode: z112.enum(["constant", "interpolated"]).default("constant").optional(),
|
|
2507
|
+
route_order_index: z112.number().optional(),
|
|
2508
|
+
should_round_corners: z112.boolean().optional(),
|
|
2509
|
+
trace_length: z112.number().optional(),
|
|
2510
|
+
highlight_color: z112.string().optional(),
|
|
2511
|
+
route: z112.array(pcb_trace_route_point)
|
|
2489
2512
|
}).describe("Defines a trace on the PCB");
|
|
2490
2513
|
expectTypesMatch(true);
|
|
2491
2514
|
expectTypesMatch(true);
|
|
2492
2515
|
|
|
2493
2516
|
// src/pcb/pcb_trace_warning.ts
|
|
2494
|
-
import { z as
|
|
2495
|
-
var pcb_trace_warning =
|
|
2496
|
-
type:
|
|
2517
|
+
import { z as z113 } from "zod";
|
|
2518
|
+
var pcb_trace_warning = z113.object({
|
|
2519
|
+
type: z113.literal("pcb_trace_warning"),
|
|
2497
2520
|
pcb_trace_warning_id: getZodPrefixedIdWithDefault("pcb_trace_warning"),
|
|
2498
|
-
warning_type:
|
|
2499
|
-
message:
|
|
2521
|
+
warning_type: z113.literal("pcb_trace_warning").default("pcb_trace_warning"),
|
|
2522
|
+
message: z113.string(),
|
|
2500
2523
|
center: point.optional(),
|
|
2501
|
-
pcb_trace_id:
|
|
2502
|
-
source_trace_id:
|
|
2503
|
-
pcb_component_ids:
|
|
2504
|
-
pcb_port_ids:
|
|
2505
|
-
subcircuit_id:
|
|
2524
|
+
pcb_trace_id: z113.string(),
|
|
2525
|
+
source_trace_id: z113.string(),
|
|
2526
|
+
pcb_component_ids: z113.array(z113.string()),
|
|
2527
|
+
pcb_port_ids: z113.array(z113.string()),
|
|
2528
|
+
subcircuit_id: z113.string().optional()
|
|
2506
2529
|
}).describe("Defines a trace warning on the PCB");
|
|
2507
2530
|
expectTypesMatch(true);
|
|
2508
2531
|
|
|
2509
2532
|
// src/pcb/pcb_trace_too_long_warning.ts
|
|
2510
|
-
import { z as
|
|
2511
|
-
var pcb_trace_too_long_warning =
|
|
2512
|
-
type:
|
|
2533
|
+
import { z as z114 } from "zod";
|
|
2534
|
+
var pcb_trace_too_long_warning = z114.object({
|
|
2535
|
+
type: z114.literal("pcb_trace_too_long_warning"),
|
|
2513
2536
|
pcb_trace_too_long_warning_id: getZodPrefixedIdWithDefault(
|
|
2514
2537
|
"pcb_trace_too_long_warning"
|
|
2515
2538
|
),
|
|
2516
|
-
warning_type:
|
|
2517
|
-
message:
|
|
2518
|
-
pcb_trace_id:
|
|
2519
|
-
source_net_id:
|
|
2520
|
-
source_trace_id:
|
|
2539
|
+
warning_type: z114.literal("pcb_trace_too_long_warning").default("pcb_trace_too_long_warning"),
|
|
2540
|
+
message: z114.string(),
|
|
2541
|
+
pcb_trace_id: z114.string(),
|
|
2542
|
+
source_net_id: z114.string().optional(),
|
|
2543
|
+
source_trace_id: z114.string().optional(),
|
|
2521
2544
|
actual_trace_length: distance,
|
|
2522
2545
|
maximum_trace_length: distance,
|
|
2523
|
-
subcircuit_id:
|
|
2546
|
+
subcircuit_id: z114.string().optional()
|
|
2524
2547
|
}).describe(
|
|
2525
2548
|
"Warning emitted when a PCB trace is longer than its maximum allowed length"
|
|
2526
2549
|
);
|
|
2527
2550
|
expectTypesMatch(true);
|
|
2528
2551
|
|
|
2529
2552
|
// src/pcb/pcb_trace_too_many_vias_warning.ts
|
|
2530
|
-
import { z as
|
|
2531
|
-
var pcb_trace_too_many_vias_warning =
|
|
2532
|
-
type:
|
|
2553
|
+
import { z as z115 } from "zod";
|
|
2554
|
+
var pcb_trace_too_many_vias_warning = z115.object({
|
|
2555
|
+
type: z115.literal("pcb_trace_too_many_vias_warning"),
|
|
2533
2556
|
pcb_trace_too_many_vias_warning_id: getZodPrefixedIdWithDefault(
|
|
2534
2557
|
"pcb_trace_too_many_vias_warning"
|
|
2535
2558
|
),
|
|
2536
|
-
warning_type:
|
|
2537
|
-
message:
|
|
2538
|
-
pcb_trace_id:
|
|
2539
|
-
source_net_id:
|
|
2540
|
-
source_trace_id:
|
|
2541
|
-
actual_via_count:
|
|
2542
|
-
maximum_via_count:
|
|
2543
|
-
subcircuit_id:
|
|
2559
|
+
warning_type: z115.literal("pcb_trace_too_many_vias_warning").default("pcb_trace_too_many_vias_warning"),
|
|
2560
|
+
message: z115.string(),
|
|
2561
|
+
pcb_trace_id: z115.string(),
|
|
2562
|
+
source_net_id: z115.string().optional(),
|
|
2563
|
+
source_trace_id: z115.string().optional(),
|
|
2564
|
+
actual_via_count: z115.number().int().nonnegative(),
|
|
2565
|
+
maximum_via_count: z115.number().int().nonnegative(),
|
|
2566
|
+
subcircuit_id: z115.string().optional()
|
|
2544
2567
|
}).describe(
|
|
2545
2568
|
"Warning emitted when a PCB trace has more vias than its maximum allowed count"
|
|
2546
2569
|
);
|
|
2547
2570
|
expectTypesMatch(true);
|
|
2548
2571
|
|
|
2549
2572
|
// src/pcb/pcb_trace_error.ts
|
|
2550
|
-
import { z as
|
|
2573
|
+
import { z as z116 } from "zod";
|
|
2551
2574
|
var pcb_trace_error = base_circuit_json_error.extend({
|
|
2552
|
-
type:
|
|
2575
|
+
type: z116.literal("pcb_trace_error"),
|
|
2553
2576
|
pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
|
|
2554
|
-
error_type:
|
|
2577
|
+
error_type: z116.literal("pcb_trace_error").default("pcb_trace_error"),
|
|
2555
2578
|
center: point.optional(),
|
|
2556
|
-
pcb_trace_id:
|
|
2557
|
-
source_trace_id:
|
|
2558
|
-
pcb_component_ids:
|
|
2559
|
-
pcb_port_ids:
|
|
2560
|
-
subcircuit_id:
|
|
2579
|
+
pcb_trace_id: z116.string(),
|
|
2580
|
+
source_trace_id: z116.string(),
|
|
2581
|
+
pcb_component_ids: z116.array(z116.string()),
|
|
2582
|
+
pcb_port_ids: z116.array(z116.string()),
|
|
2583
|
+
subcircuit_id: z116.string().optional()
|
|
2561
2584
|
}).describe("Defines a trace error on the PCB");
|
|
2562
2585
|
expectTypesMatch(true);
|
|
2563
2586
|
|
|
2564
2587
|
// src/pcb/pcb_trace_missing_error.ts
|
|
2565
|
-
import { z as
|
|
2588
|
+
import { z as z117 } from "zod";
|
|
2566
2589
|
var pcb_trace_missing_error = base_circuit_json_error.extend({
|
|
2567
|
-
type:
|
|
2590
|
+
type: z117.literal("pcb_trace_missing_error"),
|
|
2568
2591
|
pcb_trace_missing_error_id: getZodPrefixedIdWithDefault(
|
|
2569
|
-
"pcb_trace_missing_error"
|
|
2570
|
-
),
|
|
2571
|
-
error_type:
|
|
2572
|
-
center: point.optional(),
|
|
2573
|
-
source_trace_id:
|
|
2574
|
-
pcb_component_ids:
|
|
2575
|
-
pcb_port_ids:
|
|
2576
|
-
subcircuit_id:
|
|
2592
|
+
"pcb_trace_missing_error"
|
|
2593
|
+
),
|
|
2594
|
+
error_type: z117.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
|
|
2595
|
+
center: point.optional(),
|
|
2596
|
+
source_trace_id: z117.string(),
|
|
2597
|
+
pcb_component_ids: z117.array(z117.string()),
|
|
2598
|
+
pcb_port_ids: z117.array(z117.string()),
|
|
2599
|
+
subcircuit_id: z117.string().optional()
|
|
2577
2600
|
}).describe(
|
|
2578
2601
|
"Defines an error when a source trace has no corresponding PCB trace"
|
|
2579
2602
|
);
|
|
2580
2603
|
expectTypesMatch(true);
|
|
2581
2604
|
|
|
2582
2605
|
// src/pcb/pcb_port_not_matched_error.ts
|
|
2583
|
-
import { z as
|
|
2606
|
+
import { z as z118 } from "zod";
|
|
2584
2607
|
var pcb_port_not_matched_error = base_circuit_json_error.extend({
|
|
2585
|
-
type:
|
|
2608
|
+
type: z118.literal("pcb_port_not_matched_error"),
|
|
2586
2609
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
2587
|
-
error_type:
|
|
2588
|
-
pcb_component_ids:
|
|
2589
|
-
subcircuit_id:
|
|
2610
|
+
error_type: z118.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
|
|
2611
|
+
pcb_component_ids: z118.array(z118.string()),
|
|
2612
|
+
subcircuit_id: z118.string().optional()
|
|
2590
2613
|
}).describe("Defines a trace error on the PCB where a port is not matched");
|
|
2591
2614
|
expectTypesMatch(true);
|
|
2592
2615
|
|
|
2593
2616
|
// src/pcb/pcb_port_not_connected_error.ts
|
|
2594
|
-
import { z as
|
|
2617
|
+
import { z as z119 } from "zod";
|
|
2595
2618
|
var pcb_port_not_connected_error = base_circuit_json_error.extend({
|
|
2596
|
-
type:
|
|
2619
|
+
type: z119.literal("pcb_port_not_connected_error"),
|
|
2597
2620
|
pcb_port_not_connected_error_id: getZodPrefixedIdWithDefault(
|
|
2598
2621
|
"pcb_port_not_connected_error"
|
|
2599
2622
|
),
|
|
2600
|
-
error_type:
|
|
2601
|
-
pcb_port_ids:
|
|
2602
|
-
pcb_component_ids:
|
|
2603
|
-
subcircuit_id:
|
|
2623
|
+
error_type: z119.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
|
|
2624
|
+
pcb_port_ids: z119.array(z119.string()),
|
|
2625
|
+
pcb_component_ids: z119.array(z119.string()),
|
|
2626
|
+
subcircuit_id: z119.string().optional()
|
|
2604
2627
|
}).describe("Defines an error when a pcb port is not connected to any trace");
|
|
2605
2628
|
expectTypesMatch(
|
|
2606
2629
|
true
|
|
2607
2630
|
);
|
|
2608
2631
|
|
|
2609
2632
|
// src/pcb/pcb_net.ts
|
|
2610
|
-
import { z as
|
|
2611
|
-
var pcb_net =
|
|
2612
|
-
type:
|
|
2633
|
+
import { z as z120 } from "zod";
|
|
2634
|
+
var pcb_net = z120.object({
|
|
2635
|
+
type: z120.literal("pcb_net"),
|
|
2613
2636
|
pcb_net_id: getZodPrefixedIdWithDefault("pcb_net"),
|
|
2614
|
-
source_net_id:
|
|
2615
|
-
highlight_color:
|
|
2637
|
+
source_net_id: z120.string().optional(),
|
|
2638
|
+
highlight_color: z120.string().optional()
|
|
2616
2639
|
}).describe("Defines a net on the PCB");
|
|
2617
2640
|
expectTypesMatch(true);
|
|
2618
2641
|
|
|
2619
2642
|
// src/pcb/pcb_via.ts
|
|
2620
|
-
import { z as
|
|
2621
|
-
var pcb_via =
|
|
2622
|
-
type:
|
|
2643
|
+
import { z as z121 } from "zod";
|
|
2644
|
+
var pcb_via = z121.object({
|
|
2645
|
+
type: z121.literal("pcb_via"),
|
|
2623
2646
|
pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
|
|
2624
|
-
pcb_group_id:
|
|
2625
|
-
subcircuit_id:
|
|
2626
|
-
subcircuit_connectivity_map_key:
|
|
2647
|
+
pcb_group_id: z121.string().optional(),
|
|
2648
|
+
subcircuit_id: z121.string().optional(),
|
|
2649
|
+
subcircuit_connectivity_map_key: z121.string().optional(),
|
|
2627
2650
|
x: distance,
|
|
2628
2651
|
y: distance,
|
|
2629
2652
|
outer_diameter: distance.default("0.6mm"),
|
|
@@ -2632,120 +2655,120 @@ var pcb_via = z120.object({
|
|
|
2632
2655
|
from_layer: layer_ref.optional(),
|
|
2633
2656
|
/** @deprecated */
|
|
2634
2657
|
to_layer: layer_ref.optional(),
|
|
2635
|
-
layers:
|
|
2636
|
-
pcb_trace_id:
|
|
2637
|
-
source_trace_id:
|
|
2638
|
-
source_net_id:
|
|
2639
|
-
net_is_assignable:
|
|
2640
|
-
net_assigned:
|
|
2641
|
-
is_tented:
|
|
2658
|
+
layers: z121.array(layer_ref),
|
|
2659
|
+
pcb_trace_id: z121.string().optional(),
|
|
2660
|
+
source_trace_id: z121.string().optional(),
|
|
2661
|
+
source_net_id: z121.string().min(1).optional(),
|
|
2662
|
+
net_is_assignable: z121.boolean().optional(),
|
|
2663
|
+
net_assigned: z121.boolean().optional(),
|
|
2664
|
+
is_tented: z121.boolean().optional()
|
|
2642
2665
|
}).describe("Defines a via on the PCB");
|
|
2643
2666
|
expectTypesMatch(true);
|
|
2644
2667
|
|
|
2645
2668
|
// src/pcb/pcb_board.ts
|
|
2646
|
-
import { z as
|
|
2647
|
-
var pcb_board =
|
|
2648
|
-
type:
|
|
2669
|
+
import { z as z122 } from "zod";
|
|
2670
|
+
var pcb_board = z122.object({
|
|
2671
|
+
type: z122.literal("pcb_board"),
|
|
2649
2672
|
pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
|
|
2650
|
-
pcb_panel_id:
|
|
2651
|
-
carrier_pcb_board_id:
|
|
2652
|
-
is_subcircuit:
|
|
2653
|
-
subcircuit_id:
|
|
2654
|
-
is_mounted_to_carrier_board:
|
|
2655
|
-
is_via_in_pad_allowed:
|
|
2673
|
+
pcb_panel_id: z122.string().optional(),
|
|
2674
|
+
carrier_pcb_board_id: z122.string().optional(),
|
|
2675
|
+
is_subcircuit: z122.boolean().optional(),
|
|
2676
|
+
subcircuit_id: z122.string().optional(),
|
|
2677
|
+
is_mounted_to_carrier_board: z122.boolean().optional(),
|
|
2678
|
+
is_via_in_pad_allowed: z122.boolean().optional(),
|
|
2656
2679
|
width: length.optional(),
|
|
2657
2680
|
height: length.optional(),
|
|
2658
2681
|
center: point,
|
|
2659
|
-
display_offset_x:
|
|
2682
|
+
display_offset_x: z122.string().optional().describe(
|
|
2660
2683
|
"How to display the x offset for this board, usually corresponding with how the user specified it"
|
|
2661
2684
|
),
|
|
2662
|
-
display_offset_y:
|
|
2685
|
+
display_offset_y: z122.string().optional().describe(
|
|
2663
2686
|
"How to display the y offset for this board, usually corresponding with how the user specified it"
|
|
2664
2687
|
),
|
|
2665
2688
|
thickness: length.optional().default(1.4),
|
|
2666
|
-
num_layers:
|
|
2667
|
-
allow_blind_and_buried_vias:
|
|
2689
|
+
num_layers: z122.number().optional().default(4),
|
|
2690
|
+
allow_blind_and_buried_vias: z122.boolean().optional().describe(
|
|
2668
2691
|
"Whether autorouters may generate blind and buried vias. False restricts newly generated vias to the full board stack."
|
|
2669
2692
|
),
|
|
2670
|
-
outline:
|
|
2671
|
-
shape:
|
|
2672
|
-
material:
|
|
2673
|
-
solder_mask_color:
|
|
2674
|
-
silkscreen_color:
|
|
2693
|
+
outline: z122.array(point).optional(),
|
|
2694
|
+
shape: z122.enum(["rect", "polygon"]).optional(),
|
|
2695
|
+
material: z122.enum(["fr4", "fr1"]).default("fr4"),
|
|
2696
|
+
solder_mask_color: z122.string().optional(),
|
|
2697
|
+
silkscreen_color: z122.string().optional(),
|
|
2675
2698
|
anchor_position: point.optional(),
|
|
2676
2699
|
anchor_alignment: ninePointAnchor.optional(),
|
|
2677
|
-
position_mode:
|
|
2700
|
+
position_mode: z122.enum(["relative_to_panel_anchor", "none"]).optional()
|
|
2678
2701
|
}).merge(manufacturing_drc_properties).describe("Defines the board outline of the PCB");
|
|
2679
2702
|
expectTypesMatch(true);
|
|
2680
2703
|
|
|
2681
2704
|
// src/pcb/pcb_panel.ts
|
|
2682
|
-
import { z as
|
|
2683
|
-
var pcb_panel =
|
|
2684
|
-
type:
|
|
2705
|
+
import { z as z123 } from "zod";
|
|
2706
|
+
var pcb_panel = z123.object({
|
|
2707
|
+
type: z123.literal("pcb_panel"),
|
|
2685
2708
|
pcb_panel_id: getZodPrefixedIdWithDefault("pcb_panel"),
|
|
2686
2709
|
width: length,
|
|
2687
2710
|
height: length,
|
|
2688
2711
|
center: point,
|
|
2689
2712
|
thickness: length.optional().default(1.4),
|
|
2690
|
-
covered_with_solder_mask:
|
|
2713
|
+
covered_with_solder_mask: z123.boolean().optional().default(true)
|
|
2691
2714
|
}).describe("Defines a PCB panel that can contain multiple boards");
|
|
2692
2715
|
expectTypesMatch(true);
|
|
2693
2716
|
|
|
2694
2717
|
// src/pcb/pcb_placement_error.ts
|
|
2695
|
-
import { z as
|
|
2718
|
+
import { z as z124 } from "zod";
|
|
2696
2719
|
var pcb_placement_error = base_circuit_json_error.extend({
|
|
2697
|
-
type:
|
|
2720
|
+
type: z124.literal("pcb_placement_error"),
|
|
2698
2721
|
pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
|
|
2699
|
-
error_type:
|
|
2700
|
-
subcircuit_id:
|
|
2722
|
+
error_type: z124.literal("pcb_placement_error").default("pcb_placement_error"),
|
|
2723
|
+
subcircuit_id: z124.string().optional()
|
|
2701
2724
|
}).describe("Defines a placement error on the PCB");
|
|
2702
2725
|
expectTypesMatch(true);
|
|
2703
2726
|
|
|
2704
2727
|
// src/pcb/pcb_packing_error.ts
|
|
2705
|
-
import { z as
|
|
2728
|
+
import { z as z125 } from "zod";
|
|
2706
2729
|
var pcb_packing_error = base_circuit_json_error.extend({
|
|
2707
|
-
type:
|
|
2730
|
+
type: z125.literal("pcb_packing_error"),
|
|
2708
2731
|
pcb_packing_error_id: getZodPrefixedIdWithDefault("pcb_packing_error"),
|
|
2709
|
-
error_type:
|
|
2710
|
-
pcb_group_id:
|
|
2711
|
-
subcircuit_id:
|
|
2732
|
+
error_type: z125.literal("pcb_packing_error").default("pcb_packing_error"),
|
|
2733
|
+
pcb_group_id: z125.string().optional(),
|
|
2734
|
+
subcircuit_id: z125.string().optional()
|
|
2712
2735
|
}).describe("Defines a failure to pack PCB components within layout bounds");
|
|
2713
2736
|
expectTypesMatch(true);
|
|
2714
2737
|
|
|
2715
2738
|
// src/pcb/pcb_panelization_placement_error.ts
|
|
2716
|
-
import { z as
|
|
2739
|
+
import { z as z126 } from "zod";
|
|
2717
2740
|
var pcb_panelization_placement_error = base_circuit_json_error.extend({
|
|
2718
|
-
type:
|
|
2741
|
+
type: z126.literal("pcb_panelization_placement_error"),
|
|
2719
2742
|
pcb_panelization_placement_error_id: getZodPrefixedIdWithDefault(
|
|
2720
2743
|
"pcb_panelization_placement_error"
|
|
2721
2744
|
),
|
|
2722
|
-
error_type:
|
|
2723
|
-
pcb_panel_id:
|
|
2724
|
-
pcb_board_id:
|
|
2725
|
-
subcircuit_id:
|
|
2745
|
+
error_type: z126.literal("pcb_panelization_placement_error").default("pcb_panelization_placement_error"),
|
|
2746
|
+
pcb_panel_id: z126.string().optional(),
|
|
2747
|
+
pcb_board_id: z126.string().optional(),
|
|
2748
|
+
subcircuit_id: z126.string().optional()
|
|
2726
2749
|
}).describe("Defines a panelization placement error on the PCB");
|
|
2727
2750
|
expectTypesMatch(true);
|
|
2728
2751
|
|
|
2729
2752
|
// src/pcb/pcb_trace_hint.ts
|
|
2730
|
-
import { z as
|
|
2731
|
-
var pcb_trace_hint =
|
|
2732
|
-
type:
|
|
2753
|
+
import { z as z127 } from "zod";
|
|
2754
|
+
var pcb_trace_hint = z127.object({
|
|
2755
|
+
type: z127.literal("pcb_trace_hint"),
|
|
2733
2756
|
pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
|
|
2734
|
-
pcb_port_id:
|
|
2735
|
-
pcb_component_id:
|
|
2736
|
-
route:
|
|
2737
|
-
subcircuit_id:
|
|
2757
|
+
pcb_port_id: z127.string(),
|
|
2758
|
+
pcb_component_id: z127.string(),
|
|
2759
|
+
route: z127.array(route_hint_point),
|
|
2760
|
+
subcircuit_id: z127.string().optional()
|
|
2738
2761
|
}).describe("A hint that can be used during generation of a PCB trace");
|
|
2739
2762
|
expectTypesMatch(true);
|
|
2740
2763
|
|
|
2741
2764
|
// src/pcb/pcb_silkscreen_line.ts
|
|
2742
|
-
import { z as
|
|
2743
|
-
var pcb_silkscreen_line =
|
|
2744
|
-
type:
|
|
2765
|
+
import { z as z128 } from "zod";
|
|
2766
|
+
var pcb_silkscreen_line = z128.object({
|
|
2767
|
+
type: z128.literal("pcb_silkscreen_line"),
|
|
2745
2768
|
pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
|
|
2746
|
-
pcb_component_id:
|
|
2747
|
-
pcb_group_id:
|
|
2748
|
-
subcircuit_id:
|
|
2769
|
+
pcb_component_id: z128.string(),
|
|
2770
|
+
pcb_group_id: z128.string().optional(),
|
|
2771
|
+
subcircuit_id: z128.string().optional(),
|
|
2749
2772
|
stroke_width: distance.default("0.1mm"),
|
|
2750
2773
|
x1: distance,
|
|
2751
2774
|
y1: distance,
|
|
@@ -2756,32 +2779,32 @@ var pcb_silkscreen_line = z127.object({
|
|
|
2756
2779
|
expectTypesMatch(true);
|
|
2757
2780
|
|
|
2758
2781
|
// src/pcb/pcb_silkscreen_path.ts
|
|
2759
|
-
import { z as
|
|
2760
|
-
var pcb_silkscreen_path =
|
|
2761
|
-
type:
|
|
2782
|
+
import { z as z129 } from "zod";
|
|
2783
|
+
var pcb_silkscreen_path = z129.object({
|
|
2784
|
+
type: z129.literal("pcb_silkscreen_path"),
|
|
2762
2785
|
pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
|
|
2763
|
-
pcb_component_id:
|
|
2764
|
-
pcb_group_id:
|
|
2765
|
-
subcircuit_id:
|
|
2786
|
+
pcb_component_id: z129.string(),
|
|
2787
|
+
pcb_group_id: z129.string().optional(),
|
|
2788
|
+
subcircuit_id: z129.string().optional(),
|
|
2766
2789
|
layer: visible_layer,
|
|
2767
|
-
route:
|
|
2790
|
+
route: z129.array(point),
|
|
2768
2791
|
stroke_width: length
|
|
2769
2792
|
}).describe("Defines a silkscreen path on the PCB");
|
|
2770
2793
|
expectTypesMatch(true);
|
|
2771
2794
|
|
|
2772
2795
|
// src/pcb/pcb_silkscreen_text.ts
|
|
2773
|
-
import { z as
|
|
2774
|
-
var pcb_silkscreen_text =
|
|
2775
|
-
type:
|
|
2796
|
+
import { z as z130 } from "zod";
|
|
2797
|
+
var pcb_silkscreen_text = z130.object({
|
|
2798
|
+
type: z130.literal("pcb_silkscreen_text"),
|
|
2776
2799
|
pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
|
|
2777
|
-
pcb_group_id:
|
|
2778
|
-
subcircuit_id:
|
|
2779
|
-
font:
|
|
2800
|
+
pcb_group_id: z130.string().optional(),
|
|
2801
|
+
subcircuit_id: z130.string().optional(),
|
|
2802
|
+
font: z130.literal("tscircuit2024").default("tscircuit2024"),
|
|
2780
2803
|
font_size: distance.default("0.2mm"),
|
|
2781
|
-
pcb_component_id:
|
|
2782
|
-
text:
|
|
2783
|
-
is_knockout:
|
|
2784
|
-
knockout_padding:
|
|
2804
|
+
pcb_component_id: z130.string(),
|
|
2805
|
+
text: z130.string(),
|
|
2806
|
+
is_knockout: z130.boolean().default(false).optional(),
|
|
2807
|
+
knockout_padding: z130.object({
|
|
2785
2808
|
left: length,
|
|
2786
2809
|
top: length,
|
|
2787
2810
|
bottom: length,
|
|
@@ -2792,27 +2815,27 @@ var pcb_silkscreen_text = z129.object({
|
|
|
2792
2815
|
bottom: "0.2mm",
|
|
2793
2816
|
right: "0.2mm"
|
|
2794
2817
|
}).optional(),
|
|
2795
|
-
ccw_rotation:
|
|
2818
|
+
ccw_rotation: z130.number().optional(),
|
|
2796
2819
|
layer: layer_ref,
|
|
2797
|
-
is_mirrored:
|
|
2820
|
+
is_mirrored: z130.boolean().default(false).optional(),
|
|
2798
2821
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2799
2822
|
anchor_alignment: ninePointAnchor.default("center")
|
|
2800
2823
|
}).describe("Defines silkscreen text on the PCB");
|
|
2801
2824
|
expectTypesMatch(true);
|
|
2802
2825
|
|
|
2803
2826
|
// src/pcb/pcb_copper_text.ts
|
|
2804
|
-
import { z as
|
|
2805
|
-
var pcb_copper_text =
|
|
2806
|
-
type:
|
|
2827
|
+
import { z as z131 } from "zod";
|
|
2828
|
+
var pcb_copper_text = z131.object({
|
|
2829
|
+
type: z131.literal("pcb_copper_text"),
|
|
2807
2830
|
pcb_copper_text_id: getZodPrefixedIdWithDefault("pcb_copper_text"),
|
|
2808
|
-
pcb_group_id:
|
|
2809
|
-
subcircuit_id:
|
|
2810
|
-
font:
|
|
2831
|
+
pcb_group_id: z131.string().optional(),
|
|
2832
|
+
subcircuit_id: z131.string().optional(),
|
|
2833
|
+
font: z131.literal("tscircuit2024").default("tscircuit2024"),
|
|
2811
2834
|
font_size: distance.default("0.2mm"),
|
|
2812
|
-
pcb_component_id:
|
|
2813
|
-
text:
|
|
2814
|
-
is_knockout:
|
|
2815
|
-
knockout_padding:
|
|
2835
|
+
pcb_component_id: z131.string(),
|
|
2836
|
+
text: z131.string(),
|
|
2837
|
+
is_knockout: z131.boolean().default(false).optional(),
|
|
2838
|
+
knockout_padding: z131.object({
|
|
2816
2839
|
left: length,
|
|
2817
2840
|
top: length,
|
|
2818
2841
|
bottom: length,
|
|
@@ -2823,61 +2846,61 @@ var pcb_copper_text = z130.object({
|
|
|
2823
2846
|
bottom: "0.2mm",
|
|
2824
2847
|
right: "0.2mm"
|
|
2825
2848
|
}).optional(),
|
|
2826
|
-
ccw_rotation:
|
|
2849
|
+
ccw_rotation: z131.number().optional(),
|
|
2827
2850
|
layer: layer_ref,
|
|
2828
|
-
is_mirrored:
|
|
2851
|
+
is_mirrored: z131.boolean().default(false).optional(),
|
|
2829
2852
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2830
2853
|
anchor_alignment: ninePointAnchor.default("center")
|
|
2831
2854
|
}).describe("Defines copper text on the PCB");
|
|
2832
2855
|
expectTypesMatch(true);
|
|
2833
2856
|
|
|
2834
2857
|
// src/pcb/pcb_silkscreen_rect.ts
|
|
2835
|
-
import { z as
|
|
2836
|
-
var pcb_silkscreen_rect =
|
|
2837
|
-
type:
|
|
2858
|
+
import { z as z132 } from "zod";
|
|
2859
|
+
var pcb_silkscreen_rect = z132.object({
|
|
2860
|
+
type: z132.literal("pcb_silkscreen_rect"),
|
|
2838
2861
|
pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
|
|
2839
|
-
pcb_component_id:
|
|
2840
|
-
pcb_group_id:
|
|
2841
|
-
subcircuit_id:
|
|
2862
|
+
pcb_component_id: z132.string(),
|
|
2863
|
+
pcb_group_id: z132.string().optional(),
|
|
2864
|
+
subcircuit_id: z132.string().optional(),
|
|
2842
2865
|
center: point,
|
|
2843
2866
|
width: length,
|
|
2844
2867
|
height: length,
|
|
2845
2868
|
layer: layer_ref,
|
|
2846
2869
|
stroke_width: length.default("1mm"),
|
|
2847
2870
|
corner_radius: length.optional(),
|
|
2848
|
-
is_filled:
|
|
2849
|
-
has_stroke:
|
|
2850
|
-
is_stroke_dashed:
|
|
2851
|
-
ccw_rotation:
|
|
2871
|
+
is_filled: z132.boolean().default(true).optional(),
|
|
2872
|
+
has_stroke: z132.boolean().optional(),
|
|
2873
|
+
is_stroke_dashed: z132.boolean().optional(),
|
|
2874
|
+
ccw_rotation: z132.number().optional()
|
|
2852
2875
|
}).describe("Defines a silkscreen rect on the PCB");
|
|
2853
2876
|
expectTypesMatch(true);
|
|
2854
2877
|
|
|
2855
2878
|
// src/pcb/pcb_silkscreen_circle.ts
|
|
2856
|
-
import { z as
|
|
2857
|
-
var pcb_silkscreen_circle =
|
|
2858
|
-
type:
|
|
2879
|
+
import { z as z133 } from "zod";
|
|
2880
|
+
var pcb_silkscreen_circle = z133.object({
|
|
2881
|
+
type: z133.literal("pcb_silkscreen_circle"),
|
|
2859
2882
|
pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
|
|
2860
2883
|
"pcb_silkscreen_circle"
|
|
2861
2884
|
),
|
|
2862
|
-
pcb_component_id:
|
|
2863
|
-
pcb_group_id:
|
|
2864
|
-
subcircuit_id:
|
|
2885
|
+
pcb_component_id: z133.string(),
|
|
2886
|
+
pcb_group_id: z133.string().optional(),
|
|
2887
|
+
subcircuit_id: z133.string().optional(),
|
|
2865
2888
|
center: point,
|
|
2866
2889
|
radius: length,
|
|
2867
2890
|
layer: visible_layer,
|
|
2868
2891
|
stroke_width: length.default("1mm"),
|
|
2869
|
-
is_filled:
|
|
2892
|
+
is_filled: z133.boolean().optional()
|
|
2870
2893
|
}).describe("Defines a silkscreen circle on the PCB");
|
|
2871
2894
|
expectTypesMatch(true);
|
|
2872
2895
|
|
|
2873
2896
|
// src/pcb/pcb_silkscreen_oval.ts
|
|
2874
|
-
import { z as
|
|
2875
|
-
var pcb_silkscreen_oval =
|
|
2876
|
-
type:
|
|
2897
|
+
import { z as z134 } from "zod";
|
|
2898
|
+
var pcb_silkscreen_oval = z134.object({
|
|
2899
|
+
type: z134.literal("pcb_silkscreen_oval"),
|
|
2877
2900
|
pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
|
|
2878
|
-
pcb_component_id:
|
|
2879
|
-
pcb_group_id:
|
|
2880
|
-
subcircuit_id:
|
|
2901
|
+
pcb_component_id: z134.string(),
|
|
2902
|
+
pcb_group_id: z134.string().optional(),
|
|
2903
|
+
subcircuit_id: z134.string().optional(),
|
|
2881
2904
|
center: point,
|
|
2882
2905
|
radius_x: distance,
|
|
2883
2906
|
radius_y: distance,
|
|
@@ -2887,265 +2910,265 @@ var pcb_silkscreen_oval = z133.object({
|
|
|
2887
2910
|
expectTypesMatch(true);
|
|
2888
2911
|
|
|
2889
2912
|
// src/pcb/pcb_silkscreen_graphic.ts
|
|
2890
|
-
import { z as
|
|
2891
|
-
var pcb_silkscreen_graphic_base =
|
|
2892
|
-
type:
|
|
2913
|
+
import { z as z135 } from "zod";
|
|
2914
|
+
var pcb_silkscreen_graphic_base = z135.object({
|
|
2915
|
+
type: z135.literal("pcb_silkscreen_graphic"),
|
|
2893
2916
|
pcb_silkscreen_graphic_id: getZodPrefixedIdWithDefault(
|
|
2894
2917
|
"pcb_silkscreen_graphic"
|
|
2895
2918
|
),
|
|
2896
|
-
pcb_component_id:
|
|
2897
|
-
pcb_group_id:
|
|
2898
|
-
subcircuit_id:
|
|
2919
|
+
pcb_component_id: z135.string(),
|
|
2920
|
+
pcb_group_id: z135.string().optional(),
|
|
2921
|
+
subcircuit_id: z135.string().optional(),
|
|
2899
2922
|
layer: visible_layer,
|
|
2900
2923
|
image_asset: asset.optional()
|
|
2901
2924
|
});
|
|
2902
2925
|
var pcb_silkscreen_graphic_brep = pcb_silkscreen_graphic_base.extend({
|
|
2903
|
-
shape:
|
|
2926
|
+
shape: z135.literal("brep"),
|
|
2904
2927
|
brep_shape
|
|
2905
2928
|
}).describe("Defines a BRep silkscreen graphic on the PCB");
|
|
2906
2929
|
expectTypesMatch(
|
|
2907
2930
|
true
|
|
2908
2931
|
);
|
|
2909
|
-
var pcb_silkscreen_graphic =
|
|
2932
|
+
var pcb_silkscreen_graphic = z135.discriminatedUnion("shape", [pcb_silkscreen_graphic_brep]).describe("Defines a silkscreen graphic on the PCB");
|
|
2910
2933
|
expectTypesMatch(true);
|
|
2911
2934
|
|
|
2912
2935
|
// src/pcb/pcb_silkscreen_pill.ts
|
|
2913
|
-
import { z as
|
|
2914
|
-
var pcb_silkscreen_pill =
|
|
2915
|
-
type:
|
|
2936
|
+
import { z as z136 } from "zod";
|
|
2937
|
+
var pcb_silkscreen_pill = z136.object({
|
|
2938
|
+
type: z136.literal("pcb_silkscreen_pill"),
|
|
2916
2939
|
pcb_silkscreen_pill_id: getZodPrefixedIdWithDefault("pcb_silkscreen_pill"),
|
|
2917
|
-
pcb_component_id:
|
|
2918
|
-
pcb_group_id:
|
|
2919
|
-
subcircuit_id:
|
|
2940
|
+
pcb_component_id: z136.string(),
|
|
2941
|
+
pcb_group_id: z136.string().optional(),
|
|
2942
|
+
subcircuit_id: z136.string().optional(),
|
|
2920
2943
|
center: point,
|
|
2921
2944
|
width: length,
|
|
2922
2945
|
height: length,
|
|
2923
2946
|
layer: layer_ref,
|
|
2924
|
-
ccw_rotation:
|
|
2947
|
+
ccw_rotation: z136.number().optional()
|
|
2925
2948
|
}).describe("Defines a silkscreen pill on the PCB");
|
|
2926
2949
|
expectTypesMatch(true);
|
|
2927
2950
|
|
|
2928
2951
|
// src/pcb/pcb_fabrication_note_text.ts
|
|
2929
|
-
import { z as
|
|
2930
|
-
var pcb_fabrication_note_text =
|
|
2931
|
-
type:
|
|
2952
|
+
import { z as z137 } from "zod";
|
|
2953
|
+
var pcb_fabrication_note_text = z137.object({
|
|
2954
|
+
type: z137.literal("pcb_fabrication_note_text"),
|
|
2932
2955
|
pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
|
|
2933
2956
|
"pcb_fabrication_note_text"
|
|
2934
2957
|
),
|
|
2935
|
-
subcircuit_id:
|
|
2936
|
-
pcb_group_id:
|
|
2937
|
-
font:
|
|
2958
|
+
subcircuit_id: z137.string().optional(),
|
|
2959
|
+
pcb_group_id: z137.string().optional(),
|
|
2960
|
+
font: z137.literal("tscircuit2024").default("tscircuit2024"),
|
|
2938
2961
|
font_size: distance.default("1mm"),
|
|
2939
|
-
pcb_component_id:
|
|
2940
|
-
text:
|
|
2941
|
-
ccw_rotation:
|
|
2962
|
+
pcb_component_id: z137.string(),
|
|
2963
|
+
text: z137.string(),
|
|
2964
|
+
ccw_rotation: z137.number().optional(),
|
|
2942
2965
|
layer: visible_layer,
|
|
2943
2966
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2944
|
-
anchor_alignment:
|
|
2945
|
-
color:
|
|
2967
|
+
anchor_alignment: z137.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
2968
|
+
color: z137.string().optional()
|
|
2946
2969
|
}).describe(
|
|
2947
2970
|
"Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
|
|
2948
2971
|
);
|
|
2949
2972
|
expectTypesMatch(true);
|
|
2950
2973
|
|
|
2951
2974
|
// src/pcb/pcb_fabrication_note_path.ts
|
|
2952
|
-
import { z as
|
|
2953
|
-
var pcb_fabrication_note_path =
|
|
2954
|
-
type:
|
|
2975
|
+
import { z as z138 } from "zod";
|
|
2976
|
+
var pcb_fabrication_note_path = z138.object({
|
|
2977
|
+
type: z138.literal("pcb_fabrication_note_path"),
|
|
2955
2978
|
pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
|
|
2956
2979
|
"pcb_fabrication_note_path"
|
|
2957
2980
|
),
|
|
2958
|
-
pcb_component_id:
|
|
2959
|
-
subcircuit_id:
|
|
2981
|
+
pcb_component_id: z138.string(),
|
|
2982
|
+
subcircuit_id: z138.string().optional(),
|
|
2960
2983
|
layer: layer_ref,
|
|
2961
|
-
route:
|
|
2984
|
+
route: z138.array(point),
|
|
2962
2985
|
stroke_width: length,
|
|
2963
|
-
color:
|
|
2986
|
+
color: z138.string().optional()
|
|
2964
2987
|
}).describe(
|
|
2965
2988
|
"Defines a fabrication path on the PCB for fabricators or assemblers"
|
|
2966
2989
|
);
|
|
2967
2990
|
expectTypesMatch(true);
|
|
2968
2991
|
|
|
2969
2992
|
// src/pcb/pcb_fabrication_note_rect.ts
|
|
2970
|
-
import { z as
|
|
2971
|
-
var pcb_fabrication_note_rect =
|
|
2972
|
-
type:
|
|
2993
|
+
import { z as z139 } from "zod";
|
|
2994
|
+
var pcb_fabrication_note_rect = z139.object({
|
|
2995
|
+
type: z139.literal("pcb_fabrication_note_rect"),
|
|
2973
2996
|
pcb_fabrication_note_rect_id: getZodPrefixedIdWithDefault(
|
|
2974
2997
|
"pcb_fabrication_note_rect"
|
|
2975
2998
|
),
|
|
2976
|
-
pcb_component_id:
|
|
2977
|
-
pcb_group_id:
|
|
2978
|
-
subcircuit_id:
|
|
2999
|
+
pcb_component_id: z139.string(),
|
|
3000
|
+
pcb_group_id: z139.string().optional(),
|
|
3001
|
+
subcircuit_id: z139.string().optional(),
|
|
2979
3002
|
center: point,
|
|
2980
3003
|
width: length,
|
|
2981
3004
|
height: length,
|
|
2982
3005
|
layer: visible_layer,
|
|
2983
3006
|
stroke_width: length.default("0.1mm"),
|
|
2984
3007
|
corner_radius: length.optional(),
|
|
2985
|
-
is_filled:
|
|
2986
|
-
has_stroke:
|
|
2987
|
-
is_stroke_dashed:
|
|
2988
|
-
color:
|
|
3008
|
+
is_filled: z139.boolean().optional(),
|
|
3009
|
+
has_stroke: z139.boolean().optional(),
|
|
3010
|
+
is_stroke_dashed: z139.boolean().optional(),
|
|
3011
|
+
color: z139.string().optional()
|
|
2989
3012
|
}).describe("Defines a fabrication note rectangle on the PCB");
|
|
2990
3013
|
expectTypesMatch(true);
|
|
2991
3014
|
|
|
2992
3015
|
// src/pcb/pcb_fabrication_note_dimension.ts
|
|
2993
|
-
import { z as
|
|
2994
|
-
var pcb_fabrication_note_dimension =
|
|
2995
|
-
type:
|
|
3016
|
+
import { z as z140 } from "zod";
|
|
3017
|
+
var pcb_fabrication_note_dimension = z140.object({
|
|
3018
|
+
type: z140.literal("pcb_fabrication_note_dimension"),
|
|
2996
3019
|
pcb_fabrication_note_dimension_id: getZodPrefixedIdWithDefault(
|
|
2997
3020
|
"pcb_fabrication_note_dimension"
|
|
2998
3021
|
),
|
|
2999
|
-
pcb_component_id:
|
|
3000
|
-
pcb_group_id:
|
|
3001
|
-
subcircuit_id:
|
|
3022
|
+
pcb_component_id: z140.string(),
|
|
3023
|
+
pcb_group_id: z140.string().optional(),
|
|
3024
|
+
subcircuit_id: z140.string().optional(),
|
|
3002
3025
|
layer: visible_layer,
|
|
3003
3026
|
from: point,
|
|
3004
3027
|
to: point,
|
|
3005
|
-
text:
|
|
3006
|
-
text_ccw_rotation:
|
|
3028
|
+
text: z140.string().optional(),
|
|
3029
|
+
text_ccw_rotation: z140.number().optional(),
|
|
3007
3030
|
offset: length.optional(),
|
|
3008
3031
|
offset_distance: length.optional(),
|
|
3009
|
-
offset_direction:
|
|
3010
|
-
x:
|
|
3011
|
-
y:
|
|
3032
|
+
offset_direction: z140.object({
|
|
3033
|
+
x: z140.number(),
|
|
3034
|
+
y: z140.number()
|
|
3012
3035
|
}).optional(),
|
|
3013
|
-
font:
|
|
3036
|
+
font: z140.literal("tscircuit2024").default("tscircuit2024"),
|
|
3014
3037
|
font_size: length.default("1mm"),
|
|
3015
|
-
color:
|
|
3038
|
+
color: z140.string().optional(),
|
|
3016
3039
|
arrow_size: length.default("1mm")
|
|
3017
3040
|
}).describe("Defines a measurement annotation within PCB fabrication notes");
|
|
3018
3041
|
expectTypesMatch(true);
|
|
3019
3042
|
|
|
3020
3043
|
// src/pcb/pcb_note_text.ts
|
|
3021
|
-
import { z as z140 } from "zod";
|
|
3022
|
-
var pcb_note_text = z140.object({
|
|
3023
|
-
type: z140.literal("pcb_note_text"),
|
|
3024
|
-
pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
|
|
3025
|
-
pcb_component_id: z140.string().optional(),
|
|
3026
|
-
pcb_group_id: z140.string().optional(),
|
|
3027
|
-
subcircuit_id: z140.string().optional(),
|
|
3028
|
-
name: z140.string().optional(),
|
|
3029
|
-
font: z140.literal("tscircuit2024").default("tscircuit2024"),
|
|
3030
|
-
font_size: distance.default("1mm"),
|
|
3031
|
-
text: z140.string().optional(),
|
|
3032
|
-
anchor_position: point.default({ x: 0, y: 0 }),
|
|
3033
|
-
anchor_alignment: z140.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
3034
|
-
layer: visible_layer.default("top"),
|
|
3035
|
-
is_mirrored_from_top_view: z140.boolean().optional(),
|
|
3036
|
-
color: z140.string().optional()
|
|
3037
|
-
}).describe("Defines a documentation note in text on the PCB");
|
|
3038
|
-
expectTypesMatch(true);
|
|
3039
|
-
|
|
3040
|
-
// src/pcb/pcb_note_rect.ts
|
|
3041
3044
|
import { z as z141 } from "zod";
|
|
3042
|
-
var
|
|
3043
|
-
type: z141.literal("
|
|
3044
|
-
|
|
3045
|
+
var pcb_note_text = z141.object({
|
|
3046
|
+
type: z141.literal("pcb_note_text"),
|
|
3047
|
+
pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
|
|
3045
3048
|
pcb_component_id: z141.string().optional(),
|
|
3046
3049
|
pcb_group_id: z141.string().optional(),
|
|
3047
3050
|
subcircuit_id: z141.string().optional(),
|
|
3048
3051
|
name: z141.string().optional(),
|
|
3052
|
+
font: z141.literal("tscircuit2024").default("tscircuit2024"),
|
|
3053
|
+
font_size: distance.default("1mm"),
|
|
3049
3054
|
text: z141.string().optional(),
|
|
3050
|
-
|
|
3051
|
-
|
|
3052
|
-
height: length,
|
|
3055
|
+
anchor_position: point.default({ x: 0, y: 0 }),
|
|
3056
|
+
anchor_alignment: z141.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
3053
3057
|
layer: visible_layer.default("top"),
|
|
3054
|
-
|
|
3055
|
-
corner_radius: length.optional(),
|
|
3056
|
-
is_filled: z141.boolean().optional(),
|
|
3057
|
-
has_stroke: z141.boolean().optional(),
|
|
3058
|
-
is_stroke_dashed: z141.boolean().optional(),
|
|
3058
|
+
is_mirrored_from_top_view: z141.boolean().optional(),
|
|
3059
3059
|
color: z141.string().optional()
|
|
3060
|
-
}).describe("Defines a
|
|
3060
|
+
}).describe("Defines a documentation note in text on the PCB");
|
|
3061
3061
|
expectTypesMatch(true);
|
|
3062
3062
|
|
|
3063
|
-
// src/pcb/
|
|
3063
|
+
// src/pcb/pcb_note_rect.ts
|
|
3064
3064
|
import { z as z142 } from "zod";
|
|
3065
|
-
var
|
|
3066
|
-
type: z142.literal("
|
|
3067
|
-
|
|
3065
|
+
var pcb_note_rect = z142.object({
|
|
3066
|
+
type: z142.literal("pcb_note_rect"),
|
|
3067
|
+
pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
|
|
3068
3068
|
pcb_component_id: z142.string().optional(),
|
|
3069
3069
|
pcb_group_id: z142.string().optional(),
|
|
3070
3070
|
subcircuit_id: z142.string().optional(),
|
|
3071
3071
|
name: z142.string().optional(),
|
|
3072
3072
|
text: z142.string().optional(),
|
|
3073
|
-
|
|
3073
|
+
center: point,
|
|
3074
|
+
width: length,
|
|
3075
|
+
height: length,
|
|
3074
3076
|
layer: visible_layer.default("top"),
|
|
3075
3077
|
stroke_width: length.default("0.1mm"),
|
|
3078
|
+
corner_radius: length.optional(),
|
|
3079
|
+
is_filled: z142.boolean().optional(),
|
|
3080
|
+
has_stroke: z142.boolean().optional(),
|
|
3081
|
+
is_stroke_dashed: z142.boolean().optional(),
|
|
3076
3082
|
color: z142.string().optional()
|
|
3077
|
-
}).describe("Defines a
|
|
3083
|
+
}).describe("Defines a rectangular documentation note on the PCB");
|
|
3078
3084
|
expectTypesMatch(true);
|
|
3079
3085
|
|
|
3080
|
-
// src/pcb/
|
|
3086
|
+
// src/pcb/pcb_note_path.ts
|
|
3081
3087
|
import { z as z143 } from "zod";
|
|
3082
|
-
var
|
|
3083
|
-
type: z143.literal("
|
|
3084
|
-
|
|
3088
|
+
var pcb_note_path = z143.object({
|
|
3089
|
+
type: z143.literal("pcb_note_path"),
|
|
3090
|
+
pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
|
|
3085
3091
|
pcb_component_id: z143.string().optional(),
|
|
3086
3092
|
pcb_group_id: z143.string().optional(),
|
|
3087
3093
|
subcircuit_id: z143.string().optional(),
|
|
3088
3094
|
name: z143.string().optional(),
|
|
3089
3095
|
text: z143.string().optional(),
|
|
3096
|
+
route: z143.array(point),
|
|
3097
|
+
layer: visible_layer.default("top"),
|
|
3098
|
+
stroke_width: length.default("0.1mm"),
|
|
3099
|
+
color: z143.string().optional()
|
|
3100
|
+
}).describe("Defines a polyline documentation note on the PCB");
|
|
3101
|
+
expectTypesMatch(true);
|
|
3102
|
+
|
|
3103
|
+
// src/pcb/pcb_note_line.ts
|
|
3104
|
+
import { z as z144 } from "zod";
|
|
3105
|
+
var pcb_note_line = z144.object({
|
|
3106
|
+
type: z144.literal("pcb_note_line"),
|
|
3107
|
+
pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
|
|
3108
|
+
pcb_component_id: z144.string().optional(),
|
|
3109
|
+
pcb_group_id: z144.string().optional(),
|
|
3110
|
+
subcircuit_id: z144.string().optional(),
|
|
3111
|
+
name: z144.string().optional(),
|
|
3112
|
+
text: z144.string().optional(),
|
|
3090
3113
|
x1: distance,
|
|
3091
3114
|
y1: distance,
|
|
3092
3115
|
x2: distance,
|
|
3093
3116
|
y2: distance,
|
|
3094
3117
|
layer: visible_layer.default("top"),
|
|
3095
3118
|
stroke_width: distance.default("0.1mm"),
|
|
3096
|
-
color:
|
|
3097
|
-
is_dashed:
|
|
3119
|
+
color: z144.string().optional(),
|
|
3120
|
+
is_dashed: z144.boolean().optional()
|
|
3098
3121
|
}).describe("Defines a straight documentation note line on the PCB");
|
|
3099
3122
|
expectTypesMatch(true);
|
|
3100
3123
|
|
|
3101
3124
|
// src/pcb/pcb_note_dimension.ts
|
|
3102
|
-
import { z as
|
|
3103
|
-
var pcb_note_dimension =
|
|
3104
|
-
type:
|
|
3125
|
+
import { z as z145 } from "zod";
|
|
3126
|
+
var pcb_note_dimension = z145.object({
|
|
3127
|
+
type: z145.literal("pcb_note_dimension"),
|
|
3105
3128
|
pcb_note_dimension_id: getZodPrefixedIdWithDefault("pcb_note_dimension"),
|
|
3106
|
-
pcb_component_id:
|
|
3107
|
-
pcb_group_id:
|
|
3108
|
-
subcircuit_id:
|
|
3109
|
-
name:
|
|
3129
|
+
pcb_component_id: z145.string().optional(),
|
|
3130
|
+
pcb_group_id: z145.string().optional(),
|
|
3131
|
+
subcircuit_id: z145.string().optional(),
|
|
3132
|
+
name: z145.string().optional(),
|
|
3110
3133
|
from: point,
|
|
3111
3134
|
to: point,
|
|
3112
|
-
text:
|
|
3113
|
-
text_ccw_rotation:
|
|
3135
|
+
text: z145.string().optional(),
|
|
3136
|
+
text_ccw_rotation: z145.number().optional(),
|
|
3114
3137
|
offset_distance: length.optional(),
|
|
3115
|
-
offset_direction:
|
|
3116
|
-
x:
|
|
3117
|
-
y:
|
|
3138
|
+
offset_direction: z145.object({
|
|
3139
|
+
x: z145.number(),
|
|
3140
|
+
y: z145.number()
|
|
3118
3141
|
}).optional(),
|
|
3119
|
-
font:
|
|
3142
|
+
font: z145.literal("tscircuit2024").default("tscircuit2024"),
|
|
3120
3143
|
font_size: length.default("1mm"),
|
|
3121
3144
|
layer: visible_layer.default("top"),
|
|
3122
|
-
color:
|
|
3145
|
+
color: z145.string().optional(),
|
|
3123
3146
|
arrow_size: length.default("1mm")
|
|
3124
3147
|
}).describe("Defines a measurement annotation within PCB documentation notes");
|
|
3125
3148
|
expectTypesMatch(true);
|
|
3126
3149
|
|
|
3127
3150
|
// src/pcb/pcb_footprint_overlap_error.ts
|
|
3128
|
-
import { z as
|
|
3151
|
+
import { z as z146 } from "zod";
|
|
3129
3152
|
var pcb_footprint_overlap_error = base_circuit_json_error.extend({
|
|
3130
|
-
type:
|
|
3153
|
+
type: z146.literal("pcb_footprint_overlap_error"),
|
|
3131
3154
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
3132
|
-
error_type:
|
|
3133
|
-
pcb_smtpad_ids:
|
|
3134
|
-
pcb_plated_hole_ids:
|
|
3135
|
-
pcb_hole_ids:
|
|
3136
|
-
pcb_keepout_ids:
|
|
3155
|
+
error_type: z146.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
|
|
3156
|
+
pcb_smtpad_ids: z146.array(z146.string()).optional(),
|
|
3157
|
+
pcb_plated_hole_ids: z146.array(z146.string()).optional(),
|
|
3158
|
+
pcb_hole_ids: z146.array(z146.string()).optional(),
|
|
3159
|
+
pcb_keepout_ids: z146.array(z146.string()).optional()
|
|
3137
3160
|
}).describe("Error emitted when a pcb footprint overlaps with another element");
|
|
3138
3161
|
expectTypesMatch(
|
|
3139
3162
|
true
|
|
3140
3163
|
);
|
|
3141
3164
|
|
|
3142
3165
|
// src/pcb/pcb_courtyard_overlap_error.ts
|
|
3143
|
-
import { z as
|
|
3166
|
+
import { z as z147 } from "zod";
|
|
3144
3167
|
var pcb_courtyard_overlap_error = base_circuit_json_error.extend({
|
|
3145
|
-
type:
|
|
3168
|
+
type: z147.literal("pcb_courtyard_overlap_error"),
|
|
3146
3169
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
3147
|
-
error_type:
|
|
3148
|
-
pcb_component_ids:
|
|
3170
|
+
error_type: z147.literal("pcb_courtyard_overlap_error").default("pcb_courtyard_overlap_error"),
|
|
3171
|
+
pcb_component_ids: z147.tuple([z147.string(), z147.string()])
|
|
3149
3172
|
}).describe(
|
|
3150
3173
|
"Error emitted when the courtyard (CrtYd) of one PCB component overlaps with the courtyard of another"
|
|
3151
3174
|
);
|
|
@@ -3154,51 +3177,51 @@ expectTypesMatch(
|
|
|
3154
3177
|
);
|
|
3155
3178
|
|
|
3156
3179
|
// src/pcb/pcb_keepout.ts
|
|
3157
|
-
import { z as
|
|
3158
|
-
var pcb_keepout =
|
|
3159
|
-
type:
|
|
3160
|
-
shape:
|
|
3161
|
-
pcb_group_id:
|
|
3162
|
-
subcircuit_id:
|
|
3180
|
+
import { z as z148 } from "zod";
|
|
3181
|
+
var pcb_keepout = z148.object({
|
|
3182
|
+
type: z148.literal("pcb_keepout"),
|
|
3183
|
+
shape: z148.literal("rect"),
|
|
3184
|
+
pcb_group_id: z148.string().optional(),
|
|
3185
|
+
subcircuit_id: z148.string().optional(),
|
|
3163
3186
|
center: point,
|
|
3164
3187
|
width: distance,
|
|
3165
3188
|
height: distance,
|
|
3166
|
-
pcb_keepout_id:
|
|
3167
|
-
layers:
|
|
3189
|
+
pcb_keepout_id: z148.string(),
|
|
3190
|
+
layers: z148.array(z148.string()),
|
|
3168
3191
|
// Specify layers where the keepout applies
|
|
3169
|
-
description:
|
|
3192
|
+
description: z148.string().optional(),
|
|
3170
3193
|
// Optional description of the keepout
|
|
3171
|
-
excluded_pcb_component_ids:
|
|
3194
|
+
excluded_pcb_component_ids: z148.array(z148.string()).optional()
|
|
3172
3195
|
}).or(
|
|
3173
|
-
|
|
3174
|
-
type:
|
|
3175
|
-
shape:
|
|
3176
|
-
pcb_group_id:
|
|
3177
|
-
subcircuit_id:
|
|
3196
|
+
z148.object({
|
|
3197
|
+
type: z148.literal("pcb_keepout"),
|
|
3198
|
+
shape: z148.literal("circle"),
|
|
3199
|
+
pcb_group_id: z148.string().optional(),
|
|
3200
|
+
subcircuit_id: z148.string().optional(),
|
|
3178
3201
|
center: point,
|
|
3179
3202
|
radius: distance,
|
|
3180
|
-
pcb_keepout_id:
|
|
3181
|
-
layers:
|
|
3203
|
+
pcb_keepout_id: z148.string(),
|
|
3204
|
+
layers: z148.array(z148.string()),
|
|
3182
3205
|
// Specify layers where the keepout applies
|
|
3183
|
-
description:
|
|
3206
|
+
description: z148.string().optional(),
|
|
3184
3207
|
// Optional description of the keepout
|
|
3185
|
-
excluded_pcb_component_ids:
|
|
3208
|
+
excluded_pcb_component_ids: z148.array(z148.string()).optional()
|
|
3186
3209
|
})
|
|
3187
3210
|
);
|
|
3188
3211
|
expectTypesMatch(true);
|
|
3189
3212
|
|
|
3190
3213
|
// src/pcb/pcb_cutout.ts
|
|
3191
|
-
import { z as
|
|
3192
|
-
var pcb_cutout_base =
|
|
3193
|
-
type:
|
|
3214
|
+
import { z as z149 } from "zod";
|
|
3215
|
+
var pcb_cutout_base = z149.object({
|
|
3216
|
+
type: z149.literal("pcb_cutout"),
|
|
3194
3217
|
pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
|
|
3195
|
-
pcb_group_id:
|
|
3196
|
-
subcircuit_id:
|
|
3197
|
-
pcb_board_id:
|
|
3198
|
-
pcb_panel_id:
|
|
3218
|
+
pcb_group_id: z149.string().optional(),
|
|
3219
|
+
subcircuit_id: z149.string().optional(),
|
|
3220
|
+
pcb_board_id: z149.string().optional(),
|
|
3221
|
+
pcb_panel_id: z149.string().optional()
|
|
3199
3222
|
});
|
|
3200
3223
|
var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
3201
|
-
shape:
|
|
3224
|
+
shape: z149.literal("rect"),
|
|
3202
3225
|
center: point,
|
|
3203
3226
|
width: length,
|
|
3204
3227
|
height: length,
|
|
@@ -3207,26 +3230,26 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
|
3207
3230
|
});
|
|
3208
3231
|
expectTypesMatch(true);
|
|
3209
3232
|
var pcb_cutout_circle = pcb_cutout_base.extend({
|
|
3210
|
-
shape:
|
|
3233
|
+
shape: z149.literal("circle"),
|
|
3211
3234
|
center: point,
|
|
3212
3235
|
radius: length
|
|
3213
3236
|
});
|
|
3214
3237
|
expectTypesMatch(true);
|
|
3215
3238
|
var pcb_cutout_polygon = pcb_cutout_base.extend({
|
|
3216
|
-
shape:
|
|
3217
|
-
points:
|
|
3239
|
+
shape: z149.literal("polygon"),
|
|
3240
|
+
points: z149.array(point)
|
|
3218
3241
|
});
|
|
3219
3242
|
expectTypesMatch(true);
|
|
3220
3243
|
var pcb_cutout_path = pcb_cutout_base.extend({
|
|
3221
|
-
shape:
|
|
3222
|
-
route:
|
|
3244
|
+
shape: z149.literal("path"),
|
|
3245
|
+
route: z149.array(point),
|
|
3223
3246
|
slot_width: length,
|
|
3224
3247
|
slot_length: length.optional(),
|
|
3225
3248
|
space_between_slots: length.optional(),
|
|
3226
3249
|
slot_corner_radius: length.optional()
|
|
3227
3250
|
});
|
|
3228
3251
|
expectTypesMatch(true);
|
|
3229
|
-
var pcb_cutout =
|
|
3252
|
+
var pcb_cutout = z149.discriminatedUnion("shape", [
|
|
3230
3253
|
pcb_cutout_rect,
|
|
3231
3254
|
pcb_cutout_circle,
|
|
3232
3255
|
pcb_cutout_polygon,
|
|
@@ -3235,184 +3258,184 @@ var pcb_cutout = z148.discriminatedUnion("shape", [
|
|
|
3235
3258
|
expectTypesMatch(true);
|
|
3236
3259
|
|
|
3237
3260
|
// src/pcb/pcb_missing_footprint_error.ts
|
|
3238
|
-
import { z as
|
|
3261
|
+
import { z as z150 } from "zod";
|
|
3239
3262
|
var pcb_missing_footprint_error = base_circuit_json_error.extend({
|
|
3240
|
-
type:
|
|
3263
|
+
type: z150.literal("pcb_missing_footprint_error"),
|
|
3241
3264
|
pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
|
|
3242
3265
|
"pcb_missing_footprint_error"
|
|
3243
3266
|
),
|
|
3244
|
-
pcb_group_id:
|
|
3245
|
-
subcircuit_id:
|
|
3246
|
-
error_type:
|
|
3247
|
-
source_component_id:
|
|
3267
|
+
pcb_group_id: z150.string().optional(),
|
|
3268
|
+
subcircuit_id: z150.string().optional(),
|
|
3269
|
+
error_type: z150.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
|
|
3270
|
+
source_component_id: z150.string()
|
|
3248
3271
|
}).describe("Defines a missing footprint error on the PCB");
|
|
3249
3272
|
expectTypesMatch(
|
|
3250
3273
|
true
|
|
3251
3274
|
);
|
|
3252
3275
|
|
|
3253
3276
|
// src/pcb/external_footprint_load_error.ts
|
|
3254
|
-
import { z as
|
|
3277
|
+
import { z as z151 } from "zod";
|
|
3255
3278
|
var external_footprint_load_error = base_circuit_json_error.extend({
|
|
3256
|
-
type:
|
|
3279
|
+
type: z151.literal("external_footprint_load_error"),
|
|
3257
3280
|
external_footprint_load_error_id: getZodPrefixedIdWithDefault(
|
|
3258
3281
|
"external_footprint_load_error"
|
|
3259
3282
|
),
|
|
3260
|
-
pcb_component_id:
|
|
3261
|
-
source_component_id:
|
|
3262
|
-
pcb_group_id:
|
|
3263
|
-
subcircuit_id:
|
|
3264
|
-
footprinter_string:
|
|
3265
|
-
error_type:
|
|
3283
|
+
pcb_component_id: z151.string(),
|
|
3284
|
+
source_component_id: z151.string(),
|
|
3285
|
+
pcb_group_id: z151.string().optional(),
|
|
3286
|
+
subcircuit_id: z151.string().optional(),
|
|
3287
|
+
footprinter_string: z151.string().optional(),
|
|
3288
|
+
error_type: z151.literal("external_footprint_load_error").default("external_footprint_load_error")
|
|
3266
3289
|
}).describe("Defines an error when an external footprint fails to load");
|
|
3267
3290
|
expectTypesMatch(true);
|
|
3268
3291
|
|
|
3269
3292
|
// src/pcb/circuit_json_footprint_load_error.ts
|
|
3270
|
-
import { z as
|
|
3293
|
+
import { z as z152 } from "zod";
|
|
3271
3294
|
var circuit_json_footprint_load_error = base_circuit_json_error.extend({
|
|
3272
|
-
type:
|
|
3295
|
+
type: z152.literal("circuit_json_footprint_load_error"),
|
|
3273
3296
|
circuit_json_footprint_load_error_id: getZodPrefixedIdWithDefault(
|
|
3274
3297
|
"circuit_json_footprint_load_error"
|
|
3275
3298
|
),
|
|
3276
|
-
pcb_component_id:
|
|
3277
|
-
source_component_id:
|
|
3278
|
-
pcb_group_id:
|
|
3279
|
-
subcircuit_id:
|
|
3280
|
-
error_type:
|
|
3281
|
-
circuit_json:
|
|
3299
|
+
pcb_component_id: z152.string(),
|
|
3300
|
+
source_component_id: z152.string(),
|
|
3301
|
+
pcb_group_id: z152.string().optional(),
|
|
3302
|
+
subcircuit_id: z152.string().optional(),
|
|
3303
|
+
error_type: z152.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
|
|
3304
|
+
circuit_json: z152.array(z152.any()).optional()
|
|
3282
3305
|
}).describe("Defines an error when a circuit JSON footprint fails to load");
|
|
3283
3306
|
expectTypesMatch(true);
|
|
3284
3307
|
|
|
3285
3308
|
// src/pcb/pcb_group.ts
|
|
3286
|
-
import { z as
|
|
3287
|
-
var pcb_group =
|
|
3288
|
-
type:
|
|
3309
|
+
import { z as z153 } from "zod";
|
|
3310
|
+
var pcb_group = z153.object({
|
|
3311
|
+
type: z153.literal("pcb_group"),
|
|
3289
3312
|
pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
|
|
3290
|
-
source_group_id:
|
|
3291
|
-
is_subcircuit:
|
|
3292
|
-
subcircuit_id:
|
|
3313
|
+
source_group_id: z153.string(),
|
|
3314
|
+
is_subcircuit: z153.boolean().optional(),
|
|
3315
|
+
subcircuit_id: z153.string().optional(),
|
|
3293
3316
|
width: length.optional(),
|
|
3294
3317
|
height: length.optional(),
|
|
3295
3318
|
center: point,
|
|
3296
|
-
display_offset_x:
|
|
3319
|
+
display_offset_x: z153.string().optional().describe(
|
|
3297
3320
|
"How to display the x offset for this group, usually corresponding with how the user specified it"
|
|
3298
3321
|
),
|
|
3299
|
-
display_offset_y:
|
|
3322
|
+
display_offset_y: z153.string().optional().describe(
|
|
3300
3323
|
"How to display the y offset for this group, usually corresponding with how the user specified it"
|
|
3301
3324
|
),
|
|
3302
|
-
outline:
|
|
3325
|
+
outline: z153.array(point).optional(),
|
|
3303
3326
|
anchor_position: point.optional(),
|
|
3304
3327
|
anchor_alignment: ninePointAnchor.default("center"),
|
|
3305
|
-
position_mode:
|
|
3306
|
-
positioned_relative_to_pcb_group_id:
|
|
3307
|
-
positioned_relative_to_pcb_board_id:
|
|
3308
|
-
pcb_component_ids:
|
|
3309
|
-
child_layout_mode:
|
|
3310
|
-
name:
|
|
3311
|
-
description:
|
|
3312
|
-
layout_mode:
|
|
3313
|
-
autorouter_configuration:
|
|
3328
|
+
position_mode: z153.enum(["packed", "relative_to_group_anchor", "none"]).optional(),
|
|
3329
|
+
positioned_relative_to_pcb_group_id: z153.string().optional(),
|
|
3330
|
+
positioned_relative_to_pcb_board_id: z153.string().optional(),
|
|
3331
|
+
pcb_component_ids: z153.array(z153.string()),
|
|
3332
|
+
child_layout_mode: z153.enum(["packed", "none"]).optional(),
|
|
3333
|
+
name: z153.string().optional(),
|
|
3334
|
+
description: z153.string().optional(),
|
|
3335
|
+
layout_mode: z153.string().optional(),
|
|
3336
|
+
autorouter_configuration: z153.object({
|
|
3314
3337
|
trace_clearance: length
|
|
3315
3338
|
}).optional(),
|
|
3316
|
-
autorouter_used_string:
|
|
3339
|
+
autorouter_used_string: z153.string().optional()
|
|
3317
3340
|
}).describe("Defines a group of components on the PCB");
|
|
3318
3341
|
expectTypesMatch(true);
|
|
3319
3342
|
|
|
3320
3343
|
// src/pcb/pcb_autorouting_error.ts
|
|
3321
|
-
import { z as
|
|
3344
|
+
import { z as z154 } from "zod";
|
|
3322
3345
|
var pcb_autorouting_error = base_circuit_json_error.extend({
|
|
3323
|
-
type:
|
|
3346
|
+
type: z154.literal("pcb_autorouting_error"),
|
|
3324
3347
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
|
|
3325
|
-
error_type:
|
|
3326
|
-
subcircuit_id:
|
|
3348
|
+
error_type: z154.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
|
|
3349
|
+
subcircuit_id: z154.string().optional()
|
|
3327
3350
|
}).describe("The autorouting has failed to route a portion of the board");
|
|
3328
3351
|
expectTypesMatch(true);
|
|
3329
3352
|
|
|
3330
3353
|
// src/pcb/pcb_manual_edit_conflict_warning.ts
|
|
3331
|
-
import { z as
|
|
3332
|
-
var pcb_manual_edit_conflict_warning =
|
|
3333
|
-
type:
|
|
3354
|
+
import { z as z155 } from "zod";
|
|
3355
|
+
var pcb_manual_edit_conflict_warning = z155.object({
|
|
3356
|
+
type: z155.literal("pcb_manual_edit_conflict_warning"),
|
|
3334
3357
|
pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
3335
3358
|
"pcb_manual_edit_conflict_warning"
|
|
3336
3359
|
),
|
|
3337
|
-
warning_type:
|
|
3338
|
-
message:
|
|
3339
|
-
pcb_component_id:
|
|
3340
|
-
pcb_group_id:
|
|
3341
|
-
subcircuit_id:
|
|
3342
|
-
source_component_id:
|
|
3360
|
+
warning_type: z155.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
|
|
3361
|
+
message: z155.string(),
|
|
3362
|
+
pcb_component_id: z155.string(),
|
|
3363
|
+
pcb_group_id: z155.string().optional(),
|
|
3364
|
+
subcircuit_id: z155.string().optional(),
|
|
3365
|
+
source_component_id: z155.string()
|
|
3343
3366
|
}).describe(
|
|
3344
3367
|
"Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
|
|
3345
3368
|
);
|
|
3346
3369
|
expectTypesMatch(true);
|
|
3347
3370
|
|
|
3348
3371
|
// src/pcb/pcb_connector_not_in_accessible_orientation_warning.ts
|
|
3349
|
-
import { z as
|
|
3350
|
-
var connectorOrientationDirection =
|
|
3351
|
-
var pcb_connector_not_in_accessible_orientation_warning =
|
|
3352
|
-
type:
|
|
3372
|
+
import { z as z156 } from "zod";
|
|
3373
|
+
var connectorOrientationDirection = z156.enum(["x-", "x+", "y+", "y-"]);
|
|
3374
|
+
var pcb_connector_not_in_accessible_orientation_warning = z156.object({
|
|
3375
|
+
type: z156.literal("pcb_connector_not_in_accessible_orientation_warning"),
|
|
3353
3376
|
pcb_connector_not_in_accessible_orientation_warning_id: getZodPrefixedIdWithDefault(
|
|
3354
3377
|
"pcb_connector_not_in_accessible_orientation_warning"
|
|
3355
3378
|
),
|
|
3356
|
-
warning_type:
|
|
3357
|
-
message:
|
|
3358
|
-
pcb_component_id:
|
|
3359
|
-
source_component_id:
|
|
3360
|
-
pcb_board_id:
|
|
3379
|
+
warning_type: z156.literal("pcb_connector_not_in_accessible_orientation_warning").default("pcb_connector_not_in_accessible_orientation_warning"),
|
|
3380
|
+
message: z156.string(),
|
|
3381
|
+
pcb_component_id: z156.string(),
|
|
3382
|
+
source_component_id: z156.string().optional(),
|
|
3383
|
+
pcb_board_id: z156.string().optional(),
|
|
3361
3384
|
facing_direction: connectorOrientationDirection,
|
|
3362
3385
|
recommended_facing_direction: connectorOrientationDirection,
|
|
3363
|
-
subcircuit_id:
|
|
3386
|
+
subcircuit_id: z156.string().optional()
|
|
3364
3387
|
}).describe(
|
|
3365
3388
|
"Warning emitted when a connector PCB component is facing inward toward the board and should be reoriented to an outward-facing direction"
|
|
3366
3389
|
);
|
|
3367
3390
|
expectTypesMatch(true);
|
|
3368
3391
|
|
|
3369
3392
|
// src/pcb/pcb_component_missing_courtyard_warning.ts
|
|
3370
|
-
import { z as
|
|
3371
|
-
var pcb_component_missing_courtyard_warning =
|
|
3372
|
-
type:
|
|
3393
|
+
import { z as z157 } from "zod";
|
|
3394
|
+
var pcb_component_missing_courtyard_warning = z157.object({
|
|
3395
|
+
type: z157.literal("pcb_component_missing_courtyard_warning"),
|
|
3373
3396
|
pcb_component_missing_courtyard_warning_id: getZodPrefixedIdWithDefault(
|
|
3374
3397
|
"pcb_component_missing_courtyard_warning"
|
|
3375
3398
|
),
|
|
3376
|
-
warning_type:
|
|
3377
|
-
message:
|
|
3378
|
-
pcb_component_id:
|
|
3379
|
-
source_component_id:
|
|
3380
|
-
subcircuit_id:
|
|
3399
|
+
warning_type: z157.literal("pcb_component_missing_courtyard_warning").default("pcb_component_missing_courtyard_warning"),
|
|
3400
|
+
message: z157.string(),
|
|
3401
|
+
pcb_component_id: z157.string(),
|
|
3402
|
+
source_component_id: z157.string().optional(),
|
|
3403
|
+
subcircuit_id: z157.string().optional()
|
|
3381
3404
|
}).describe("Warning emitted when a PCB component has no courtyard geometry");
|
|
3382
3405
|
expectTypesMatch(true);
|
|
3383
3406
|
|
|
3384
3407
|
// src/pcb/supplier_footprint_mismatch_warning.ts
|
|
3385
|
-
import { z as
|
|
3386
|
-
var supplier_footprint_mismatch_warning =
|
|
3387
|
-
type:
|
|
3408
|
+
import { z as z158 } from "zod";
|
|
3409
|
+
var supplier_footprint_mismatch_warning = z158.object({
|
|
3410
|
+
type: z158.literal("supplier_footprint_mismatch_warning"),
|
|
3388
3411
|
supplier_footprint_mismatch_warning_id: getZodPrefixedIdWithDefault(
|
|
3389
3412
|
"supplier_footprint_mismatch_warning"
|
|
3390
3413
|
),
|
|
3391
|
-
warning_type:
|
|
3392
|
-
message:
|
|
3393
|
-
source_component_id:
|
|
3394
|
-
pcb_component_id:
|
|
3395
|
-
pcb_group_id:
|
|
3396
|
-
subcircuit_id:
|
|
3414
|
+
warning_type: z158.literal("supplier_footprint_mismatch_warning").default("supplier_footprint_mismatch_warning"),
|
|
3415
|
+
message: z158.string(),
|
|
3416
|
+
source_component_id: z158.string(),
|
|
3417
|
+
pcb_component_id: z158.string().optional(),
|
|
3418
|
+
pcb_group_id: z158.string().optional(),
|
|
3419
|
+
subcircuit_id: z158.string().optional(),
|
|
3397
3420
|
supplier_name: supplier_name.optional(),
|
|
3398
|
-
supplier_part_number:
|
|
3399
|
-
supplier_footprint_url:
|
|
3400
|
-
footprint_copper_intersection_over_union:
|
|
3421
|
+
supplier_part_number: z158.string().optional(),
|
|
3422
|
+
supplier_footprint_url: z158.string().optional(),
|
|
3423
|
+
footprint_copper_intersection_over_union: z158.number()
|
|
3401
3424
|
}).describe(
|
|
3402
3425
|
"Warning emitted when a supplier part footprint does not match the expected footprint"
|
|
3403
3426
|
);
|
|
3404
3427
|
expectTypesMatch(true);
|
|
3405
3428
|
|
|
3406
3429
|
// src/pcb/pcb_breakout_point.ts
|
|
3407
|
-
import { z as
|
|
3408
|
-
var pcb_breakout_point =
|
|
3409
|
-
type:
|
|
3430
|
+
import { z as z159 } from "zod";
|
|
3431
|
+
var pcb_breakout_point = z159.object({
|
|
3432
|
+
type: z159.literal("pcb_breakout_point"),
|
|
3410
3433
|
pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
|
|
3411
|
-
pcb_group_id:
|
|
3412
|
-
subcircuit_id:
|
|
3413
|
-
source_trace_id:
|
|
3414
|
-
source_port_id:
|
|
3415
|
-
source_net_id:
|
|
3434
|
+
pcb_group_id: z159.string(),
|
|
3435
|
+
subcircuit_id: z159.string().optional(),
|
|
3436
|
+
source_trace_id: z159.string().optional(),
|
|
3437
|
+
source_port_id: z159.string().optional(),
|
|
3438
|
+
source_net_id: z159.string().optional(),
|
|
3416
3439
|
layer: layer_ref.optional(),
|
|
3417
3440
|
x: distance,
|
|
3418
3441
|
y: distance
|
|
@@ -3422,61 +3445,61 @@ var pcb_breakout_point = z158.object({
|
|
|
3422
3445
|
expectTypesMatch(true);
|
|
3423
3446
|
|
|
3424
3447
|
// src/pcb/pcb_ground_plane.ts
|
|
3425
|
-
import { z as
|
|
3426
|
-
var pcb_ground_plane =
|
|
3427
|
-
type:
|
|
3448
|
+
import { z as z160 } from "zod";
|
|
3449
|
+
var pcb_ground_plane = z160.object({
|
|
3450
|
+
type: z160.literal("pcb_ground_plane"),
|
|
3428
3451
|
pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
|
|
3429
|
-
source_pcb_ground_plane_id:
|
|
3430
|
-
source_net_id:
|
|
3431
|
-
pcb_group_id:
|
|
3432
|
-
subcircuit_id:
|
|
3452
|
+
source_pcb_ground_plane_id: z160.string(),
|
|
3453
|
+
source_net_id: z160.string(),
|
|
3454
|
+
pcb_group_id: z160.string().optional(),
|
|
3455
|
+
subcircuit_id: z160.string().optional()
|
|
3433
3456
|
}).describe("Defines a ground plane on the PCB");
|
|
3434
3457
|
expectTypesMatch(true);
|
|
3435
3458
|
|
|
3436
3459
|
// src/pcb/pcb_ground_plane_region.ts
|
|
3437
|
-
import { z as
|
|
3438
|
-
var pcb_ground_plane_region =
|
|
3439
|
-
type:
|
|
3460
|
+
import { z as z161 } from "zod";
|
|
3461
|
+
var pcb_ground_plane_region = z161.object({
|
|
3462
|
+
type: z161.literal("pcb_ground_plane_region"),
|
|
3440
3463
|
pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
|
|
3441
3464
|
"pcb_ground_plane_region"
|
|
3442
3465
|
),
|
|
3443
|
-
pcb_ground_plane_id:
|
|
3444
|
-
pcb_group_id:
|
|
3445
|
-
subcircuit_id:
|
|
3466
|
+
pcb_ground_plane_id: z161.string(),
|
|
3467
|
+
pcb_group_id: z161.string().optional(),
|
|
3468
|
+
subcircuit_id: z161.string().optional(),
|
|
3446
3469
|
layer: layer_ref,
|
|
3447
|
-
points:
|
|
3470
|
+
points: z161.array(point)
|
|
3448
3471
|
}).describe("Defines a polygon region of a ground plane");
|
|
3449
3472
|
expectTypesMatch(true);
|
|
3450
3473
|
|
|
3451
3474
|
// src/pcb/pcb_thermal_spoke.ts
|
|
3452
|
-
import { z as
|
|
3453
|
-
var pcb_thermal_spoke =
|
|
3454
|
-
type:
|
|
3475
|
+
import { z as z162 } from "zod";
|
|
3476
|
+
var pcb_thermal_spoke = z162.object({
|
|
3477
|
+
type: z162.literal("pcb_thermal_spoke"),
|
|
3455
3478
|
pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
|
|
3456
|
-
pcb_ground_plane_id:
|
|
3457
|
-
shape:
|
|
3458
|
-
spoke_count:
|
|
3479
|
+
pcb_ground_plane_id: z162.string(),
|
|
3480
|
+
shape: z162.string(),
|
|
3481
|
+
spoke_count: z162.number(),
|
|
3459
3482
|
spoke_thickness: distance,
|
|
3460
3483
|
spoke_inner_diameter: distance,
|
|
3461
3484
|
spoke_outer_diameter: distance,
|
|
3462
|
-
pcb_plated_hole_id:
|
|
3463
|
-
subcircuit_id:
|
|
3485
|
+
pcb_plated_hole_id: z162.string().optional(),
|
|
3486
|
+
subcircuit_id: z162.string().optional()
|
|
3464
3487
|
}).describe("Pattern for connecting a ground plane to a plated hole");
|
|
3465
3488
|
expectTypesMatch(true);
|
|
3466
3489
|
|
|
3467
3490
|
// src/pcb/pcb_copper_pour.ts
|
|
3468
|
-
import { z as
|
|
3469
|
-
var pcb_copper_pour_base =
|
|
3470
|
-
type:
|
|
3491
|
+
import { z as z163 } from "zod";
|
|
3492
|
+
var pcb_copper_pour_base = z163.object({
|
|
3493
|
+
type: z163.literal("pcb_copper_pour"),
|
|
3471
3494
|
pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
|
|
3472
|
-
pcb_group_id:
|
|
3473
|
-
subcircuit_id:
|
|
3495
|
+
pcb_group_id: z163.string().optional(),
|
|
3496
|
+
subcircuit_id: z163.string().optional(),
|
|
3474
3497
|
layer: layer_ref,
|
|
3475
|
-
source_net_id:
|
|
3476
|
-
covered_with_solder_mask:
|
|
3498
|
+
source_net_id: z163.string().optional(),
|
|
3499
|
+
covered_with_solder_mask: z163.boolean().optional().default(true)
|
|
3477
3500
|
});
|
|
3478
3501
|
var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
3479
|
-
shape:
|
|
3502
|
+
shape: z163.literal("rect"),
|
|
3480
3503
|
center: point,
|
|
3481
3504
|
width: length,
|
|
3482
3505
|
height: length,
|
|
@@ -3484,16 +3507,16 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
|
3484
3507
|
});
|
|
3485
3508
|
expectTypesMatch(true);
|
|
3486
3509
|
var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
|
|
3487
|
-
shape:
|
|
3510
|
+
shape: z163.literal("brep"),
|
|
3488
3511
|
brep_shape
|
|
3489
3512
|
});
|
|
3490
3513
|
expectTypesMatch(true);
|
|
3491
3514
|
var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
|
|
3492
|
-
shape:
|
|
3493
|
-
points:
|
|
3515
|
+
shape: z163.literal("polygon"),
|
|
3516
|
+
points: z163.array(point)
|
|
3494
3517
|
});
|
|
3495
3518
|
expectTypesMatch(true);
|
|
3496
|
-
var pcb_copper_pour =
|
|
3519
|
+
var pcb_copper_pour = z163.discriminatedUnion("shape", [
|
|
3497
3520
|
pcb_copper_pour_rect,
|
|
3498
3521
|
pcb_copper_pour_brep,
|
|
3499
3522
|
pcb_copper_pour_polygon
|
|
@@ -3501,99 +3524,99 @@ var pcb_copper_pour = z162.discriminatedUnion("shape", [
|
|
|
3501
3524
|
expectTypesMatch(true);
|
|
3502
3525
|
|
|
3503
3526
|
// src/pcb/pcb_component_outside_board_error.ts
|
|
3504
|
-
import { z as
|
|
3527
|
+
import { z as z164 } from "zod";
|
|
3505
3528
|
var pcb_component_outside_board_error = base_circuit_json_error.extend({
|
|
3506
|
-
type:
|
|
3529
|
+
type: z164.literal("pcb_component_outside_board_error"),
|
|
3507
3530
|
pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
|
|
3508
3531
|
"pcb_component_outside_board_error"
|
|
3509
3532
|
),
|
|
3510
|
-
error_type:
|
|
3511
|
-
pcb_component_id:
|
|
3512
|
-
pcb_board_id:
|
|
3533
|
+
error_type: z164.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
|
|
3534
|
+
pcb_component_id: z164.string(),
|
|
3535
|
+
pcb_board_id: z164.string(),
|
|
3513
3536
|
component_center: point,
|
|
3514
|
-
component_bounds:
|
|
3515
|
-
min_x:
|
|
3516
|
-
max_x:
|
|
3517
|
-
min_y:
|
|
3518
|
-
max_y:
|
|
3537
|
+
component_bounds: z164.object({
|
|
3538
|
+
min_x: z164.number(),
|
|
3539
|
+
max_x: z164.number(),
|
|
3540
|
+
min_y: z164.number(),
|
|
3541
|
+
max_y: z164.number()
|
|
3519
3542
|
}),
|
|
3520
|
-
subcircuit_id:
|
|
3521
|
-
source_component_id:
|
|
3543
|
+
subcircuit_id: z164.string().optional(),
|
|
3544
|
+
source_component_id: z164.string().optional()
|
|
3522
3545
|
}).describe(
|
|
3523
3546
|
"Error emitted when a PCB component is placed outside the board boundaries"
|
|
3524
3547
|
);
|
|
3525
3548
|
expectTypesMatch(true);
|
|
3526
3549
|
|
|
3527
3550
|
// src/pcb/pcb_component_not_on_board_edge_error.ts
|
|
3528
|
-
import { z as
|
|
3551
|
+
import { z as z165 } from "zod";
|
|
3529
3552
|
var pcb_component_not_on_board_edge_error = base_circuit_json_error.extend({
|
|
3530
|
-
type:
|
|
3553
|
+
type: z165.literal("pcb_component_not_on_board_edge_error"),
|
|
3531
3554
|
pcb_component_not_on_board_edge_error_id: getZodPrefixedIdWithDefault(
|
|
3532
3555
|
"pcb_component_not_on_board_edge_error"
|
|
3533
3556
|
),
|
|
3534
|
-
error_type:
|
|
3535
|
-
pcb_component_id:
|
|
3536
|
-
pcb_board_id:
|
|
3557
|
+
error_type: z165.literal("pcb_component_not_on_board_edge_error").default("pcb_component_not_on_board_edge_error"),
|
|
3558
|
+
pcb_component_id: z165.string(),
|
|
3559
|
+
pcb_board_id: z165.string(),
|
|
3537
3560
|
component_center: point,
|
|
3538
|
-
pad_to_nearest_board_edge_distance:
|
|
3539
|
-
source_component_id:
|
|
3540
|
-
subcircuit_id:
|
|
3561
|
+
pad_to_nearest_board_edge_distance: z165.number(),
|
|
3562
|
+
source_component_id: z165.string().optional(),
|
|
3563
|
+
subcircuit_id: z165.string().optional()
|
|
3541
3564
|
}).describe(
|
|
3542
3565
|
"Error emitted when a component that must be placed on the board edge is centered away from the edge"
|
|
3543
3566
|
);
|
|
3544
3567
|
expectTypesMatch(true);
|
|
3545
3568
|
|
|
3546
3569
|
// src/pcb/pcb_component_invalid_layer_error.ts
|
|
3547
|
-
import { z as
|
|
3570
|
+
import { z as z166 } from "zod";
|
|
3548
3571
|
var pcb_component_invalid_layer_error = base_circuit_json_error.extend({
|
|
3549
|
-
type:
|
|
3572
|
+
type: z166.literal("pcb_component_invalid_layer_error"),
|
|
3550
3573
|
pcb_component_invalid_layer_error_id: getZodPrefixedIdWithDefault(
|
|
3551
3574
|
"pcb_component_invalid_layer_error"
|
|
3552
3575
|
),
|
|
3553
|
-
error_type:
|
|
3554
|
-
pcb_component_id:
|
|
3555
|
-
source_component_id:
|
|
3576
|
+
error_type: z166.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
|
|
3577
|
+
pcb_component_id: z166.string().optional(),
|
|
3578
|
+
source_component_id: z166.string(),
|
|
3556
3579
|
layer: layer_ref,
|
|
3557
|
-
subcircuit_id:
|
|
3580
|
+
subcircuit_id: z166.string().optional()
|
|
3558
3581
|
}).describe(
|
|
3559
3582
|
"Error emitted when a component is placed on an invalid layer (components can only be on 'top' or 'bottom' layers)"
|
|
3560
3583
|
);
|
|
3561
3584
|
expectTypesMatch(true);
|
|
3562
3585
|
|
|
3563
3586
|
// src/pcb/pcb_via_clearance_error.ts
|
|
3564
|
-
import { z as
|
|
3587
|
+
import { z as z167 } from "zod";
|
|
3565
3588
|
var pcb_via_clearance_error = base_circuit_json_error.extend({
|
|
3566
|
-
type:
|
|
3589
|
+
type: z167.literal("pcb_via_clearance_error"),
|
|
3567
3590
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
3568
|
-
error_type:
|
|
3569
|
-
pcb_via_ids:
|
|
3591
|
+
error_type: z167.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
|
|
3592
|
+
pcb_via_ids: z167.array(z167.string()).min(2),
|
|
3570
3593
|
minimum_clearance: distance.optional(),
|
|
3571
3594
|
actual_clearance: distance.optional(),
|
|
3572
|
-
pcb_center:
|
|
3573
|
-
x:
|
|
3574
|
-
y:
|
|
3595
|
+
pcb_center: z167.object({
|
|
3596
|
+
x: z167.number().optional(),
|
|
3597
|
+
y: z167.number().optional()
|
|
3575
3598
|
}).optional(),
|
|
3576
|
-
subcircuit_id:
|
|
3599
|
+
subcircuit_id: z167.string().optional()
|
|
3577
3600
|
}).describe("Error emitted when vias are closer than the allowed clearance");
|
|
3578
3601
|
expectTypesMatch(true);
|
|
3579
3602
|
|
|
3580
3603
|
// src/pcb/pcb_via_trace_clearance_error.ts
|
|
3581
|
-
import { z as
|
|
3604
|
+
import { z as z168 } from "zod";
|
|
3582
3605
|
var pcb_via_trace_clearance_error = base_circuit_json_error.extend({
|
|
3583
|
-
type:
|
|
3606
|
+
type: z168.literal("pcb_via_trace_clearance_error"),
|
|
3584
3607
|
pcb_via_trace_clearance_error_id: getZodPrefixedIdWithDefault(
|
|
3585
3608
|
"pcb_via_trace_clearance_error"
|
|
3586
3609
|
),
|
|
3587
|
-
error_type:
|
|
3588
|
-
pcb_via_id:
|
|
3589
|
-
pcb_trace_id:
|
|
3610
|
+
error_type: z168.literal("pcb_via_trace_clearance_error").default("pcb_via_trace_clearance_error"),
|
|
3611
|
+
pcb_via_id: z168.string(),
|
|
3612
|
+
pcb_trace_id: z168.string(),
|
|
3590
3613
|
minimum_clearance: distance.optional(),
|
|
3591
3614
|
actual_clearance: distance.optional(),
|
|
3592
|
-
center:
|
|
3593
|
-
x:
|
|
3594
|
-
y:
|
|
3615
|
+
center: z168.object({
|
|
3616
|
+
x: z168.number().optional(),
|
|
3617
|
+
y: z168.number().optional()
|
|
3595
3618
|
}).optional(),
|
|
3596
|
-
subcircuit_id:
|
|
3619
|
+
subcircuit_id: z168.string().optional()
|
|
3597
3620
|
}).describe(
|
|
3598
3621
|
"Error emitted when a via and trace are closer than the allowed clearance"
|
|
3599
3622
|
);
|
|
@@ -3602,41 +3625,41 @@ expectTypesMatch(
|
|
|
3602
3625
|
);
|
|
3603
3626
|
|
|
3604
3627
|
// src/pcb/pcb_pad_pad_clearance_error.ts
|
|
3605
|
-
import { z as
|
|
3628
|
+
import { z as z169 } from "zod";
|
|
3606
3629
|
var pcb_pad_pad_clearance_error = base_circuit_json_error.extend({
|
|
3607
|
-
type:
|
|
3630
|
+
type: z169.literal("pcb_pad_pad_clearance_error"),
|
|
3608
3631
|
pcb_pad_pad_clearance_error_id: getZodPrefixedIdWithDefault(
|
|
3609
3632
|
"pcb_pad_pad_clearance_error"
|
|
3610
3633
|
),
|
|
3611
|
-
error_type:
|
|
3612
|
-
pcb_pad_ids:
|
|
3634
|
+
error_type: z169.literal("pcb_pad_pad_clearance_error").default("pcb_pad_pad_clearance_error"),
|
|
3635
|
+
pcb_pad_ids: z169.array(z169.string()).min(2),
|
|
3613
3636
|
minimum_clearance: distance.optional(),
|
|
3614
3637
|
actual_clearance: distance.optional(),
|
|
3615
|
-
center:
|
|
3616
|
-
x:
|
|
3617
|
-
y:
|
|
3638
|
+
center: z169.object({
|
|
3639
|
+
x: z169.number().optional(),
|
|
3640
|
+
y: z169.number().optional()
|
|
3618
3641
|
}).optional(),
|
|
3619
|
-
subcircuit_id:
|
|
3642
|
+
subcircuit_id: z169.string().optional()
|
|
3620
3643
|
}).describe("Error emitted when pads are closer than the allowed clearance");
|
|
3621
3644
|
expectTypesMatch(true);
|
|
3622
3645
|
|
|
3623
3646
|
// src/pcb/pcb_pad_trace_clearance_error.ts
|
|
3624
|
-
import { z as
|
|
3647
|
+
import { z as z170 } from "zod";
|
|
3625
3648
|
var pcb_pad_trace_clearance_error = base_circuit_json_error.extend({
|
|
3626
|
-
type:
|
|
3649
|
+
type: z170.literal("pcb_pad_trace_clearance_error"),
|
|
3627
3650
|
pcb_pad_trace_clearance_error_id: getZodPrefixedIdWithDefault(
|
|
3628
3651
|
"pcb_pad_trace_clearance_error"
|
|
3629
3652
|
),
|
|
3630
|
-
error_type:
|
|
3631
|
-
pcb_pad_id:
|
|
3632
|
-
pcb_trace_id:
|
|
3653
|
+
error_type: z170.literal("pcb_pad_trace_clearance_error").default("pcb_pad_trace_clearance_error"),
|
|
3654
|
+
pcb_pad_id: z170.string(),
|
|
3655
|
+
pcb_trace_id: z170.string(),
|
|
3633
3656
|
minimum_clearance: distance.optional(),
|
|
3634
3657
|
actual_clearance: distance.optional(),
|
|
3635
|
-
center:
|
|
3636
|
-
x:
|
|
3637
|
-
y:
|
|
3658
|
+
center: z170.object({
|
|
3659
|
+
x: z170.number().optional(),
|
|
3660
|
+
y: z170.number().optional()
|
|
3638
3661
|
}).optional(),
|
|
3639
|
-
subcircuit_id:
|
|
3662
|
+
subcircuit_id: z170.string().optional()
|
|
3640
3663
|
}).describe(
|
|
3641
3664
|
"Error emitted when a pad and trace are closer than allowed clearance"
|
|
3642
3665
|
);
|
|
@@ -3645,89 +3668,89 @@ expectTypesMatch(
|
|
|
3645
3668
|
);
|
|
3646
3669
|
|
|
3647
3670
|
// src/pcb/pcb_courtyard_rect.ts
|
|
3648
|
-
import { z as
|
|
3649
|
-
var pcb_courtyard_rect =
|
|
3650
|
-
type:
|
|
3671
|
+
import { z as z171 } from "zod";
|
|
3672
|
+
var pcb_courtyard_rect = z171.object({
|
|
3673
|
+
type: z171.literal("pcb_courtyard_rect"),
|
|
3651
3674
|
pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
|
|
3652
|
-
pcb_component_id:
|
|
3653
|
-
pcb_group_id:
|
|
3654
|
-
subcircuit_id:
|
|
3675
|
+
pcb_component_id: z171.string(),
|
|
3676
|
+
pcb_group_id: z171.string().optional(),
|
|
3677
|
+
subcircuit_id: z171.string().optional(),
|
|
3655
3678
|
center: point,
|
|
3656
3679
|
width: length,
|
|
3657
3680
|
height: length,
|
|
3658
3681
|
layer: visible_layer,
|
|
3659
3682
|
ccw_rotation: rotation.optional(),
|
|
3660
|
-
color:
|
|
3683
|
+
color: z171.string().optional()
|
|
3661
3684
|
}).describe("Defines a courtyard rectangle on the PCB");
|
|
3662
3685
|
expectTypesMatch(true);
|
|
3663
3686
|
|
|
3664
3687
|
// src/pcb/pcb_courtyard_outline.ts
|
|
3665
|
-
import { z as
|
|
3666
|
-
var pcb_courtyard_outline =
|
|
3667
|
-
type:
|
|
3688
|
+
import { z as z172 } from "zod";
|
|
3689
|
+
var pcb_courtyard_outline = z172.object({
|
|
3690
|
+
type: z172.literal("pcb_courtyard_outline"),
|
|
3668
3691
|
pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
|
|
3669
3692
|
"pcb_courtyard_outline"
|
|
3670
3693
|
),
|
|
3671
|
-
pcb_component_id:
|
|
3672
|
-
pcb_group_id:
|
|
3673
|
-
subcircuit_id:
|
|
3694
|
+
pcb_component_id: z172.string(),
|
|
3695
|
+
pcb_group_id: z172.string().optional(),
|
|
3696
|
+
subcircuit_id: z172.string().optional(),
|
|
3674
3697
|
layer: visible_layer,
|
|
3675
|
-
outline:
|
|
3698
|
+
outline: z172.array(point).min(2)
|
|
3676
3699
|
}).describe("Defines a courtyard outline on the PCB");
|
|
3677
3700
|
expectTypesMatch(true);
|
|
3678
3701
|
|
|
3679
3702
|
// src/pcb/pcb_courtyard_polygon.ts
|
|
3680
|
-
import { z as
|
|
3681
|
-
var pcb_courtyard_polygon =
|
|
3682
|
-
type:
|
|
3703
|
+
import { z as z173 } from "zod";
|
|
3704
|
+
var pcb_courtyard_polygon = z173.object({
|
|
3705
|
+
type: z173.literal("pcb_courtyard_polygon"),
|
|
3683
3706
|
pcb_courtyard_polygon_id: getZodPrefixedIdWithDefault(
|
|
3684
3707
|
"pcb_courtyard_polygon"
|
|
3685
3708
|
),
|
|
3686
|
-
pcb_component_id:
|
|
3687
|
-
pcb_group_id:
|
|
3688
|
-
subcircuit_id:
|
|
3709
|
+
pcb_component_id: z173.string(),
|
|
3710
|
+
pcb_group_id: z173.string().optional(),
|
|
3711
|
+
subcircuit_id: z173.string().optional(),
|
|
3689
3712
|
layer: visible_layer,
|
|
3690
|
-
points:
|
|
3691
|
-
color:
|
|
3713
|
+
points: z173.array(point).min(3),
|
|
3714
|
+
color: z173.string().optional()
|
|
3692
3715
|
}).describe("Defines a courtyard polygon on the PCB");
|
|
3693
3716
|
expectTypesMatch(true);
|
|
3694
3717
|
|
|
3695
3718
|
// src/pcb/pcb_courtyard_circle.ts
|
|
3696
|
-
import { z as
|
|
3697
|
-
var pcb_courtyard_circle =
|
|
3698
|
-
type:
|
|
3719
|
+
import { z as z174 } from "zod";
|
|
3720
|
+
var pcb_courtyard_circle = z174.object({
|
|
3721
|
+
type: z174.literal("pcb_courtyard_circle"),
|
|
3699
3722
|
pcb_courtyard_circle_id: getZodPrefixedIdWithDefault(
|
|
3700
3723
|
"pcb_courtyard_circle"
|
|
3701
3724
|
),
|
|
3702
|
-
pcb_component_id:
|
|
3703
|
-
pcb_group_id:
|
|
3704
|
-
subcircuit_id:
|
|
3725
|
+
pcb_component_id: z174.string(),
|
|
3726
|
+
pcb_group_id: z174.string().optional(),
|
|
3727
|
+
subcircuit_id: z174.string().optional(),
|
|
3705
3728
|
center: point,
|
|
3706
3729
|
radius: length,
|
|
3707
3730
|
layer: visible_layer,
|
|
3708
|
-
color:
|
|
3731
|
+
color: z174.string().optional()
|
|
3709
3732
|
}).describe("Defines a courtyard circle on the PCB");
|
|
3710
3733
|
expectTypesMatch(true);
|
|
3711
3734
|
|
|
3712
3735
|
// src/pcb/pcb_courtyard_pill.ts
|
|
3713
|
-
import { z as
|
|
3714
|
-
var pcb_courtyard_pill =
|
|
3715
|
-
type:
|
|
3736
|
+
import { z as z175 } from "zod";
|
|
3737
|
+
var pcb_courtyard_pill = z175.object({
|
|
3738
|
+
type: z175.literal("pcb_courtyard_pill"),
|
|
3716
3739
|
pcb_courtyard_pill_id: getZodPrefixedIdWithDefault("pcb_courtyard_pill"),
|
|
3717
|
-
pcb_component_id:
|
|
3718
|
-
pcb_group_id:
|
|
3719
|
-
subcircuit_id:
|
|
3740
|
+
pcb_component_id: z175.string(),
|
|
3741
|
+
pcb_group_id: z175.string().optional(),
|
|
3742
|
+
subcircuit_id: z175.string().optional(),
|
|
3720
3743
|
center: point,
|
|
3721
3744
|
width: length,
|
|
3722
3745
|
height: length,
|
|
3723
3746
|
radius: length,
|
|
3724
3747
|
layer: visible_layer,
|
|
3725
|
-
color:
|
|
3748
|
+
color: z175.string().optional()
|
|
3726
3749
|
}).describe("Defines a courtyard pill on the PCB");
|
|
3727
3750
|
expectTypesMatch(true);
|
|
3728
3751
|
|
|
3729
3752
|
// src/cad/cad_component.ts
|
|
3730
|
-
import { z as
|
|
3753
|
+
import { z as z176 } from "zod";
|
|
3731
3754
|
|
|
3732
3755
|
// src/cad/cad_model_conventions.ts
|
|
3733
3756
|
var cad_model_formats = [
|
|
@@ -3758,50 +3781,50 @@ var cadModelDefaultDirectionMap = {
|
|
|
3758
3781
|
};
|
|
3759
3782
|
|
|
3760
3783
|
// src/cad/cad_component.ts
|
|
3761
|
-
var cad_component =
|
|
3762
|
-
type:
|
|
3763
|
-
cad_component_id:
|
|
3764
|
-
pcb_component_id:
|
|
3765
|
-
source_component_id:
|
|
3784
|
+
var cad_component = z176.object({
|
|
3785
|
+
type: z176.literal("cad_component"),
|
|
3786
|
+
cad_component_id: z176.string(),
|
|
3787
|
+
pcb_component_id: z176.string(),
|
|
3788
|
+
source_component_id: z176.string(),
|
|
3766
3789
|
position: point3,
|
|
3767
3790
|
rotation: point3.optional(),
|
|
3768
3791
|
size: point3.optional(),
|
|
3769
3792
|
layer: layer_ref.optional(),
|
|
3770
|
-
subcircuit_id:
|
|
3793
|
+
subcircuit_id: z176.string().optional(),
|
|
3771
3794
|
// These are all ways to generate/load the 3d model
|
|
3772
|
-
footprinter_string:
|
|
3773
|
-
model_obj_url:
|
|
3774
|
-
model_stl_url:
|
|
3775
|
-
model_3mf_url:
|
|
3776
|
-
model_gltf_url:
|
|
3777
|
-
model_glb_url:
|
|
3778
|
-
model_step_url:
|
|
3779
|
-
model_wrl_url:
|
|
3795
|
+
footprinter_string: z176.string().optional(),
|
|
3796
|
+
model_obj_url: z176.string().optional(),
|
|
3797
|
+
model_stl_url: z176.string().optional(),
|
|
3798
|
+
model_3mf_url: z176.string().optional(),
|
|
3799
|
+
model_gltf_url: z176.string().optional(),
|
|
3800
|
+
model_glb_url: z176.string().optional(),
|
|
3801
|
+
model_step_url: z176.string().optional(),
|
|
3802
|
+
model_wrl_url: z176.string().optional(),
|
|
3780
3803
|
model_asset: asset.optional(),
|
|
3781
|
-
model_unit_to_mm_scale_factor:
|
|
3782
|
-
model_board_normal_direction:
|
|
3804
|
+
model_unit_to_mm_scale_factor: z176.number().optional(),
|
|
3805
|
+
model_board_normal_direction: z176.enum(cad_model_axis_directions).optional().describe(
|
|
3783
3806
|
`The direction in the model's coordinate space that is considered "up" or "coming out of the board surface"`
|
|
3784
3807
|
),
|
|
3785
3808
|
model_origin_position: point3.optional(),
|
|
3786
|
-
model_origin_alignment:
|
|
3809
|
+
model_origin_alignment: z176.enum([
|
|
3787
3810
|
"unknown",
|
|
3788
3811
|
"center",
|
|
3789
3812
|
"center_of_component_on_board_surface",
|
|
3790
3813
|
"bottom_center_of_component"
|
|
3791
3814
|
]).optional(),
|
|
3792
|
-
model_object_fit:
|
|
3793
|
-
model_jscad:
|
|
3794
|
-
show_as_translucent_model:
|
|
3795
|
-
show_as_bounding_box:
|
|
3796
|
-
show_hidden_edges:
|
|
3797
|
-
anchor_alignment:
|
|
3815
|
+
model_object_fit: z176.enum(["contain_within_bounds", "fill_bounds"]).optional().default("contain_within_bounds"),
|
|
3816
|
+
model_jscad: z176.any().optional(),
|
|
3817
|
+
show_as_translucent_model: z176.boolean().optional(),
|
|
3818
|
+
show_as_bounding_box: z176.boolean().optional(),
|
|
3819
|
+
show_hidden_edges: z176.boolean().optional(),
|
|
3820
|
+
anchor_alignment: z176.enum(["center", "center_of_component_on_board_surface"]).optional().default("center")
|
|
3798
3821
|
}).describe("Defines a component on the PCB");
|
|
3799
3822
|
expectTypesMatch(true);
|
|
3800
3823
|
|
|
3801
3824
|
// src/simulation/simulation_voltage_source.ts
|
|
3802
|
-
import { z as
|
|
3803
|
-
var wave_shape =
|
|
3804
|
-
var percentage =
|
|
3825
|
+
import { z as z177 } from "zod";
|
|
3826
|
+
var wave_shape = z177.enum(["sinewave", "square", "triangle", "sawtooth"]);
|
|
3827
|
+
var percentage = z177.union([z177.string(), z177.number()]).transform((val) => {
|
|
3805
3828
|
if (typeof val === "string") {
|
|
3806
3829
|
if (val.endsWith("%")) {
|
|
3807
3830
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -3810,32 +3833,32 @@ var percentage = z176.union([z176.string(), z176.number()]).transform((val) => {
|
|
|
3810
3833
|
}
|
|
3811
3834
|
return val;
|
|
3812
3835
|
}).pipe(
|
|
3813
|
-
|
|
3836
|
+
z177.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
3814
3837
|
);
|
|
3815
|
-
var simulation_dc_voltage_source =
|
|
3816
|
-
type:
|
|
3838
|
+
var simulation_dc_voltage_source = z177.object({
|
|
3839
|
+
type: z177.literal("simulation_voltage_source"),
|
|
3817
3840
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
3818
3841
|
"simulation_voltage_source"
|
|
3819
3842
|
),
|
|
3820
|
-
is_dc_source:
|
|
3821
|
-
positive_source_port_id:
|
|
3822
|
-
negative_source_port_id:
|
|
3823
|
-
positive_source_net_id:
|
|
3824
|
-
negative_source_net_id:
|
|
3843
|
+
is_dc_source: z177.literal(true).optional().default(true),
|
|
3844
|
+
positive_source_port_id: z177.string().optional(),
|
|
3845
|
+
negative_source_port_id: z177.string().optional(),
|
|
3846
|
+
positive_source_net_id: z177.string().optional(),
|
|
3847
|
+
negative_source_net_id: z177.string().optional(),
|
|
3825
3848
|
voltage,
|
|
3826
3849
|
ac_magnitude: voltage.optional(),
|
|
3827
3850
|
ac_phase: rotation.optional()
|
|
3828
3851
|
}).describe("Defines a DC voltage source for simulation");
|
|
3829
|
-
var simulation_ac_voltage_source =
|
|
3830
|
-
type:
|
|
3852
|
+
var simulation_ac_voltage_source = z177.object({
|
|
3853
|
+
type: z177.literal("simulation_voltage_source"),
|
|
3831
3854
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
3832
3855
|
"simulation_voltage_source"
|
|
3833
3856
|
),
|
|
3834
|
-
is_dc_source:
|
|
3835
|
-
terminal1_source_port_id:
|
|
3836
|
-
terminal2_source_port_id:
|
|
3837
|
-
terminal1_source_net_id:
|
|
3838
|
-
terminal2_source_net_id:
|
|
3857
|
+
is_dc_source: z177.literal(false),
|
|
3858
|
+
terminal1_source_port_id: z177.string().optional(),
|
|
3859
|
+
terminal2_source_port_id: z177.string().optional(),
|
|
3860
|
+
terminal1_source_net_id: z177.string().optional(),
|
|
3861
|
+
terminal2_source_net_id: z177.string().optional(),
|
|
3839
3862
|
voltage: voltage.optional(),
|
|
3840
3863
|
frequency: frequency.optional(),
|
|
3841
3864
|
peak_to_peak_voltage: voltage.optional(),
|
|
@@ -3850,14 +3873,14 @@ var simulation_ac_voltage_source = z176.object({
|
|
|
3850
3873
|
ac_magnitude: voltage.optional(),
|
|
3851
3874
|
ac_phase: rotation.optional()
|
|
3852
3875
|
}).describe("Defines an AC voltage source for simulation");
|
|
3853
|
-
var simulation_voltage_source =
|
|
3876
|
+
var simulation_voltage_source = z177.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
|
|
3854
3877
|
expectTypesMatch(true);
|
|
3855
3878
|
expectTypesMatch(true);
|
|
3856
3879
|
expectTypesMatch(true);
|
|
3857
3880
|
|
|
3858
3881
|
// src/simulation/simulation_current_source.ts
|
|
3859
|
-
import { z as
|
|
3860
|
-
var percentage2 =
|
|
3882
|
+
import { z as z178 } from "zod";
|
|
3883
|
+
var percentage2 = z178.union([z178.string(), z178.number()]).transform((val) => {
|
|
3861
3884
|
if (typeof val === "string") {
|
|
3862
3885
|
if (val.endsWith("%")) {
|
|
3863
3886
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -3866,32 +3889,32 @@ var percentage2 = z177.union([z177.string(), z177.number()]).transform((val) =>
|
|
|
3866
3889
|
}
|
|
3867
3890
|
return val;
|
|
3868
3891
|
}).pipe(
|
|
3869
|
-
|
|
3892
|
+
z178.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
3870
3893
|
);
|
|
3871
|
-
var simulation_dc_current_source =
|
|
3872
|
-
type:
|
|
3894
|
+
var simulation_dc_current_source = z178.object({
|
|
3895
|
+
type: z178.literal("simulation_current_source"),
|
|
3873
3896
|
simulation_current_source_id: getZodPrefixedIdWithDefault(
|
|
3874
3897
|
"simulation_current_source"
|
|
3875
3898
|
),
|
|
3876
|
-
is_dc_source:
|
|
3877
|
-
positive_source_port_id:
|
|
3878
|
-
negative_source_port_id:
|
|
3879
|
-
positive_source_net_id:
|
|
3880
|
-
negative_source_net_id:
|
|
3899
|
+
is_dc_source: z178.literal(true).optional().default(true),
|
|
3900
|
+
positive_source_port_id: z178.string().optional(),
|
|
3901
|
+
negative_source_port_id: z178.string().optional(),
|
|
3902
|
+
positive_source_net_id: z178.string().optional(),
|
|
3903
|
+
negative_source_net_id: z178.string().optional(),
|
|
3881
3904
|
current,
|
|
3882
3905
|
ac_magnitude: current.optional(),
|
|
3883
3906
|
ac_phase: rotation.optional()
|
|
3884
3907
|
}).describe("Defines a DC current source for simulation");
|
|
3885
|
-
var simulation_ac_current_source =
|
|
3886
|
-
type:
|
|
3908
|
+
var simulation_ac_current_source = z178.object({
|
|
3909
|
+
type: z178.literal("simulation_current_source"),
|
|
3887
3910
|
simulation_current_source_id: getZodPrefixedIdWithDefault(
|
|
3888
3911
|
"simulation_current_source"
|
|
3889
3912
|
),
|
|
3890
|
-
is_dc_source:
|
|
3891
|
-
terminal1_source_port_id:
|
|
3892
|
-
terminal2_source_port_id:
|
|
3893
|
-
terminal1_source_net_id:
|
|
3894
|
-
terminal2_source_net_id:
|
|
3913
|
+
is_dc_source: z178.literal(false),
|
|
3914
|
+
terminal1_source_port_id: z178.string().optional(),
|
|
3915
|
+
terminal2_source_port_id: z178.string().optional(),
|
|
3916
|
+
terminal1_source_net_id: z178.string().optional(),
|
|
3917
|
+
terminal2_source_net_id: z178.string().optional(),
|
|
3895
3918
|
current: current.optional(),
|
|
3896
3919
|
frequency: frequency.optional(),
|
|
3897
3920
|
peak_to_peak_current: current.optional(),
|
|
@@ -3901,58 +3924,58 @@ var simulation_ac_current_source = z177.object({
|
|
|
3901
3924
|
ac_magnitude: current.optional(),
|
|
3902
3925
|
ac_phase: rotation.optional()
|
|
3903
3926
|
}).describe("Defines an AC current source for simulation");
|
|
3904
|
-
var simulation_current_source =
|
|
3927
|
+
var simulation_current_source = z178.union([simulation_dc_current_source, simulation_ac_current_source]).describe("Defines a current source for simulation");
|
|
3905
3928
|
expectTypesMatch(true);
|
|
3906
3929
|
expectTypesMatch(true);
|
|
3907
3930
|
expectTypesMatch(true);
|
|
3908
3931
|
|
|
3909
3932
|
// src/simulation/simulation_experiment.ts
|
|
3910
|
-
import { z as
|
|
3933
|
+
import { z as z180 } from "zod";
|
|
3911
3934
|
|
|
3912
3935
|
// src/simulation/simulation_units.ts
|
|
3913
|
-
import { z as
|
|
3914
|
-
var simulation_dc_sweep_unit =
|
|
3936
|
+
import { z as z179 } from "zod";
|
|
3937
|
+
var simulation_dc_sweep_unit = z179.custom(
|
|
3915
3938
|
(dcSweepUnit) => dcSweepUnit === "V" || dcSweepUnit === "A"
|
|
3916
3939
|
);
|
|
3917
|
-
var simulation_parameter_unit =
|
|
3940
|
+
var simulation_parameter_unit = z179.custom(
|
|
3918
3941
|
(parameterUnit) => parameterUnit === "\u03A9" || parameterUnit === "F" || parameterUnit === "H" || parameterUnit === "V" || parameterUnit === "A"
|
|
3919
3942
|
);
|
|
3920
3943
|
|
|
3921
3944
|
// src/simulation/simulation_experiment.ts
|
|
3922
|
-
var experiment_type =
|
|
3923
|
-
|
|
3924
|
-
|
|
3925
|
-
|
|
3926
|
-
|
|
3945
|
+
var experiment_type = z180.union([
|
|
3946
|
+
z180.literal("spice_dc_sweep"),
|
|
3947
|
+
z180.literal("spice_dc_operating_point"),
|
|
3948
|
+
z180.literal("spice_transient_analysis"),
|
|
3949
|
+
z180.literal("spice_ac_analysis")
|
|
3927
3950
|
]);
|
|
3928
|
-
var spice_simulation_options =
|
|
3929
|
-
method:
|
|
3930
|
-
reltol:
|
|
3931
|
-
abstol:
|
|
3932
|
-
vntol:
|
|
3951
|
+
var spice_simulation_options = z180.object({
|
|
3952
|
+
method: z180.enum(["trap", "gear"]).optional(),
|
|
3953
|
+
reltol: z180.union([z180.number(), z180.string()]).optional(),
|
|
3954
|
+
abstol: z180.union([z180.number(), z180.string()]).optional(),
|
|
3955
|
+
vntol: z180.union([z180.number(), z180.string()]).optional()
|
|
3933
3956
|
}).describe("SPICE solver options for a simulation experiment");
|
|
3934
|
-
var simulation_experiment =
|
|
3935
|
-
type:
|
|
3957
|
+
var simulation_experiment = z180.object({
|
|
3958
|
+
type: z180.literal("simulation_experiment"),
|
|
3936
3959
|
simulation_experiment_id: getZodPrefixedIdWithDefault(
|
|
3937
3960
|
"simulation_experiment"
|
|
3938
3961
|
),
|
|
3939
|
-
name:
|
|
3962
|
+
name: z180.string(),
|
|
3940
3963
|
experiment_type,
|
|
3941
3964
|
time_per_step: duration_ms.optional(),
|
|
3942
3965
|
start_time_ms: ms.optional(),
|
|
3943
3966
|
end_time_ms: ms.optional(),
|
|
3944
3967
|
spice_options: spice_simulation_options.optional(),
|
|
3945
|
-
dc_sweep_voltage_source_id:
|
|
3946
|
-
dc_sweep_current_source_id:
|
|
3947
|
-
dc_sweep_start:
|
|
3948
|
-
dc_sweep_stop:
|
|
3949
|
-
dc_sweep_step:
|
|
3968
|
+
dc_sweep_voltage_source_id: z180.string().optional(),
|
|
3969
|
+
dc_sweep_current_source_id: z180.string().optional(),
|
|
3970
|
+
dc_sweep_start: z180.number().optional(),
|
|
3971
|
+
dc_sweep_stop: z180.number().optional(),
|
|
3972
|
+
dc_sweep_step: z180.number().refine((dcSweepStep) => dcSweepStep !== 0).optional(),
|
|
3950
3973
|
dc_sweep_unit: simulation_dc_sweep_unit.optional(),
|
|
3951
|
-
ac_sweep_type:
|
|
3952
|
-
ac_samples_per_interval:
|
|
3953
|
-
ac_sample_count:
|
|
3954
|
-
ac_start_frequency_hz:
|
|
3955
|
-
ac_stop_frequency_hz:
|
|
3974
|
+
ac_sweep_type: z180.enum(["linear", "decade", "octave"]).optional(),
|
|
3975
|
+
ac_samples_per_interval: z180.number().int().positive().optional(),
|
|
3976
|
+
ac_sample_count: z180.number().int().positive().optional(),
|
|
3977
|
+
ac_start_frequency_hz: z180.number().positive().optional(),
|
|
3978
|
+
ac_stop_frequency_hz: z180.number().positive().optional()
|
|
3956
3979
|
}).superRefine((experiment, context) => {
|
|
3957
3980
|
if (experiment.experiment_type === "spice_dc_sweep") {
|
|
3958
3981
|
const requiredFields = [
|
|
@@ -3964,7 +3987,7 @@ var simulation_experiment = z179.object({
|
|
|
3964
3987
|
for (const field of requiredFields) {
|
|
3965
3988
|
if (experiment[field] === void 0) {
|
|
3966
3989
|
context.addIssue({
|
|
3967
|
-
code:
|
|
3990
|
+
code: z180.ZodIssueCode.custom,
|
|
3968
3991
|
path: [field],
|
|
3969
3992
|
message: `${field} is required for a DC sweep`
|
|
3970
3993
|
});
|
|
@@ -3974,7 +3997,7 @@ var simulation_experiment = z179.object({
|
|
|
3974
3997
|
const hasCurrentSource = experiment.dc_sweep_current_source_id !== void 0;
|
|
3975
3998
|
if (hasVoltageSource === hasCurrentSource) {
|
|
3976
3999
|
context.addIssue({
|
|
3977
|
-
code:
|
|
4000
|
+
code: z180.ZodIssueCode.custom,
|
|
3978
4001
|
path: ["dc_sweep_voltage_source_id"],
|
|
3979
4002
|
message: "Exactly one DC sweep voltage or current source ID is required"
|
|
3980
4003
|
});
|
|
@@ -3983,35 +4006,35 @@ var simulation_experiment = z179.object({
|
|
|
3983
4006
|
if (experiment.experiment_type === "spice_ac_analysis") {
|
|
3984
4007
|
if (experiment.ac_sweep_type === void 0) {
|
|
3985
4008
|
context.addIssue({
|
|
3986
|
-
code:
|
|
4009
|
+
code: z180.ZodIssueCode.custom,
|
|
3987
4010
|
path: ["ac_sweep_type"],
|
|
3988
4011
|
message: "ac_sweep_type is required for an AC analysis"
|
|
3989
4012
|
});
|
|
3990
4013
|
}
|
|
3991
4014
|
if (experiment.ac_start_frequency_hz === void 0) {
|
|
3992
4015
|
context.addIssue({
|
|
3993
|
-
code:
|
|
4016
|
+
code: z180.ZodIssueCode.custom,
|
|
3994
4017
|
path: ["ac_start_frequency_hz"],
|
|
3995
4018
|
message: "ac_start_frequency_hz is required for an AC analysis"
|
|
3996
4019
|
});
|
|
3997
4020
|
}
|
|
3998
4021
|
if (experiment.ac_stop_frequency_hz === void 0) {
|
|
3999
4022
|
context.addIssue({
|
|
4000
|
-
code:
|
|
4023
|
+
code: z180.ZodIssueCode.custom,
|
|
4001
4024
|
path: ["ac_stop_frequency_hz"],
|
|
4002
4025
|
message: "ac_stop_frequency_hz is required for an AC analysis"
|
|
4003
4026
|
});
|
|
4004
4027
|
}
|
|
4005
4028
|
if (experiment.ac_sweep_type === "linear" && experiment.ac_sample_count === void 0) {
|
|
4006
4029
|
context.addIssue({
|
|
4007
|
-
code:
|
|
4030
|
+
code: z180.ZodIssueCode.custom,
|
|
4008
4031
|
path: ["ac_sample_count"],
|
|
4009
4032
|
message: "ac_sample_count is required for a linear AC analysis"
|
|
4010
4033
|
});
|
|
4011
4034
|
}
|
|
4012
4035
|
if ((experiment.ac_sweep_type === "decade" || experiment.ac_sweep_type === "octave") && experiment.ac_samples_per_interval === void 0) {
|
|
4013
4036
|
context.addIssue({
|
|
4014
|
-
code:
|
|
4037
|
+
code: z180.ZodIssueCode.custom,
|
|
4015
4038
|
path: ["ac_samples_per_interval"],
|
|
4016
4039
|
message: "ac_samples_per_interval is required for decade and octave AC analyses"
|
|
4017
4040
|
});
|
|
@@ -4021,87 +4044,87 @@ var simulation_experiment = z179.object({
|
|
|
4021
4044
|
expectTypesMatch(true);
|
|
4022
4045
|
|
|
4023
4046
|
// src/simulation/simulation_transient_voltage_graph.ts
|
|
4024
|
-
import { z as
|
|
4047
|
+
import { z as z182 } from "zod";
|
|
4025
4048
|
|
|
4026
4049
|
// src/simulation/simulation_parameter_sweep_coordinate.ts
|
|
4027
|
-
import { z as
|
|
4028
|
-
var simulation_parameter_sweep_coordinate =
|
|
4029
|
-
simulation_parameter_sweep_id:
|
|
4030
|
-
sweep_index:
|
|
4031
|
-
parameter_value:
|
|
4050
|
+
import { z as z181 } from "zod";
|
|
4051
|
+
var simulation_parameter_sweep_coordinate = z181.object({
|
|
4052
|
+
simulation_parameter_sweep_id: z181.string(),
|
|
4053
|
+
sweep_index: z181.number().int().nonnegative(),
|
|
4054
|
+
parameter_value: z181.number(),
|
|
4032
4055
|
parameter_unit: simulation_parameter_unit
|
|
4033
4056
|
});
|
|
4034
4057
|
expectTypesMatch(true);
|
|
4035
4058
|
|
|
4036
4059
|
// src/simulation/simulation_transient_voltage_graph.ts
|
|
4037
|
-
var simulation_transient_voltage_graph =
|
|
4038
|
-
type:
|
|
4060
|
+
var simulation_transient_voltage_graph = z182.object({
|
|
4061
|
+
type: z182.literal("simulation_transient_voltage_graph"),
|
|
4039
4062
|
simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
|
|
4040
4063
|
"simulation_transient_voltage_graph"
|
|
4041
4064
|
),
|
|
4042
|
-
simulation_experiment_id:
|
|
4065
|
+
simulation_experiment_id: z182.string(),
|
|
4043
4066
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4044
|
-
timestamps_ms:
|
|
4045
|
-
voltage_levels:
|
|
4046
|
-
source_component_id:
|
|
4047
|
-
subcircuit_connectivity_map_key:
|
|
4067
|
+
timestamps_ms: z182.array(z182.number()).optional(),
|
|
4068
|
+
voltage_levels: z182.array(z182.number()),
|
|
4069
|
+
source_component_id: z182.string().optional(),
|
|
4070
|
+
subcircuit_connectivity_map_key: z182.string().optional(),
|
|
4048
4071
|
time_per_step: duration_ms,
|
|
4049
4072
|
start_time_ms: ms,
|
|
4050
4073
|
end_time_ms: ms,
|
|
4051
|
-
name:
|
|
4052
|
-
color:
|
|
4074
|
+
name: z182.string().optional(),
|
|
4075
|
+
color: z182.string().optional()
|
|
4053
4076
|
}).describe("Stores voltage measurements over time for a simulation");
|
|
4054
4077
|
expectTypesMatch(true);
|
|
4055
4078
|
|
|
4056
4079
|
// src/simulation/simulation_transient_current_graph.ts
|
|
4057
|
-
import { z as
|
|
4058
|
-
var simulation_transient_current_graph =
|
|
4059
|
-
type:
|
|
4080
|
+
import { z as z183 } from "zod";
|
|
4081
|
+
var simulation_transient_current_graph = z183.object({
|
|
4082
|
+
type: z183.literal("simulation_transient_current_graph"),
|
|
4060
4083
|
simulation_transient_current_graph_id: getZodPrefixedIdWithDefault(
|
|
4061
4084
|
"simulation_transient_current_graph"
|
|
4062
4085
|
),
|
|
4063
|
-
simulation_experiment_id:
|
|
4086
|
+
simulation_experiment_id: z183.string(),
|
|
4064
4087
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4065
|
-
timestamps_ms:
|
|
4066
|
-
current_levels:
|
|
4067
|
-
source_component_id:
|
|
4068
|
-
subcircuit_connectivity_map_key:
|
|
4088
|
+
timestamps_ms: z183.array(z183.number()).optional(),
|
|
4089
|
+
current_levels: z183.array(z183.number()),
|
|
4090
|
+
source_component_id: z183.string().optional(),
|
|
4091
|
+
subcircuit_connectivity_map_key: z183.string().optional(),
|
|
4069
4092
|
time_per_step: duration_ms,
|
|
4070
4093
|
start_time_ms: ms,
|
|
4071
4094
|
end_time_ms: ms,
|
|
4072
|
-
name:
|
|
4073
|
-
color:
|
|
4095
|
+
name: z183.string().optional(),
|
|
4096
|
+
color: z183.string().optional()
|
|
4074
4097
|
}).describe("Stores current measurements over time for a simulation");
|
|
4075
4098
|
expectTypesMatch(true);
|
|
4076
4099
|
|
|
4077
4100
|
// src/simulation/simulation_switch.ts
|
|
4078
|
-
import { z as
|
|
4079
|
-
var simulation_switch =
|
|
4080
|
-
type:
|
|
4101
|
+
import { z as z184 } from "zod";
|
|
4102
|
+
var simulation_switch = z184.object({
|
|
4103
|
+
type: z184.literal("simulation_switch"),
|
|
4081
4104
|
simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
|
|
4082
|
-
source_component_id:
|
|
4105
|
+
source_component_id: z184.string().optional(),
|
|
4083
4106
|
closes_at: ms.optional(),
|
|
4084
4107
|
opens_at: ms.optional(),
|
|
4085
|
-
starts_closed:
|
|
4108
|
+
starts_closed: z184.boolean().optional(),
|
|
4086
4109
|
switching_frequency: frequency.optional()
|
|
4087
4110
|
}).describe("Defines a switch for simulation timing control");
|
|
4088
4111
|
expectTypesMatch(true);
|
|
4089
4112
|
|
|
4090
4113
|
// src/simulation/simulation_voltage_probe.ts
|
|
4091
|
-
import { z as
|
|
4092
|
-
var simulation_voltage_probe =
|
|
4093
|
-
type:
|
|
4114
|
+
import { z as z185 } from "zod";
|
|
4115
|
+
var simulation_voltage_probe = z185.object({
|
|
4116
|
+
type: z185.literal("simulation_voltage_probe"),
|
|
4094
4117
|
simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
|
|
4095
4118
|
"simulation_voltage_probe"
|
|
4096
4119
|
),
|
|
4097
|
-
source_component_id:
|
|
4098
|
-
name:
|
|
4099
|
-
signal_input_source_port_id:
|
|
4100
|
-
signal_input_source_net_id:
|
|
4101
|
-
reference_input_source_port_id:
|
|
4102
|
-
reference_input_source_net_id:
|
|
4103
|
-
subcircuit_id:
|
|
4104
|
-
color:
|
|
4120
|
+
source_component_id: z185.string().optional(),
|
|
4121
|
+
name: z185.string().optional(),
|
|
4122
|
+
signal_input_source_port_id: z185.string().optional(),
|
|
4123
|
+
signal_input_source_net_id: z185.string().optional(),
|
|
4124
|
+
reference_input_source_port_id: z185.string().optional(),
|
|
4125
|
+
reference_input_source_net_id: z185.string().optional(),
|
|
4126
|
+
subcircuit_id: z185.string().optional(),
|
|
4127
|
+
color: z185.string().optional()
|
|
4105
4128
|
}).describe(
|
|
4106
4129
|
"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."
|
|
4107
4130
|
).superRefine((data, ctx) => {
|
|
@@ -4111,20 +4134,20 @@ var simulation_voltage_probe = z184.object({
|
|
|
4111
4134
|
const has_nets = !!data.signal_input_source_net_id || !!data.reference_input_source_net_id;
|
|
4112
4135
|
if (has_ports && has_nets) {
|
|
4113
4136
|
ctx.addIssue({
|
|
4114
|
-
code:
|
|
4137
|
+
code: z185.ZodIssueCode.custom,
|
|
4115
4138
|
message: "Cannot mix port and net connections in a differential probe."
|
|
4116
4139
|
});
|
|
4117
4140
|
} else if (has_ports) {
|
|
4118
4141
|
if (!data.signal_input_source_port_id || !data.reference_input_source_port_id) {
|
|
4119
4142
|
ctx.addIssue({
|
|
4120
|
-
code:
|
|
4143
|
+
code: z185.ZodIssueCode.custom,
|
|
4121
4144
|
message: "Differential port probe requires both signal_input_source_port_id and reference_input_source_port_id."
|
|
4122
4145
|
});
|
|
4123
4146
|
}
|
|
4124
4147
|
} else if (has_nets) {
|
|
4125
4148
|
if (!data.signal_input_source_net_id || !data.reference_input_source_net_id) {
|
|
4126
4149
|
ctx.addIssue({
|
|
4127
|
-
code:
|
|
4150
|
+
code: z185.ZodIssueCode.custom,
|
|
4128
4151
|
message: "Differential net probe requires both signal_input_source_net_id and reference_input_source_net_id."
|
|
4129
4152
|
});
|
|
4130
4153
|
}
|
|
@@ -4132,7 +4155,7 @@ var simulation_voltage_probe = z184.object({
|
|
|
4132
4155
|
} else {
|
|
4133
4156
|
if (!!data.signal_input_source_port_id === !!data.signal_input_source_net_id) {
|
|
4134
4157
|
ctx.addIssue({
|
|
4135
|
-
code:
|
|
4158
|
+
code: z185.ZodIssueCode.custom,
|
|
4136
4159
|
message: "A voltage probe must have exactly one of signal_input_source_port_id or signal_input_source_net_id."
|
|
4137
4160
|
});
|
|
4138
4161
|
}
|
|
@@ -4141,20 +4164,20 @@ var simulation_voltage_probe = z184.object({
|
|
|
4141
4164
|
expectTypesMatch(true);
|
|
4142
4165
|
|
|
4143
4166
|
// src/simulation/simulation_current_probe.ts
|
|
4144
|
-
import { z as
|
|
4145
|
-
var simulation_current_probe =
|
|
4146
|
-
type:
|
|
4167
|
+
import { z as z186 } from "zod";
|
|
4168
|
+
var simulation_current_probe = z186.object({
|
|
4169
|
+
type: z186.literal("simulation_current_probe"),
|
|
4147
4170
|
simulation_current_probe_id: getZodPrefixedIdWithDefault(
|
|
4148
4171
|
"simulation_current_probe"
|
|
4149
4172
|
),
|
|
4150
|
-
source_component_id:
|
|
4151
|
-
name:
|
|
4152
|
-
positive_source_port_id:
|
|
4153
|
-
negative_source_port_id:
|
|
4154
|
-
positive_source_net_id:
|
|
4155
|
-
negative_source_net_id:
|
|
4156
|
-
subcircuit_id:
|
|
4157
|
-
color:
|
|
4173
|
+
source_component_id: z186.string().optional(),
|
|
4174
|
+
name: z186.string().optional(),
|
|
4175
|
+
positive_source_port_id: z186.string().optional(),
|
|
4176
|
+
negative_source_port_id: z186.string().optional(),
|
|
4177
|
+
positive_source_net_id: z186.string().optional(),
|
|
4178
|
+
negative_source_net_id: z186.string().optional(),
|
|
4179
|
+
subcircuit_id: z186.string().optional(),
|
|
4180
|
+
color: z186.string().optional()
|
|
4158
4181
|
}).describe(
|
|
4159
4182
|
"Defines a current probe for simulation. It measures current flowing from the positive endpoint to the negative endpoint."
|
|
4160
4183
|
).superRefine((data, ctx) => {
|
|
@@ -4166,7 +4189,7 @@ var simulation_current_probe = z185.object({
|
|
|
4166
4189
|
const hasNets = hasPositiveNet || hasNegativeNet;
|
|
4167
4190
|
if (hasPorts && hasNets) {
|
|
4168
4191
|
ctx.addIssue({
|
|
4169
|
-
code:
|
|
4192
|
+
code: z186.ZodIssueCode.custom,
|
|
4170
4193
|
message: "Cannot mix port and net connections in a current probe."
|
|
4171
4194
|
});
|
|
4172
4195
|
return;
|
|
@@ -4174,7 +4197,7 @@ var simulation_current_probe = z185.object({
|
|
|
4174
4197
|
if (hasPorts) {
|
|
4175
4198
|
if (!hasPositivePort || !hasNegativePort) {
|
|
4176
4199
|
ctx.addIssue({
|
|
4177
|
-
code:
|
|
4200
|
+
code: z186.ZodIssueCode.custom,
|
|
4178
4201
|
message: "Current probe using source ports requires both positive_source_port_id and negative_source_port_id."
|
|
4179
4202
|
});
|
|
4180
4203
|
}
|
|
@@ -4183,71 +4206,71 @@ var simulation_current_probe = z185.object({
|
|
|
4183
4206
|
if (hasNets) {
|
|
4184
4207
|
if (!hasPositiveNet || !hasNegativeNet) {
|
|
4185
4208
|
ctx.addIssue({
|
|
4186
|
-
code:
|
|
4209
|
+
code: z186.ZodIssueCode.custom,
|
|
4187
4210
|
message: "Current probe using source nets requires both positive_source_net_id and negative_source_net_id."
|
|
4188
4211
|
});
|
|
4189
4212
|
}
|
|
4190
4213
|
return;
|
|
4191
4214
|
}
|
|
4192
4215
|
ctx.addIssue({
|
|
4193
|
-
code:
|
|
4216
|
+
code: z186.ZodIssueCode.custom,
|
|
4194
4217
|
message: "A current probe must have either positive/negative source port ids or positive/negative source net ids."
|
|
4195
4218
|
});
|
|
4196
4219
|
});
|
|
4197
4220
|
expectTypesMatch(true);
|
|
4198
4221
|
|
|
4199
4222
|
// src/simulation/simulation_unknown_experiment_error.ts
|
|
4200
|
-
import { z as
|
|
4223
|
+
import { z as z187 } from "zod";
|
|
4201
4224
|
var simulation_unknown_experiment_error = base_circuit_json_error.extend({
|
|
4202
|
-
type:
|
|
4225
|
+
type: z187.literal("simulation_unknown_experiment_error"),
|
|
4203
4226
|
simulation_unknown_experiment_error_id: getZodPrefixedIdWithDefault(
|
|
4204
4227
|
"simulation_unknown_experiment_error"
|
|
4205
4228
|
),
|
|
4206
|
-
error_type:
|
|
4207
|
-
simulation_experiment_id:
|
|
4208
|
-
subcircuit_id:
|
|
4229
|
+
error_type: z187.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
|
|
4230
|
+
simulation_experiment_id: z187.string().optional(),
|
|
4231
|
+
subcircuit_id: z187.string().optional()
|
|
4209
4232
|
}).describe("An unknown error occurred during the simulation experiment.");
|
|
4210
4233
|
expectTypesMatch(true);
|
|
4211
4234
|
|
|
4212
4235
|
// src/simulation/simulation_parameter_sweep.ts
|
|
4213
|
-
import { z as
|
|
4214
|
-
var simulation_parameter_type =
|
|
4236
|
+
import { z as z188 } from "zod";
|
|
4237
|
+
var simulation_parameter_type = z188.enum([
|
|
4215
4238
|
"resistance",
|
|
4216
4239
|
"capacitance",
|
|
4217
4240
|
"inductance",
|
|
4218
4241
|
"voltage",
|
|
4219
4242
|
"current"
|
|
4220
4243
|
]);
|
|
4221
|
-
var simulation_parameter_sweep_base =
|
|
4222
|
-
type:
|
|
4244
|
+
var simulation_parameter_sweep_base = z188.object({
|
|
4245
|
+
type: z188.literal("simulation_parameter_sweep"),
|
|
4223
4246
|
simulation_parameter_sweep_id: getZodPrefixedIdWithDefault(
|
|
4224
4247
|
"simulation_parameter_sweep"
|
|
4225
4248
|
),
|
|
4226
|
-
simulation_experiment_id:
|
|
4227
|
-
name:
|
|
4228
|
-
parameter_values:
|
|
4249
|
+
simulation_experiment_id: z188.string(),
|
|
4250
|
+
name: z188.string().optional(),
|
|
4251
|
+
parameter_values: z188.array(z188.number()).min(1),
|
|
4229
4252
|
parameter_unit: simulation_parameter_unit
|
|
4230
4253
|
});
|
|
4231
|
-
var simulation_parameter_sweep =
|
|
4254
|
+
var simulation_parameter_sweep = z188.discriminatedUnion("parameter_type", [
|
|
4232
4255
|
simulation_parameter_sweep_base.extend({
|
|
4233
|
-
parameter_type:
|
|
4234
|
-
resistor_source_component_id:
|
|
4256
|
+
parameter_type: z188.literal("resistance"),
|
|
4257
|
+
resistor_source_component_id: z188.string()
|
|
4235
4258
|
}),
|
|
4236
4259
|
simulation_parameter_sweep_base.extend({
|
|
4237
|
-
parameter_type:
|
|
4238
|
-
capacitor_source_component_id:
|
|
4260
|
+
parameter_type: z188.literal("capacitance"),
|
|
4261
|
+
capacitor_source_component_id: z188.string()
|
|
4239
4262
|
}),
|
|
4240
4263
|
simulation_parameter_sweep_base.extend({
|
|
4241
|
-
parameter_type:
|
|
4242
|
-
inductor_source_component_id:
|
|
4264
|
+
parameter_type: z188.literal("inductance"),
|
|
4265
|
+
inductor_source_component_id: z188.string()
|
|
4243
4266
|
}),
|
|
4244
4267
|
simulation_parameter_sweep_base.extend({
|
|
4245
|
-
parameter_type:
|
|
4246
|
-
source_net_id:
|
|
4268
|
+
parameter_type: z188.literal("voltage"),
|
|
4269
|
+
source_net_id: z188.string()
|
|
4247
4270
|
}),
|
|
4248
4271
|
simulation_parameter_sweep_base.extend({
|
|
4249
|
-
parameter_type:
|
|
4250
|
-
current_source_component_id:
|
|
4272
|
+
parameter_type: z188.literal("current"),
|
|
4273
|
+
current_source_component_id: z188.string()
|
|
4251
4274
|
})
|
|
4252
4275
|
]).describe("Repeats a simulation experiment over component parameter values");
|
|
4253
4276
|
expectTypesMatch(
|
|
@@ -4255,52 +4278,52 @@ expectTypesMatch(
|
|
|
4255
4278
|
);
|
|
4256
4279
|
|
|
4257
4280
|
// src/simulation/simulation_dc_operating_point_voltage.ts
|
|
4258
|
-
import { z as
|
|
4259
|
-
var simulation_dc_operating_point_voltage =
|
|
4260
|
-
type:
|
|
4281
|
+
import { z as z189 } from "zod";
|
|
4282
|
+
var simulation_dc_operating_point_voltage = z189.object({
|
|
4283
|
+
type: z189.literal("simulation_dc_operating_point_voltage"),
|
|
4261
4284
|
simulation_dc_operating_point_voltage_id: getZodPrefixedIdWithDefault(
|
|
4262
4285
|
"simulation_dc_operating_point_voltage"
|
|
4263
4286
|
),
|
|
4264
|
-
simulation_experiment_id:
|
|
4287
|
+
simulation_experiment_id: z189.string(),
|
|
4265
4288
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4266
|
-
simulation_voltage_probe_id:
|
|
4267
|
-
voltage:
|
|
4268
|
-
name:
|
|
4269
|
-
color:
|
|
4289
|
+
simulation_voltage_probe_id: z189.string(),
|
|
4290
|
+
voltage: z189.number(),
|
|
4291
|
+
name: z189.string().optional(),
|
|
4292
|
+
color: z189.string().optional()
|
|
4270
4293
|
});
|
|
4271
4294
|
expectTypesMatch(true);
|
|
4272
4295
|
|
|
4273
4296
|
// src/simulation/simulation_dc_operating_point_current.ts
|
|
4274
|
-
import { z as
|
|
4275
|
-
var simulation_dc_operating_point_current =
|
|
4276
|
-
type:
|
|
4297
|
+
import { z as z190 } from "zod";
|
|
4298
|
+
var simulation_dc_operating_point_current = z190.object({
|
|
4299
|
+
type: z190.literal("simulation_dc_operating_point_current"),
|
|
4277
4300
|
simulation_dc_operating_point_current_id: getZodPrefixedIdWithDefault(
|
|
4278
4301
|
"simulation_dc_operating_point_current"
|
|
4279
4302
|
),
|
|
4280
|
-
simulation_experiment_id:
|
|
4303
|
+
simulation_experiment_id: z190.string(),
|
|
4281
4304
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4282
|
-
simulation_current_probe_id:
|
|
4283
|
-
current:
|
|
4284
|
-
name:
|
|
4285
|
-
color:
|
|
4305
|
+
simulation_current_probe_id: z190.string(),
|
|
4306
|
+
current: z190.number(),
|
|
4307
|
+
name: z190.string().optional(),
|
|
4308
|
+
color: z190.string().optional()
|
|
4286
4309
|
});
|
|
4287
4310
|
expectTypesMatch(true);
|
|
4288
4311
|
|
|
4289
4312
|
// src/simulation/simulation_dc_sweep_voltage_graph.ts
|
|
4290
|
-
import { z as
|
|
4291
|
-
var simulation_dc_sweep_voltage_graph =
|
|
4292
|
-
type:
|
|
4313
|
+
import { z as z191 } from "zod";
|
|
4314
|
+
var simulation_dc_sweep_voltage_graph = z191.object({
|
|
4315
|
+
type: z191.literal("simulation_dc_sweep_voltage_graph"),
|
|
4293
4316
|
simulation_dc_sweep_voltage_graph_id: getZodPrefixedIdWithDefault(
|
|
4294
4317
|
"simulation_dc_sweep_voltage_graph"
|
|
4295
4318
|
),
|
|
4296
|
-
simulation_experiment_id:
|
|
4319
|
+
simulation_experiment_id: z191.string(),
|
|
4297
4320
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4298
|
-
simulation_voltage_probe_id:
|
|
4299
|
-
sweep_values:
|
|
4321
|
+
simulation_voltage_probe_id: z191.string(),
|
|
4322
|
+
sweep_values: z191.array(z191.number()),
|
|
4300
4323
|
sweep_unit: simulation_dc_sweep_unit,
|
|
4301
|
-
voltage_levels:
|
|
4302
|
-
name:
|
|
4303
|
-
color:
|
|
4324
|
+
voltage_levels: z191.array(z191.number()),
|
|
4325
|
+
name: z191.string().optional(),
|
|
4326
|
+
color: z191.string().optional()
|
|
4304
4327
|
}).refine(
|
|
4305
4328
|
(graph) => graph.sweep_values.length === graph.voltage_levels.length,
|
|
4306
4329
|
{
|
|
@@ -4310,20 +4333,20 @@ var simulation_dc_sweep_voltage_graph = z190.object({
|
|
|
4310
4333
|
expectTypesMatch(true);
|
|
4311
4334
|
|
|
4312
4335
|
// src/simulation/simulation_dc_sweep_current_graph.ts
|
|
4313
|
-
import { z as
|
|
4314
|
-
var simulation_dc_sweep_current_graph =
|
|
4315
|
-
type:
|
|
4336
|
+
import { z as z192 } from "zod";
|
|
4337
|
+
var simulation_dc_sweep_current_graph = z192.object({
|
|
4338
|
+
type: z192.literal("simulation_dc_sweep_current_graph"),
|
|
4316
4339
|
simulation_dc_sweep_current_graph_id: getZodPrefixedIdWithDefault(
|
|
4317
4340
|
"simulation_dc_sweep_current_graph"
|
|
4318
4341
|
),
|
|
4319
|
-
simulation_experiment_id:
|
|
4342
|
+
simulation_experiment_id: z192.string(),
|
|
4320
4343
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4321
|
-
simulation_current_probe_id:
|
|
4322
|
-
sweep_values:
|
|
4344
|
+
simulation_current_probe_id: z192.string(),
|
|
4345
|
+
sweep_values: z192.array(z192.number()),
|
|
4323
4346
|
sweep_unit: simulation_dc_sweep_unit,
|
|
4324
|
-
current_levels:
|
|
4325
|
-
name:
|
|
4326
|
-
color:
|
|
4347
|
+
current_levels: z192.array(z192.number()),
|
|
4348
|
+
name: z192.string().optional(),
|
|
4349
|
+
color: z192.string().optional()
|
|
4327
4350
|
}).refine(
|
|
4328
4351
|
(graph) => graph.sweep_values.length === graph.current_levels.length,
|
|
4329
4352
|
{
|
|
@@ -4333,29 +4356,29 @@ var simulation_dc_sweep_current_graph = z191.object({
|
|
|
4333
4356
|
expectTypesMatch(true);
|
|
4334
4357
|
|
|
4335
4358
|
// src/simulation/simulation_ac_sweep_voltage_graph.ts
|
|
4336
|
-
import { z as
|
|
4359
|
+
import { z as z194 } from "zod";
|
|
4337
4360
|
|
|
4338
4361
|
// src/simulation/simulation_complex_sample.ts
|
|
4339
|
-
import { z as
|
|
4340
|
-
var simulation_complex_sample =
|
|
4341
|
-
re:
|
|
4342
|
-
im:
|
|
4362
|
+
import { z as z193 } from "zod";
|
|
4363
|
+
var simulation_complex_sample = z193.object({
|
|
4364
|
+
re: z193.number(),
|
|
4365
|
+
im: z193.number()
|
|
4343
4366
|
});
|
|
4344
4367
|
expectTypesMatch(true);
|
|
4345
4368
|
|
|
4346
4369
|
// src/simulation/simulation_ac_sweep_voltage_graph.ts
|
|
4347
|
-
var simulation_ac_sweep_voltage_graph =
|
|
4348
|
-
type:
|
|
4370
|
+
var simulation_ac_sweep_voltage_graph = z194.object({
|
|
4371
|
+
type: z194.literal("simulation_ac_sweep_voltage_graph"),
|
|
4349
4372
|
simulation_ac_sweep_voltage_graph_id: getZodPrefixedIdWithDefault(
|
|
4350
4373
|
"simulation_ac_sweep_voltage_graph"
|
|
4351
4374
|
),
|
|
4352
|
-
simulation_experiment_id:
|
|
4375
|
+
simulation_experiment_id: z194.string(),
|
|
4353
4376
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4354
|
-
simulation_voltage_probe_id:
|
|
4355
|
-
frequencies_hz:
|
|
4356
|
-
complex_voltages:
|
|
4357
|
-
name:
|
|
4358
|
-
color:
|
|
4377
|
+
simulation_voltage_probe_id: z194.string(),
|
|
4378
|
+
frequencies_hz: z194.array(z194.number()),
|
|
4379
|
+
complex_voltages: z194.array(simulation_complex_sample),
|
|
4380
|
+
name: z194.string().optional(),
|
|
4381
|
+
color: z194.string().optional()
|
|
4359
4382
|
}).refine(
|
|
4360
4383
|
(graph) => graph.frequencies_hz.length === graph.complex_voltages.length,
|
|
4361
4384
|
{
|
|
@@ -4365,19 +4388,19 @@ var simulation_ac_sweep_voltage_graph = z193.object({
|
|
|
4365
4388
|
expectTypesMatch(true);
|
|
4366
4389
|
|
|
4367
4390
|
// src/simulation/simulation_ac_sweep_current_graph.ts
|
|
4368
|
-
import { z as
|
|
4369
|
-
var simulation_ac_sweep_current_graph =
|
|
4370
|
-
type:
|
|
4391
|
+
import { z as z195 } from "zod";
|
|
4392
|
+
var simulation_ac_sweep_current_graph = z195.object({
|
|
4393
|
+
type: z195.literal("simulation_ac_sweep_current_graph"),
|
|
4371
4394
|
simulation_ac_sweep_current_graph_id: getZodPrefixedIdWithDefault(
|
|
4372
4395
|
"simulation_ac_sweep_current_graph"
|
|
4373
4396
|
),
|
|
4374
|
-
simulation_experiment_id:
|
|
4397
|
+
simulation_experiment_id: z195.string(),
|
|
4375
4398
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4376
|
-
simulation_current_probe_id:
|
|
4377
|
-
frequencies_hz:
|
|
4378
|
-
complex_currents:
|
|
4379
|
-
name:
|
|
4380
|
-
color:
|
|
4399
|
+
simulation_current_probe_id: z195.string(),
|
|
4400
|
+
frequencies_hz: z195.array(z195.number()),
|
|
4401
|
+
complex_currents: z195.array(simulation_complex_sample),
|
|
4402
|
+
name: z195.string().optional(),
|
|
4403
|
+
color: z195.string().optional()
|
|
4381
4404
|
}).refine(
|
|
4382
4405
|
(graph) => graph.frequencies_hz.length === graph.complex_currents.length,
|
|
4383
4406
|
{
|
|
@@ -4387,52 +4410,52 @@ var simulation_ac_sweep_current_graph = z194.object({
|
|
|
4387
4410
|
expectTypesMatch(true);
|
|
4388
4411
|
|
|
4389
4412
|
// src/simulation/simulation_op_amp.ts
|
|
4390
|
-
import { z as
|
|
4391
|
-
var simulation_op_amp =
|
|
4392
|
-
type:
|
|
4413
|
+
import { z as z196 } from "zod";
|
|
4414
|
+
var simulation_op_amp = z196.object({
|
|
4415
|
+
type: z196.literal("simulation_op_amp"),
|
|
4393
4416
|
simulation_op_amp_id: getZodPrefixedIdWithDefault("simulation_op_amp"),
|
|
4394
|
-
source_component_id:
|
|
4395
|
-
inverting_input_source_port_id:
|
|
4396
|
-
non_inverting_input_source_port_id:
|
|
4397
|
-
output_source_port_id:
|
|
4398
|
-
positive_supply_source_port_id:
|
|
4399
|
-
negative_supply_source_port_id:
|
|
4417
|
+
source_component_id: z196.string().optional(),
|
|
4418
|
+
inverting_input_source_port_id: z196.string(),
|
|
4419
|
+
non_inverting_input_source_port_id: z196.string(),
|
|
4420
|
+
output_source_port_id: z196.string(),
|
|
4421
|
+
positive_supply_source_port_id: z196.string(),
|
|
4422
|
+
negative_supply_source_port_id: z196.string()
|
|
4400
4423
|
}).describe("Defines a simple ideal operational amplifier for simulation");
|
|
4401
4424
|
expectTypesMatch(true);
|
|
4402
4425
|
|
|
4403
4426
|
// src/simulation/simulation_spice_subcircuit.ts
|
|
4404
|
-
import { z as
|
|
4405
|
-
var simulation_spice_subcircuit =
|
|
4406
|
-
type:
|
|
4427
|
+
import { z as z197 } from "zod";
|
|
4428
|
+
var simulation_spice_subcircuit = z197.object({
|
|
4429
|
+
type: z197.literal("simulation_spice_subcircuit"),
|
|
4407
4430
|
simulation_spice_subcircuit_id: getZodPrefixedIdWithDefault(
|
|
4408
4431
|
"simulation_spice_subcircuit"
|
|
4409
4432
|
),
|
|
4410
|
-
source_component_id:
|
|
4411
|
-
spice_pin_to_source_port_map:
|
|
4412
|
-
subcircuit_source:
|
|
4433
|
+
source_component_id: z197.string(),
|
|
4434
|
+
spice_pin_to_source_port_map: z197.record(z197.string(), z197.string()),
|
|
4435
|
+
subcircuit_source: z197.string()
|
|
4413
4436
|
}).describe("Defines a custom SPICE subcircuit model for simulation");
|
|
4414
4437
|
expectTypesMatch(
|
|
4415
4438
|
true
|
|
4416
4439
|
);
|
|
4417
4440
|
|
|
4418
4441
|
// src/simulation/simulation_oscilloscope_trace.ts
|
|
4419
|
-
import { z as
|
|
4442
|
+
import { z as z198 } from "zod";
|
|
4420
4443
|
var hasValue = (value) => value !== void 0;
|
|
4421
|
-
var simulation_oscilloscope_trace =
|
|
4422
|
-
type:
|
|
4444
|
+
var simulation_oscilloscope_trace = z198.object({
|
|
4445
|
+
type: z198.literal("simulation_oscilloscope_trace"),
|
|
4423
4446
|
simulation_oscilloscope_trace_id: getZodPrefixedIdWithDefault(
|
|
4424
4447
|
"simulation_oscilloscope_trace"
|
|
4425
4448
|
),
|
|
4426
|
-
simulation_transient_voltage_graph_id:
|
|
4427
|
-
simulation_transient_current_graph_id:
|
|
4428
|
-
simulation_voltage_probe_id:
|
|
4429
|
-
simulation_current_probe_id:
|
|
4430
|
-
display_name:
|
|
4431
|
-
color:
|
|
4432
|
-
display_center_value:
|
|
4433
|
-
display_center_offset_divs:
|
|
4434
|
-
volts_per_div:
|
|
4435
|
-
amps_per_div:
|
|
4449
|
+
simulation_transient_voltage_graph_id: z198.string().optional(),
|
|
4450
|
+
simulation_transient_current_graph_id: z198.string().optional(),
|
|
4451
|
+
simulation_voltage_probe_id: z198.string().optional(),
|
|
4452
|
+
simulation_current_probe_id: z198.string().optional(),
|
|
4453
|
+
display_name: z198.string().optional(),
|
|
4454
|
+
color: z198.string().optional(),
|
|
4455
|
+
display_center_value: z198.number().optional(),
|
|
4456
|
+
display_center_offset_divs: z198.number().optional(),
|
|
4457
|
+
volts_per_div: z198.number().positive().optional(),
|
|
4458
|
+
amps_per_div: z198.number().positive().optional()
|
|
4436
4459
|
}).describe(
|
|
4437
4460
|
"Defines how a simulation measurement is rendered as an oscilloscope-style trace."
|
|
4438
4461
|
).superRefine((data, ctx) => {
|
|
@@ -4446,19 +4469,19 @@ var simulation_oscilloscope_trace = z197.object({
|
|
|
4446
4469
|
].filter(hasValue).length;
|
|
4447
4470
|
if (voltageReferences + currentReferences !== 1) {
|
|
4448
4471
|
ctx.addIssue({
|
|
4449
|
-
code:
|
|
4472
|
+
code: z198.ZodIssueCode.custom,
|
|
4450
4473
|
message: "An oscilloscope trace must reference exactly one voltage graph, current graph, voltage probe, or current probe."
|
|
4451
4474
|
});
|
|
4452
4475
|
}
|
|
4453
4476
|
if (voltageReferences > 0 && data.amps_per_div !== void 0) {
|
|
4454
4477
|
ctx.addIssue({
|
|
4455
|
-
code:
|
|
4478
|
+
code: z198.ZodIssueCode.custom,
|
|
4456
4479
|
message: "Voltage oscilloscope traces must use volts_per_div, not amps_per_div."
|
|
4457
4480
|
});
|
|
4458
4481
|
}
|
|
4459
4482
|
if (currentReferences > 0 && data.volts_per_div !== void 0) {
|
|
4460
4483
|
ctx.addIssue({
|
|
4461
|
-
code:
|
|
4484
|
+
code: z198.ZodIssueCode.custom,
|
|
4462
4485
|
message: "Current oscilloscope traces must use amps_per_div, not volts_per_div."
|
|
4463
4486
|
});
|
|
4464
4487
|
}
|
|
@@ -4466,8 +4489,8 @@ var simulation_oscilloscope_trace = z197.object({
|
|
|
4466
4489
|
expectTypesMatch(true);
|
|
4467
4490
|
|
|
4468
4491
|
// src/any_circuit_element.ts
|
|
4469
|
-
import { z as
|
|
4470
|
-
var any_circuit_element =
|
|
4492
|
+
import { z as z199 } from "zod";
|
|
4493
|
+
var any_circuit_element = z199.union([
|
|
4471
4494
|
source_trace,
|
|
4472
4495
|
source_port,
|
|
4473
4496
|
source_component_internal_connection,
|
|
@@ -4603,6 +4626,7 @@ var any_circuit_element = z198.union([
|
|
|
4603
4626
|
schematic_component_overlap_warning,
|
|
4604
4627
|
schematic_component_styling_warning,
|
|
4605
4628
|
schematic_element_outside_sheet_warning,
|
|
4629
|
+
schematic_graphic,
|
|
4606
4630
|
schematic_group,
|
|
4607
4631
|
schematic_sheet,
|
|
4608
4632
|
schematic_table,
|
|
@@ -4801,6 +4825,7 @@ export {
|
|
|
4801
4825
|
schematic_debug_rect,
|
|
4802
4826
|
schematic_element_outside_sheet_warning,
|
|
4803
4827
|
schematic_error,
|
|
4828
|
+
schematic_graphic,
|
|
4804
4829
|
schematic_group,
|
|
4805
4830
|
schematic_layout_error,
|
|
4806
4831
|
schematic_line,
|