circuit-json 0.0.274 → 0.0.276
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 +78 -0
- package/dist/index.d.mts +998 -60
- package/dist/index.mjs +324 -224
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1279,7 +1279,38 @@ var pcb_hole_oval_shape = pcb_hole_oval.describe(
|
|
|
1279
1279
|
"Defines an oval hole on the PCB"
|
|
1280
1280
|
);
|
|
1281
1281
|
expectTypesMatch(true);
|
|
1282
|
-
var
|
|
1282
|
+
var pcb_hole_pill = z68.object({
|
|
1283
|
+
type: z68.literal("pcb_hole"),
|
|
1284
|
+
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1285
|
+
pcb_group_id: z68.string().optional(),
|
|
1286
|
+
subcircuit_id: z68.string().optional(),
|
|
1287
|
+
hole_shape: z68.literal("pill"),
|
|
1288
|
+
hole_width: z68.number(),
|
|
1289
|
+
hole_height: z68.number(),
|
|
1290
|
+
x: distance,
|
|
1291
|
+
y: distance
|
|
1292
|
+
});
|
|
1293
|
+
var pcb_hole_pill_shape = pcb_hole_pill.describe(
|
|
1294
|
+
"Defines a pill-shaped hole on the PCB"
|
|
1295
|
+
);
|
|
1296
|
+
expectTypesMatch(true);
|
|
1297
|
+
var pcb_hole_rotated_pill = z68.object({
|
|
1298
|
+
type: z68.literal("pcb_hole"),
|
|
1299
|
+
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1300
|
+
pcb_group_id: z68.string().optional(),
|
|
1301
|
+
subcircuit_id: z68.string().optional(),
|
|
1302
|
+
hole_shape: z68.literal("rotated_pill"),
|
|
1303
|
+
hole_width: z68.number(),
|
|
1304
|
+
hole_height: z68.number(),
|
|
1305
|
+
x: distance,
|
|
1306
|
+
y: distance,
|
|
1307
|
+
ccw_rotation: rotation
|
|
1308
|
+
});
|
|
1309
|
+
var pcb_hole_rotated_pill_shape = pcb_hole_rotated_pill.describe(
|
|
1310
|
+
"Defines a rotated pill-shaped hole on the PCB"
|
|
1311
|
+
);
|
|
1312
|
+
expectTypesMatch(true);
|
|
1313
|
+
var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval).or(pcb_hole_pill).or(pcb_hole_rotated_pill);
|
|
1283
1314
|
|
|
1284
1315
|
// src/pcb/pcb_plated_hole.ts
|
|
1285
1316
|
import { z as z69 } from "zod";
|
|
@@ -1963,64 +1994,86 @@ var pcb_fabrication_note_path = z91.object({
|
|
|
1963
1994
|
);
|
|
1964
1995
|
expectTypesMatch(true);
|
|
1965
1996
|
|
|
1966
|
-
// src/pcb/
|
|
1997
|
+
// src/pcb/pcb_fabrication_note_rect.ts
|
|
1967
1998
|
import { z as z92 } from "zod";
|
|
1968
|
-
var
|
|
1969
|
-
type: z92.literal("
|
|
1999
|
+
var pcb_fabrication_note_rect = z92.object({
|
|
2000
|
+
type: z92.literal("pcb_fabrication_note_rect"),
|
|
2001
|
+
pcb_fabrication_note_rect_id: getZodPrefixedIdWithDefault(
|
|
2002
|
+
"pcb_fabrication_note_rect"
|
|
2003
|
+
),
|
|
2004
|
+
pcb_component_id: z92.string(),
|
|
2005
|
+
pcb_group_id: z92.string().optional(),
|
|
2006
|
+
subcircuit_id: z92.string().optional(),
|
|
2007
|
+
center: point,
|
|
2008
|
+
width: length,
|
|
2009
|
+
height: length,
|
|
2010
|
+
layer: visible_layer,
|
|
2011
|
+
stroke_width: length.default("0.1mm"),
|
|
2012
|
+
is_filled: z92.boolean().optional(),
|
|
2013
|
+
has_stroke: z92.boolean().optional(),
|
|
2014
|
+
is_stroke_dashed: z92.boolean().optional(),
|
|
2015
|
+
color: z92.string().optional()
|
|
2016
|
+
}).describe("Defines a fabrication note rectangle on the PCB");
|
|
2017
|
+
expectTypesMatch(true);
|
|
2018
|
+
|
|
2019
|
+
// src/pcb/pcb_footprint_overlap_error.ts
|
|
2020
|
+
import { z as z93 } from "zod";
|
|
2021
|
+
var pcb_footprint_overlap_error = z93.object({
|
|
2022
|
+
type: z93.literal("pcb_footprint_overlap_error"),
|
|
1970
2023
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
1971
|
-
error_type:
|
|
1972
|
-
message:
|
|
1973
|
-
pcb_smtpad_ids:
|
|
1974
|
-
pcb_plated_hole_ids:
|
|
1975
|
-
pcb_hole_ids:
|
|
1976
|
-
pcb_keepout_ids:
|
|
2024
|
+
error_type: z93.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
|
|
2025
|
+
message: z93.string(),
|
|
2026
|
+
pcb_smtpad_ids: z93.array(z93.string()).optional(),
|
|
2027
|
+
pcb_plated_hole_ids: z93.array(z93.string()).optional(),
|
|
2028
|
+
pcb_hole_ids: z93.array(z93.string()).optional(),
|
|
2029
|
+
pcb_keepout_ids: z93.array(z93.string()).optional()
|
|
1977
2030
|
}).describe("Error emitted when a pcb footprint overlaps with another element");
|
|
1978
2031
|
expectTypesMatch(
|
|
1979
2032
|
true
|
|
1980
2033
|
);
|
|
1981
2034
|
|
|
1982
2035
|
// src/pcb/pcb_keepout.ts
|
|
1983
|
-
import { z as
|
|
1984
|
-
var pcb_keepout =
|
|
1985
|
-
type:
|
|
1986
|
-
shape:
|
|
1987
|
-
pcb_group_id:
|
|
1988
|
-
subcircuit_id:
|
|
2036
|
+
import { z as z94 } from "zod";
|
|
2037
|
+
var pcb_keepout = z94.object({
|
|
2038
|
+
type: z94.literal("pcb_keepout"),
|
|
2039
|
+
shape: z94.literal("rect"),
|
|
2040
|
+
pcb_group_id: z94.string().optional(),
|
|
2041
|
+
subcircuit_id: z94.string().optional(),
|
|
1989
2042
|
center: point,
|
|
1990
2043
|
width: distance,
|
|
1991
2044
|
height: distance,
|
|
1992
|
-
pcb_keepout_id:
|
|
1993
|
-
layers:
|
|
2045
|
+
pcb_keepout_id: z94.string(),
|
|
2046
|
+
layers: z94.array(z94.string()),
|
|
1994
2047
|
// Specify layers where the keepout applies
|
|
1995
|
-
description:
|
|
2048
|
+
description: z94.string().optional()
|
|
1996
2049
|
// Optional description of the keepout
|
|
1997
2050
|
}).or(
|
|
1998
|
-
|
|
1999
|
-
type:
|
|
2000
|
-
shape:
|
|
2001
|
-
pcb_group_id:
|
|
2002
|
-
subcircuit_id:
|
|
2051
|
+
z94.object({
|
|
2052
|
+
type: z94.literal("pcb_keepout"),
|
|
2053
|
+
shape: z94.literal("circle"),
|
|
2054
|
+
pcb_group_id: z94.string().optional(),
|
|
2055
|
+
subcircuit_id: z94.string().optional(),
|
|
2003
2056
|
center: point,
|
|
2004
2057
|
radius: distance,
|
|
2005
|
-
pcb_keepout_id:
|
|
2006
|
-
layers:
|
|
2058
|
+
pcb_keepout_id: z94.string(),
|
|
2059
|
+
layers: z94.array(z94.string()),
|
|
2007
2060
|
// Specify layers where the keepout applies
|
|
2008
|
-
description:
|
|
2061
|
+
description: z94.string().optional()
|
|
2009
2062
|
// Optional description of the keepout
|
|
2010
2063
|
})
|
|
2011
2064
|
);
|
|
2012
2065
|
expectTypesMatch(true);
|
|
2013
2066
|
|
|
2014
2067
|
// src/pcb/pcb_cutout.ts
|
|
2015
|
-
import { z as
|
|
2016
|
-
var pcb_cutout_base =
|
|
2017
|
-
type:
|
|
2068
|
+
import { z as z95 } from "zod";
|
|
2069
|
+
var pcb_cutout_base = z95.object({
|
|
2070
|
+
type: z95.literal("pcb_cutout"),
|
|
2018
2071
|
pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
|
|
2019
|
-
pcb_group_id:
|
|
2020
|
-
subcircuit_id:
|
|
2072
|
+
pcb_group_id: z95.string().optional(),
|
|
2073
|
+
subcircuit_id: z95.string().optional()
|
|
2021
2074
|
});
|
|
2022
2075
|
var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
2023
|
-
shape:
|
|
2076
|
+
shape: z95.literal("rect"),
|
|
2024
2077
|
center: point,
|
|
2025
2078
|
width: length,
|
|
2026
2079
|
height: length,
|
|
@@ -2028,17 +2081,17 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
|
2028
2081
|
});
|
|
2029
2082
|
expectTypesMatch(true);
|
|
2030
2083
|
var pcb_cutout_circle = pcb_cutout_base.extend({
|
|
2031
|
-
shape:
|
|
2084
|
+
shape: z95.literal("circle"),
|
|
2032
2085
|
center: point,
|
|
2033
2086
|
radius: length
|
|
2034
2087
|
});
|
|
2035
2088
|
expectTypesMatch(true);
|
|
2036
2089
|
var pcb_cutout_polygon = pcb_cutout_base.extend({
|
|
2037
|
-
shape:
|
|
2038
|
-
points:
|
|
2090
|
+
shape: z95.literal("polygon"),
|
|
2091
|
+
points: z95.array(point)
|
|
2039
2092
|
});
|
|
2040
2093
|
expectTypesMatch(true);
|
|
2041
|
-
var pcb_cutout =
|
|
2094
|
+
var pcb_cutout = z95.discriminatedUnion("shape", [
|
|
2042
2095
|
pcb_cutout_rect,
|
|
2043
2096
|
pcb_cutout_circle,
|
|
2044
2097
|
pcb_cutout_polygon
|
|
@@ -2046,117 +2099,117 @@ var pcb_cutout = z94.discriminatedUnion("shape", [
|
|
|
2046
2099
|
expectTypesMatch(true);
|
|
2047
2100
|
|
|
2048
2101
|
// src/pcb/pcb_missing_footprint_error.ts
|
|
2049
|
-
import { z as
|
|
2050
|
-
var pcb_missing_footprint_error =
|
|
2051
|
-
type:
|
|
2102
|
+
import { z as z96 } from "zod";
|
|
2103
|
+
var pcb_missing_footprint_error = z96.object({
|
|
2104
|
+
type: z96.literal("pcb_missing_footprint_error"),
|
|
2052
2105
|
pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
|
|
2053
2106
|
"pcb_missing_footprint_error"
|
|
2054
2107
|
),
|
|
2055
|
-
pcb_group_id:
|
|
2056
|
-
subcircuit_id:
|
|
2057
|
-
error_type:
|
|
2058
|
-
source_component_id:
|
|
2059
|
-
message:
|
|
2108
|
+
pcb_group_id: z96.string().optional(),
|
|
2109
|
+
subcircuit_id: z96.string().optional(),
|
|
2110
|
+
error_type: z96.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
|
|
2111
|
+
source_component_id: z96.string(),
|
|
2112
|
+
message: z96.string()
|
|
2060
2113
|
}).describe("Defines a missing footprint error on the PCB");
|
|
2061
2114
|
expectTypesMatch(
|
|
2062
2115
|
true
|
|
2063
2116
|
);
|
|
2064
2117
|
|
|
2065
2118
|
// src/pcb/external_footprint_load_error.ts
|
|
2066
|
-
import { z as
|
|
2067
|
-
var external_footprint_load_error =
|
|
2068
|
-
type:
|
|
2119
|
+
import { z as z97 } from "zod";
|
|
2120
|
+
var external_footprint_load_error = z97.object({
|
|
2121
|
+
type: z97.literal("external_footprint_load_error"),
|
|
2069
2122
|
external_footprint_load_error_id: getZodPrefixedIdWithDefault(
|
|
2070
2123
|
"external_footprint_load_error"
|
|
2071
2124
|
),
|
|
2072
|
-
pcb_component_id:
|
|
2073
|
-
source_component_id:
|
|
2074
|
-
pcb_group_id:
|
|
2075
|
-
subcircuit_id:
|
|
2076
|
-
footprinter_string:
|
|
2077
|
-
error_type:
|
|
2078
|
-
message:
|
|
2125
|
+
pcb_component_id: z97.string(),
|
|
2126
|
+
source_component_id: z97.string(),
|
|
2127
|
+
pcb_group_id: z97.string().optional(),
|
|
2128
|
+
subcircuit_id: z97.string().optional(),
|
|
2129
|
+
footprinter_string: z97.string().optional(),
|
|
2130
|
+
error_type: z97.literal("external_footprint_load_error").default("external_footprint_load_error"),
|
|
2131
|
+
message: z97.string()
|
|
2079
2132
|
}).describe("Defines an error when an external footprint fails to load");
|
|
2080
2133
|
expectTypesMatch(true);
|
|
2081
2134
|
|
|
2082
2135
|
// src/pcb/circuit_json_footprint_load_error.ts
|
|
2083
|
-
import { z as
|
|
2084
|
-
var circuit_json_footprint_load_error =
|
|
2085
|
-
type:
|
|
2136
|
+
import { z as z98 } from "zod";
|
|
2137
|
+
var circuit_json_footprint_load_error = z98.object({
|
|
2138
|
+
type: z98.literal("circuit_json_footprint_load_error"),
|
|
2086
2139
|
circuit_json_footprint_load_error_id: getZodPrefixedIdWithDefault(
|
|
2087
2140
|
"circuit_json_footprint_load_error"
|
|
2088
2141
|
),
|
|
2089
|
-
pcb_component_id:
|
|
2090
|
-
source_component_id:
|
|
2091
|
-
pcb_group_id:
|
|
2092
|
-
subcircuit_id:
|
|
2093
|
-
error_type:
|
|
2094
|
-
message:
|
|
2095
|
-
circuit_json:
|
|
2142
|
+
pcb_component_id: z98.string(),
|
|
2143
|
+
source_component_id: z98.string(),
|
|
2144
|
+
pcb_group_id: z98.string().optional(),
|
|
2145
|
+
subcircuit_id: z98.string().optional(),
|
|
2146
|
+
error_type: z98.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
|
|
2147
|
+
message: z98.string(),
|
|
2148
|
+
circuit_json: z98.array(z98.any()).optional()
|
|
2096
2149
|
}).describe("Defines an error when a circuit JSON footprint fails to load");
|
|
2097
2150
|
expectTypesMatch(true);
|
|
2098
2151
|
|
|
2099
2152
|
// src/pcb/pcb_group.ts
|
|
2100
|
-
import { z as
|
|
2101
|
-
var pcb_group =
|
|
2102
|
-
type:
|
|
2153
|
+
import { z as z99 } from "zod";
|
|
2154
|
+
var pcb_group = z99.object({
|
|
2155
|
+
type: z99.literal("pcb_group"),
|
|
2103
2156
|
pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
|
|
2104
|
-
source_group_id:
|
|
2105
|
-
is_subcircuit:
|
|
2106
|
-
subcircuit_id:
|
|
2157
|
+
source_group_id: z99.string(),
|
|
2158
|
+
is_subcircuit: z99.boolean().optional(),
|
|
2159
|
+
subcircuit_id: z99.string().optional(),
|
|
2107
2160
|
width: length,
|
|
2108
2161
|
height: length,
|
|
2109
2162
|
center: point,
|
|
2110
|
-
pcb_component_ids:
|
|
2111
|
-
name:
|
|
2112
|
-
description:
|
|
2113
|
-
layout_mode:
|
|
2114
|
-
autorouter_configuration:
|
|
2163
|
+
pcb_component_ids: z99.array(z99.string()),
|
|
2164
|
+
name: z99.string().optional(),
|
|
2165
|
+
description: z99.string().optional(),
|
|
2166
|
+
layout_mode: z99.string().optional(),
|
|
2167
|
+
autorouter_configuration: z99.object({
|
|
2115
2168
|
trace_clearance: length
|
|
2116
2169
|
}).optional(),
|
|
2117
|
-
autorouter_used_string:
|
|
2170
|
+
autorouter_used_string: z99.string().optional()
|
|
2118
2171
|
}).describe("Defines a group of components on the PCB");
|
|
2119
2172
|
expectTypesMatch(true);
|
|
2120
2173
|
|
|
2121
2174
|
// src/pcb/pcb_autorouting_error.ts
|
|
2122
|
-
import { z as
|
|
2123
|
-
var pcb_autorouting_error =
|
|
2124
|
-
type:
|
|
2175
|
+
import { z as z100 } from "zod";
|
|
2176
|
+
var pcb_autorouting_error = z100.object({
|
|
2177
|
+
type: z100.literal("pcb_autorouting_error"),
|
|
2125
2178
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
|
|
2126
|
-
error_type:
|
|
2127
|
-
message:
|
|
2128
|
-
subcircuit_id:
|
|
2179
|
+
error_type: z100.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
|
|
2180
|
+
message: z100.string(),
|
|
2181
|
+
subcircuit_id: z100.string().optional()
|
|
2129
2182
|
}).describe("The autorouting has failed to route a portion of the board");
|
|
2130
2183
|
expectTypesMatch(true);
|
|
2131
2184
|
|
|
2132
2185
|
// src/pcb/pcb_manual_edit_conflict_warning.ts
|
|
2133
|
-
import { z as
|
|
2134
|
-
var pcb_manual_edit_conflict_warning =
|
|
2135
|
-
type:
|
|
2186
|
+
import { z as z101 } from "zod";
|
|
2187
|
+
var pcb_manual_edit_conflict_warning = z101.object({
|
|
2188
|
+
type: z101.literal("pcb_manual_edit_conflict_warning"),
|
|
2136
2189
|
pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
2137
2190
|
"pcb_manual_edit_conflict_warning"
|
|
2138
2191
|
),
|
|
2139
|
-
warning_type:
|
|
2140
|
-
message:
|
|
2141
|
-
pcb_component_id:
|
|
2142
|
-
pcb_group_id:
|
|
2143
|
-
subcircuit_id:
|
|
2144
|
-
source_component_id:
|
|
2192
|
+
warning_type: z101.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
|
|
2193
|
+
message: z101.string(),
|
|
2194
|
+
pcb_component_id: z101.string(),
|
|
2195
|
+
pcb_group_id: z101.string().optional(),
|
|
2196
|
+
subcircuit_id: z101.string().optional(),
|
|
2197
|
+
source_component_id: z101.string()
|
|
2145
2198
|
}).describe(
|
|
2146
2199
|
"Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
|
|
2147
2200
|
);
|
|
2148
2201
|
expectTypesMatch(true);
|
|
2149
2202
|
|
|
2150
2203
|
// src/pcb/pcb_breakout_point.ts
|
|
2151
|
-
import { z as
|
|
2152
|
-
var pcb_breakout_point =
|
|
2153
|
-
type:
|
|
2204
|
+
import { z as z102 } from "zod";
|
|
2205
|
+
var pcb_breakout_point = z102.object({
|
|
2206
|
+
type: z102.literal("pcb_breakout_point"),
|
|
2154
2207
|
pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
|
|
2155
|
-
pcb_group_id:
|
|
2156
|
-
subcircuit_id:
|
|
2157
|
-
source_trace_id:
|
|
2158
|
-
source_port_id:
|
|
2159
|
-
source_net_id:
|
|
2208
|
+
pcb_group_id: z102.string(),
|
|
2209
|
+
subcircuit_id: z102.string().optional(),
|
|
2210
|
+
source_trace_id: z102.string().optional(),
|
|
2211
|
+
source_port_id: z102.string().optional(),
|
|
2212
|
+
source_net_id: z102.string().optional(),
|
|
2160
2213
|
x: distance,
|
|
2161
2214
|
y: distance
|
|
2162
2215
|
}).describe(
|
|
@@ -2165,60 +2218,60 @@ var pcb_breakout_point = z101.object({
|
|
|
2165
2218
|
expectTypesMatch(true);
|
|
2166
2219
|
|
|
2167
2220
|
// src/pcb/pcb_ground_plane.ts
|
|
2168
|
-
import { z as
|
|
2169
|
-
var pcb_ground_plane =
|
|
2170
|
-
type:
|
|
2221
|
+
import { z as z103 } from "zod";
|
|
2222
|
+
var pcb_ground_plane = z103.object({
|
|
2223
|
+
type: z103.literal("pcb_ground_plane"),
|
|
2171
2224
|
pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
|
|
2172
|
-
source_pcb_ground_plane_id:
|
|
2173
|
-
source_net_id:
|
|
2174
|
-
pcb_group_id:
|
|
2175
|
-
subcircuit_id:
|
|
2225
|
+
source_pcb_ground_plane_id: z103.string(),
|
|
2226
|
+
source_net_id: z103.string(),
|
|
2227
|
+
pcb_group_id: z103.string().optional(),
|
|
2228
|
+
subcircuit_id: z103.string().optional()
|
|
2176
2229
|
}).describe("Defines a ground plane on the PCB");
|
|
2177
2230
|
expectTypesMatch(true);
|
|
2178
2231
|
|
|
2179
2232
|
// src/pcb/pcb_ground_plane_region.ts
|
|
2180
|
-
import { z as
|
|
2181
|
-
var pcb_ground_plane_region =
|
|
2182
|
-
type:
|
|
2233
|
+
import { z as z104 } from "zod";
|
|
2234
|
+
var pcb_ground_plane_region = z104.object({
|
|
2235
|
+
type: z104.literal("pcb_ground_plane_region"),
|
|
2183
2236
|
pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
|
|
2184
2237
|
"pcb_ground_plane_region"
|
|
2185
2238
|
),
|
|
2186
|
-
pcb_ground_plane_id:
|
|
2187
|
-
pcb_group_id:
|
|
2188
|
-
subcircuit_id:
|
|
2239
|
+
pcb_ground_plane_id: z104.string(),
|
|
2240
|
+
pcb_group_id: z104.string().optional(),
|
|
2241
|
+
subcircuit_id: z104.string().optional(),
|
|
2189
2242
|
layer: layer_ref,
|
|
2190
|
-
points:
|
|
2243
|
+
points: z104.array(point)
|
|
2191
2244
|
}).describe("Defines a polygon region of a ground plane");
|
|
2192
2245
|
expectTypesMatch(true);
|
|
2193
2246
|
|
|
2194
2247
|
// src/pcb/pcb_thermal_spoke.ts
|
|
2195
|
-
import { z as
|
|
2196
|
-
var pcb_thermal_spoke =
|
|
2197
|
-
type:
|
|
2248
|
+
import { z as z105 } from "zod";
|
|
2249
|
+
var pcb_thermal_spoke = z105.object({
|
|
2250
|
+
type: z105.literal("pcb_thermal_spoke"),
|
|
2198
2251
|
pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
|
|
2199
|
-
pcb_ground_plane_id:
|
|
2200
|
-
shape:
|
|
2201
|
-
spoke_count:
|
|
2252
|
+
pcb_ground_plane_id: z105.string(),
|
|
2253
|
+
shape: z105.string(),
|
|
2254
|
+
spoke_count: z105.number(),
|
|
2202
2255
|
spoke_thickness: distance,
|
|
2203
2256
|
spoke_inner_diameter: distance,
|
|
2204
2257
|
spoke_outer_diameter: distance,
|
|
2205
|
-
pcb_plated_hole_id:
|
|
2206
|
-
subcircuit_id:
|
|
2258
|
+
pcb_plated_hole_id: z105.string().optional(),
|
|
2259
|
+
subcircuit_id: z105.string().optional()
|
|
2207
2260
|
}).describe("Pattern for connecting a ground plane to a plated hole");
|
|
2208
2261
|
expectTypesMatch(true);
|
|
2209
2262
|
|
|
2210
2263
|
// src/pcb/pcb_copper_pour.ts
|
|
2211
|
-
import { z as
|
|
2212
|
-
var pcb_copper_pour_base =
|
|
2213
|
-
type:
|
|
2264
|
+
import { z as z106 } from "zod";
|
|
2265
|
+
var pcb_copper_pour_base = z106.object({
|
|
2266
|
+
type: z106.literal("pcb_copper_pour"),
|
|
2214
2267
|
pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
|
|
2215
|
-
pcb_group_id:
|
|
2216
|
-
subcircuit_id:
|
|
2268
|
+
pcb_group_id: z106.string().optional(),
|
|
2269
|
+
subcircuit_id: z106.string().optional(),
|
|
2217
2270
|
layer: layer_ref,
|
|
2218
|
-
source_net_id:
|
|
2271
|
+
source_net_id: z106.string().optional()
|
|
2219
2272
|
});
|
|
2220
2273
|
var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
2221
|
-
shape:
|
|
2274
|
+
shape: z106.literal("rect"),
|
|
2222
2275
|
center: point,
|
|
2223
2276
|
width: length,
|
|
2224
2277
|
height: length,
|
|
@@ -2226,16 +2279,16 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
|
2226
2279
|
});
|
|
2227
2280
|
expectTypesMatch(true);
|
|
2228
2281
|
var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
|
|
2229
|
-
shape:
|
|
2282
|
+
shape: z106.literal("brep"),
|
|
2230
2283
|
brep_shape
|
|
2231
2284
|
});
|
|
2232
2285
|
expectTypesMatch(true);
|
|
2233
2286
|
var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
|
|
2234
|
-
shape:
|
|
2235
|
-
points:
|
|
2287
|
+
shape: z106.literal("polygon"),
|
|
2288
|
+
points: z106.array(point)
|
|
2236
2289
|
});
|
|
2237
2290
|
expectTypesMatch(true);
|
|
2238
|
-
var pcb_copper_pour =
|
|
2291
|
+
var pcb_copper_pour = z106.discriminatedUnion("shape", [
|
|
2239
2292
|
pcb_copper_pour_rect,
|
|
2240
2293
|
pcb_copper_pour_brep,
|
|
2241
2294
|
pcb_copper_pour_polygon
|
|
@@ -2243,78 +2296,117 @@ var pcb_copper_pour = z105.discriminatedUnion("shape", [
|
|
|
2243
2296
|
expectTypesMatch(true);
|
|
2244
2297
|
|
|
2245
2298
|
// src/pcb/pcb_component_outside_board_error.ts
|
|
2246
|
-
import { z as
|
|
2247
|
-
var pcb_component_outside_board_error =
|
|
2248
|
-
type:
|
|
2299
|
+
import { z as z107 } from "zod";
|
|
2300
|
+
var pcb_component_outside_board_error = z107.object({
|
|
2301
|
+
type: z107.literal("pcb_component_outside_board_error"),
|
|
2249
2302
|
pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
|
|
2250
2303
|
"pcb_component_outside_board_error"
|
|
2251
2304
|
),
|
|
2252
|
-
error_type:
|
|
2253
|
-
message:
|
|
2254
|
-
pcb_component_id:
|
|
2255
|
-
pcb_board_id:
|
|
2305
|
+
error_type: z107.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
|
|
2306
|
+
message: z107.string(),
|
|
2307
|
+
pcb_component_id: z107.string(),
|
|
2308
|
+
pcb_board_id: z107.string(),
|
|
2256
2309
|
component_center: point,
|
|
2257
|
-
component_bounds:
|
|
2258
|
-
min_x:
|
|
2259
|
-
max_x:
|
|
2260
|
-
min_y:
|
|
2261
|
-
max_y:
|
|
2310
|
+
component_bounds: z107.object({
|
|
2311
|
+
min_x: z107.number(),
|
|
2312
|
+
max_x: z107.number(),
|
|
2313
|
+
min_y: z107.number(),
|
|
2314
|
+
max_y: z107.number()
|
|
2262
2315
|
}),
|
|
2263
|
-
subcircuit_id:
|
|
2264
|
-
source_component_id:
|
|
2316
|
+
subcircuit_id: z107.string().optional(),
|
|
2317
|
+
source_component_id: z107.string().optional()
|
|
2265
2318
|
}).describe(
|
|
2266
2319
|
"Error emitted when a PCB component is placed outside the board boundaries"
|
|
2267
2320
|
);
|
|
2268
2321
|
expectTypesMatch(true);
|
|
2269
2322
|
|
|
2270
2323
|
// src/pcb/pcb_via_clearance_error.ts
|
|
2271
|
-
import { z as
|
|
2272
|
-
var pcb_via_clearance_error =
|
|
2273
|
-
type:
|
|
2324
|
+
import { z as z108 } from "zod";
|
|
2325
|
+
var pcb_via_clearance_error = z108.object({
|
|
2326
|
+
type: z108.literal("pcb_via_clearance_error"),
|
|
2274
2327
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
2275
|
-
error_type:
|
|
2276
|
-
message:
|
|
2277
|
-
pcb_via_ids:
|
|
2328
|
+
error_type: z108.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
|
|
2329
|
+
message: z108.string(),
|
|
2330
|
+
pcb_via_ids: z108.array(z108.string()).min(2),
|
|
2278
2331
|
minimum_clearance: distance.optional(),
|
|
2279
2332
|
actual_clearance: distance.optional(),
|
|
2280
|
-
pcb_center:
|
|
2281
|
-
x:
|
|
2282
|
-
y:
|
|
2333
|
+
pcb_center: z108.object({
|
|
2334
|
+
x: z108.number().optional(),
|
|
2335
|
+
y: z108.number().optional()
|
|
2283
2336
|
}).optional(),
|
|
2284
|
-
subcircuit_id:
|
|
2337
|
+
subcircuit_id: z108.string().optional()
|
|
2285
2338
|
}).describe("Error emitted when vias are closer than the allowed clearance");
|
|
2286
2339
|
expectTypesMatch(true);
|
|
2287
2340
|
|
|
2341
|
+
// src/pcb/pcb_courtyard_rect.ts
|
|
2342
|
+
import { z as z109 } from "zod";
|
|
2343
|
+
var pcb_courtyard_rect = z109.object({
|
|
2344
|
+
type: z109.literal("pcb_courtyard_rect"),
|
|
2345
|
+
pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
|
|
2346
|
+
pcb_component_id: z109.string(),
|
|
2347
|
+
pcb_group_id: z109.string().optional(),
|
|
2348
|
+
subcircuit_id: z109.string().optional(),
|
|
2349
|
+
center: point,
|
|
2350
|
+
width: length,
|
|
2351
|
+
height: length,
|
|
2352
|
+
layer: visible_layer,
|
|
2353
|
+
stroke_width: length.default("0.1mm"),
|
|
2354
|
+
is_filled: z109.boolean().optional(),
|
|
2355
|
+
has_stroke: z109.boolean().optional(),
|
|
2356
|
+
is_stroke_dashed: z109.boolean().optional(),
|
|
2357
|
+
color: z109.string().optional()
|
|
2358
|
+
}).describe("Defines a courtyard rectangle on the PCB");
|
|
2359
|
+
expectTypesMatch(true);
|
|
2360
|
+
|
|
2361
|
+
// src/pcb/pcb_courtyard_outline.ts
|
|
2362
|
+
import { z as z110 } from "zod";
|
|
2363
|
+
var pcb_courtyard_outline = z110.object({
|
|
2364
|
+
type: z110.literal("pcb_courtyard_outline"),
|
|
2365
|
+
pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
|
|
2366
|
+
"pcb_courtyard_outline"
|
|
2367
|
+
),
|
|
2368
|
+
pcb_component_id: z110.string(),
|
|
2369
|
+
pcb_group_id: z110.string().optional(),
|
|
2370
|
+
subcircuit_id: z110.string().optional(),
|
|
2371
|
+
layer: visible_layer,
|
|
2372
|
+
outline: z110.array(point).min(2),
|
|
2373
|
+
stroke_width: length.default("0.1mm"),
|
|
2374
|
+
is_closed: z110.boolean().optional(),
|
|
2375
|
+
is_stroke_dashed: z110.boolean().optional(),
|
|
2376
|
+
color: z110.string().optional()
|
|
2377
|
+
}).describe("Defines a courtyard outline on the PCB");
|
|
2378
|
+
expectTypesMatch(true);
|
|
2379
|
+
|
|
2288
2380
|
// src/cad/cad_component.ts
|
|
2289
|
-
import { z as
|
|
2290
|
-
var cad_component =
|
|
2291
|
-
type:
|
|
2292
|
-
cad_component_id:
|
|
2293
|
-
pcb_component_id:
|
|
2294
|
-
source_component_id:
|
|
2381
|
+
import { z as z111 } from "zod";
|
|
2382
|
+
var cad_component = z111.object({
|
|
2383
|
+
type: z111.literal("cad_component"),
|
|
2384
|
+
cad_component_id: z111.string(),
|
|
2385
|
+
pcb_component_id: z111.string(),
|
|
2386
|
+
source_component_id: z111.string(),
|
|
2295
2387
|
position: point3,
|
|
2296
2388
|
rotation: point3.optional(),
|
|
2297
2389
|
size: point3.optional(),
|
|
2298
2390
|
layer: layer_ref.optional(),
|
|
2299
|
-
subcircuit_id:
|
|
2391
|
+
subcircuit_id: z111.string().optional(),
|
|
2300
2392
|
// These are all ways to generate/load the 3d model
|
|
2301
|
-
footprinter_string:
|
|
2302
|
-
model_obj_url:
|
|
2303
|
-
model_stl_url:
|
|
2304
|
-
model_3mf_url:
|
|
2305
|
-
model_gltf_url:
|
|
2306
|
-
model_glb_url:
|
|
2307
|
-
model_step_url:
|
|
2308
|
-
model_wrl_url:
|
|
2309
|
-
model_unit_to_mm_scale_factor:
|
|
2310
|
-
model_jscad:
|
|
2393
|
+
footprinter_string: z111.string().optional(),
|
|
2394
|
+
model_obj_url: z111.string().optional(),
|
|
2395
|
+
model_stl_url: z111.string().optional(),
|
|
2396
|
+
model_3mf_url: z111.string().optional(),
|
|
2397
|
+
model_gltf_url: z111.string().optional(),
|
|
2398
|
+
model_glb_url: z111.string().optional(),
|
|
2399
|
+
model_step_url: z111.string().optional(),
|
|
2400
|
+
model_wrl_url: z111.string().optional(),
|
|
2401
|
+
model_unit_to_mm_scale_factor: z111.number().optional(),
|
|
2402
|
+
model_jscad: z111.any().optional()
|
|
2311
2403
|
}).describe("Defines a component on the PCB");
|
|
2312
2404
|
expectTypesMatch(true);
|
|
2313
2405
|
|
|
2314
2406
|
// src/simulation/simulation_voltage_source.ts
|
|
2315
|
-
import { z as
|
|
2316
|
-
var wave_shape =
|
|
2317
|
-
var percentage =
|
|
2407
|
+
import { z as z112 } from "zod";
|
|
2408
|
+
var wave_shape = z112.enum(["sinewave", "square", "triangle", "sawtooth"]);
|
|
2409
|
+
var percentage = z112.union([z112.string(), z112.number()]).transform((val) => {
|
|
2318
2410
|
if (typeof val === "string") {
|
|
2319
2411
|
if (val.endsWith("%")) {
|
|
2320
2412
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -2323,30 +2415,30 @@ var percentage = z109.union([z109.string(), z109.number()]).transform((val) => {
|
|
|
2323
2415
|
}
|
|
2324
2416
|
return val;
|
|
2325
2417
|
}).pipe(
|
|
2326
|
-
|
|
2418
|
+
z112.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
2327
2419
|
);
|
|
2328
|
-
var simulation_dc_voltage_source =
|
|
2329
|
-
type:
|
|
2420
|
+
var simulation_dc_voltage_source = z112.object({
|
|
2421
|
+
type: z112.literal("simulation_voltage_source"),
|
|
2330
2422
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
2331
2423
|
"simulation_voltage_source"
|
|
2332
2424
|
),
|
|
2333
|
-
is_dc_source:
|
|
2334
|
-
positive_source_port_id:
|
|
2335
|
-
negative_source_port_id:
|
|
2336
|
-
positive_source_net_id:
|
|
2337
|
-
negative_source_net_id:
|
|
2425
|
+
is_dc_source: z112.literal(true).optional().default(true),
|
|
2426
|
+
positive_source_port_id: z112.string().optional(),
|
|
2427
|
+
negative_source_port_id: z112.string().optional(),
|
|
2428
|
+
positive_source_net_id: z112.string().optional(),
|
|
2429
|
+
negative_source_net_id: z112.string().optional(),
|
|
2338
2430
|
voltage
|
|
2339
2431
|
}).describe("Defines a DC voltage source for simulation");
|
|
2340
|
-
var simulation_ac_voltage_source =
|
|
2341
|
-
type:
|
|
2432
|
+
var simulation_ac_voltage_source = z112.object({
|
|
2433
|
+
type: z112.literal("simulation_voltage_source"),
|
|
2342
2434
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
2343
2435
|
"simulation_voltage_source"
|
|
2344
2436
|
),
|
|
2345
|
-
is_dc_source:
|
|
2346
|
-
terminal1_source_port_id:
|
|
2347
|
-
terminal2_source_port_id:
|
|
2348
|
-
terminal1_source_net_id:
|
|
2349
|
-
terminal2_source_net_id:
|
|
2437
|
+
is_dc_source: z112.literal(false),
|
|
2438
|
+
terminal1_source_port_id: z112.string().optional(),
|
|
2439
|
+
terminal2_source_port_id: z112.string().optional(),
|
|
2440
|
+
terminal1_source_net_id: z112.string().optional(),
|
|
2441
|
+
terminal2_source_net_id: z112.string().optional(),
|
|
2350
2442
|
voltage: voltage.optional(),
|
|
2351
2443
|
frequency: frequency.optional(),
|
|
2352
2444
|
peak_to_peak_voltage: voltage.optional(),
|
|
@@ -2354,25 +2446,25 @@ var simulation_ac_voltage_source = z109.object({
|
|
|
2354
2446
|
phase: rotation.optional(),
|
|
2355
2447
|
duty_cycle: percentage.optional()
|
|
2356
2448
|
}).describe("Defines an AC voltage source for simulation");
|
|
2357
|
-
var simulation_voltage_source =
|
|
2449
|
+
var simulation_voltage_source = z112.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
|
|
2358
2450
|
expectTypesMatch(true);
|
|
2359
2451
|
expectTypesMatch(true);
|
|
2360
2452
|
expectTypesMatch(true);
|
|
2361
2453
|
|
|
2362
2454
|
// src/simulation/simulation_experiment.ts
|
|
2363
|
-
import { z as
|
|
2364
|
-
var experiment_type =
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2455
|
+
import { z as z113 } from "zod";
|
|
2456
|
+
var experiment_type = z113.union([
|
|
2457
|
+
z113.literal("spice_dc_sweep"),
|
|
2458
|
+
z113.literal("spice_dc_operating_point"),
|
|
2459
|
+
z113.literal("spice_transient_analysis"),
|
|
2460
|
+
z113.literal("spice_ac_analysis")
|
|
2369
2461
|
]);
|
|
2370
|
-
var simulation_experiment =
|
|
2371
|
-
type:
|
|
2462
|
+
var simulation_experiment = z113.object({
|
|
2463
|
+
type: z113.literal("simulation_experiment"),
|
|
2372
2464
|
simulation_experiment_id: getZodPrefixedIdWithDefault(
|
|
2373
2465
|
"simulation_experiment"
|
|
2374
2466
|
),
|
|
2375
|
-
name:
|
|
2467
|
+
name: z113.string(),
|
|
2376
2468
|
experiment_type,
|
|
2377
2469
|
time_per_step: duration_ms.optional(),
|
|
2378
2470
|
start_time_ms: ms.optional(),
|
|
@@ -2381,47 +2473,47 @@ var simulation_experiment = z110.object({
|
|
|
2381
2473
|
expectTypesMatch(true);
|
|
2382
2474
|
|
|
2383
2475
|
// src/simulation/simulation_transient_voltage_graph.ts
|
|
2384
|
-
import { z as
|
|
2385
|
-
var simulation_transient_voltage_graph =
|
|
2386
|
-
type:
|
|
2476
|
+
import { z as z114 } from "zod";
|
|
2477
|
+
var simulation_transient_voltage_graph = z114.object({
|
|
2478
|
+
type: z114.literal("simulation_transient_voltage_graph"),
|
|
2387
2479
|
simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
|
|
2388
2480
|
"simulation_transient_voltage_graph"
|
|
2389
2481
|
),
|
|
2390
|
-
simulation_experiment_id:
|
|
2391
|
-
timestamps_ms:
|
|
2392
|
-
voltage_levels:
|
|
2393
|
-
schematic_voltage_probe_id:
|
|
2394
|
-
subcircuit_connectivity_map_key:
|
|
2482
|
+
simulation_experiment_id: z114.string(),
|
|
2483
|
+
timestamps_ms: z114.array(z114.number()).optional(),
|
|
2484
|
+
voltage_levels: z114.array(z114.number()),
|
|
2485
|
+
schematic_voltage_probe_id: z114.string().optional(),
|
|
2486
|
+
subcircuit_connectivity_map_key: z114.string().optional(),
|
|
2395
2487
|
time_per_step: duration_ms,
|
|
2396
2488
|
start_time_ms: ms,
|
|
2397
2489
|
end_time_ms: ms,
|
|
2398
|
-
name:
|
|
2490
|
+
name: z114.string().optional()
|
|
2399
2491
|
}).describe("Stores voltage measurements over time for a simulation");
|
|
2400
2492
|
expectTypesMatch(true);
|
|
2401
2493
|
|
|
2402
2494
|
// src/simulation/simulation_switch.ts
|
|
2403
|
-
import { z as
|
|
2404
|
-
var simulation_switch =
|
|
2405
|
-
type:
|
|
2495
|
+
import { z as z115 } from "zod";
|
|
2496
|
+
var simulation_switch = z115.object({
|
|
2497
|
+
type: z115.literal("simulation_switch"),
|
|
2406
2498
|
simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
|
|
2407
2499
|
closes_at: ms.optional(),
|
|
2408
2500
|
opens_at: ms.optional(),
|
|
2409
|
-
starts_closed:
|
|
2501
|
+
starts_closed: z115.boolean().optional(),
|
|
2410
2502
|
switching_frequency: frequency.optional()
|
|
2411
2503
|
}).describe("Defines a switch for simulation timing control");
|
|
2412
2504
|
expectTypesMatch(true);
|
|
2413
2505
|
|
|
2414
2506
|
// src/simulation/simulation_voltage_probe.ts
|
|
2415
|
-
import { z as
|
|
2416
|
-
var simulation_voltage_probe =
|
|
2417
|
-
type:
|
|
2507
|
+
import { z as z116 } from "zod";
|
|
2508
|
+
var simulation_voltage_probe = z116.object({
|
|
2509
|
+
type: z116.literal("simulation_voltage_probe"),
|
|
2418
2510
|
simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
|
|
2419
2511
|
"simulation_voltage_probe"
|
|
2420
2512
|
),
|
|
2421
|
-
source_port_id:
|
|
2422
|
-
source_net_id:
|
|
2423
|
-
name:
|
|
2424
|
-
subcircuit_id:
|
|
2513
|
+
source_port_id: z116.string().optional(),
|
|
2514
|
+
source_net_id: z116.string().optional(),
|
|
2515
|
+
name: z116.string().optional(),
|
|
2516
|
+
subcircuit_id: z116.string().optional()
|
|
2425
2517
|
}).describe(
|
|
2426
2518
|
"Defines a voltage probe for simulation, connected to a port or a net"
|
|
2427
2519
|
).refine(
|
|
@@ -2433,8 +2525,8 @@ var simulation_voltage_probe = z113.object({
|
|
|
2433
2525
|
expectTypesMatch(true);
|
|
2434
2526
|
|
|
2435
2527
|
// src/any_circuit_element.ts
|
|
2436
|
-
import { z as
|
|
2437
|
-
var any_circuit_element =
|
|
2528
|
+
import { z as z117 } from "zod";
|
|
2529
|
+
var any_circuit_element = z117.union([
|
|
2438
2530
|
source_trace,
|
|
2439
2531
|
source_port,
|
|
2440
2532
|
any_source_component,
|
|
@@ -2495,6 +2587,7 @@ var any_circuit_element = z114.union([
|
|
|
2495
2587
|
pcb_via_clearance_error,
|
|
2496
2588
|
pcb_fabrication_note_path,
|
|
2497
2589
|
pcb_fabrication_note_text,
|
|
2590
|
+
pcb_fabrication_note_rect,
|
|
2498
2591
|
pcb_autorouting_error,
|
|
2499
2592
|
pcb_footprint_overlap_error,
|
|
2500
2593
|
pcb_breakout_point,
|
|
@@ -2504,6 +2597,8 @@ var any_circuit_element = z114.union([
|
|
|
2504
2597
|
pcb_thermal_spoke,
|
|
2505
2598
|
pcb_copper_pour,
|
|
2506
2599
|
pcb_component_outside_board_error,
|
|
2600
|
+
pcb_courtyard_rect,
|
|
2601
|
+
pcb_courtyard_outline,
|
|
2507
2602
|
schematic_box,
|
|
2508
2603
|
schematic_text,
|
|
2509
2604
|
schematic_line,
|
|
@@ -2565,11 +2660,14 @@ export {
|
|
|
2565
2660
|
pcb_copper_pour_brep,
|
|
2566
2661
|
pcb_copper_pour_polygon,
|
|
2567
2662
|
pcb_copper_pour_rect,
|
|
2663
|
+
pcb_courtyard_outline,
|
|
2664
|
+
pcb_courtyard_rect,
|
|
2568
2665
|
pcb_cutout,
|
|
2569
2666
|
pcb_cutout_circle,
|
|
2570
2667
|
pcb_cutout_polygon,
|
|
2571
2668
|
pcb_cutout_rect,
|
|
2572
2669
|
pcb_fabrication_note_path,
|
|
2670
|
+
pcb_fabrication_note_rect,
|
|
2573
2671
|
pcb_fabrication_note_text,
|
|
2574
2672
|
pcb_footprint_overlap_error,
|
|
2575
2673
|
pcb_ground_plane,
|
|
@@ -2578,6 +2676,8 @@ export {
|
|
|
2578
2676
|
pcb_hole,
|
|
2579
2677
|
pcb_hole_circle_or_square_shape,
|
|
2580
2678
|
pcb_hole_oval_shape,
|
|
2679
|
+
pcb_hole_pill_shape,
|
|
2680
|
+
pcb_hole_rotated_pill_shape,
|
|
2581
2681
|
pcb_keepout,
|
|
2582
2682
|
pcb_manual_edit_conflict_warning,
|
|
2583
2683
|
pcb_missing_footprint_error,
|