circuit-json 0.0.84 → 0.0.86
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +324 -1
- package/dist/index.mjs +365 -340
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -170,6 +170,17 @@ var rotation = z.string().or(z.number()).transform((arg) => {
|
|
|
170
170
|
}
|
|
171
171
|
return Number.parseFloat(arg);
|
|
172
172
|
});
|
|
173
|
+
var battery_capacity = z.number().or(z.string().endsWith("mAh")).transform((v) => {
|
|
174
|
+
if (typeof v === "string") {
|
|
175
|
+
const valString = v.replace("mAh", "");
|
|
176
|
+
const num = Number.parseFloat(valString);
|
|
177
|
+
if (Number.isNaN(num)) {
|
|
178
|
+
throw new Error("Invalid capacity");
|
|
179
|
+
}
|
|
180
|
+
return num;
|
|
181
|
+
}
|
|
182
|
+
return v;
|
|
183
|
+
}).describe("Battery capacity in mAh");
|
|
173
184
|
|
|
174
185
|
// src/common/point.ts
|
|
175
186
|
import { z as z2 } from "zod";
|
|
@@ -224,7 +235,8 @@ var source_component_base = z7.object({
|
|
|
224
235
|
source_component_id: z7.string(),
|
|
225
236
|
name: z7.string(),
|
|
226
237
|
manufacturer_part_number: z7.string().optional(),
|
|
227
|
-
supplier_part_numbers: z7.record(supplier_name, z7.array(z7.string())).optional()
|
|
238
|
+
supplier_part_numbers: z7.record(supplier_name, z7.array(z7.string())).optional(),
|
|
239
|
+
display_value: z7.string().optional()
|
|
228
240
|
});
|
|
229
241
|
|
|
230
242
|
// src/source/source_simple_capacitor.ts
|
|
@@ -285,8 +297,17 @@ var source_simple_power_source = source_component_base.extend({
|
|
|
285
297
|
});
|
|
286
298
|
|
|
287
299
|
// src/source/any_source_component.ts
|
|
300
|
+
import { z as z18 } from "zod";
|
|
301
|
+
|
|
302
|
+
// src/source/source_simple_battery.ts
|
|
288
303
|
import { z as z17 } from "zod";
|
|
289
|
-
var
|
|
304
|
+
var source_simple_battery = source_component_base.extend({
|
|
305
|
+
ftype: z17.literal("simple_battery"),
|
|
306
|
+
capacity: battery_capacity
|
|
307
|
+
});
|
|
308
|
+
|
|
309
|
+
// src/source/any_source_component.ts
|
|
310
|
+
var any_source_component = z18.union([
|
|
290
311
|
source_simple_resistor,
|
|
291
312
|
source_simple_capacitor,
|
|
292
313
|
source_simple_diode,
|
|
@@ -294,56 +315,57 @@ var any_source_component = z17.union([
|
|
|
294
315
|
source_simple_chip,
|
|
295
316
|
source_simple_bug,
|
|
296
317
|
source_led,
|
|
297
|
-
source_simple_power_source
|
|
318
|
+
source_simple_power_source,
|
|
319
|
+
source_simple_battery
|
|
298
320
|
]);
|
|
299
321
|
|
|
300
322
|
// src/source/source_port.ts
|
|
301
|
-
import { z as
|
|
302
|
-
var source_port =
|
|
303
|
-
type:
|
|
304
|
-
pin_number:
|
|
305
|
-
port_hints:
|
|
306
|
-
name:
|
|
307
|
-
source_port_id:
|
|
308
|
-
source_component_id:
|
|
323
|
+
import { z as z19 } from "zod";
|
|
324
|
+
var source_port = z19.object({
|
|
325
|
+
type: z19.literal("source_port"),
|
|
326
|
+
pin_number: z19.number().optional(),
|
|
327
|
+
port_hints: z19.array(z19.string()).optional(),
|
|
328
|
+
name: z19.string(),
|
|
329
|
+
source_port_id: z19.string(),
|
|
330
|
+
source_component_id: z19.string()
|
|
309
331
|
});
|
|
310
332
|
|
|
311
333
|
// src/source/source_trace.ts
|
|
312
|
-
import { z as
|
|
313
|
-
var source_trace =
|
|
314
|
-
type:
|
|
315
|
-
source_trace_id:
|
|
316
|
-
connected_source_port_ids:
|
|
317
|
-
connected_source_net_ids:
|
|
334
|
+
import { z as z20 } from "zod";
|
|
335
|
+
var source_trace = z20.object({
|
|
336
|
+
type: z20.literal("source_trace"),
|
|
337
|
+
source_trace_id: z20.string(),
|
|
338
|
+
connected_source_port_ids: z20.array(z20.string()),
|
|
339
|
+
connected_source_net_ids: z20.array(z20.string())
|
|
318
340
|
});
|
|
319
341
|
|
|
320
342
|
// src/source/source_group.ts
|
|
321
|
-
import { z as
|
|
322
|
-
var source_group =
|
|
323
|
-
type:
|
|
324
|
-
source_group_id:
|
|
325
|
-
name:
|
|
343
|
+
import { z as z21 } from "zod";
|
|
344
|
+
var source_group = z21.object({
|
|
345
|
+
type: z21.literal("source_group"),
|
|
346
|
+
source_group_id: z21.string(),
|
|
347
|
+
name: z21.string().optional()
|
|
326
348
|
});
|
|
327
349
|
|
|
328
350
|
// src/source/source_net.ts
|
|
329
|
-
import { z as
|
|
330
|
-
var source_net =
|
|
331
|
-
type:
|
|
332
|
-
source_net_id:
|
|
333
|
-
name:
|
|
334
|
-
member_source_group_ids:
|
|
335
|
-
is_power:
|
|
336
|
-
is_ground:
|
|
337
|
-
is_digital_signal:
|
|
338
|
-
is_analog_signal:
|
|
339
|
-
trace_width:
|
|
351
|
+
import { z as z22 } from "zod";
|
|
352
|
+
var source_net = z22.object({
|
|
353
|
+
type: z22.literal("source_net"),
|
|
354
|
+
source_net_id: z22.string(),
|
|
355
|
+
name: z22.string(),
|
|
356
|
+
member_source_group_ids: z22.array(z22.string()),
|
|
357
|
+
is_power: z22.boolean().optional(),
|
|
358
|
+
is_ground: z22.boolean().optional(),
|
|
359
|
+
is_digital_signal: z22.boolean().optional(),
|
|
360
|
+
is_analog_signal: z22.boolean().optional(),
|
|
361
|
+
trace_width: z22.number().optional()
|
|
340
362
|
});
|
|
341
363
|
|
|
342
364
|
// src/schematic/schematic_box.ts
|
|
343
|
-
import { z as
|
|
344
|
-
var schematic_box =
|
|
345
|
-
type:
|
|
346
|
-
schematic_component_id:
|
|
365
|
+
import { z as z23 } from "zod";
|
|
366
|
+
var schematic_box = z23.object({
|
|
367
|
+
type: z23.literal("schematic_box"),
|
|
368
|
+
schematic_component_id: z23.string(),
|
|
347
369
|
width: distance,
|
|
348
370
|
height: distance,
|
|
349
371
|
x: distance,
|
|
@@ -351,70 +373,70 @@ var schematic_box = z22.object({
|
|
|
351
373
|
}).describe("Draws a box on the schematic");
|
|
352
374
|
|
|
353
375
|
// src/schematic/schematic_path.ts
|
|
354
|
-
import { z as
|
|
355
|
-
var schematic_path =
|
|
356
|
-
type:
|
|
357
|
-
schematic_component_id:
|
|
358
|
-
fill_color:
|
|
359
|
-
is_filled:
|
|
360
|
-
points:
|
|
376
|
+
import { z as z24 } from "zod";
|
|
377
|
+
var schematic_path = z24.object({
|
|
378
|
+
type: z24.literal("schematic_path"),
|
|
379
|
+
schematic_component_id: z24.string(),
|
|
380
|
+
fill_color: z24.enum(["red", "blue"]).optional(),
|
|
381
|
+
is_filled: z24.boolean().optional(),
|
|
382
|
+
points: z24.array(point)
|
|
361
383
|
});
|
|
362
384
|
|
|
363
385
|
// src/schematic/schematic_component.ts
|
|
364
|
-
import { z as
|
|
365
|
-
var schematic_pin_styles =
|
|
366
|
-
|
|
386
|
+
import { z as z25 } from "zod";
|
|
387
|
+
var schematic_pin_styles = z25.record(
|
|
388
|
+
z25.object({
|
|
367
389
|
left_margin: length.optional(),
|
|
368
390
|
right_margin: length.optional(),
|
|
369
391
|
top_margin: length.optional(),
|
|
370
392
|
bottom_margin: length.optional()
|
|
371
393
|
})
|
|
372
394
|
);
|
|
373
|
-
var schematic_component =
|
|
374
|
-
type:
|
|
395
|
+
var schematic_component = z25.object({
|
|
396
|
+
type: z25.literal("schematic_component"),
|
|
375
397
|
rotation: rotation.default(0),
|
|
376
398
|
size,
|
|
377
399
|
center: point,
|
|
378
|
-
source_component_id:
|
|
379
|
-
schematic_component_id:
|
|
400
|
+
source_component_id: z25.string(),
|
|
401
|
+
schematic_component_id: z25.string(),
|
|
380
402
|
pin_spacing: length.optional(),
|
|
381
403
|
pin_styles: schematic_pin_styles.optional(),
|
|
382
404
|
box_width: length.optional(),
|
|
383
|
-
symbol_name:
|
|
384
|
-
port_arrangement:
|
|
385
|
-
|
|
386
|
-
left_size:
|
|
387
|
-
right_size:
|
|
388
|
-
top_size:
|
|
389
|
-
bottom_size:
|
|
405
|
+
symbol_name: z25.string().optional(),
|
|
406
|
+
port_arrangement: z25.union([
|
|
407
|
+
z25.object({
|
|
408
|
+
left_size: z25.number(),
|
|
409
|
+
right_size: z25.number(),
|
|
410
|
+
top_size: z25.number().optional(),
|
|
411
|
+
bottom_size: z25.number().optional()
|
|
390
412
|
}),
|
|
391
|
-
|
|
392
|
-
left_side:
|
|
393
|
-
pins:
|
|
394
|
-
direction:
|
|
413
|
+
z25.object({
|
|
414
|
+
left_side: z25.object({
|
|
415
|
+
pins: z25.array(z25.number()),
|
|
416
|
+
direction: z25.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
395
417
|
}).optional(),
|
|
396
|
-
right_side:
|
|
397
|
-
pins:
|
|
398
|
-
direction:
|
|
418
|
+
right_side: z25.object({
|
|
419
|
+
pins: z25.array(z25.number()),
|
|
420
|
+
direction: z25.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
399
421
|
}).optional(),
|
|
400
|
-
top_side:
|
|
401
|
-
pins:
|
|
402
|
-
direction:
|
|
422
|
+
top_side: z25.object({
|
|
423
|
+
pins: z25.array(z25.number()),
|
|
424
|
+
direction: z25.enum(["left-to-right", "right-to-left"]).optional()
|
|
403
425
|
}).optional(),
|
|
404
|
-
bottom_side:
|
|
405
|
-
pins:
|
|
406
|
-
direction:
|
|
426
|
+
bottom_side: z25.object({
|
|
427
|
+
pins: z25.array(z25.number()),
|
|
428
|
+
direction: z25.enum(["left-to-right", "right-to-left"]).optional()
|
|
407
429
|
}).optional()
|
|
408
430
|
})
|
|
409
431
|
]).optional(),
|
|
410
|
-
port_labels:
|
|
432
|
+
port_labels: z25.record(z25.string()).optional()
|
|
411
433
|
});
|
|
412
434
|
|
|
413
435
|
// src/schematic/schematic_line.ts
|
|
414
|
-
import { z as
|
|
415
|
-
var schematic_line =
|
|
416
|
-
type:
|
|
417
|
-
schematic_component_id:
|
|
436
|
+
import { z as z26 } from "zod";
|
|
437
|
+
var schematic_line = z26.object({
|
|
438
|
+
type: z26.literal("schematic_line"),
|
|
439
|
+
schematic_component_id: z26.string(),
|
|
418
440
|
x1: distance,
|
|
419
441
|
x2: distance,
|
|
420
442
|
y1: distance,
|
|
@@ -422,75 +444,75 @@ var schematic_line = z25.object({
|
|
|
422
444
|
});
|
|
423
445
|
|
|
424
446
|
// src/schematic/schematic_trace.ts
|
|
425
|
-
import { z as
|
|
426
|
-
var schematic_trace =
|
|
427
|
-
type:
|
|
428
|
-
schematic_trace_id:
|
|
429
|
-
source_trace_id:
|
|
430
|
-
edges:
|
|
431
|
-
|
|
432
|
-
from:
|
|
433
|
-
x:
|
|
434
|
-
y:
|
|
447
|
+
import { z as z27 } from "zod";
|
|
448
|
+
var schematic_trace = z27.object({
|
|
449
|
+
type: z27.literal("schematic_trace"),
|
|
450
|
+
schematic_trace_id: z27.string(),
|
|
451
|
+
source_trace_id: z27.string(),
|
|
452
|
+
edges: z27.array(
|
|
453
|
+
z27.object({
|
|
454
|
+
from: z27.object({
|
|
455
|
+
x: z27.number(),
|
|
456
|
+
y: z27.number()
|
|
435
457
|
}),
|
|
436
|
-
to:
|
|
437
|
-
x:
|
|
438
|
-
y:
|
|
458
|
+
to: z27.object({
|
|
459
|
+
x: z27.number(),
|
|
460
|
+
y: z27.number()
|
|
439
461
|
}),
|
|
440
|
-
from_schematic_port_id:
|
|
441
|
-
to_schematic_port_id:
|
|
462
|
+
from_schematic_port_id: z27.string().optional(),
|
|
463
|
+
to_schematic_port_id: z27.string().optional()
|
|
442
464
|
})
|
|
443
465
|
)
|
|
444
466
|
});
|
|
445
467
|
|
|
446
468
|
// src/schematic/schematic_text.ts
|
|
447
|
-
import { z as
|
|
448
|
-
var schematic_text =
|
|
449
|
-
type:
|
|
450
|
-
schematic_component_id:
|
|
451
|
-
schematic_text_id:
|
|
452
|
-
text:
|
|
453
|
-
position:
|
|
469
|
+
import { z as z28 } from "zod";
|
|
470
|
+
var schematic_text = z28.object({
|
|
471
|
+
type: z28.literal("schematic_text"),
|
|
472
|
+
schematic_component_id: z28.string(),
|
|
473
|
+
schematic_text_id: z28.string(),
|
|
474
|
+
text: z28.string(),
|
|
475
|
+
position: z28.object({
|
|
454
476
|
x: distance,
|
|
455
477
|
y: distance
|
|
456
478
|
}),
|
|
457
|
-
rotation:
|
|
458
|
-
anchor:
|
|
479
|
+
rotation: z28.number().default(0),
|
|
480
|
+
anchor: z28.enum(["center", "left", "right", "top", "bottom"]).default("center")
|
|
459
481
|
});
|
|
460
482
|
|
|
461
483
|
// src/schematic/schematic_port.ts
|
|
462
|
-
import { z as
|
|
463
|
-
var schematic_port =
|
|
464
|
-
type:
|
|
465
|
-
schematic_port_id:
|
|
466
|
-
source_port_id:
|
|
467
|
-
schematic_component_id:
|
|
484
|
+
import { z as z29 } from "zod";
|
|
485
|
+
var schematic_port = z29.object({
|
|
486
|
+
type: z29.literal("schematic_port"),
|
|
487
|
+
schematic_port_id: z29.string(),
|
|
488
|
+
source_port_id: z29.string(),
|
|
489
|
+
schematic_component_id: z29.string().optional(),
|
|
468
490
|
center: point,
|
|
469
|
-
facing_direction:
|
|
491
|
+
facing_direction: z29.enum(["up", "down", "left", "right"]).optional()
|
|
470
492
|
}).describe("Defines a port on a schematic component");
|
|
471
493
|
|
|
472
494
|
// src/schematic/schematic_net_label.ts
|
|
473
|
-
import { z as
|
|
474
|
-
var schematic_net_label =
|
|
475
|
-
type:
|
|
476
|
-
source_net_id:
|
|
495
|
+
import { z as z30 } from "zod";
|
|
496
|
+
var schematic_net_label = z30.object({
|
|
497
|
+
type: z30.literal("schematic_net_label"),
|
|
498
|
+
source_net_id: z30.string(),
|
|
477
499
|
center: point,
|
|
478
|
-
anchor_side:
|
|
479
|
-
text:
|
|
500
|
+
anchor_side: z30.enum(["top", "bottom", "left", "right"]),
|
|
501
|
+
text: z30.string()
|
|
480
502
|
});
|
|
481
503
|
|
|
482
504
|
// src/schematic/schematic_error.ts
|
|
483
|
-
import { z as
|
|
484
|
-
var schematic_error =
|
|
485
|
-
schematic_error_id:
|
|
486
|
-
type:
|
|
505
|
+
import { z as z31 } from "zod";
|
|
506
|
+
var schematic_error = z31.object({
|
|
507
|
+
schematic_error_id: z31.string(),
|
|
508
|
+
type: z31.literal("schematic_error"),
|
|
487
509
|
// eventually each error type should be broken out into a dir of files
|
|
488
|
-
error_type:
|
|
489
|
-
message:
|
|
510
|
+
error_type: z31.literal("schematic_port_not_found"),
|
|
511
|
+
message: z31.string()
|
|
490
512
|
}).describe("Defines a schematic error on the schematic");
|
|
491
513
|
|
|
492
514
|
// src/pcb/properties/layer_ref.ts
|
|
493
|
-
import { z as
|
|
515
|
+
import { z as z32 } from "zod";
|
|
494
516
|
var all_layers = [
|
|
495
517
|
"top",
|
|
496
518
|
"bottom",
|
|
@@ -501,9 +523,9 @@ var all_layers = [
|
|
|
501
523
|
"inner5",
|
|
502
524
|
"inner6"
|
|
503
525
|
];
|
|
504
|
-
var layer_string =
|
|
526
|
+
var layer_string = z32.enum(all_layers);
|
|
505
527
|
var layer_ref = layer_string.or(
|
|
506
|
-
|
|
528
|
+
z32.object({
|
|
507
529
|
name: layer_string
|
|
508
530
|
})
|
|
509
531
|
).transform((layer) => {
|
|
@@ -512,40 +534,40 @@ var layer_ref = layer_string.or(
|
|
|
512
534
|
}
|
|
513
535
|
return layer.name;
|
|
514
536
|
});
|
|
515
|
-
var visible_layer =
|
|
537
|
+
var visible_layer = z32.enum(["top", "bottom"]);
|
|
516
538
|
|
|
517
539
|
// src/pcb/properties/pcb_route_hints.ts
|
|
518
|
-
import { z as
|
|
519
|
-
var pcb_route_hint =
|
|
540
|
+
import { z as z33 } from "zod";
|
|
541
|
+
var pcb_route_hint = z33.object({
|
|
520
542
|
x: distance,
|
|
521
543
|
y: distance,
|
|
522
|
-
via:
|
|
544
|
+
via: z33.boolean().optional(),
|
|
523
545
|
via_to_layer: layer_ref.optional()
|
|
524
546
|
});
|
|
525
|
-
var pcb_route_hints =
|
|
547
|
+
var pcb_route_hints = z33.array(pcb_route_hint);
|
|
526
548
|
|
|
527
549
|
// src/pcb/properties/route_hint_point.ts
|
|
528
|
-
import { z as
|
|
529
|
-
var route_hint_point =
|
|
550
|
+
import { z as z34 } from "zod";
|
|
551
|
+
var route_hint_point = z34.object({
|
|
530
552
|
x: distance,
|
|
531
553
|
y: distance,
|
|
532
|
-
via:
|
|
554
|
+
via: z34.boolean().optional(),
|
|
533
555
|
to_layer: layer_ref.optional(),
|
|
534
556
|
trace_width: distance.optional()
|
|
535
557
|
});
|
|
536
558
|
|
|
537
559
|
// src/pcb/pcb_component.ts
|
|
538
|
-
import { z as
|
|
560
|
+
import { z as z35 } from "zod";
|
|
539
561
|
|
|
540
562
|
// src/utils/expect-types-match.ts
|
|
541
563
|
var expectTypesMatch = (shouldBe) => {
|
|
542
564
|
};
|
|
543
565
|
|
|
544
566
|
// src/pcb/pcb_component.ts
|
|
545
|
-
var pcb_component =
|
|
546
|
-
type:
|
|
567
|
+
var pcb_component = z35.object({
|
|
568
|
+
type: z35.literal("pcb_component"),
|
|
547
569
|
pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
|
|
548
|
-
source_component_id:
|
|
570
|
+
source_component_id: z35.string(),
|
|
549
571
|
center: point,
|
|
550
572
|
layer: layer_ref,
|
|
551
573
|
rotation,
|
|
@@ -555,12 +577,12 @@ var pcb_component = z34.object({
|
|
|
555
577
|
expectTypesMatch(true);
|
|
556
578
|
|
|
557
579
|
// src/pcb/pcb_hole.ts
|
|
558
|
-
import { z as
|
|
559
|
-
var pcb_hole_circle_or_square =
|
|
560
|
-
type:
|
|
580
|
+
import { z as z36 } from "zod";
|
|
581
|
+
var pcb_hole_circle_or_square = z36.object({
|
|
582
|
+
type: z36.literal("pcb_hole"),
|
|
561
583
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
562
|
-
hole_shape:
|
|
563
|
-
hole_diameter:
|
|
584
|
+
hole_shape: z36.enum(["circle", "square"]),
|
|
585
|
+
hole_diameter: z36.number(),
|
|
564
586
|
x: distance,
|
|
565
587
|
y: distance
|
|
566
588
|
});
|
|
@@ -568,12 +590,12 @@ var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
|
|
|
568
590
|
"Defines a circular or square hole on the PCB"
|
|
569
591
|
);
|
|
570
592
|
expectTypesMatch(true);
|
|
571
|
-
var pcb_hole_oval =
|
|
572
|
-
type:
|
|
593
|
+
var pcb_hole_oval = z36.object({
|
|
594
|
+
type: z36.literal("pcb_hole"),
|
|
573
595
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
574
|
-
hole_shape:
|
|
575
|
-
hole_width:
|
|
576
|
-
hole_height:
|
|
596
|
+
hole_shape: z36.literal("oval"),
|
|
597
|
+
hole_width: z36.number(),
|
|
598
|
+
hole_height: z36.number(),
|
|
577
599
|
x: distance,
|
|
578
600
|
y: distance
|
|
579
601
|
});
|
|
@@ -584,36 +606,36 @@ expectTypesMatch(true);
|
|
|
584
606
|
var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval);
|
|
585
607
|
|
|
586
608
|
// src/pcb/pcb_plated_hole.ts
|
|
587
|
-
import { z as
|
|
588
|
-
var pcb_plated_hole_circle =
|
|
589
|
-
type:
|
|
590
|
-
shape:
|
|
591
|
-
outer_diameter:
|
|
592
|
-
hole_diameter:
|
|
609
|
+
import { z as z37 } from "zod";
|
|
610
|
+
var pcb_plated_hole_circle = z37.object({
|
|
611
|
+
type: z37.literal("pcb_plated_hole"),
|
|
612
|
+
shape: z37.literal("circle"),
|
|
613
|
+
outer_diameter: z37.number(),
|
|
614
|
+
hole_diameter: z37.number(),
|
|
593
615
|
x: distance,
|
|
594
616
|
y: distance,
|
|
595
|
-
layers:
|
|
596
|
-
port_hints:
|
|
597
|
-
pcb_component_id:
|
|
598
|
-
pcb_port_id:
|
|
617
|
+
layers: z37.array(layer_ref),
|
|
618
|
+
port_hints: z37.array(z37.string()).optional(),
|
|
619
|
+
pcb_component_id: z37.string().optional(),
|
|
620
|
+
pcb_port_id: z37.string().optional(),
|
|
599
621
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
600
622
|
});
|
|
601
|
-
var pcb_plated_hole_oval =
|
|
602
|
-
type:
|
|
603
|
-
shape:
|
|
604
|
-
outer_width:
|
|
605
|
-
outer_height:
|
|
606
|
-
hole_width:
|
|
607
|
-
hole_height:
|
|
623
|
+
var pcb_plated_hole_oval = z37.object({
|
|
624
|
+
type: z37.literal("pcb_plated_hole"),
|
|
625
|
+
shape: z37.enum(["oval", "pill"]),
|
|
626
|
+
outer_width: z37.number(),
|
|
627
|
+
outer_height: z37.number(),
|
|
628
|
+
hole_width: z37.number(),
|
|
629
|
+
hole_height: z37.number(),
|
|
608
630
|
x: distance,
|
|
609
631
|
y: distance,
|
|
610
|
-
layers:
|
|
611
|
-
port_hints:
|
|
612
|
-
pcb_component_id:
|
|
613
|
-
pcb_port_id:
|
|
632
|
+
layers: z37.array(layer_ref),
|
|
633
|
+
port_hints: z37.array(z37.string()).optional(),
|
|
634
|
+
pcb_component_id: z37.string().optional(),
|
|
635
|
+
pcb_port_id: z37.string().optional(),
|
|
614
636
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
615
637
|
});
|
|
616
|
-
var pcb_plated_hole =
|
|
638
|
+
var pcb_plated_hole = z37.union([
|
|
617
639
|
pcb_plated_hole_circle,
|
|
618
640
|
pcb_plated_hole_oval
|
|
619
641
|
]);
|
|
@@ -623,140 +645,140 @@ expectTypesMatch(
|
|
|
623
645
|
expectTypesMatch(true);
|
|
624
646
|
|
|
625
647
|
// src/pcb/pcb_port.ts
|
|
626
|
-
import { z as
|
|
627
|
-
var pcb_port =
|
|
628
|
-
type:
|
|
648
|
+
import { z as z38 } from "zod";
|
|
649
|
+
var pcb_port = z38.object({
|
|
650
|
+
type: z38.literal("pcb_port"),
|
|
629
651
|
pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
|
|
630
|
-
source_port_id:
|
|
631
|
-
pcb_component_id:
|
|
652
|
+
source_port_id: z38.string(),
|
|
653
|
+
pcb_component_id: z38.string(),
|
|
632
654
|
x: distance,
|
|
633
655
|
y: distance,
|
|
634
|
-
layers:
|
|
656
|
+
layers: z38.array(layer_ref)
|
|
635
657
|
}).describe("Defines a port on the PCB");
|
|
636
658
|
expectTypesMatch(true);
|
|
637
659
|
|
|
638
660
|
// src/pcb/pcb_smtpad.ts
|
|
639
|
-
import { z as
|
|
640
|
-
var pcb_smtpad_circle =
|
|
641
|
-
type:
|
|
642
|
-
shape:
|
|
661
|
+
import { z as z39 } from "zod";
|
|
662
|
+
var pcb_smtpad_circle = z39.object({
|
|
663
|
+
type: z39.literal("pcb_smtpad"),
|
|
664
|
+
shape: z39.literal("circle"),
|
|
643
665
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
644
666
|
x: distance,
|
|
645
667
|
y: distance,
|
|
646
|
-
radius:
|
|
668
|
+
radius: z39.number(),
|
|
647
669
|
layer: layer_ref,
|
|
648
|
-
port_hints:
|
|
649
|
-
pcb_component_id:
|
|
650
|
-
pcb_port_id:
|
|
670
|
+
port_hints: z39.array(z39.string()).optional(),
|
|
671
|
+
pcb_component_id: z39.string().optional(),
|
|
672
|
+
pcb_port_id: z39.string().optional()
|
|
651
673
|
});
|
|
652
|
-
var pcb_smtpad_rect =
|
|
653
|
-
type:
|
|
654
|
-
shape:
|
|
674
|
+
var pcb_smtpad_rect = z39.object({
|
|
675
|
+
type: z39.literal("pcb_smtpad"),
|
|
676
|
+
shape: z39.literal("rect"),
|
|
655
677
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
656
678
|
x: distance,
|
|
657
679
|
y: distance,
|
|
658
|
-
width:
|
|
659
|
-
height:
|
|
680
|
+
width: z39.number(),
|
|
681
|
+
height: z39.number(),
|
|
660
682
|
layer: layer_ref,
|
|
661
|
-
port_hints:
|
|
662
|
-
pcb_component_id:
|
|
663
|
-
pcb_port_id:
|
|
683
|
+
port_hints: z39.array(z39.string()).optional(),
|
|
684
|
+
pcb_component_id: z39.string().optional(),
|
|
685
|
+
pcb_port_id: z39.string().optional()
|
|
664
686
|
});
|
|
665
|
-
var pcb_smtpad =
|
|
687
|
+
var pcb_smtpad = z39.union([pcb_smtpad_circle, pcb_smtpad_rect]).describe("Defines an SMT pad on the PCB");
|
|
666
688
|
expectTypesMatch(true);
|
|
667
689
|
expectTypesMatch(true);
|
|
668
690
|
|
|
669
691
|
// src/pcb/pcb_solder_paste.ts
|
|
670
|
-
import { z as
|
|
671
|
-
var pcb_solder_paste_circle =
|
|
672
|
-
type:
|
|
673
|
-
shape:
|
|
692
|
+
import { z as z40 } from "zod";
|
|
693
|
+
var pcb_solder_paste_circle = z40.object({
|
|
694
|
+
type: z40.literal("pcb_solder_paste"),
|
|
695
|
+
shape: z40.literal("circle"),
|
|
674
696
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
675
697
|
x: distance,
|
|
676
698
|
y: distance,
|
|
677
|
-
radius:
|
|
699
|
+
radius: z40.number(),
|
|
678
700
|
layer: layer_ref,
|
|
679
|
-
pcb_component_id:
|
|
680
|
-
pcb_smtpad_id:
|
|
701
|
+
pcb_component_id: z40.string().optional(),
|
|
702
|
+
pcb_smtpad_id: z40.string().optional()
|
|
681
703
|
});
|
|
682
|
-
var pcb_solder_paste_rect =
|
|
683
|
-
type:
|
|
684
|
-
shape:
|
|
704
|
+
var pcb_solder_paste_rect = z40.object({
|
|
705
|
+
type: z40.literal("pcb_solder_paste"),
|
|
706
|
+
shape: z40.literal("rect"),
|
|
685
707
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
686
708
|
x: distance,
|
|
687
709
|
y: distance,
|
|
688
|
-
width:
|
|
689
|
-
height:
|
|
710
|
+
width: z40.number(),
|
|
711
|
+
height: z40.number(),
|
|
690
712
|
layer: layer_ref,
|
|
691
|
-
pcb_component_id:
|
|
692
|
-
pcb_smtpad_id:
|
|
713
|
+
pcb_component_id: z40.string().optional(),
|
|
714
|
+
pcb_smtpad_id: z40.string().optional()
|
|
693
715
|
});
|
|
694
|
-
var pcb_solder_paste =
|
|
716
|
+
var pcb_solder_paste = z40.union([pcb_solder_paste_circle, pcb_solder_paste_rect]).describe("Defines solderpaste on the PCB");
|
|
695
717
|
expectTypesMatch(true);
|
|
696
718
|
expectTypesMatch(true);
|
|
697
719
|
|
|
698
720
|
// src/pcb/pcb_text.ts
|
|
699
|
-
import { z as
|
|
700
|
-
var pcb_text =
|
|
701
|
-
type:
|
|
721
|
+
import { z as z41 } from "zod";
|
|
722
|
+
var pcb_text = z41.object({
|
|
723
|
+
type: z41.literal("pcb_text"),
|
|
702
724
|
pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
|
|
703
|
-
text:
|
|
725
|
+
text: z41.string(),
|
|
704
726
|
center: point,
|
|
705
727
|
layer: layer_ref,
|
|
706
728
|
width: length,
|
|
707
729
|
height: length,
|
|
708
|
-
lines:
|
|
709
|
-
align:
|
|
730
|
+
lines: z41.number(),
|
|
731
|
+
align: z41.enum(["bottom-left"])
|
|
710
732
|
}).describe("Defines text on the PCB");
|
|
711
733
|
expectTypesMatch(true);
|
|
712
734
|
|
|
713
735
|
// src/pcb/pcb_trace.ts
|
|
714
|
-
import { z as
|
|
715
|
-
var pcb_trace_route_point_wire =
|
|
716
|
-
route_type:
|
|
736
|
+
import { z as z42 } from "zod";
|
|
737
|
+
var pcb_trace_route_point_wire = z42.object({
|
|
738
|
+
route_type: z42.literal("wire"),
|
|
717
739
|
x: distance,
|
|
718
740
|
y: distance,
|
|
719
741
|
width: distance,
|
|
720
|
-
start_pcb_port_id:
|
|
721
|
-
end_pcb_port_id:
|
|
742
|
+
start_pcb_port_id: z42.string().optional(),
|
|
743
|
+
end_pcb_port_id: z42.string().optional(),
|
|
722
744
|
layer: layer_ref
|
|
723
745
|
});
|
|
724
|
-
var pcb_trace_route_point_via =
|
|
725
|
-
route_type:
|
|
746
|
+
var pcb_trace_route_point_via = z42.object({
|
|
747
|
+
route_type: z42.literal("via"),
|
|
726
748
|
x: distance,
|
|
727
749
|
y: distance,
|
|
728
|
-
from_layer:
|
|
729
|
-
to_layer:
|
|
750
|
+
from_layer: z42.string(),
|
|
751
|
+
to_layer: z42.string()
|
|
730
752
|
});
|
|
731
|
-
var pcb_trace_route_point =
|
|
753
|
+
var pcb_trace_route_point = z42.union([
|
|
732
754
|
pcb_trace_route_point_wire,
|
|
733
755
|
pcb_trace_route_point_via
|
|
734
756
|
]);
|
|
735
|
-
var pcb_trace =
|
|
736
|
-
type:
|
|
737
|
-
source_trace_id:
|
|
738
|
-
pcb_component_id:
|
|
757
|
+
var pcb_trace = z42.object({
|
|
758
|
+
type: z42.literal("pcb_trace"),
|
|
759
|
+
source_trace_id: z42.string().optional(),
|
|
760
|
+
pcb_component_id: z42.string().optional(),
|
|
739
761
|
pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
|
|
740
|
-
route_thickness_mode:
|
|
741
|
-
route_order_index:
|
|
742
|
-
should_round_corners:
|
|
743
|
-
route:
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
route_type:
|
|
762
|
+
route_thickness_mode: z42.enum(["constant", "interpolated"]).default("constant").optional(),
|
|
763
|
+
route_order_index: z42.number().optional(),
|
|
764
|
+
should_round_corners: z42.boolean().optional(),
|
|
765
|
+
route: z42.array(
|
|
766
|
+
z42.union([
|
|
767
|
+
z42.object({
|
|
768
|
+
route_type: z42.literal("wire"),
|
|
747
769
|
x: distance,
|
|
748
770
|
y: distance,
|
|
749
771
|
width: distance,
|
|
750
|
-
start_pcb_port_id:
|
|
751
|
-
end_pcb_port_id:
|
|
772
|
+
start_pcb_port_id: z42.string().optional(),
|
|
773
|
+
end_pcb_port_id: z42.string().optional(),
|
|
752
774
|
layer: layer_ref
|
|
753
775
|
}),
|
|
754
|
-
|
|
755
|
-
route_type:
|
|
776
|
+
z42.object({
|
|
777
|
+
route_type: z42.literal("via"),
|
|
756
778
|
x: distance,
|
|
757
779
|
y: distance,
|
|
758
|
-
from_layer:
|
|
759
|
-
to_layer:
|
|
780
|
+
from_layer: z42.string(),
|
|
781
|
+
to_layer: z42.string()
|
|
760
782
|
})
|
|
761
783
|
])
|
|
762
784
|
)
|
|
@@ -765,34 +787,34 @@ expectTypesMatch(true);
|
|
|
765
787
|
expectTypesMatch(true);
|
|
766
788
|
|
|
767
789
|
// src/pcb/pcb_trace_error.ts
|
|
768
|
-
import { z as
|
|
769
|
-
var pcb_trace_error =
|
|
770
|
-
type:
|
|
790
|
+
import { z as z43 } from "zod";
|
|
791
|
+
var pcb_trace_error = z43.object({
|
|
792
|
+
type: z43.literal("pcb_trace_error"),
|
|
771
793
|
pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
|
|
772
|
-
error_type:
|
|
773
|
-
message:
|
|
794
|
+
error_type: z43.literal("pcb_trace_error"),
|
|
795
|
+
message: z43.string(),
|
|
774
796
|
center: point.optional(),
|
|
775
|
-
pcb_trace_id:
|
|
776
|
-
source_trace_id:
|
|
777
|
-
pcb_component_ids:
|
|
778
|
-
pcb_port_ids:
|
|
797
|
+
pcb_trace_id: z43.string(),
|
|
798
|
+
source_trace_id: z43.string(),
|
|
799
|
+
pcb_component_ids: z43.array(z43.string()),
|
|
800
|
+
pcb_port_ids: z43.array(z43.string())
|
|
779
801
|
}).describe("Defines a trace error on the PCB");
|
|
780
802
|
expectTypesMatch(true);
|
|
781
803
|
|
|
782
804
|
// src/pcb/pcb_port_not_matched_error.ts
|
|
783
|
-
import { z as
|
|
784
|
-
var pcb_port_not_matched_error =
|
|
785
|
-
type:
|
|
805
|
+
import { z as z44 } from "zod";
|
|
806
|
+
var pcb_port_not_matched_error = z44.object({
|
|
807
|
+
type: z44.literal("pcb_port_not_matched_error"),
|
|
786
808
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
787
|
-
message:
|
|
788
|
-
pcb_component_ids:
|
|
809
|
+
message: z44.string(),
|
|
810
|
+
pcb_component_ids: z44.array(z44.string())
|
|
789
811
|
}).describe("Defines a trace error on the PCB where a port is not matched");
|
|
790
812
|
expectTypesMatch(true);
|
|
791
813
|
|
|
792
814
|
// src/pcb/pcb_via.ts
|
|
793
|
-
import { z as
|
|
794
|
-
var pcb_via =
|
|
795
|
-
type:
|
|
815
|
+
import { z as z45 } from "zod";
|
|
816
|
+
var pcb_via = z45.object({
|
|
817
|
+
type: z45.literal("pcb_via"),
|
|
796
818
|
pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
|
|
797
819
|
x: distance,
|
|
798
820
|
y: distance,
|
|
@@ -802,51 +824,51 @@ var pcb_via = z44.object({
|
|
|
802
824
|
from_layer: layer_ref.optional(),
|
|
803
825
|
/** @deprecated */
|
|
804
826
|
to_layer: layer_ref.optional(),
|
|
805
|
-
layers:
|
|
806
|
-
pcb_trace_id:
|
|
827
|
+
layers: z45.array(layer_ref),
|
|
828
|
+
pcb_trace_id: z45.string().optional()
|
|
807
829
|
}).describe("Defines a via on the PCB");
|
|
808
830
|
expectTypesMatch(true);
|
|
809
831
|
|
|
810
832
|
// src/pcb/pcb_board.ts
|
|
811
|
-
import { z as
|
|
812
|
-
var pcb_board =
|
|
813
|
-
type:
|
|
833
|
+
import { z as z46 } from "zod";
|
|
834
|
+
var pcb_board = z46.object({
|
|
835
|
+
type: z46.literal("pcb_board"),
|
|
814
836
|
pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
|
|
815
837
|
width: length,
|
|
816
838
|
height: length,
|
|
817
839
|
center: point,
|
|
818
840
|
thickness: length.optional().default(1.4),
|
|
819
|
-
num_layers:
|
|
820
|
-
outline:
|
|
841
|
+
num_layers: z46.number().optional().default(4),
|
|
842
|
+
outline: z46.array(point).optional()
|
|
821
843
|
}).describe("Defines the board outline of the PCB");
|
|
822
844
|
expectTypesMatch(true);
|
|
823
845
|
|
|
824
846
|
// src/pcb/pcb_placement_error.ts
|
|
825
|
-
import { z as
|
|
826
|
-
var pcb_placement_error =
|
|
827
|
-
type:
|
|
847
|
+
import { z as z47 } from "zod";
|
|
848
|
+
var pcb_placement_error = z47.object({
|
|
849
|
+
type: z47.literal("pcb_placement_error"),
|
|
828
850
|
pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
|
|
829
|
-
message:
|
|
851
|
+
message: z47.string()
|
|
830
852
|
}).describe("Defines a placement error on the PCB");
|
|
831
853
|
expectTypesMatch(true);
|
|
832
854
|
|
|
833
855
|
// src/pcb/pcb_trace_hint.ts
|
|
834
|
-
import { z as
|
|
835
|
-
var pcb_trace_hint =
|
|
836
|
-
type:
|
|
856
|
+
import { z as z48 } from "zod";
|
|
857
|
+
var pcb_trace_hint = z48.object({
|
|
858
|
+
type: z48.literal("pcb_trace_hint"),
|
|
837
859
|
pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
|
|
838
|
-
pcb_port_id:
|
|
839
|
-
pcb_component_id:
|
|
840
|
-
route:
|
|
860
|
+
pcb_port_id: z48.string(),
|
|
861
|
+
pcb_component_id: z48.string(),
|
|
862
|
+
route: z48.array(route_hint_point)
|
|
841
863
|
}).describe("A hint that can be used during generation of a PCB trace");
|
|
842
864
|
expectTypesMatch(true);
|
|
843
865
|
|
|
844
866
|
// src/pcb/pcb_silkscreen_line.ts
|
|
845
|
-
import { z as
|
|
846
|
-
var pcb_silkscreen_line =
|
|
847
|
-
type:
|
|
867
|
+
import { z as z49 } from "zod";
|
|
868
|
+
var pcb_silkscreen_line = z49.object({
|
|
869
|
+
type: z49.literal("pcb_silkscreen_line"),
|
|
848
870
|
pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
|
|
849
|
-
pcb_component_id:
|
|
871
|
+
pcb_component_id: z49.string(),
|
|
850
872
|
stroke_width: distance.default("0.1mm"),
|
|
851
873
|
x1: distance,
|
|
852
874
|
y1: distance,
|
|
@@ -857,39 +879,39 @@ var pcb_silkscreen_line = z48.object({
|
|
|
857
879
|
expectTypesMatch(true);
|
|
858
880
|
|
|
859
881
|
// src/pcb/pcb_silkscreen_path.ts
|
|
860
|
-
import { z as
|
|
861
|
-
var pcb_silkscreen_path =
|
|
862
|
-
type:
|
|
882
|
+
import { z as z50 } from "zod";
|
|
883
|
+
var pcb_silkscreen_path = z50.object({
|
|
884
|
+
type: z50.literal("pcb_silkscreen_path"),
|
|
863
885
|
pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
|
|
864
|
-
pcb_component_id:
|
|
886
|
+
pcb_component_id: z50.string(),
|
|
865
887
|
layer: visible_layer,
|
|
866
|
-
route:
|
|
888
|
+
route: z50.array(point),
|
|
867
889
|
stroke_width: length
|
|
868
890
|
}).describe("Defines a silkscreen path on the PCB");
|
|
869
891
|
expectTypesMatch(true);
|
|
870
892
|
|
|
871
893
|
// src/pcb/pcb_silkscreen_text.ts
|
|
872
|
-
import { z as
|
|
873
|
-
var pcb_silkscreen_text =
|
|
874
|
-
type:
|
|
894
|
+
import { z as z51 } from "zod";
|
|
895
|
+
var pcb_silkscreen_text = z51.object({
|
|
896
|
+
type: z51.literal("pcb_silkscreen_text"),
|
|
875
897
|
pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
|
|
876
|
-
font:
|
|
898
|
+
font: z51.literal("tscircuit2024").default("tscircuit2024"),
|
|
877
899
|
font_size: distance.default("0.2mm"),
|
|
878
|
-
pcb_component_id:
|
|
879
|
-
text:
|
|
900
|
+
pcb_component_id: z51.string(),
|
|
901
|
+
text: z51.string(),
|
|
880
902
|
layer: layer_ref,
|
|
881
|
-
is_mirrored:
|
|
903
|
+
is_mirrored: z51.boolean().default(false).optional(),
|
|
882
904
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
883
|
-
anchor_alignment:
|
|
905
|
+
anchor_alignment: z51.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center")
|
|
884
906
|
}).describe("Defines silkscreen text on the PCB");
|
|
885
907
|
expectTypesMatch(true);
|
|
886
908
|
|
|
887
909
|
// src/pcb/pcb_silkscreen_rect.ts
|
|
888
|
-
import { z as
|
|
889
|
-
var pcb_silkscreen_rect =
|
|
890
|
-
type:
|
|
910
|
+
import { z as z52 } from "zod";
|
|
911
|
+
var pcb_silkscreen_rect = z52.object({
|
|
912
|
+
type: z52.literal("pcb_silkscreen_rect"),
|
|
891
913
|
pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
|
|
892
|
-
pcb_component_id:
|
|
914
|
+
pcb_component_id: z52.string(),
|
|
893
915
|
center: point,
|
|
894
916
|
width: length,
|
|
895
917
|
height: length,
|
|
@@ -898,13 +920,13 @@ var pcb_silkscreen_rect = z51.object({
|
|
|
898
920
|
expectTypesMatch(true);
|
|
899
921
|
|
|
900
922
|
// src/pcb/pcb_silkscreen_circle.ts
|
|
901
|
-
import { z as
|
|
902
|
-
var pcb_silkscreen_circle =
|
|
903
|
-
type:
|
|
923
|
+
import { z as z53 } from "zod";
|
|
924
|
+
var pcb_silkscreen_circle = z53.object({
|
|
925
|
+
type: z53.literal("pcb_silkscreen_circle"),
|
|
904
926
|
pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
|
|
905
927
|
"pcb_silkscreen_circle"
|
|
906
928
|
),
|
|
907
|
-
pcb_component_id:
|
|
929
|
+
pcb_component_id: z53.string(),
|
|
908
930
|
center: point,
|
|
909
931
|
radius: length,
|
|
910
932
|
layer: visible_layer
|
|
@@ -912,11 +934,11 @@ var pcb_silkscreen_circle = z52.object({
|
|
|
912
934
|
expectTypesMatch(true);
|
|
913
935
|
|
|
914
936
|
// src/pcb/pcb_silkscreen_oval.ts
|
|
915
|
-
import { z as
|
|
916
|
-
var pcb_silkscreen_oval =
|
|
917
|
-
type:
|
|
937
|
+
import { z as z54 } from "zod";
|
|
938
|
+
var pcb_silkscreen_oval = z54.object({
|
|
939
|
+
type: z54.literal("pcb_silkscreen_oval"),
|
|
918
940
|
pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
|
|
919
|
-
pcb_component_id:
|
|
941
|
+
pcb_component_id: z54.string(),
|
|
920
942
|
center: point,
|
|
921
943
|
radius_x: distance,
|
|
922
944
|
radius_y: distance,
|
|
@@ -925,91 +947,91 @@ var pcb_silkscreen_oval = z53.object({
|
|
|
925
947
|
expectTypesMatch(true);
|
|
926
948
|
|
|
927
949
|
// src/pcb/pcb_fabrication_note_text.ts
|
|
928
|
-
import { z as
|
|
929
|
-
var pcb_fabrication_note_text =
|
|
930
|
-
type:
|
|
950
|
+
import { z as z55 } from "zod";
|
|
951
|
+
var pcb_fabrication_note_text = z55.object({
|
|
952
|
+
type: z55.literal("pcb_fabrication_note_text"),
|
|
931
953
|
pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
|
|
932
954
|
"pcb_fabrication_note_text"
|
|
933
955
|
),
|
|
934
|
-
font:
|
|
956
|
+
font: z55.literal("tscircuit2024").default("tscircuit2024"),
|
|
935
957
|
font_size: distance.default("1mm"),
|
|
936
|
-
pcb_component_id:
|
|
937
|
-
text:
|
|
958
|
+
pcb_component_id: z55.string(),
|
|
959
|
+
text: z55.string(),
|
|
938
960
|
layer: visible_layer,
|
|
939
961
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
940
|
-
anchor_alignment:
|
|
941
|
-
color:
|
|
962
|
+
anchor_alignment: z55.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
963
|
+
color: z55.string().optional()
|
|
942
964
|
}).describe(
|
|
943
965
|
"Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
|
|
944
966
|
);
|
|
945
967
|
expectTypesMatch(true);
|
|
946
968
|
|
|
947
969
|
// src/pcb/pcb_fabrication_note_path.ts
|
|
948
|
-
import { z as
|
|
949
|
-
var pcb_fabrication_note_path =
|
|
950
|
-
type:
|
|
970
|
+
import { z as z56 } from "zod";
|
|
971
|
+
var pcb_fabrication_note_path = z56.object({
|
|
972
|
+
type: z56.literal("pcb_fabrication_note_path"),
|
|
951
973
|
pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
|
|
952
974
|
"pcb_fabrication_note_path"
|
|
953
975
|
),
|
|
954
|
-
pcb_component_id:
|
|
976
|
+
pcb_component_id: z56.string(),
|
|
955
977
|
layer: layer_ref,
|
|
956
|
-
route:
|
|
978
|
+
route: z56.array(point),
|
|
957
979
|
stroke_width: length,
|
|
958
|
-
color:
|
|
980
|
+
color: z56.string().optional()
|
|
959
981
|
}).describe(
|
|
960
982
|
"Defines a fabrication path on the PCB for fabricators or assemblers"
|
|
961
983
|
);
|
|
962
984
|
expectTypesMatch(true);
|
|
963
985
|
|
|
964
986
|
// src/pcb/pcb_keepout.ts
|
|
965
|
-
import { z as
|
|
966
|
-
var pcb_keepout =
|
|
967
|
-
type:
|
|
968
|
-
shape:
|
|
987
|
+
import { z as z57 } from "zod";
|
|
988
|
+
var pcb_keepout = z57.object({
|
|
989
|
+
type: z57.literal("pcb_keepout"),
|
|
990
|
+
shape: z57.literal("rect"),
|
|
969
991
|
center: point,
|
|
970
992
|
width: distance,
|
|
971
993
|
height: distance,
|
|
972
|
-
pcb_keepout_id:
|
|
973
|
-
layers:
|
|
994
|
+
pcb_keepout_id: z57.string(),
|
|
995
|
+
layers: z57.array(z57.string()),
|
|
974
996
|
// Specify layers where the keepout applies
|
|
975
|
-
description:
|
|
997
|
+
description: z57.string().optional()
|
|
976
998
|
// Optional description of the keepout
|
|
977
999
|
}).or(
|
|
978
|
-
|
|
979
|
-
type:
|
|
980
|
-
shape:
|
|
1000
|
+
z57.object({
|
|
1001
|
+
type: z57.literal("pcb_keepout"),
|
|
1002
|
+
shape: z57.literal("circle"),
|
|
981
1003
|
center: point,
|
|
982
1004
|
radius: distance,
|
|
983
|
-
pcb_keepout_id:
|
|
984
|
-
layers:
|
|
1005
|
+
pcb_keepout_id: z57.string(),
|
|
1006
|
+
layers: z57.array(z57.string()),
|
|
985
1007
|
// Specify layers where the keepout applies
|
|
986
|
-
description:
|
|
1008
|
+
description: z57.string().optional()
|
|
987
1009
|
// Optional description of the keepout
|
|
988
1010
|
})
|
|
989
1011
|
);
|
|
990
1012
|
|
|
991
1013
|
// src/cad/cad_component.ts
|
|
992
|
-
import { z as
|
|
993
|
-
var cad_component =
|
|
994
|
-
type:
|
|
995
|
-
cad_component_id:
|
|
996
|
-
pcb_component_id:
|
|
997
|
-
source_component_id:
|
|
1014
|
+
import { z as z58 } from "zod";
|
|
1015
|
+
var cad_component = z58.object({
|
|
1016
|
+
type: z58.literal("cad_component"),
|
|
1017
|
+
cad_component_id: z58.string(),
|
|
1018
|
+
pcb_component_id: z58.string(),
|
|
1019
|
+
source_component_id: z58.string(),
|
|
998
1020
|
position: point3,
|
|
999
1021
|
rotation: point3.optional(),
|
|
1000
1022
|
size: point3.optional(),
|
|
1001
1023
|
layer: layer_ref.optional(),
|
|
1002
1024
|
// These are all ways to generate/load the 3d model
|
|
1003
|
-
footprinter_string:
|
|
1004
|
-
model_obj_url:
|
|
1005
|
-
model_stl_url:
|
|
1006
|
-
model_3mf_url:
|
|
1007
|
-
model_jscad:
|
|
1025
|
+
footprinter_string: z58.string().optional(),
|
|
1026
|
+
model_obj_url: z58.string().optional(),
|
|
1027
|
+
model_stl_url: z58.string().optional(),
|
|
1028
|
+
model_3mf_url: z58.string().optional(),
|
|
1029
|
+
model_jscad: z58.any().optional()
|
|
1008
1030
|
}).describe("Defines a component on the PCB");
|
|
1009
1031
|
|
|
1010
1032
|
// src/any_circuit_element.ts
|
|
1011
|
-
import { z as
|
|
1012
|
-
var any_circuit_element =
|
|
1033
|
+
import { z as z59 } from "zod";
|
|
1034
|
+
var any_circuit_element = z59.union([
|
|
1013
1035
|
source_trace,
|
|
1014
1036
|
source_port,
|
|
1015
1037
|
any_source_component,
|
|
@@ -1022,6 +1044,7 @@ var any_circuit_element = z58.union([
|
|
|
1022
1044
|
source_simple_diode,
|
|
1023
1045
|
source_simple_resistor,
|
|
1024
1046
|
source_simple_power_source,
|
|
1047
|
+
source_simple_battery,
|
|
1025
1048
|
pcb_component,
|
|
1026
1049
|
pcb_hole,
|
|
1027
1050
|
pcb_plated_hole,
|
|
@@ -1062,6 +1085,7 @@ export {
|
|
|
1062
1085
|
any_circuit_element,
|
|
1063
1086
|
any_soup_element,
|
|
1064
1087
|
any_source_component,
|
|
1088
|
+
battery_capacity,
|
|
1065
1089
|
cad_component,
|
|
1066
1090
|
capacitance,
|
|
1067
1091
|
current,
|
|
@@ -1124,6 +1148,7 @@ export {
|
|
|
1124
1148
|
source_led,
|
|
1125
1149
|
source_net,
|
|
1126
1150
|
source_port,
|
|
1151
|
+
source_simple_battery,
|
|
1127
1152
|
source_simple_bug,
|
|
1128
1153
|
source_simple_capacitor,
|
|
1129
1154
|
source_simple_chip,
|