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