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