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