circuit-json 0.0.282 → 0.0.284
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 +208 -2
- package/dist/index.mjs +419 -385
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1808,6 +1808,7 @@ import { z as z81 } from "zod";
|
|
|
1808
1808
|
var pcb_board = z81.object({
|
|
1809
1809
|
type: z81.literal("pcb_board"),
|
|
1810
1810
|
pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
|
|
1811
|
+
pcb_panel_id: z81.string().optional(),
|
|
1811
1812
|
is_subcircuit: z81.boolean().optional(),
|
|
1812
1813
|
subcircuit_id: z81.string().optional(),
|
|
1813
1814
|
width: length,
|
|
@@ -1820,37 +1821,48 @@ var pcb_board = z81.object({
|
|
|
1820
1821
|
}).describe("Defines the board outline of the PCB");
|
|
1821
1822
|
expectTypesMatch(true);
|
|
1822
1823
|
|
|
1823
|
-
// src/pcb/
|
|
1824
|
+
// src/pcb/pcb_panel.ts
|
|
1824
1825
|
import { z as z82 } from "zod";
|
|
1825
|
-
var
|
|
1826
|
-
type: z82.literal("
|
|
1826
|
+
var pcb_panel = z82.object({
|
|
1827
|
+
type: z82.literal("pcb_panel"),
|
|
1828
|
+
pcb_panel_id: getZodPrefixedIdWithDefault("pcb_panel"),
|
|
1829
|
+
width: length,
|
|
1830
|
+
height: length,
|
|
1831
|
+
covered_with_solder_mask: z82.boolean().optional().default(true)
|
|
1832
|
+
}).describe("Defines a PCB panel that can contain multiple boards");
|
|
1833
|
+
expectTypesMatch(true);
|
|
1834
|
+
|
|
1835
|
+
// src/pcb/pcb_placement_error.ts
|
|
1836
|
+
import { z as z83 } from "zod";
|
|
1837
|
+
var pcb_placement_error = z83.object({
|
|
1838
|
+
type: z83.literal("pcb_placement_error"),
|
|
1827
1839
|
pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
|
|
1828
|
-
error_type:
|
|
1829
|
-
message:
|
|
1830
|
-
subcircuit_id:
|
|
1840
|
+
error_type: z83.literal("pcb_placement_error").default("pcb_placement_error"),
|
|
1841
|
+
message: z83.string(),
|
|
1842
|
+
subcircuit_id: z83.string().optional()
|
|
1831
1843
|
}).describe("Defines a placement error on the PCB");
|
|
1832
1844
|
expectTypesMatch(true);
|
|
1833
1845
|
|
|
1834
1846
|
// src/pcb/pcb_trace_hint.ts
|
|
1835
|
-
import { z as
|
|
1836
|
-
var pcb_trace_hint =
|
|
1837
|
-
type:
|
|
1847
|
+
import { z as z84 } from "zod";
|
|
1848
|
+
var pcb_trace_hint = z84.object({
|
|
1849
|
+
type: z84.literal("pcb_trace_hint"),
|
|
1838
1850
|
pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
|
|
1839
|
-
pcb_port_id:
|
|
1840
|
-
pcb_component_id:
|
|
1841
|
-
route:
|
|
1842
|
-
subcircuit_id:
|
|
1851
|
+
pcb_port_id: z84.string(),
|
|
1852
|
+
pcb_component_id: z84.string(),
|
|
1853
|
+
route: z84.array(route_hint_point),
|
|
1854
|
+
subcircuit_id: z84.string().optional()
|
|
1843
1855
|
}).describe("A hint that can be used during generation of a PCB trace");
|
|
1844
1856
|
expectTypesMatch(true);
|
|
1845
1857
|
|
|
1846
1858
|
// src/pcb/pcb_silkscreen_line.ts
|
|
1847
|
-
import { z as
|
|
1848
|
-
var pcb_silkscreen_line =
|
|
1849
|
-
type:
|
|
1859
|
+
import { z as z85 } from "zod";
|
|
1860
|
+
var pcb_silkscreen_line = z85.object({
|
|
1861
|
+
type: z85.literal("pcb_silkscreen_line"),
|
|
1850
1862
|
pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
|
|
1851
|
-
pcb_component_id:
|
|
1852
|
-
pcb_group_id:
|
|
1853
|
-
subcircuit_id:
|
|
1863
|
+
pcb_component_id: z85.string(),
|
|
1864
|
+
pcb_group_id: z85.string().optional(),
|
|
1865
|
+
subcircuit_id: z85.string().optional(),
|
|
1854
1866
|
stroke_width: distance.default("0.1mm"),
|
|
1855
1867
|
x1: distance,
|
|
1856
1868
|
y1: distance,
|
|
@@ -1861,32 +1873,32 @@ var pcb_silkscreen_line = z84.object({
|
|
|
1861
1873
|
expectTypesMatch(true);
|
|
1862
1874
|
|
|
1863
1875
|
// src/pcb/pcb_silkscreen_path.ts
|
|
1864
|
-
import { z as
|
|
1865
|
-
var pcb_silkscreen_path =
|
|
1866
|
-
type:
|
|
1876
|
+
import { z as z86 } from "zod";
|
|
1877
|
+
var pcb_silkscreen_path = z86.object({
|
|
1878
|
+
type: z86.literal("pcb_silkscreen_path"),
|
|
1867
1879
|
pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
|
|
1868
|
-
pcb_component_id:
|
|
1869
|
-
pcb_group_id:
|
|
1870
|
-
subcircuit_id:
|
|
1880
|
+
pcb_component_id: z86.string(),
|
|
1881
|
+
pcb_group_id: z86.string().optional(),
|
|
1882
|
+
subcircuit_id: z86.string().optional(),
|
|
1871
1883
|
layer: visible_layer,
|
|
1872
|
-
route:
|
|
1884
|
+
route: z86.array(point),
|
|
1873
1885
|
stroke_width: length
|
|
1874
1886
|
}).describe("Defines a silkscreen path on the PCB");
|
|
1875
1887
|
expectTypesMatch(true);
|
|
1876
1888
|
|
|
1877
1889
|
// src/pcb/pcb_silkscreen_text.ts
|
|
1878
|
-
import { z as
|
|
1879
|
-
var pcb_silkscreen_text =
|
|
1880
|
-
type:
|
|
1890
|
+
import { z as z87 } from "zod";
|
|
1891
|
+
var pcb_silkscreen_text = z87.object({
|
|
1892
|
+
type: z87.literal("pcb_silkscreen_text"),
|
|
1881
1893
|
pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
|
|
1882
|
-
pcb_group_id:
|
|
1883
|
-
subcircuit_id:
|
|
1884
|
-
font:
|
|
1894
|
+
pcb_group_id: z87.string().optional(),
|
|
1895
|
+
subcircuit_id: z87.string().optional(),
|
|
1896
|
+
font: z87.literal("tscircuit2024").default("tscircuit2024"),
|
|
1885
1897
|
font_size: distance.default("0.2mm"),
|
|
1886
|
-
pcb_component_id:
|
|
1887
|
-
text:
|
|
1888
|
-
is_knockout:
|
|
1889
|
-
knockout_padding:
|
|
1898
|
+
pcb_component_id: z87.string(),
|
|
1899
|
+
text: z87.string(),
|
|
1900
|
+
is_knockout: z87.boolean().default(false).optional(),
|
|
1901
|
+
knockout_padding: z87.object({
|
|
1890
1902
|
left: length,
|
|
1891
1903
|
top: length,
|
|
1892
1904
|
bottom: length,
|
|
@@ -1897,43 +1909,43 @@ var pcb_silkscreen_text = z86.object({
|
|
|
1897
1909
|
bottom: "0.2mm",
|
|
1898
1910
|
right: "0.2mm"
|
|
1899
1911
|
}).optional(),
|
|
1900
|
-
ccw_rotation:
|
|
1912
|
+
ccw_rotation: z87.number().optional(),
|
|
1901
1913
|
layer: layer_ref,
|
|
1902
|
-
is_mirrored:
|
|
1914
|
+
is_mirrored: z87.boolean().default(false).optional(),
|
|
1903
1915
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
1904
1916
|
anchor_alignment: ninePointAnchor.default("center")
|
|
1905
1917
|
}).describe("Defines silkscreen text on the PCB");
|
|
1906
1918
|
expectTypesMatch(true);
|
|
1907
1919
|
|
|
1908
1920
|
// src/pcb/pcb_silkscreen_rect.ts
|
|
1909
|
-
import { z as
|
|
1910
|
-
var pcb_silkscreen_rect =
|
|
1911
|
-
type:
|
|
1921
|
+
import { z as z88 } from "zod";
|
|
1922
|
+
var pcb_silkscreen_rect = z88.object({
|
|
1923
|
+
type: z88.literal("pcb_silkscreen_rect"),
|
|
1912
1924
|
pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
|
|
1913
|
-
pcb_component_id:
|
|
1914
|
-
pcb_group_id:
|
|
1915
|
-
subcircuit_id:
|
|
1925
|
+
pcb_component_id: z88.string(),
|
|
1926
|
+
pcb_group_id: z88.string().optional(),
|
|
1927
|
+
subcircuit_id: z88.string().optional(),
|
|
1916
1928
|
center: point,
|
|
1917
1929
|
width: length,
|
|
1918
1930
|
height: length,
|
|
1919
1931
|
layer: layer_ref,
|
|
1920
1932
|
stroke_width: length.default("1mm"),
|
|
1921
|
-
is_filled:
|
|
1922
|
-
has_stroke:
|
|
1923
|
-
is_stroke_dashed:
|
|
1933
|
+
is_filled: z88.boolean().default(true).optional(),
|
|
1934
|
+
has_stroke: z88.boolean().optional(),
|
|
1935
|
+
is_stroke_dashed: z88.boolean().optional()
|
|
1924
1936
|
}).describe("Defines a silkscreen rect on the PCB");
|
|
1925
1937
|
expectTypesMatch(true);
|
|
1926
1938
|
|
|
1927
1939
|
// src/pcb/pcb_silkscreen_circle.ts
|
|
1928
|
-
import { z as
|
|
1929
|
-
var pcb_silkscreen_circle =
|
|
1930
|
-
type:
|
|
1940
|
+
import { z as z89 } from "zod";
|
|
1941
|
+
var pcb_silkscreen_circle = z89.object({
|
|
1942
|
+
type: z89.literal("pcb_silkscreen_circle"),
|
|
1931
1943
|
pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
|
|
1932
1944
|
"pcb_silkscreen_circle"
|
|
1933
1945
|
),
|
|
1934
|
-
pcb_component_id:
|
|
1935
|
-
pcb_group_id:
|
|
1936
|
-
subcircuit_id:
|
|
1946
|
+
pcb_component_id: z89.string(),
|
|
1947
|
+
pcb_group_id: z89.string().optional(),
|
|
1948
|
+
subcircuit_id: z89.string().optional(),
|
|
1937
1949
|
center: point,
|
|
1938
1950
|
radius: length,
|
|
1939
1951
|
layer: visible_layer,
|
|
@@ -1942,13 +1954,13 @@ var pcb_silkscreen_circle = z88.object({
|
|
|
1942
1954
|
expectTypesMatch(true);
|
|
1943
1955
|
|
|
1944
1956
|
// src/pcb/pcb_silkscreen_oval.ts
|
|
1945
|
-
import { z as
|
|
1946
|
-
var pcb_silkscreen_oval =
|
|
1947
|
-
type:
|
|
1957
|
+
import { z as z90 } from "zod";
|
|
1958
|
+
var pcb_silkscreen_oval = z90.object({
|
|
1959
|
+
type: z90.literal("pcb_silkscreen_oval"),
|
|
1948
1960
|
pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
|
|
1949
|
-
pcb_component_id:
|
|
1950
|
-
pcb_group_id:
|
|
1951
|
-
subcircuit_id:
|
|
1961
|
+
pcb_component_id: z90.string(),
|
|
1962
|
+
pcb_group_id: z90.string().optional(),
|
|
1963
|
+
subcircuit_id: z90.string().optional(),
|
|
1952
1964
|
center: point,
|
|
1953
1965
|
radius_x: distance,
|
|
1954
1966
|
radius_y: distance,
|
|
@@ -1957,233 +1969,233 @@ var pcb_silkscreen_oval = z89.object({
|
|
|
1957
1969
|
expectTypesMatch(true);
|
|
1958
1970
|
|
|
1959
1971
|
// src/pcb/pcb_fabrication_note_text.ts
|
|
1960
|
-
import { z as
|
|
1961
|
-
var pcb_fabrication_note_text =
|
|
1962
|
-
type:
|
|
1972
|
+
import { z as z91 } from "zod";
|
|
1973
|
+
var pcb_fabrication_note_text = z91.object({
|
|
1974
|
+
type: z91.literal("pcb_fabrication_note_text"),
|
|
1963
1975
|
pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
|
|
1964
1976
|
"pcb_fabrication_note_text"
|
|
1965
1977
|
),
|
|
1966
|
-
subcircuit_id:
|
|
1967
|
-
pcb_group_id:
|
|
1968
|
-
font:
|
|
1978
|
+
subcircuit_id: z91.string().optional(),
|
|
1979
|
+
pcb_group_id: z91.string().optional(),
|
|
1980
|
+
font: z91.literal("tscircuit2024").default("tscircuit2024"),
|
|
1969
1981
|
font_size: distance.default("1mm"),
|
|
1970
|
-
pcb_component_id:
|
|
1971
|
-
text:
|
|
1982
|
+
pcb_component_id: z91.string(),
|
|
1983
|
+
text: z91.string(),
|
|
1972
1984
|
layer: visible_layer,
|
|
1973
1985
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
1974
|
-
anchor_alignment:
|
|
1975
|
-
color:
|
|
1986
|
+
anchor_alignment: z91.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
1987
|
+
color: z91.string().optional()
|
|
1976
1988
|
}).describe(
|
|
1977
1989
|
"Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
|
|
1978
1990
|
);
|
|
1979
1991
|
expectTypesMatch(true);
|
|
1980
1992
|
|
|
1981
1993
|
// src/pcb/pcb_fabrication_note_path.ts
|
|
1982
|
-
import { z as
|
|
1983
|
-
var pcb_fabrication_note_path =
|
|
1984
|
-
type:
|
|
1994
|
+
import { z as z92 } from "zod";
|
|
1995
|
+
var pcb_fabrication_note_path = z92.object({
|
|
1996
|
+
type: z92.literal("pcb_fabrication_note_path"),
|
|
1985
1997
|
pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
|
|
1986
1998
|
"pcb_fabrication_note_path"
|
|
1987
1999
|
),
|
|
1988
|
-
pcb_component_id:
|
|
1989
|
-
subcircuit_id:
|
|
2000
|
+
pcb_component_id: z92.string(),
|
|
2001
|
+
subcircuit_id: z92.string().optional(),
|
|
1990
2002
|
layer: layer_ref,
|
|
1991
|
-
route:
|
|
2003
|
+
route: z92.array(point),
|
|
1992
2004
|
stroke_width: length,
|
|
1993
|
-
color:
|
|
2005
|
+
color: z92.string().optional()
|
|
1994
2006
|
}).describe(
|
|
1995
2007
|
"Defines a fabrication path on the PCB for fabricators or assemblers"
|
|
1996
2008
|
);
|
|
1997
2009
|
expectTypesMatch(true);
|
|
1998
2010
|
|
|
1999
2011
|
// src/pcb/pcb_fabrication_note_rect.ts
|
|
2000
|
-
import { z as
|
|
2001
|
-
var pcb_fabrication_note_rect =
|
|
2002
|
-
type:
|
|
2012
|
+
import { z as z93 } from "zod";
|
|
2013
|
+
var pcb_fabrication_note_rect = z93.object({
|
|
2014
|
+
type: z93.literal("pcb_fabrication_note_rect"),
|
|
2003
2015
|
pcb_fabrication_note_rect_id: getZodPrefixedIdWithDefault(
|
|
2004
2016
|
"pcb_fabrication_note_rect"
|
|
2005
2017
|
),
|
|
2006
|
-
pcb_component_id:
|
|
2007
|
-
pcb_group_id:
|
|
2008
|
-
subcircuit_id:
|
|
2018
|
+
pcb_component_id: z93.string(),
|
|
2019
|
+
pcb_group_id: z93.string().optional(),
|
|
2020
|
+
subcircuit_id: z93.string().optional(),
|
|
2009
2021
|
center: point,
|
|
2010
2022
|
width: length,
|
|
2011
2023
|
height: length,
|
|
2012
2024
|
layer: visible_layer,
|
|
2013
2025
|
stroke_width: length.default("0.1mm"),
|
|
2014
|
-
is_filled:
|
|
2015
|
-
has_stroke:
|
|
2016
|
-
is_stroke_dashed:
|
|
2017
|
-
color:
|
|
2026
|
+
is_filled: z93.boolean().optional(),
|
|
2027
|
+
has_stroke: z93.boolean().optional(),
|
|
2028
|
+
is_stroke_dashed: z93.boolean().optional(),
|
|
2029
|
+
color: z93.string().optional()
|
|
2018
2030
|
}).describe("Defines a fabrication note rectangle on the PCB");
|
|
2019
2031
|
expectTypesMatch(true);
|
|
2020
2032
|
|
|
2021
2033
|
// src/pcb/pcb_fabrication_note_dimension.ts
|
|
2022
|
-
import { z as
|
|
2023
|
-
var pcb_fabrication_note_dimension =
|
|
2024
|
-
type:
|
|
2034
|
+
import { z as z94 } from "zod";
|
|
2035
|
+
var pcb_fabrication_note_dimension = z94.object({
|
|
2036
|
+
type: z94.literal("pcb_fabrication_note_dimension"),
|
|
2025
2037
|
pcb_fabrication_note_dimension_id: getZodPrefixedIdWithDefault(
|
|
2026
2038
|
"pcb_fabrication_note_dimension"
|
|
2027
2039
|
),
|
|
2028
|
-
pcb_component_id:
|
|
2029
|
-
pcb_group_id:
|
|
2030
|
-
subcircuit_id:
|
|
2040
|
+
pcb_component_id: z94.string(),
|
|
2041
|
+
pcb_group_id: z94.string().optional(),
|
|
2042
|
+
subcircuit_id: z94.string().optional(),
|
|
2031
2043
|
layer: visible_layer,
|
|
2032
2044
|
from: point,
|
|
2033
2045
|
to: point,
|
|
2034
|
-
text:
|
|
2046
|
+
text: z94.string().optional(),
|
|
2035
2047
|
offset: length.optional(),
|
|
2036
|
-
font:
|
|
2048
|
+
font: z94.literal("tscircuit2024").default("tscircuit2024"),
|
|
2037
2049
|
font_size: length.default("1mm"),
|
|
2038
|
-
color:
|
|
2050
|
+
color: z94.string().optional(),
|
|
2039
2051
|
arrow_size: length.default("1mm")
|
|
2040
2052
|
}).describe("Defines a measurement annotation within PCB fabrication notes");
|
|
2041
2053
|
expectTypesMatch(true);
|
|
2042
2054
|
|
|
2043
2055
|
// src/pcb/pcb_note_text.ts
|
|
2044
|
-
import { z as
|
|
2045
|
-
var pcb_note_text =
|
|
2046
|
-
type:
|
|
2056
|
+
import { z as z95 } from "zod";
|
|
2057
|
+
var pcb_note_text = z95.object({
|
|
2058
|
+
type: z95.literal("pcb_note_text"),
|
|
2047
2059
|
pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
|
|
2048
|
-
pcb_component_id:
|
|
2049
|
-
pcb_group_id:
|
|
2050
|
-
subcircuit_id:
|
|
2051
|
-
font:
|
|
2060
|
+
pcb_component_id: z95.string().optional(),
|
|
2061
|
+
pcb_group_id: z95.string().optional(),
|
|
2062
|
+
subcircuit_id: z95.string().optional(),
|
|
2063
|
+
font: z95.literal("tscircuit2024").default("tscircuit2024"),
|
|
2052
2064
|
font_size: distance.default("1mm"),
|
|
2053
|
-
text:
|
|
2065
|
+
text: z95.string(),
|
|
2054
2066
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2055
|
-
anchor_alignment:
|
|
2056
|
-
color:
|
|
2067
|
+
anchor_alignment: z95.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
2068
|
+
color: z95.string().optional()
|
|
2057
2069
|
}).describe("Defines a documentation note in text on the PCB");
|
|
2058
2070
|
expectTypesMatch(true);
|
|
2059
2071
|
|
|
2060
2072
|
// src/pcb/pcb_note_rect.ts
|
|
2061
|
-
import { z as
|
|
2062
|
-
var pcb_note_rect =
|
|
2063
|
-
type:
|
|
2073
|
+
import { z as z96 } from "zod";
|
|
2074
|
+
var pcb_note_rect = z96.object({
|
|
2075
|
+
type: z96.literal("pcb_note_rect"),
|
|
2064
2076
|
pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
|
|
2065
|
-
pcb_component_id:
|
|
2066
|
-
pcb_group_id:
|
|
2067
|
-
subcircuit_id:
|
|
2077
|
+
pcb_component_id: z96.string().optional(),
|
|
2078
|
+
pcb_group_id: z96.string().optional(),
|
|
2079
|
+
subcircuit_id: z96.string().optional(),
|
|
2068
2080
|
center: point,
|
|
2069
2081
|
width: length,
|
|
2070
2082
|
height: length,
|
|
2071
2083
|
stroke_width: length.default("0.1mm"),
|
|
2072
|
-
is_filled:
|
|
2073
|
-
has_stroke:
|
|
2074
|
-
is_stroke_dashed:
|
|
2075
|
-
color:
|
|
2084
|
+
is_filled: z96.boolean().optional(),
|
|
2085
|
+
has_stroke: z96.boolean().optional(),
|
|
2086
|
+
is_stroke_dashed: z96.boolean().optional(),
|
|
2087
|
+
color: z96.string().optional()
|
|
2076
2088
|
}).describe("Defines a rectangular documentation note on the PCB");
|
|
2077
2089
|
expectTypesMatch(true);
|
|
2078
2090
|
|
|
2079
2091
|
// src/pcb/pcb_note_path.ts
|
|
2080
|
-
import { z as
|
|
2081
|
-
var pcb_note_path =
|
|
2082
|
-
type:
|
|
2092
|
+
import { z as z97 } from "zod";
|
|
2093
|
+
var pcb_note_path = z97.object({
|
|
2094
|
+
type: z97.literal("pcb_note_path"),
|
|
2083
2095
|
pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
|
|
2084
|
-
pcb_component_id:
|
|
2085
|
-
pcb_group_id:
|
|
2086
|
-
subcircuit_id:
|
|
2087
|
-
route:
|
|
2096
|
+
pcb_component_id: z97.string().optional(),
|
|
2097
|
+
pcb_group_id: z97.string().optional(),
|
|
2098
|
+
subcircuit_id: z97.string().optional(),
|
|
2099
|
+
route: z97.array(point),
|
|
2088
2100
|
stroke_width: length.default("0.1mm"),
|
|
2089
|
-
color:
|
|
2101
|
+
color: z97.string().optional()
|
|
2090
2102
|
}).describe("Defines a polyline documentation note on the PCB");
|
|
2091
2103
|
expectTypesMatch(true);
|
|
2092
2104
|
|
|
2093
2105
|
// src/pcb/pcb_note_line.ts
|
|
2094
|
-
import { z as
|
|
2095
|
-
var pcb_note_line =
|
|
2096
|
-
type:
|
|
2106
|
+
import { z as z98 } from "zod";
|
|
2107
|
+
var pcb_note_line = z98.object({
|
|
2108
|
+
type: z98.literal("pcb_note_line"),
|
|
2097
2109
|
pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
|
|
2098
|
-
pcb_component_id:
|
|
2099
|
-
pcb_group_id:
|
|
2100
|
-
subcircuit_id:
|
|
2110
|
+
pcb_component_id: z98.string().optional(),
|
|
2111
|
+
pcb_group_id: z98.string().optional(),
|
|
2112
|
+
subcircuit_id: z98.string().optional(),
|
|
2101
2113
|
x1: distance,
|
|
2102
2114
|
y1: distance,
|
|
2103
2115
|
x2: distance,
|
|
2104
2116
|
y2: distance,
|
|
2105
2117
|
stroke_width: distance.default("0.1mm"),
|
|
2106
|
-
color:
|
|
2107
|
-
is_dashed:
|
|
2118
|
+
color: z98.string().optional(),
|
|
2119
|
+
is_dashed: z98.boolean().optional()
|
|
2108
2120
|
}).describe("Defines a straight documentation note line on the PCB");
|
|
2109
2121
|
expectTypesMatch(true);
|
|
2110
2122
|
|
|
2111
2123
|
// src/pcb/pcb_note_dimension.ts
|
|
2112
|
-
import { z as
|
|
2113
|
-
var pcb_note_dimension =
|
|
2114
|
-
type:
|
|
2124
|
+
import { z as z99 } from "zod";
|
|
2125
|
+
var pcb_note_dimension = z99.object({
|
|
2126
|
+
type: z99.literal("pcb_note_dimension"),
|
|
2115
2127
|
pcb_note_dimension_id: getZodPrefixedIdWithDefault("pcb_note_dimension"),
|
|
2116
|
-
pcb_component_id:
|
|
2117
|
-
pcb_group_id:
|
|
2118
|
-
subcircuit_id:
|
|
2128
|
+
pcb_component_id: z99.string().optional(),
|
|
2129
|
+
pcb_group_id: z99.string().optional(),
|
|
2130
|
+
subcircuit_id: z99.string().optional(),
|
|
2119
2131
|
from: point,
|
|
2120
2132
|
to: point,
|
|
2121
|
-
text:
|
|
2122
|
-
font:
|
|
2133
|
+
text: z99.string().optional(),
|
|
2134
|
+
font: z99.literal("tscircuit2024").default("tscircuit2024"),
|
|
2123
2135
|
font_size: length.default("1mm"),
|
|
2124
|
-
color:
|
|
2136
|
+
color: z99.string().optional(),
|
|
2125
2137
|
arrow_size: length.default("1mm")
|
|
2126
2138
|
}).describe("Defines a measurement annotation within PCB documentation notes");
|
|
2127
2139
|
expectTypesMatch(true);
|
|
2128
2140
|
|
|
2129
2141
|
// src/pcb/pcb_footprint_overlap_error.ts
|
|
2130
|
-
import { z as
|
|
2131
|
-
var pcb_footprint_overlap_error =
|
|
2132
|
-
type:
|
|
2142
|
+
import { z as z100 } from "zod";
|
|
2143
|
+
var pcb_footprint_overlap_error = z100.object({
|
|
2144
|
+
type: z100.literal("pcb_footprint_overlap_error"),
|
|
2133
2145
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
2134
|
-
error_type:
|
|
2135
|
-
message:
|
|
2136
|
-
pcb_smtpad_ids:
|
|
2137
|
-
pcb_plated_hole_ids:
|
|
2138
|
-
pcb_hole_ids:
|
|
2139
|
-
pcb_keepout_ids:
|
|
2146
|
+
error_type: z100.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
|
|
2147
|
+
message: z100.string(),
|
|
2148
|
+
pcb_smtpad_ids: z100.array(z100.string()).optional(),
|
|
2149
|
+
pcb_plated_hole_ids: z100.array(z100.string()).optional(),
|
|
2150
|
+
pcb_hole_ids: z100.array(z100.string()).optional(),
|
|
2151
|
+
pcb_keepout_ids: z100.array(z100.string()).optional()
|
|
2140
2152
|
}).describe("Error emitted when a pcb footprint overlaps with another element");
|
|
2141
2153
|
expectTypesMatch(
|
|
2142
2154
|
true
|
|
2143
2155
|
);
|
|
2144
2156
|
|
|
2145
2157
|
// src/pcb/pcb_keepout.ts
|
|
2146
|
-
import { z as
|
|
2147
|
-
var pcb_keepout =
|
|
2148
|
-
type:
|
|
2149
|
-
shape:
|
|
2150
|
-
pcb_group_id:
|
|
2151
|
-
subcircuit_id:
|
|
2158
|
+
import { z as z101 } from "zod";
|
|
2159
|
+
var pcb_keepout = z101.object({
|
|
2160
|
+
type: z101.literal("pcb_keepout"),
|
|
2161
|
+
shape: z101.literal("rect"),
|
|
2162
|
+
pcb_group_id: z101.string().optional(),
|
|
2163
|
+
subcircuit_id: z101.string().optional(),
|
|
2152
2164
|
center: point,
|
|
2153
2165
|
width: distance,
|
|
2154
2166
|
height: distance,
|
|
2155
|
-
pcb_keepout_id:
|
|
2156
|
-
layers:
|
|
2167
|
+
pcb_keepout_id: z101.string(),
|
|
2168
|
+
layers: z101.array(z101.string()),
|
|
2157
2169
|
// Specify layers where the keepout applies
|
|
2158
|
-
description:
|
|
2170
|
+
description: z101.string().optional()
|
|
2159
2171
|
// Optional description of the keepout
|
|
2160
2172
|
}).or(
|
|
2161
|
-
|
|
2162
|
-
type:
|
|
2163
|
-
shape:
|
|
2164
|
-
pcb_group_id:
|
|
2165
|
-
subcircuit_id:
|
|
2173
|
+
z101.object({
|
|
2174
|
+
type: z101.literal("pcb_keepout"),
|
|
2175
|
+
shape: z101.literal("circle"),
|
|
2176
|
+
pcb_group_id: z101.string().optional(),
|
|
2177
|
+
subcircuit_id: z101.string().optional(),
|
|
2166
2178
|
center: point,
|
|
2167
2179
|
radius: distance,
|
|
2168
|
-
pcb_keepout_id:
|
|
2169
|
-
layers:
|
|
2180
|
+
pcb_keepout_id: z101.string(),
|
|
2181
|
+
layers: z101.array(z101.string()),
|
|
2170
2182
|
// Specify layers where the keepout applies
|
|
2171
|
-
description:
|
|
2183
|
+
description: z101.string().optional()
|
|
2172
2184
|
// Optional description of the keepout
|
|
2173
2185
|
})
|
|
2174
2186
|
);
|
|
2175
2187
|
expectTypesMatch(true);
|
|
2176
2188
|
|
|
2177
2189
|
// src/pcb/pcb_cutout.ts
|
|
2178
|
-
import { z as
|
|
2179
|
-
var pcb_cutout_base =
|
|
2180
|
-
type:
|
|
2190
|
+
import { z as z102 } from "zod";
|
|
2191
|
+
var pcb_cutout_base = z102.object({
|
|
2192
|
+
type: z102.literal("pcb_cutout"),
|
|
2181
2193
|
pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
|
|
2182
|
-
pcb_group_id:
|
|
2183
|
-
subcircuit_id:
|
|
2194
|
+
pcb_group_id: z102.string().optional(),
|
|
2195
|
+
subcircuit_id: z102.string().optional()
|
|
2184
2196
|
});
|
|
2185
2197
|
var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
2186
|
-
shape:
|
|
2198
|
+
shape: z102.literal("rect"),
|
|
2187
2199
|
center: point,
|
|
2188
2200
|
width: length,
|
|
2189
2201
|
height: length,
|
|
@@ -2191,17 +2203,17 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
|
2191
2203
|
});
|
|
2192
2204
|
expectTypesMatch(true);
|
|
2193
2205
|
var pcb_cutout_circle = pcb_cutout_base.extend({
|
|
2194
|
-
shape:
|
|
2206
|
+
shape: z102.literal("circle"),
|
|
2195
2207
|
center: point,
|
|
2196
2208
|
radius: length
|
|
2197
2209
|
});
|
|
2198
2210
|
expectTypesMatch(true);
|
|
2199
2211
|
var pcb_cutout_polygon = pcb_cutout_base.extend({
|
|
2200
|
-
shape:
|
|
2201
|
-
points:
|
|
2212
|
+
shape: z102.literal("polygon"),
|
|
2213
|
+
points: z102.array(point)
|
|
2202
2214
|
});
|
|
2203
2215
|
expectTypesMatch(true);
|
|
2204
|
-
var pcb_cutout =
|
|
2216
|
+
var pcb_cutout = z102.discriminatedUnion("shape", [
|
|
2205
2217
|
pcb_cutout_rect,
|
|
2206
2218
|
pcb_cutout_circle,
|
|
2207
2219
|
pcb_cutout_polygon
|
|
@@ -2209,119 +2221,119 @@ var pcb_cutout = z101.discriminatedUnion("shape", [
|
|
|
2209
2221
|
expectTypesMatch(true);
|
|
2210
2222
|
|
|
2211
2223
|
// src/pcb/pcb_missing_footprint_error.ts
|
|
2212
|
-
import { z as
|
|
2213
|
-
var pcb_missing_footprint_error =
|
|
2214
|
-
type:
|
|
2224
|
+
import { z as z103 } from "zod";
|
|
2225
|
+
var pcb_missing_footprint_error = z103.object({
|
|
2226
|
+
type: z103.literal("pcb_missing_footprint_error"),
|
|
2215
2227
|
pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
|
|
2216
2228
|
"pcb_missing_footprint_error"
|
|
2217
2229
|
),
|
|
2218
|
-
pcb_group_id:
|
|
2219
|
-
subcircuit_id:
|
|
2220
|
-
error_type:
|
|
2221
|
-
source_component_id:
|
|
2222
|
-
message:
|
|
2230
|
+
pcb_group_id: z103.string().optional(),
|
|
2231
|
+
subcircuit_id: z103.string().optional(),
|
|
2232
|
+
error_type: z103.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
|
|
2233
|
+
source_component_id: z103.string(),
|
|
2234
|
+
message: z103.string()
|
|
2223
2235
|
}).describe("Defines a missing footprint error on the PCB");
|
|
2224
2236
|
expectTypesMatch(
|
|
2225
2237
|
true
|
|
2226
2238
|
);
|
|
2227
2239
|
|
|
2228
2240
|
// src/pcb/external_footprint_load_error.ts
|
|
2229
|
-
import { z as
|
|
2230
|
-
var external_footprint_load_error =
|
|
2231
|
-
type:
|
|
2241
|
+
import { z as z104 } from "zod";
|
|
2242
|
+
var external_footprint_load_error = z104.object({
|
|
2243
|
+
type: z104.literal("external_footprint_load_error"),
|
|
2232
2244
|
external_footprint_load_error_id: getZodPrefixedIdWithDefault(
|
|
2233
2245
|
"external_footprint_load_error"
|
|
2234
2246
|
),
|
|
2235
|
-
pcb_component_id:
|
|
2236
|
-
source_component_id:
|
|
2237
|
-
pcb_group_id:
|
|
2238
|
-
subcircuit_id:
|
|
2239
|
-
footprinter_string:
|
|
2240
|
-
error_type:
|
|
2241
|
-
message:
|
|
2247
|
+
pcb_component_id: z104.string(),
|
|
2248
|
+
source_component_id: z104.string(),
|
|
2249
|
+
pcb_group_id: z104.string().optional(),
|
|
2250
|
+
subcircuit_id: z104.string().optional(),
|
|
2251
|
+
footprinter_string: z104.string().optional(),
|
|
2252
|
+
error_type: z104.literal("external_footprint_load_error").default("external_footprint_load_error"),
|
|
2253
|
+
message: z104.string()
|
|
2242
2254
|
}).describe("Defines an error when an external footprint fails to load");
|
|
2243
2255
|
expectTypesMatch(true);
|
|
2244
2256
|
|
|
2245
2257
|
// src/pcb/circuit_json_footprint_load_error.ts
|
|
2246
|
-
import { z as
|
|
2247
|
-
var circuit_json_footprint_load_error =
|
|
2248
|
-
type:
|
|
2258
|
+
import { z as z105 } from "zod";
|
|
2259
|
+
var circuit_json_footprint_load_error = z105.object({
|
|
2260
|
+
type: z105.literal("circuit_json_footprint_load_error"),
|
|
2249
2261
|
circuit_json_footprint_load_error_id: getZodPrefixedIdWithDefault(
|
|
2250
2262
|
"circuit_json_footprint_load_error"
|
|
2251
2263
|
),
|
|
2252
|
-
pcb_component_id:
|
|
2253
|
-
source_component_id:
|
|
2254
|
-
pcb_group_id:
|
|
2255
|
-
subcircuit_id:
|
|
2256
|
-
error_type:
|
|
2257
|
-
message:
|
|
2258
|
-
circuit_json:
|
|
2264
|
+
pcb_component_id: z105.string(),
|
|
2265
|
+
source_component_id: z105.string(),
|
|
2266
|
+
pcb_group_id: z105.string().optional(),
|
|
2267
|
+
subcircuit_id: z105.string().optional(),
|
|
2268
|
+
error_type: z105.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
|
|
2269
|
+
message: z105.string(),
|
|
2270
|
+
circuit_json: z105.array(z105.any()).optional()
|
|
2259
2271
|
}).describe("Defines an error when a circuit JSON footprint fails to load");
|
|
2260
2272
|
expectTypesMatch(true);
|
|
2261
2273
|
|
|
2262
2274
|
// src/pcb/pcb_group.ts
|
|
2263
|
-
import { z as
|
|
2264
|
-
var pcb_group =
|
|
2265
|
-
type:
|
|
2275
|
+
import { z as z106 } from "zod";
|
|
2276
|
+
var pcb_group = z106.object({
|
|
2277
|
+
type: z106.literal("pcb_group"),
|
|
2266
2278
|
pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
|
|
2267
|
-
source_group_id:
|
|
2268
|
-
is_subcircuit:
|
|
2269
|
-
subcircuit_id:
|
|
2279
|
+
source_group_id: z106.string(),
|
|
2280
|
+
is_subcircuit: z106.boolean().optional(),
|
|
2281
|
+
subcircuit_id: z106.string().optional(),
|
|
2270
2282
|
width: length,
|
|
2271
2283
|
height: length,
|
|
2272
2284
|
center: point,
|
|
2273
2285
|
anchor_position: point.optional(),
|
|
2274
|
-
anchor_alignment:
|
|
2275
|
-
pcb_component_ids:
|
|
2276
|
-
name:
|
|
2277
|
-
description:
|
|
2278
|
-
layout_mode:
|
|
2279
|
-
autorouter_configuration:
|
|
2286
|
+
anchor_alignment: z106.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).optional(),
|
|
2287
|
+
pcb_component_ids: z106.array(z106.string()),
|
|
2288
|
+
name: z106.string().optional(),
|
|
2289
|
+
description: z106.string().optional(),
|
|
2290
|
+
layout_mode: z106.string().optional(),
|
|
2291
|
+
autorouter_configuration: z106.object({
|
|
2280
2292
|
trace_clearance: length
|
|
2281
2293
|
}).optional(),
|
|
2282
|
-
autorouter_used_string:
|
|
2294
|
+
autorouter_used_string: z106.string().optional()
|
|
2283
2295
|
}).describe("Defines a group of components on the PCB");
|
|
2284
2296
|
expectTypesMatch(true);
|
|
2285
2297
|
|
|
2286
2298
|
// src/pcb/pcb_autorouting_error.ts
|
|
2287
|
-
import { z as
|
|
2288
|
-
var pcb_autorouting_error =
|
|
2289
|
-
type:
|
|
2299
|
+
import { z as z107 } from "zod";
|
|
2300
|
+
var pcb_autorouting_error = z107.object({
|
|
2301
|
+
type: z107.literal("pcb_autorouting_error"),
|
|
2290
2302
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
|
|
2291
|
-
error_type:
|
|
2292
|
-
message:
|
|
2293
|
-
subcircuit_id:
|
|
2303
|
+
error_type: z107.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
|
|
2304
|
+
message: z107.string(),
|
|
2305
|
+
subcircuit_id: z107.string().optional()
|
|
2294
2306
|
}).describe("The autorouting has failed to route a portion of the board");
|
|
2295
2307
|
expectTypesMatch(true);
|
|
2296
2308
|
|
|
2297
2309
|
// src/pcb/pcb_manual_edit_conflict_warning.ts
|
|
2298
|
-
import { z as
|
|
2299
|
-
var pcb_manual_edit_conflict_warning =
|
|
2300
|
-
type:
|
|
2310
|
+
import { z as z108 } from "zod";
|
|
2311
|
+
var pcb_manual_edit_conflict_warning = z108.object({
|
|
2312
|
+
type: z108.literal("pcb_manual_edit_conflict_warning"),
|
|
2301
2313
|
pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
2302
2314
|
"pcb_manual_edit_conflict_warning"
|
|
2303
2315
|
),
|
|
2304
|
-
warning_type:
|
|
2305
|
-
message:
|
|
2306
|
-
pcb_component_id:
|
|
2307
|
-
pcb_group_id:
|
|
2308
|
-
subcircuit_id:
|
|
2309
|
-
source_component_id:
|
|
2316
|
+
warning_type: z108.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
|
|
2317
|
+
message: z108.string(),
|
|
2318
|
+
pcb_component_id: z108.string(),
|
|
2319
|
+
pcb_group_id: z108.string().optional(),
|
|
2320
|
+
subcircuit_id: z108.string().optional(),
|
|
2321
|
+
source_component_id: z108.string()
|
|
2310
2322
|
}).describe(
|
|
2311
2323
|
"Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
|
|
2312
2324
|
);
|
|
2313
2325
|
expectTypesMatch(true);
|
|
2314
2326
|
|
|
2315
2327
|
// src/pcb/pcb_breakout_point.ts
|
|
2316
|
-
import { z as
|
|
2317
|
-
var pcb_breakout_point =
|
|
2318
|
-
type:
|
|
2328
|
+
import { z as z109 } from "zod";
|
|
2329
|
+
var pcb_breakout_point = z109.object({
|
|
2330
|
+
type: z109.literal("pcb_breakout_point"),
|
|
2319
2331
|
pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
|
|
2320
|
-
pcb_group_id:
|
|
2321
|
-
subcircuit_id:
|
|
2322
|
-
source_trace_id:
|
|
2323
|
-
source_port_id:
|
|
2324
|
-
source_net_id:
|
|
2332
|
+
pcb_group_id: z109.string(),
|
|
2333
|
+
subcircuit_id: z109.string().optional(),
|
|
2334
|
+
source_trace_id: z109.string().optional(),
|
|
2335
|
+
source_port_id: z109.string().optional(),
|
|
2336
|
+
source_net_id: z109.string().optional(),
|
|
2325
2337
|
x: distance,
|
|
2326
2338
|
y: distance
|
|
2327
2339
|
}).describe(
|
|
@@ -2330,60 +2342,60 @@ var pcb_breakout_point = z108.object({
|
|
|
2330
2342
|
expectTypesMatch(true);
|
|
2331
2343
|
|
|
2332
2344
|
// src/pcb/pcb_ground_plane.ts
|
|
2333
|
-
import { z as
|
|
2334
|
-
var pcb_ground_plane =
|
|
2335
|
-
type:
|
|
2345
|
+
import { z as z110 } from "zod";
|
|
2346
|
+
var pcb_ground_plane = z110.object({
|
|
2347
|
+
type: z110.literal("pcb_ground_plane"),
|
|
2336
2348
|
pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
|
|
2337
|
-
source_pcb_ground_plane_id:
|
|
2338
|
-
source_net_id:
|
|
2339
|
-
pcb_group_id:
|
|
2340
|
-
subcircuit_id:
|
|
2349
|
+
source_pcb_ground_plane_id: z110.string(),
|
|
2350
|
+
source_net_id: z110.string(),
|
|
2351
|
+
pcb_group_id: z110.string().optional(),
|
|
2352
|
+
subcircuit_id: z110.string().optional()
|
|
2341
2353
|
}).describe("Defines a ground plane on the PCB");
|
|
2342
2354
|
expectTypesMatch(true);
|
|
2343
2355
|
|
|
2344
2356
|
// src/pcb/pcb_ground_plane_region.ts
|
|
2345
|
-
import { z as
|
|
2346
|
-
var pcb_ground_plane_region =
|
|
2347
|
-
type:
|
|
2357
|
+
import { z as z111 } from "zod";
|
|
2358
|
+
var pcb_ground_plane_region = z111.object({
|
|
2359
|
+
type: z111.literal("pcb_ground_plane_region"),
|
|
2348
2360
|
pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
|
|
2349
2361
|
"pcb_ground_plane_region"
|
|
2350
2362
|
),
|
|
2351
|
-
pcb_ground_plane_id:
|
|
2352
|
-
pcb_group_id:
|
|
2353
|
-
subcircuit_id:
|
|
2363
|
+
pcb_ground_plane_id: z111.string(),
|
|
2364
|
+
pcb_group_id: z111.string().optional(),
|
|
2365
|
+
subcircuit_id: z111.string().optional(),
|
|
2354
2366
|
layer: layer_ref,
|
|
2355
|
-
points:
|
|
2367
|
+
points: z111.array(point)
|
|
2356
2368
|
}).describe("Defines a polygon region of a ground plane");
|
|
2357
2369
|
expectTypesMatch(true);
|
|
2358
2370
|
|
|
2359
2371
|
// src/pcb/pcb_thermal_spoke.ts
|
|
2360
|
-
import { z as
|
|
2361
|
-
var pcb_thermal_spoke =
|
|
2362
|
-
type:
|
|
2372
|
+
import { z as z112 } from "zod";
|
|
2373
|
+
var pcb_thermal_spoke = z112.object({
|
|
2374
|
+
type: z112.literal("pcb_thermal_spoke"),
|
|
2363
2375
|
pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
|
|
2364
|
-
pcb_ground_plane_id:
|
|
2365
|
-
shape:
|
|
2366
|
-
spoke_count:
|
|
2376
|
+
pcb_ground_plane_id: z112.string(),
|
|
2377
|
+
shape: z112.string(),
|
|
2378
|
+
spoke_count: z112.number(),
|
|
2367
2379
|
spoke_thickness: distance,
|
|
2368
2380
|
spoke_inner_diameter: distance,
|
|
2369
2381
|
spoke_outer_diameter: distance,
|
|
2370
|
-
pcb_plated_hole_id:
|
|
2371
|
-
subcircuit_id:
|
|
2382
|
+
pcb_plated_hole_id: z112.string().optional(),
|
|
2383
|
+
subcircuit_id: z112.string().optional()
|
|
2372
2384
|
}).describe("Pattern for connecting a ground plane to a plated hole");
|
|
2373
2385
|
expectTypesMatch(true);
|
|
2374
2386
|
|
|
2375
2387
|
// src/pcb/pcb_copper_pour.ts
|
|
2376
|
-
import { z as
|
|
2377
|
-
var pcb_copper_pour_base =
|
|
2378
|
-
type:
|
|
2388
|
+
import { z as z113 } from "zod";
|
|
2389
|
+
var pcb_copper_pour_base = z113.object({
|
|
2390
|
+
type: z113.literal("pcb_copper_pour"),
|
|
2379
2391
|
pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
|
|
2380
|
-
pcb_group_id:
|
|
2381
|
-
subcircuit_id:
|
|
2392
|
+
pcb_group_id: z113.string().optional(),
|
|
2393
|
+
subcircuit_id: z113.string().optional(),
|
|
2382
2394
|
layer: layer_ref,
|
|
2383
|
-
source_net_id:
|
|
2395
|
+
source_net_id: z113.string().optional()
|
|
2384
2396
|
});
|
|
2385
2397
|
var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
2386
|
-
shape:
|
|
2398
|
+
shape: z113.literal("rect"),
|
|
2387
2399
|
center: point,
|
|
2388
2400
|
width: length,
|
|
2389
2401
|
height: length,
|
|
@@ -2391,16 +2403,16 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
|
2391
2403
|
});
|
|
2392
2404
|
expectTypesMatch(true);
|
|
2393
2405
|
var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
|
|
2394
|
-
shape:
|
|
2406
|
+
shape: z113.literal("brep"),
|
|
2395
2407
|
brep_shape
|
|
2396
2408
|
});
|
|
2397
2409
|
expectTypesMatch(true);
|
|
2398
2410
|
var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
|
|
2399
|
-
shape:
|
|
2400
|
-
points:
|
|
2411
|
+
shape: z113.literal("polygon"),
|
|
2412
|
+
points: z113.array(point)
|
|
2401
2413
|
});
|
|
2402
2414
|
expectTypesMatch(true);
|
|
2403
|
-
var pcb_copper_pour =
|
|
2415
|
+
var pcb_copper_pour = z113.discriminatedUnion("shape", [
|
|
2404
2416
|
pcb_copper_pour_rect,
|
|
2405
2417
|
pcb_copper_pour_brep,
|
|
2406
2418
|
pcb_copper_pour_polygon
|
|
@@ -2408,117 +2420,135 @@ var pcb_copper_pour = z112.discriminatedUnion("shape", [
|
|
|
2408
2420
|
expectTypesMatch(true);
|
|
2409
2421
|
|
|
2410
2422
|
// src/pcb/pcb_component_outside_board_error.ts
|
|
2411
|
-
import { z as
|
|
2412
|
-
var pcb_component_outside_board_error =
|
|
2413
|
-
type:
|
|
2423
|
+
import { z as z114 } from "zod";
|
|
2424
|
+
var pcb_component_outside_board_error = z114.object({
|
|
2425
|
+
type: z114.literal("pcb_component_outside_board_error"),
|
|
2414
2426
|
pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
|
|
2415
2427
|
"pcb_component_outside_board_error"
|
|
2416
2428
|
),
|
|
2417
|
-
error_type:
|
|
2418
|
-
message:
|
|
2419
|
-
pcb_component_id:
|
|
2420
|
-
pcb_board_id:
|
|
2429
|
+
error_type: z114.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
|
|
2430
|
+
message: z114.string(),
|
|
2431
|
+
pcb_component_id: z114.string(),
|
|
2432
|
+
pcb_board_id: z114.string(),
|
|
2421
2433
|
component_center: point,
|
|
2422
|
-
component_bounds:
|
|
2423
|
-
min_x:
|
|
2424
|
-
max_x:
|
|
2425
|
-
min_y:
|
|
2426
|
-
max_y:
|
|
2434
|
+
component_bounds: z114.object({
|
|
2435
|
+
min_x: z114.number(),
|
|
2436
|
+
max_x: z114.number(),
|
|
2437
|
+
min_y: z114.number(),
|
|
2438
|
+
max_y: z114.number()
|
|
2427
2439
|
}),
|
|
2428
|
-
subcircuit_id:
|
|
2429
|
-
source_component_id:
|
|
2440
|
+
subcircuit_id: z114.string().optional(),
|
|
2441
|
+
source_component_id: z114.string().optional()
|
|
2430
2442
|
}).describe(
|
|
2431
2443
|
"Error emitted when a PCB component is placed outside the board boundaries"
|
|
2432
2444
|
);
|
|
2433
2445
|
expectTypesMatch(true);
|
|
2434
2446
|
|
|
2447
|
+
// src/pcb/pcb_component_invalid_layer_error.ts
|
|
2448
|
+
import { z as z115 } from "zod";
|
|
2449
|
+
var pcb_component_invalid_layer_error = z115.object({
|
|
2450
|
+
type: z115.literal("pcb_component_invalid_layer_error"),
|
|
2451
|
+
pcb_component_invalid_layer_error_id: getZodPrefixedIdWithDefault(
|
|
2452
|
+
"pcb_component_invalid_layer_error"
|
|
2453
|
+
),
|
|
2454
|
+
error_type: z115.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
|
|
2455
|
+
message: z115.string(),
|
|
2456
|
+
pcb_component_id: z115.string().optional(),
|
|
2457
|
+
source_component_id: z115.string(),
|
|
2458
|
+
layer: layer_ref,
|
|
2459
|
+
subcircuit_id: z115.string().optional()
|
|
2460
|
+
}).describe(
|
|
2461
|
+
"Error emitted when a component is placed on an invalid layer (components can only be on 'top' or 'bottom' layers)"
|
|
2462
|
+
);
|
|
2463
|
+
expectTypesMatch(true);
|
|
2464
|
+
|
|
2435
2465
|
// src/pcb/pcb_via_clearance_error.ts
|
|
2436
|
-
import { z as
|
|
2437
|
-
var pcb_via_clearance_error =
|
|
2438
|
-
type:
|
|
2466
|
+
import { z as z116 } from "zod";
|
|
2467
|
+
var pcb_via_clearance_error = z116.object({
|
|
2468
|
+
type: z116.literal("pcb_via_clearance_error"),
|
|
2439
2469
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
2440
|
-
error_type:
|
|
2441
|
-
message:
|
|
2442
|
-
pcb_via_ids:
|
|
2470
|
+
error_type: z116.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
|
|
2471
|
+
message: z116.string(),
|
|
2472
|
+
pcb_via_ids: z116.array(z116.string()).min(2),
|
|
2443
2473
|
minimum_clearance: distance.optional(),
|
|
2444
2474
|
actual_clearance: distance.optional(),
|
|
2445
|
-
pcb_center:
|
|
2446
|
-
x:
|
|
2447
|
-
y:
|
|
2475
|
+
pcb_center: z116.object({
|
|
2476
|
+
x: z116.number().optional(),
|
|
2477
|
+
y: z116.number().optional()
|
|
2448
2478
|
}).optional(),
|
|
2449
|
-
subcircuit_id:
|
|
2479
|
+
subcircuit_id: z116.string().optional()
|
|
2450
2480
|
}).describe("Error emitted when vias are closer than the allowed clearance");
|
|
2451
2481
|
expectTypesMatch(true);
|
|
2452
2482
|
|
|
2453
2483
|
// src/pcb/pcb_courtyard_rect.ts
|
|
2454
|
-
import { z as
|
|
2455
|
-
var pcb_courtyard_rect =
|
|
2456
|
-
type:
|
|
2484
|
+
import { z as z117 } from "zod";
|
|
2485
|
+
var pcb_courtyard_rect = z117.object({
|
|
2486
|
+
type: z117.literal("pcb_courtyard_rect"),
|
|
2457
2487
|
pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
|
|
2458
|
-
pcb_component_id:
|
|
2459
|
-
pcb_group_id:
|
|
2460
|
-
subcircuit_id:
|
|
2488
|
+
pcb_component_id: z117.string(),
|
|
2489
|
+
pcb_group_id: z117.string().optional(),
|
|
2490
|
+
subcircuit_id: z117.string().optional(),
|
|
2461
2491
|
center: point,
|
|
2462
2492
|
width: length,
|
|
2463
2493
|
height: length,
|
|
2464
2494
|
layer: visible_layer,
|
|
2465
2495
|
stroke_width: length.default("0.1mm"),
|
|
2466
|
-
is_filled:
|
|
2467
|
-
has_stroke:
|
|
2468
|
-
is_stroke_dashed:
|
|
2469
|
-
color:
|
|
2496
|
+
is_filled: z117.boolean().optional(),
|
|
2497
|
+
has_stroke: z117.boolean().optional(),
|
|
2498
|
+
is_stroke_dashed: z117.boolean().optional(),
|
|
2499
|
+
color: z117.string().optional()
|
|
2470
2500
|
}).describe("Defines a courtyard rectangle on the PCB");
|
|
2471
2501
|
expectTypesMatch(true);
|
|
2472
2502
|
|
|
2473
2503
|
// src/pcb/pcb_courtyard_outline.ts
|
|
2474
|
-
import { z as
|
|
2475
|
-
var pcb_courtyard_outline =
|
|
2476
|
-
type:
|
|
2504
|
+
import { z as z118 } from "zod";
|
|
2505
|
+
var pcb_courtyard_outline = z118.object({
|
|
2506
|
+
type: z118.literal("pcb_courtyard_outline"),
|
|
2477
2507
|
pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
|
|
2478
2508
|
"pcb_courtyard_outline"
|
|
2479
2509
|
),
|
|
2480
|
-
pcb_component_id:
|
|
2481
|
-
pcb_group_id:
|
|
2482
|
-
subcircuit_id:
|
|
2510
|
+
pcb_component_id: z118.string(),
|
|
2511
|
+
pcb_group_id: z118.string().optional(),
|
|
2512
|
+
subcircuit_id: z118.string().optional(),
|
|
2483
2513
|
layer: visible_layer,
|
|
2484
|
-
outline:
|
|
2514
|
+
outline: z118.array(point).min(2),
|
|
2485
2515
|
stroke_width: length.default("0.1mm"),
|
|
2486
|
-
is_closed:
|
|
2487
|
-
is_stroke_dashed:
|
|
2488
|
-
color:
|
|
2516
|
+
is_closed: z118.boolean().optional(),
|
|
2517
|
+
is_stroke_dashed: z118.boolean().optional(),
|
|
2518
|
+
color: z118.string().optional()
|
|
2489
2519
|
}).describe("Defines a courtyard outline on the PCB");
|
|
2490
2520
|
expectTypesMatch(true);
|
|
2491
2521
|
|
|
2492
2522
|
// src/cad/cad_component.ts
|
|
2493
|
-
import { z as
|
|
2494
|
-
var cad_component =
|
|
2495
|
-
type:
|
|
2496
|
-
cad_component_id:
|
|
2497
|
-
pcb_component_id:
|
|
2498
|
-
source_component_id:
|
|
2523
|
+
import { z as z119 } from "zod";
|
|
2524
|
+
var cad_component = z119.object({
|
|
2525
|
+
type: z119.literal("cad_component"),
|
|
2526
|
+
cad_component_id: z119.string(),
|
|
2527
|
+
pcb_component_id: z119.string(),
|
|
2528
|
+
source_component_id: z119.string(),
|
|
2499
2529
|
position: point3,
|
|
2500
2530
|
rotation: point3.optional(),
|
|
2501
2531
|
size: point3.optional(),
|
|
2502
2532
|
layer: layer_ref.optional(),
|
|
2503
|
-
subcircuit_id:
|
|
2533
|
+
subcircuit_id: z119.string().optional(),
|
|
2504
2534
|
// These are all ways to generate/load the 3d model
|
|
2505
|
-
footprinter_string:
|
|
2506
|
-
model_obj_url:
|
|
2507
|
-
model_stl_url:
|
|
2508
|
-
model_3mf_url:
|
|
2509
|
-
model_gltf_url:
|
|
2510
|
-
model_glb_url:
|
|
2511
|
-
model_step_url:
|
|
2512
|
-
model_wrl_url:
|
|
2513
|
-
model_unit_to_mm_scale_factor:
|
|
2514
|
-
model_jscad:
|
|
2535
|
+
footprinter_string: z119.string().optional(),
|
|
2536
|
+
model_obj_url: z119.string().optional(),
|
|
2537
|
+
model_stl_url: z119.string().optional(),
|
|
2538
|
+
model_3mf_url: z119.string().optional(),
|
|
2539
|
+
model_gltf_url: z119.string().optional(),
|
|
2540
|
+
model_glb_url: z119.string().optional(),
|
|
2541
|
+
model_step_url: z119.string().optional(),
|
|
2542
|
+
model_wrl_url: z119.string().optional(),
|
|
2543
|
+
model_unit_to_mm_scale_factor: z119.number().optional(),
|
|
2544
|
+
model_jscad: z119.any().optional()
|
|
2515
2545
|
}).describe("Defines a component on the PCB");
|
|
2516
2546
|
expectTypesMatch(true);
|
|
2517
2547
|
|
|
2518
2548
|
// src/simulation/simulation_voltage_source.ts
|
|
2519
|
-
import { z as
|
|
2520
|
-
var wave_shape =
|
|
2521
|
-
var percentage =
|
|
2549
|
+
import { z as z120 } from "zod";
|
|
2550
|
+
var wave_shape = z120.enum(["sinewave", "square", "triangle", "sawtooth"]);
|
|
2551
|
+
var percentage = z120.union([z120.string(), z120.number()]).transform((val) => {
|
|
2522
2552
|
if (typeof val === "string") {
|
|
2523
2553
|
if (val.endsWith("%")) {
|
|
2524
2554
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -2527,30 +2557,30 @@ var percentage = z118.union([z118.string(), z118.number()]).transform((val) => {
|
|
|
2527
2557
|
}
|
|
2528
2558
|
return val;
|
|
2529
2559
|
}).pipe(
|
|
2530
|
-
|
|
2560
|
+
z120.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
2531
2561
|
);
|
|
2532
|
-
var simulation_dc_voltage_source =
|
|
2533
|
-
type:
|
|
2562
|
+
var simulation_dc_voltage_source = z120.object({
|
|
2563
|
+
type: z120.literal("simulation_voltage_source"),
|
|
2534
2564
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
2535
2565
|
"simulation_voltage_source"
|
|
2536
2566
|
),
|
|
2537
|
-
is_dc_source:
|
|
2538
|
-
positive_source_port_id:
|
|
2539
|
-
negative_source_port_id:
|
|
2540
|
-
positive_source_net_id:
|
|
2541
|
-
negative_source_net_id:
|
|
2567
|
+
is_dc_source: z120.literal(true).optional().default(true),
|
|
2568
|
+
positive_source_port_id: z120.string().optional(),
|
|
2569
|
+
negative_source_port_id: z120.string().optional(),
|
|
2570
|
+
positive_source_net_id: z120.string().optional(),
|
|
2571
|
+
negative_source_net_id: z120.string().optional(),
|
|
2542
2572
|
voltage
|
|
2543
2573
|
}).describe("Defines a DC voltage source for simulation");
|
|
2544
|
-
var simulation_ac_voltage_source =
|
|
2545
|
-
type:
|
|
2574
|
+
var simulation_ac_voltage_source = z120.object({
|
|
2575
|
+
type: z120.literal("simulation_voltage_source"),
|
|
2546
2576
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
2547
2577
|
"simulation_voltage_source"
|
|
2548
2578
|
),
|
|
2549
|
-
is_dc_source:
|
|
2550
|
-
terminal1_source_port_id:
|
|
2551
|
-
terminal2_source_port_id:
|
|
2552
|
-
terminal1_source_net_id:
|
|
2553
|
-
terminal2_source_net_id:
|
|
2579
|
+
is_dc_source: z120.literal(false),
|
|
2580
|
+
terminal1_source_port_id: z120.string().optional(),
|
|
2581
|
+
terminal2_source_port_id: z120.string().optional(),
|
|
2582
|
+
terminal1_source_net_id: z120.string().optional(),
|
|
2583
|
+
terminal2_source_net_id: z120.string().optional(),
|
|
2554
2584
|
voltage: voltage.optional(),
|
|
2555
2585
|
frequency: frequency.optional(),
|
|
2556
2586
|
peak_to_peak_voltage: voltage.optional(),
|
|
@@ -2558,25 +2588,25 @@ var simulation_ac_voltage_source = z118.object({
|
|
|
2558
2588
|
phase: rotation.optional(),
|
|
2559
2589
|
duty_cycle: percentage.optional()
|
|
2560
2590
|
}).describe("Defines an AC voltage source for simulation");
|
|
2561
|
-
var simulation_voltage_source =
|
|
2591
|
+
var simulation_voltage_source = z120.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
|
|
2562
2592
|
expectTypesMatch(true);
|
|
2563
2593
|
expectTypesMatch(true);
|
|
2564
2594
|
expectTypesMatch(true);
|
|
2565
2595
|
|
|
2566
2596
|
// src/simulation/simulation_experiment.ts
|
|
2567
|
-
import { z as
|
|
2568
|
-
var experiment_type =
|
|
2569
|
-
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
|
|
2597
|
+
import { z as z121 } from "zod";
|
|
2598
|
+
var experiment_type = z121.union([
|
|
2599
|
+
z121.literal("spice_dc_sweep"),
|
|
2600
|
+
z121.literal("spice_dc_operating_point"),
|
|
2601
|
+
z121.literal("spice_transient_analysis"),
|
|
2602
|
+
z121.literal("spice_ac_analysis")
|
|
2573
2603
|
]);
|
|
2574
|
-
var simulation_experiment =
|
|
2575
|
-
type:
|
|
2604
|
+
var simulation_experiment = z121.object({
|
|
2605
|
+
type: z121.literal("simulation_experiment"),
|
|
2576
2606
|
simulation_experiment_id: getZodPrefixedIdWithDefault(
|
|
2577
2607
|
"simulation_experiment"
|
|
2578
2608
|
),
|
|
2579
|
-
name:
|
|
2609
|
+
name: z121.string(),
|
|
2580
2610
|
experiment_type,
|
|
2581
2611
|
time_per_step: duration_ms.optional(),
|
|
2582
2612
|
start_time_ms: ms.optional(),
|
|
@@ -2585,48 +2615,48 @@ var simulation_experiment = z119.object({
|
|
|
2585
2615
|
expectTypesMatch(true);
|
|
2586
2616
|
|
|
2587
2617
|
// src/simulation/simulation_transient_voltage_graph.ts
|
|
2588
|
-
import { z as
|
|
2589
|
-
var simulation_transient_voltage_graph =
|
|
2590
|
-
type:
|
|
2618
|
+
import { z as z122 } from "zod";
|
|
2619
|
+
var simulation_transient_voltage_graph = z122.object({
|
|
2620
|
+
type: z122.literal("simulation_transient_voltage_graph"),
|
|
2591
2621
|
simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
|
|
2592
2622
|
"simulation_transient_voltage_graph"
|
|
2593
2623
|
),
|
|
2594
|
-
simulation_experiment_id:
|
|
2595
|
-
timestamps_ms:
|
|
2596
|
-
voltage_levels:
|
|
2597
|
-
schematic_voltage_probe_id:
|
|
2598
|
-
simulation_voltage_probe_id:
|
|
2599
|
-
subcircuit_connectivity_map_key:
|
|
2624
|
+
simulation_experiment_id: z122.string(),
|
|
2625
|
+
timestamps_ms: z122.array(z122.number()).optional(),
|
|
2626
|
+
voltage_levels: z122.array(z122.number()),
|
|
2627
|
+
schematic_voltage_probe_id: z122.string().optional(),
|
|
2628
|
+
simulation_voltage_probe_id: z122.string().optional(),
|
|
2629
|
+
subcircuit_connectivity_map_key: z122.string().optional(),
|
|
2600
2630
|
time_per_step: duration_ms,
|
|
2601
2631
|
start_time_ms: ms,
|
|
2602
2632
|
end_time_ms: ms,
|
|
2603
|
-
name:
|
|
2633
|
+
name: z122.string().optional()
|
|
2604
2634
|
}).describe("Stores voltage measurements over time for a simulation");
|
|
2605
2635
|
expectTypesMatch(true);
|
|
2606
2636
|
|
|
2607
2637
|
// src/simulation/simulation_switch.ts
|
|
2608
|
-
import { z as
|
|
2609
|
-
var simulation_switch =
|
|
2610
|
-
type:
|
|
2638
|
+
import { z as z123 } from "zod";
|
|
2639
|
+
var simulation_switch = z123.object({
|
|
2640
|
+
type: z123.literal("simulation_switch"),
|
|
2611
2641
|
simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
|
|
2612
2642
|
closes_at: ms.optional(),
|
|
2613
2643
|
opens_at: ms.optional(),
|
|
2614
|
-
starts_closed:
|
|
2644
|
+
starts_closed: z123.boolean().optional(),
|
|
2615
2645
|
switching_frequency: frequency.optional()
|
|
2616
2646
|
}).describe("Defines a switch for simulation timing control");
|
|
2617
2647
|
expectTypesMatch(true);
|
|
2618
2648
|
|
|
2619
2649
|
// src/simulation/simulation_voltage_probe.ts
|
|
2620
|
-
import { z as
|
|
2621
|
-
var simulation_voltage_probe =
|
|
2622
|
-
type:
|
|
2650
|
+
import { z as z124 } from "zod";
|
|
2651
|
+
var simulation_voltage_probe = z124.object({
|
|
2652
|
+
type: z124.literal("simulation_voltage_probe"),
|
|
2623
2653
|
simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
|
|
2624
2654
|
"simulation_voltage_probe"
|
|
2625
2655
|
),
|
|
2626
|
-
source_port_id:
|
|
2627
|
-
source_net_id:
|
|
2628
|
-
name:
|
|
2629
|
-
subcircuit_id:
|
|
2656
|
+
source_port_id: z124.string().optional(),
|
|
2657
|
+
source_net_id: z124.string().optional(),
|
|
2658
|
+
name: z124.string().optional(),
|
|
2659
|
+
subcircuit_id: z124.string().optional()
|
|
2630
2660
|
}).describe(
|
|
2631
2661
|
"Defines a voltage probe for simulation, connected to a port or a net"
|
|
2632
2662
|
).refine(
|
|
@@ -2638,8 +2668,8 @@ var simulation_voltage_probe = z122.object({
|
|
|
2638
2668
|
expectTypesMatch(true);
|
|
2639
2669
|
|
|
2640
2670
|
// src/any_circuit_element.ts
|
|
2641
|
-
import { z as
|
|
2642
|
-
var any_circuit_element =
|
|
2671
|
+
import { z as z125 } from "zod";
|
|
2672
|
+
var any_circuit_element = z125.union([
|
|
2643
2673
|
source_trace,
|
|
2644
2674
|
source_port,
|
|
2645
2675
|
any_source_component,
|
|
@@ -2684,6 +2714,7 @@ var any_circuit_element = z123.union([
|
|
|
2684
2714
|
pcb_smtpad,
|
|
2685
2715
|
pcb_solder_paste,
|
|
2686
2716
|
pcb_board,
|
|
2717
|
+
pcb_panel,
|
|
2687
2718
|
pcb_group,
|
|
2688
2719
|
pcb_trace_hint,
|
|
2689
2720
|
pcb_silkscreen_line,
|
|
@@ -2716,6 +2747,7 @@ var any_circuit_element = z123.union([
|
|
|
2716
2747
|
pcb_thermal_spoke,
|
|
2717
2748
|
pcb_copper_pour,
|
|
2718
2749
|
pcb_component_outside_board_error,
|
|
2750
|
+
pcb_component_invalid_layer_error,
|
|
2719
2751
|
pcb_courtyard_rect,
|
|
2720
2752
|
pcb_courtyard_outline,
|
|
2721
2753
|
schematic_box,
|
|
@@ -2774,6 +2806,7 @@ export {
|
|
|
2774
2806
|
pcb_board,
|
|
2775
2807
|
pcb_breakout_point,
|
|
2776
2808
|
pcb_component,
|
|
2809
|
+
pcb_component_invalid_layer_error,
|
|
2777
2810
|
pcb_component_outside_board_error,
|
|
2778
2811
|
pcb_copper_pour,
|
|
2779
2812
|
pcb_copper_pour_brep,
|
|
@@ -2807,6 +2840,7 @@ export {
|
|
|
2807
2840
|
pcb_note_path,
|
|
2808
2841
|
pcb_note_rect,
|
|
2809
2842
|
pcb_note_text,
|
|
2843
|
+
pcb_panel,
|
|
2810
2844
|
pcb_placement_error,
|
|
2811
2845
|
pcb_plated_hole,
|
|
2812
2846
|
pcb_port,
|