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/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 pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval);
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/pcb_footprint_overlap_error.ts
1997
+ // src/pcb/pcb_fabrication_note_rect.ts
1967
1998
  import { z as z92 } from "zod";
1968
- var pcb_footprint_overlap_error = z92.object({
1969
- type: z92.literal("pcb_footprint_overlap_error"),
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: z92.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
1972
- message: z92.string(),
1973
- pcb_smtpad_ids: z92.array(z92.string()).optional(),
1974
- pcb_plated_hole_ids: z92.array(z92.string()).optional(),
1975
- pcb_hole_ids: z92.array(z92.string()).optional(),
1976
- pcb_keepout_ids: z92.array(z92.string()).optional()
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 z93 } from "zod";
1984
- var pcb_keepout = z93.object({
1985
- type: z93.literal("pcb_keepout"),
1986
- shape: z93.literal("rect"),
1987
- pcb_group_id: z93.string().optional(),
1988
- subcircuit_id: z93.string().optional(),
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: z93.string(),
1993
- layers: z93.array(z93.string()),
2045
+ pcb_keepout_id: z94.string(),
2046
+ layers: z94.array(z94.string()),
1994
2047
  // Specify layers where the keepout applies
1995
- description: z93.string().optional()
2048
+ description: z94.string().optional()
1996
2049
  // Optional description of the keepout
1997
2050
  }).or(
1998
- z93.object({
1999
- type: z93.literal("pcb_keepout"),
2000
- shape: z93.literal("circle"),
2001
- pcb_group_id: z93.string().optional(),
2002
- subcircuit_id: z93.string().optional(),
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: z93.string(),
2006
- layers: z93.array(z93.string()),
2058
+ pcb_keepout_id: z94.string(),
2059
+ layers: z94.array(z94.string()),
2007
2060
  // Specify layers where the keepout applies
2008
- description: z93.string().optional()
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 z94 } from "zod";
2016
- var pcb_cutout_base = z94.object({
2017
- type: z94.literal("pcb_cutout"),
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: z94.string().optional(),
2020
- subcircuit_id: z94.string().optional()
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: z94.literal("rect"),
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: z94.literal("circle"),
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: z94.literal("polygon"),
2038
- points: z94.array(point)
2090
+ shape: z95.literal("polygon"),
2091
+ points: z95.array(point)
2039
2092
  });
2040
2093
  expectTypesMatch(true);
2041
- var pcb_cutout = z94.discriminatedUnion("shape", [
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 z95 } from "zod";
2050
- var pcb_missing_footprint_error = z95.object({
2051
- type: z95.literal("pcb_missing_footprint_error"),
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: z95.string().optional(),
2056
- subcircuit_id: z95.string().optional(),
2057
- error_type: z95.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
2058
- source_component_id: z95.string(),
2059
- message: z95.string()
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 z96 } from "zod";
2067
- var external_footprint_load_error = z96.object({
2068
- type: z96.literal("external_footprint_load_error"),
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: z96.string(),
2073
- source_component_id: z96.string(),
2074
- pcb_group_id: z96.string().optional(),
2075
- subcircuit_id: z96.string().optional(),
2076
- footprinter_string: z96.string().optional(),
2077
- error_type: z96.literal("external_footprint_load_error").default("external_footprint_load_error"),
2078
- message: z96.string()
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 z97 } from "zod";
2084
- var circuit_json_footprint_load_error = z97.object({
2085
- type: z97.literal("circuit_json_footprint_load_error"),
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: z97.string(),
2090
- source_component_id: z97.string(),
2091
- pcb_group_id: z97.string().optional(),
2092
- subcircuit_id: z97.string().optional(),
2093
- error_type: z97.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
2094
- message: z97.string(),
2095
- circuit_json: z97.array(z97.any()).optional()
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 z98 } from "zod";
2101
- var pcb_group = z98.object({
2102
- type: z98.literal("pcb_group"),
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: z98.string(),
2105
- is_subcircuit: z98.boolean().optional(),
2106
- subcircuit_id: z98.string().optional(),
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: z98.array(z98.string()),
2111
- name: z98.string().optional(),
2112
- description: z98.string().optional(),
2113
- layout_mode: z98.string().optional(),
2114
- autorouter_configuration: z98.object({
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: z98.string().optional()
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 z99 } from "zod";
2123
- var pcb_autorouting_error = z99.object({
2124
- type: z99.literal("pcb_autorouting_error"),
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: z99.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
2127
- message: z99.string(),
2128
- subcircuit_id: z99.string().optional()
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 z100 } from "zod";
2134
- var pcb_manual_edit_conflict_warning = z100.object({
2135
- type: z100.literal("pcb_manual_edit_conflict_warning"),
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: z100.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
2140
- message: z100.string(),
2141
- pcb_component_id: z100.string(),
2142
- pcb_group_id: z100.string().optional(),
2143
- subcircuit_id: z100.string().optional(),
2144
- source_component_id: z100.string()
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 z101 } from "zod";
2152
- var pcb_breakout_point = z101.object({
2153
- type: z101.literal("pcb_breakout_point"),
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: z101.string(),
2156
- subcircuit_id: z101.string().optional(),
2157
- source_trace_id: z101.string().optional(),
2158
- source_port_id: z101.string().optional(),
2159
- source_net_id: z101.string().optional(),
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 z102 } from "zod";
2169
- var pcb_ground_plane = z102.object({
2170
- type: z102.literal("pcb_ground_plane"),
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: z102.string(),
2173
- source_net_id: z102.string(),
2174
- pcb_group_id: z102.string().optional(),
2175
- subcircuit_id: z102.string().optional()
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 z103 } from "zod";
2181
- var pcb_ground_plane_region = z103.object({
2182
- type: z103.literal("pcb_ground_plane_region"),
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: z103.string(),
2187
- pcb_group_id: z103.string().optional(),
2188
- subcircuit_id: z103.string().optional(),
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: z103.array(point)
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 z104 } from "zod";
2196
- var pcb_thermal_spoke = z104.object({
2197
- type: z104.literal("pcb_thermal_spoke"),
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: z104.string(),
2200
- shape: z104.string(),
2201
- spoke_count: z104.number(),
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: z104.string().optional(),
2206
- subcircuit_id: z104.string().optional()
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 z105 } from "zod";
2212
- var pcb_copper_pour_base = z105.object({
2213
- type: z105.literal("pcb_copper_pour"),
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: z105.string().optional(),
2216
- subcircuit_id: z105.string().optional(),
2268
+ pcb_group_id: z106.string().optional(),
2269
+ subcircuit_id: z106.string().optional(),
2217
2270
  layer: layer_ref,
2218
- source_net_id: z105.string().optional()
2271
+ source_net_id: z106.string().optional()
2219
2272
  });
2220
2273
  var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
2221
- shape: z105.literal("rect"),
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: z105.literal("brep"),
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: z105.literal("polygon"),
2235
- points: z105.array(point)
2287
+ shape: z106.literal("polygon"),
2288
+ points: z106.array(point)
2236
2289
  });
2237
2290
  expectTypesMatch(true);
2238
- var pcb_copper_pour = z105.discriminatedUnion("shape", [
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 z106 } from "zod";
2247
- var pcb_component_outside_board_error = z106.object({
2248
- type: z106.literal("pcb_component_outside_board_error"),
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: z106.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
2253
- message: z106.string(),
2254
- pcb_component_id: z106.string(),
2255
- pcb_board_id: z106.string(),
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: z106.object({
2258
- min_x: z106.number(),
2259
- max_x: z106.number(),
2260
- min_y: z106.number(),
2261
- max_y: z106.number()
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: z106.string().optional(),
2264
- source_component_id: z106.string().optional()
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 z107 } from "zod";
2272
- var pcb_via_clearance_error = z107.object({
2273
- type: z107.literal("pcb_via_clearance_error"),
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: z107.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
2276
- message: z107.string(),
2277
- pcb_via_ids: z107.array(z107.string()).min(2),
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: z107.object({
2281
- x: z107.number().optional(),
2282
- y: z107.number().optional()
2333
+ pcb_center: z108.object({
2334
+ x: z108.number().optional(),
2335
+ y: z108.number().optional()
2283
2336
  }).optional(),
2284
- subcircuit_id: z107.string().optional()
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 z108 } from "zod";
2290
- var cad_component = z108.object({
2291
- type: z108.literal("cad_component"),
2292
- cad_component_id: z108.string(),
2293
- pcb_component_id: z108.string(),
2294
- source_component_id: z108.string(),
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: z108.string().optional(),
2391
+ subcircuit_id: z111.string().optional(),
2300
2392
  // These are all ways to generate/load the 3d model
2301
- footprinter_string: z108.string().optional(),
2302
- model_obj_url: z108.string().optional(),
2303
- model_stl_url: z108.string().optional(),
2304
- model_3mf_url: z108.string().optional(),
2305
- model_gltf_url: z108.string().optional(),
2306
- model_glb_url: z108.string().optional(),
2307
- model_step_url: z108.string().optional(),
2308
- model_wrl_url: z108.string().optional(),
2309
- model_unit_to_mm_scale_factor: z108.number().optional(),
2310
- model_jscad: z108.any().optional()
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 z109 } from "zod";
2316
- var wave_shape = z109.enum(["sinewave", "square", "triangle", "sawtooth"]);
2317
- var percentage = z109.union([z109.string(), z109.number()]).transform((val) => {
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
- z109.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
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 = z109.object({
2329
- type: z109.literal("simulation_voltage_source"),
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: z109.literal(true).optional().default(true),
2334
- positive_source_port_id: z109.string().optional(),
2335
- negative_source_port_id: z109.string().optional(),
2336
- positive_source_net_id: z109.string().optional(),
2337
- negative_source_net_id: z109.string().optional(),
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 = z109.object({
2341
- type: z109.literal("simulation_voltage_source"),
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: z109.literal(false),
2346
- terminal1_source_port_id: z109.string().optional(),
2347
- terminal2_source_port_id: z109.string().optional(),
2348
- terminal1_source_net_id: z109.string().optional(),
2349
- terminal2_source_net_id: z109.string().optional(),
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 = z109.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
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 z110 } from "zod";
2364
- var experiment_type = z110.union([
2365
- z110.literal("spice_dc_sweep"),
2366
- z110.literal("spice_dc_operating_point"),
2367
- z110.literal("spice_transient_analysis"),
2368
- z110.literal("spice_ac_analysis")
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 = z110.object({
2371
- type: z110.literal("simulation_experiment"),
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: z110.string(),
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 z111 } from "zod";
2385
- var simulation_transient_voltage_graph = z111.object({
2386
- type: z111.literal("simulation_transient_voltage_graph"),
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: z111.string(),
2391
- timestamps_ms: z111.array(z111.number()).optional(),
2392
- voltage_levels: z111.array(z111.number()),
2393
- schematic_voltage_probe_id: z111.string().optional(),
2394
- subcircuit_connectivity_map_key: z111.string().optional(),
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: z111.string().optional()
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 z112 } from "zod";
2404
- var simulation_switch = z112.object({
2405
- type: z112.literal("simulation_switch"),
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: z112.boolean().optional(),
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 z113 } from "zod";
2416
- var simulation_voltage_probe = z113.object({
2417
- type: z113.literal("simulation_voltage_probe"),
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: z113.string().optional(),
2422
- source_net_id: z113.string().optional(),
2423
- name: z113.string().optional(),
2424
- subcircuit_id: z113.string().optional()
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 z114 } from "zod";
2437
- var any_circuit_element = z114.union([
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,