circuit-json 0.0.103 → 0.0.105
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 +285 -3
- package/dist/index.mjs +389 -375
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -197,6 +197,7 @@ var capacitance = z.string().or(z.number()).transform((v) => parseAndConvertSiUn
|
|
|
197
197
|
var inductance = z.string().or(z.number()).transform((v) => parseAndConvertSiUnit(v).value);
|
|
198
198
|
var voltage = z.string().or(z.number()).transform((v) => parseAndConvertSiUnit(v).value);
|
|
199
199
|
var length = z.string().or(z.number()).transform((v) => parseAndConvertSiUnit(v).value);
|
|
200
|
+
var frequency = z.string().or(z.number()).transform((v) => parseAndConvertSiUnit(v).value);
|
|
200
201
|
var distance = length;
|
|
201
202
|
var current = z.string().or(z.number()).transform((v) => parseAndConvertSiUnit(v).value);
|
|
202
203
|
var time = z.string().or(z.number()).transform((v) => parseAndConvertSiUnit(v).value);
|
|
@@ -338,7 +339,7 @@ var source_simple_power_source = source_component_base.extend({
|
|
|
338
339
|
});
|
|
339
340
|
|
|
340
341
|
// src/source/any_source_component.ts
|
|
341
|
-
import { z as
|
|
342
|
+
import { z as z21 } from "zod";
|
|
342
343
|
|
|
343
344
|
// src/source/source_simple_battery.ts
|
|
344
345
|
import { z as z16 } from "zod";
|
|
@@ -360,8 +361,23 @@ var source_simple_push_button = source_component_base.extend({
|
|
|
360
361
|
ftype: z18.literal("simple_push_button")
|
|
361
362
|
});
|
|
362
363
|
|
|
364
|
+
// src/source/source_simple_potentiometer.ts
|
|
365
|
+
import { z as z19 } from "zod";
|
|
366
|
+
var source_simple_potentiometer = source_component_base.extend({
|
|
367
|
+
ftype: z19.literal("simple_potentiometer"),
|
|
368
|
+
max_resistance: resistance
|
|
369
|
+
});
|
|
370
|
+
|
|
371
|
+
// src/source/source_simple_crystal.ts
|
|
372
|
+
import { z as z20 } from "zod";
|
|
373
|
+
var source_simple_crystal = source_component_base.extend({
|
|
374
|
+
ftype: z20.literal("simple_crystal"),
|
|
375
|
+
frequency: z20.number().describe("Frequency in Hz"),
|
|
376
|
+
load_capacitance: z20.number().optional().describe("Load capacitance in pF")
|
|
377
|
+
});
|
|
378
|
+
|
|
363
379
|
// src/source/any_source_component.ts
|
|
364
|
-
var any_source_component =
|
|
380
|
+
var any_source_component = z21.union([
|
|
365
381
|
source_simple_resistor,
|
|
366
382
|
source_simple_capacitor,
|
|
367
383
|
source_simple_diode,
|
|
@@ -372,65 +388,60 @@ var any_source_component = z19.union([
|
|
|
372
388
|
source_simple_power_source,
|
|
373
389
|
source_simple_battery,
|
|
374
390
|
source_simple_inductor,
|
|
375
|
-
source_simple_push_button
|
|
391
|
+
source_simple_push_button,
|
|
392
|
+
source_simple_potentiometer,
|
|
393
|
+
source_simple_crystal
|
|
376
394
|
]);
|
|
377
395
|
|
|
378
396
|
// src/source/source_port.ts
|
|
379
|
-
import { z as
|
|
380
|
-
var source_port =
|
|
381
|
-
type:
|
|
382
|
-
pin_number:
|
|
383
|
-
port_hints:
|
|
384
|
-
name:
|
|
385
|
-
source_port_id:
|
|
386
|
-
source_component_id:
|
|
397
|
+
import { z as z22 } from "zod";
|
|
398
|
+
var source_port = z22.object({
|
|
399
|
+
type: z22.literal("source_port"),
|
|
400
|
+
pin_number: z22.number().optional(),
|
|
401
|
+
port_hints: z22.array(z22.string()).optional(),
|
|
402
|
+
name: z22.string(),
|
|
403
|
+
source_port_id: z22.string(),
|
|
404
|
+
source_component_id: z22.string()
|
|
387
405
|
});
|
|
388
406
|
|
|
389
407
|
// src/source/source_trace.ts
|
|
390
|
-
import { z as
|
|
391
|
-
var source_trace =
|
|
392
|
-
type:
|
|
393
|
-
source_trace_id:
|
|
394
|
-
connected_source_port_ids:
|
|
395
|
-
connected_source_net_ids:
|
|
396
|
-
subcircuit_connectivity_map_key:
|
|
408
|
+
import { z as z23 } from "zod";
|
|
409
|
+
var source_trace = z23.object({
|
|
410
|
+
type: z23.literal("source_trace"),
|
|
411
|
+
source_trace_id: z23.string(),
|
|
412
|
+
connected_source_port_ids: z23.array(z23.string()),
|
|
413
|
+
connected_source_net_ids: z23.array(z23.string()),
|
|
414
|
+
subcircuit_connectivity_map_key: z23.string().optional()
|
|
397
415
|
});
|
|
398
416
|
expectTypesMatch(true);
|
|
399
417
|
|
|
400
418
|
// src/source/source_group.ts
|
|
401
|
-
import { z as
|
|
402
|
-
var source_group =
|
|
403
|
-
type:
|
|
404
|
-
source_group_id:
|
|
405
|
-
name:
|
|
419
|
+
import { z as z24 } from "zod";
|
|
420
|
+
var source_group = z24.object({
|
|
421
|
+
type: z24.literal("source_group"),
|
|
422
|
+
source_group_id: z24.string(),
|
|
423
|
+
name: z24.string().optional()
|
|
406
424
|
});
|
|
407
425
|
|
|
408
426
|
// src/source/source_net.ts
|
|
409
|
-
import { z as
|
|
410
|
-
var source_net =
|
|
411
|
-
type:
|
|
412
|
-
source_net_id:
|
|
413
|
-
name:
|
|
414
|
-
member_source_group_ids:
|
|
415
|
-
is_power:
|
|
416
|
-
is_ground:
|
|
417
|
-
is_digital_signal:
|
|
418
|
-
is_analog_signal:
|
|
419
|
-
trace_width:
|
|
420
|
-
});
|
|
421
|
-
|
|
422
|
-
// src/source/source_simple_potentiometer.ts
|
|
423
|
-
import { z as z24 } from "zod";
|
|
424
|
-
var source_simple_potentiometer = source_component_base.extend({
|
|
425
|
-
ftype: z24.literal("simple_potentiometer"),
|
|
426
|
-
max_resistance: resistance
|
|
427
|
+
import { z as z25 } from "zod";
|
|
428
|
+
var source_net = z25.object({
|
|
429
|
+
type: z25.literal("source_net"),
|
|
430
|
+
source_net_id: z25.string(),
|
|
431
|
+
name: z25.string(),
|
|
432
|
+
member_source_group_ids: z25.array(z25.string()),
|
|
433
|
+
is_power: z25.boolean().optional(),
|
|
434
|
+
is_ground: z25.boolean().optional(),
|
|
435
|
+
is_digital_signal: z25.boolean().optional(),
|
|
436
|
+
is_analog_signal: z25.boolean().optional(),
|
|
437
|
+
trace_width: z25.number().optional()
|
|
427
438
|
});
|
|
428
439
|
|
|
429
440
|
// src/schematic/schematic_box.ts
|
|
430
|
-
import { z as
|
|
431
|
-
var schematic_box =
|
|
432
|
-
type:
|
|
433
|
-
schematic_component_id:
|
|
441
|
+
import { z as z26 } from "zod";
|
|
442
|
+
var schematic_box = z26.object({
|
|
443
|
+
type: z26.literal("schematic_box"),
|
|
444
|
+
schematic_component_id: z26.string(),
|
|
434
445
|
width: distance,
|
|
435
446
|
height: distance,
|
|
436
447
|
x: distance,
|
|
@@ -438,77 +449,77 @@ var schematic_box = z25.object({
|
|
|
438
449
|
}).describe("Draws a box on the schematic");
|
|
439
450
|
|
|
440
451
|
// src/schematic/schematic_path.ts
|
|
441
|
-
import { z as
|
|
442
|
-
var schematic_path =
|
|
443
|
-
type:
|
|
444
|
-
schematic_component_id:
|
|
445
|
-
fill_color:
|
|
446
|
-
is_filled:
|
|
447
|
-
points:
|
|
452
|
+
import { z as z27 } from "zod";
|
|
453
|
+
var schematic_path = z27.object({
|
|
454
|
+
type: z27.literal("schematic_path"),
|
|
455
|
+
schematic_component_id: z27.string(),
|
|
456
|
+
fill_color: z27.enum(["red", "blue"]).optional(),
|
|
457
|
+
is_filled: z27.boolean().optional(),
|
|
458
|
+
points: z27.array(point)
|
|
448
459
|
});
|
|
449
460
|
|
|
450
461
|
// src/schematic/schematic_component.ts
|
|
451
|
-
import { z as
|
|
452
|
-
var schematic_pin_styles =
|
|
453
|
-
|
|
462
|
+
import { z as z28 } from "zod";
|
|
463
|
+
var schematic_pin_styles = z28.record(
|
|
464
|
+
z28.object({
|
|
454
465
|
left_margin: length.optional(),
|
|
455
466
|
right_margin: length.optional(),
|
|
456
467
|
top_margin: length.optional(),
|
|
457
468
|
bottom_margin: length.optional()
|
|
458
469
|
})
|
|
459
470
|
);
|
|
460
|
-
var schematic_component_port_arrangement_by_size =
|
|
461
|
-
left_size:
|
|
462
|
-
right_size:
|
|
463
|
-
top_size:
|
|
464
|
-
bottom_size:
|
|
471
|
+
var schematic_component_port_arrangement_by_size = z28.object({
|
|
472
|
+
left_size: z28.number(),
|
|
473
|
+
right_size: z28.number(),
|
|
474
|
+
top_size: z28.number().optional(),
|
|
475
|
+
bottom_size: z28.number().optional()
|
|
465
476
|
});
|
|
466
477
|
expectTypesMatch(true);
|
|
467
|
-
var schematic_component_port_arrangement_by_sides =
|
|
468
|
-
left_side:
|
|
469
|
-
pins:
|
|
470
|
-
direction:
|
|
478
|
+
var schematic_component_port_arrangement_by_sides = z28.object({
|
|
479
|
+
left_side: z28.object({
|
|
480
|
+
pins: z28.array(z28.number()),
|
|
481
|
+
direction: z28.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
471
482
|
}).optional(),
|
|
472
|
-
right_side:
|
|
473
|
-
pins:
|
|
474
|
-
direction:
|
|
483
|
+
right_side: z28.object({
|
|
484
|
+
pins: z28.array(z28.number()),
|
|
485
|
+
direction: z28.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
475
486
|
}).optional(),
|
|
476
|
-
top_side:
|
|
477
|
-
pins:
|
|
478
|
-
direction:
|
|
487
|
+
top_side: z28.object({
|
|
488
|
+
pins: z28.array(z28.number()),
|
|
489
|
+
direction: z28.enum(["left-to-right", "right-to-left"]).optional()
|
|
479
490
|
}).optional(),
|
|
480
|
-
bottom_side:
|
|
481
|
-
pins:
|
|
482
|
-
direction:
|
|
491
|
+
bottom_side: z28.object({
|
|
492
|
+
pins: z28.array(z28.number()),
|
|
493
|
+
direction: z28.enum(["left-to-right", "right-to-left"]).optional()
|
|
483
494
|
}).optional()
|
|
484
495
|
});
|
|
485
496
|
expectTypesMatch(true);
|
|
486
|
-
var port_arrangement =
|
|
497
|
+
var port_arrangement = z28.union([
|
|
487
498
|
schematic_component_port_arrangement_by_size,
|
|
488
499
|
schematic_component_port_arrangement_by_sides
|
|
489
500
|
]);
|
|
490
|
-
var schematic_component =
|
|
491
|
-
type:
|
|
501
|
+
var schematic_component = z28.object({
|
|
502
|
+
type: z28.literal("schematic_component"),
|
|
492
503
|
rotation: rotation.default(0),
|
|
493
504
|
size,
|
|
494
505
|
center: point,
|
|
495
|
-
source_component_id:
|
|
496
|
-
schematic_component_id:
|
|
506
|
+
source_component_id: z28.string(),
|
|
507
|
+
schematic_component_id: z28.string(),
|
|
497
508
|
pin_spacing: length.optional(),
|
|
498
509
|
pin_styles: schematic_pin_styles.optional(),
|
|
499
510
|
box_width: length.optional(),
|
|
500
|
-
symbol_name:
|
|
511
|
+
symbol_name: z28.string().optional(),
|
|
501
512
|
port_arrangement: port_arrangement.optional(),
|
|
502
|
-
port_labels:
|
|
503
|
-
symbol_display_value:
|
|
513
|
+
port_labels: z28.record(z28.string()).optional(),
|
|
514
|
+
symbol_display_value: z28.string().optional()
|
|
504
515
|
});
|
|
505
516
|
expectTypesMatch(true);
|
|
506
517
|
|
|
507
518
|
// src/schematic/schematic_line.ts
|
|
508
|
-
import { z as
|
|
509
|
-
var schematic_line =
|
|
510
|
-
type:
|
|
511
|
-
schematic_component_id:
|
|
519
|
+
import { z as z29 } from "zod";
|
|
520
|
+
var schematic_line = z29.object({
|
|
521
|
+
type: z29.literal("schematic_line"),
|
|
522
|
+
schematic_component_id: z29.string(),
|
|
512
523
|
x1: distance,
|
|
513
524
|
x2: distance,
|
|
514
525
|
y1: distance,
|
|
@@ -516,111 +527,111 @@ var schematic_line = z28.object({
|
|
|
516
527
|
});
|
|
517
528
|
|
|
518
529
|
// src/schematic/schematic_trace.ts
|
|
519
|
-
import { z as
|
|
520
|
-
var schematic_trace =
|
|
521
|
-
type:
|
|
522
|
-
schematic_trace_id:
|
|
523
|
-
source_trace_id:
|
|
524
|
-
junctions:
|
|
525
|
-
|
|
526
|
-
x:
|
|
527
|
-
y:
|
|
530
|
+
import { z as z30 } from "zod";
|
|
531
|
+
var schematic_trace = z30.object({
|
|
532
|
+
type: z30.literal("schematic_trace"),
|
|
533
|
+
schematic_trace_id: z30.string(),
|
|
534
|
+
source_trace_id: z30.string(),
|
|
535
|
+
junctions: z30.array(
|
|
536
|
+
z30.object({
|
|
537
|
+
x: z30.number(),
|
|
538
|
+
y: z30.number()
|
|
528
539
|
})
|
|
529
540
|
),
|
|
530
|
-
edges:
|
|
531
|
-
|
|
532
|
-
from:
|
|
533
|
-
x:
|
|
534
|
-
y:
|
|
541
|
+
edges: z30.array(
|
|
542
|
+
z30.object({
|
|
543
|
+
from: z30.object({
|
|
544
|
+
x: z30.number(),
|
|
545
|
+
y: z30.number()
|
|
535
546
|
}),
|
|
536
|
-
to:
|
|
537
|
-
x:
|
|
538
|
-
y:
|
|
547
|
+
to: z30.object({
|
|
548
|
+
x: z30.number(),
|
|
549
|
+
y: z30.number()
|
|
539
550
|
}),
|
|
540
|
-
is_crossing:
|
|
541
|
-
from_schematic_port_id:
|
|
542
|
-
to_schematic_port_id:
|
|
551
|
+
is_crossing: z30.boolean().optional(),
|
|
552
|
+
from_schematic_port_id: z30.string().optional(),
|
|
553
|
+
to_schematic_port_id: z30.string().optional()
|
|
543
554
|
})
|
|
544
555
|
)
|
|
545
556
|
});
|
|
546
557
|
expectTypesMatch(true);
|
|
547
558
|
|
|
548
559
|
// src/schematic/schematic_text.ts
|
|
549
|
-
import { z as
|
|
550
|
-
var schematic_text =
|
|
551
|
-
type:
|
|
552
|
-
schematic_component_id:
|
|
553
|
-
schematic_text_id:
|
|
554
|
-
text:
|
|
555
|
-
position:
|
|
560
|
+
import { z as z31 } from "zod";
|
|
561
|
+
var schematic_text = z31.object({
|
|
562
|
+
type: z31.literal("schematic_text"),
|
|
563
|
+
schematic_component_id: z31.string(),
|
|
564
|
+
schematic_text_id: z31.string(),
|
|
565
|
+
text: z31.string(),
|
|
566
|
+
position: z31.object({
|
|
556
567
|
x: distance,
|
|
557
568
|
y: distance
|
|
558
569
|
}),
|
|
559
|
-
rotation:
|
|
560
|
-
anchor:
|
|
561
|
-
color:
|
|
570
|
+
rotation: z31.number().default(0),
|
|
571
|
+
anchor: z31.enum(["center", "left", "right", "top", "bottom"]).default("center"),
|
|
572
|
+
color: z31.string().default("#000000")
|
|
562
573
|
});
|
|
563
574
|
|
|
564
575
|
// src/schematic/schematic_port.ts
|
|
565
|
-
import { z as
|
|
566
|
-
var schematic_port =
|
|
567
|
-
type:
|
|
568
|
-
schematic_port_id:
|
|
569
|
-
source_port_id:
|
|
570
|
-
schematic_component_id:
|
|
576
|
+
import { z as z32 } from "zod";
|
|
577
|
+
var schematic_port = z32.object({
|
|
578
|
+
type: z32.literal("schematic_port"),
|
|
579
|
+
schematic_port_id: z32.string(),
|
|
580
|
+
source_port_id: z32.string(),
|
|
581
|
+
schematic_component_id: z32.string().optional(),
|
|
571
582
|
center: point,
|
|
572
|
-
facing_direction:
|
|
573
|
-
distance_from_component_edge:
|
|
574
|
-
side_of_component:
|
|
575
|
-
true_ccw_index:
|
|
576
|
-
pin_number:
|
|
577
|
-
display_pin_label:
|
|
583
|
+
facing_direction: z32.enum(["up", "down", "left", "right"]).optional(),
|
|
584
|
+
distance_from_component_edge: z32.number().optional(),
|
|
585
|
+
side_of_component: z32.enum(["top", "bottom", "left", "right"]).optional(),
|
|
586
|
+
true_ccw_index: z32.number().optional(),
|
|
587
|
+
pin_number: z32.number().optional(),
|
|
588
|
+
display_pin_label: z32.string().optional()
|
|
578
589
|
}).describe("Defines a port on a schematic component");
|
|
579
590
|
expectTypesMatch(true);
|
|
580
591
|
|
|
581
592
|
// src/schematic/schematic_net_label.ts
|
|
582
|
-
import { z as
|
|
583
|
-
var schematic_net_label =
|
|
584
|
-
type:
|
|
585
|
-
source_net_id:
|
|
593
|
+
import { z as z33 } from "zod";
|
|
594
|
+
var schematic_net_label = z33.object({
|
|
595
|
+
type: z33.literal("schematic_net_label"),
|
|
596
|
+
source_net_id: z33.string(),
|
|
586
597
|
center: point,
|
|
587
598
|
anchor_position: point.optional(),
|
|
588
|
-
anchor_side:
|
|
589
|
-
text:
|
|
590
|
-
symbol_name:
|
|
599
|
+
anchor_side: z33.enum(["top", "bottom", "left", "right"]),
|
|
600
|
+
text: z33.string(),
|
|
601
|
+
symbol_name: z33.string().optional()
|
|
591
602
|
});
|
|
592
603
|
|
|
593
604
|
// src/schematic/schematic_error.ts
|
|
594
|
-
import { z as
|
|
595
|
-
var schematic_error =
|
|
596
|
-
schematic_error_id:
|
|
597
|
-
type:
|
|
605
|
+
import { z as z34 } from "zod";
|
|
606
|
+
var schematic_error = z34.object({
|
|
607
|
+
schematic_error_id: z34.string(),
|
|
608
|
+
type: z34.literal("schematic_error"),
|
|
598
609
|
// eventually each error type should be broken out into a dir of files
|
|
599
|
-
error_type:
|
|
600
|
-
message:
|
|
610
|
+
error_type: z34.literal("schematic_port_not_found"),
|
|
611
|
+
message: z34.string()
|
|
601
612
|
}).describe("Defines a schematic error on the schematic");
|
|
602
613
|
|
|
603
614
|
// src/schematic/schematic_debug_object.ts
|
|
604
|
-
import { z as
|
|
605
|
-
var schematic_debug_object_base =
|
|
606
|
-
type:
|
|
607
|
-
label:
|
|
615
|
+
import { z as z35 } from "zod";
|
|
616
|
+
var schematic_debug_object_base = z35.object({
|
|
617
|
+
type: z35.literal("schematic_debug_object"),
|
|
618
|
+
label: z35.string().optional()
|
|
608
619
|
});
|
|
609
620
|
var schematic_debug_rect = schematic_debug_object_base.extend({
|
|
610
|
-
shape:
|
|
621
|
+
shape: z35.literal("rect"),
|
|
611
622
|
center: point,
|
|
612
623
|
size
|
|
613
624
|
});
|
|
614
625
|
var schematic_debug_line = schematic_debug_object_base.extend({
|
|
615
|
-
shape:
|
|
626
|
+
shape: z35.literal("line"),
|
|
616
627
|
start: point,
|
|
617
628
|
end: point
|
|
618
629
|
});
|
|
619
630
|
var schematic_debug_point = schematic_debug_object_base.extend({
|
|
620
|
-
shape:
|
|
631
|
+
shape: z35.literal("point"),
|
|
621
632
|
center: point
|
|
622
633
|
});
|
|
623
|
-
var schematic_debug_object =
|
|
634
|
+
var schematic_debug_object = z35.discriminatedUnion("shape", [
|
|
624
635
|
schematic_debug_rect,
|
|
625
636
|
schematic_debug_line,
|
|
626
637
|
schematic_debug_point
|
|
@@ -628,7 +639,7 @@ var schematic_debug_object = z34.discriminatedUnion("shape", [
|
|
|
628
639
|
expectTypesMatch(true);
|
|
629
640
|
|
|
630
641
|
// src/pcb/properties/layer_ref.ts
|
|
631
|
-
import { z as
|
|
642
|
+
import { z as z36 } from "zod";
|
|
632
643
|
var all_layers = [
|
|
633
644
|
"top",
|
|
634
645
|
"bottom",
|
|
@@ -639,9 +650,9 @@ var all_layers = [
|
|
|
639
650
|
"inner5",
|
|
640
651
|
"inner6"
|
|
641
652
|
];
|
|
642
|
-
var layer_string =
|
|
653
|
+
var layer_string = z36.enum(all_layers);
|
|
643
654
|
var layer_ref = layer_string.or(
|
|
644
|
-
|
|
655
|
+
z36.object({
|
|
645
656
|
name: layer_string
|
|
646
657
|
})
|
|
647
658
|
).transform((layer) => {
|
|
@@ -650,34 +661,34 @@ var layer_ref = layer_string.or(
|
|
|
650
661
|
}
|
|
651
662
|
return layer.name;
|
|
652
663
|
});
|
|
653
|
-
var visible_layer =
|
|
664
|
+
var visible_layer = z36.enum(["top", "bottom"]);
|
|
654
665
|
|
|
655
666
|
// src/pcb/properties/pcb_route_hints.ts
|
|
656
|
-
import { z as
|
|
657
|
-
var pcb_route_hint =
|
|
667
|
+
import { z as z37 } from "zod";
|
|
668
|
+
var pcb_route_hint = z37.object({
|
|
658
669
|
x: distance,
|
|
659
670
|
y: distance,
|
|
660
|
-
via:
|
|
671
|
+
via: z37.boolean().optional(),
|
|
661
672
|
via_to_layer: layer_ref.optional()
|
|
662
673
|
});
|
|
663
|
-
var pcb_route_hints =
|
|
674
|
+
var pcb_route_hints = z37.array(pcb_route_hint);
|
|
664
675
|
|
|
665
676
|
// src/pcb/properties/route_hint_point.ts
|
|
666
|
-
import { z as
|
|
667
|
-
var route_hint_point =
|
|
677
|
+
import { z as z38 } from "zod";
|
|
678
|
+
var route_hint_point = z38.object({
|
|
668
679
|
x: distance,
|
|
669
680
|
y: distance,
|
|
670
|
-
via:
|
|
681
|
+
via: z38.boolean().optional(),
|
|
671
682
|
to_layer: layer_ref.optional(),
|
|
672
683
|
trace_width: distance.optional()
|
|
673
684
|
});
|
|
674
685
|
|
|
675
686
|
// src/pcb/pcb_component.ts
|
|
676
|
-
import { z as
|
|
677
|
-
var pcb_component =
|
|
678
|
-
type:
|
|
687
|
+
import { z as z39 } from "zod";
|
|
688
|
+
var pcb_component = z39.object({
|
|
689
|
+
type: z39.literal("pcb_component"),
|
|
679
690
|
pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
|
|
680
|
-
source_component_id:
|
|
691
|
+
source_component_id: z39.string(),
|
|
681
692
|
center: point,
|
|
682
693
|
layer: layer_ref,
|
|
683
694
|
rotation,
|
|
@@ -687,12 +698,12 @@ var pcb_component = z38.object({
|
|
|
687
698
|
expectTypesMatch(true);
|
|
688
699
|
|
|
689
700
|
// src/pcb/pcb_hole.ts
|
|
690
|
-
import { z as
|
|
691
|
-
var pcb_hole_circle_or_square =
|
|
692
|
-
type:
|
|
701
|
+
import { z as z40 } from "zod";
|
|
702
|
+
var pcb_hole_circle_or_square = z40.object({
|
|
703
|
+
type: z40.literal("pcb_hole"),
|
|
693
704
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
694
|
-
hole_shape:
|
|
695
|
-
hole_diameter:
|
|
705
|
+
hole_shape: z40.enum(["circle", "square"]),
|
|
706
|
+
hole_diameter: z40.number(),
|
|
696
707
|
x: distance,
|
|
697
708
|
y: distance
|
|
698
709
|
});
|
|
@@ -700,12 +711,12 @@ var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
|
|
|
700
711
|
"Defines a circular or square hole on the PCB"
|
|
701
712
|
);
|
|
702
713
|
expectTypesMatch(true);
|
|
703
|
-
var pcb_hole_oval =
|
|
704
|
-
type:
|
|
714
|
+
var pcb_hole_oval = z40.object({
|
|
715
|
+
type: z40.literal("pcb_hole"),
|
|
705
716
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
706
|
-
hole_shape:
|
|
707
|
-
hole_width:
|
|
708
|
-
hole_height:
|
|
717
|
+
hole_shape: z40.literal("oval"),
|
|
718
|
+
hole_width: z40.number(),
|
|
719
|
+
hole_height: z40.number(),
|
|
709
720
|
x: distance,
|
|
710
721
|
y: distance
|
|
711
722
|
});
|
|
@@ -716,36 +727,36 @@ expectTypesMatch(true);
|
|
|
716
727
|
var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval);
|
|
717
728
|
|
|
718
729
|
// src/pcb/pcb_plated_hole.ts
|
|
719
|
-
import { z as
|
|
720
|
-
var pcb_plated_hole_circle =
|
|
721
|
-
type:
|
|
722
|
-
shape:
|
|
723
|
-
outer_diameter:
|
|
724
|
-
hole_diameter:
|
|
730
|
+
import { z as z41 } from "zod";
|
|
731
|
+
var pcb_plated_hole_circle = z41.object({
|
|
732
|
+
type: z41.literal("pcb_plated_hole"),
|
|
733
|
+
shape: z41.literal("circle"),
|
|
734
|
+
outer_diameter: z41.number(),
|
|
735
|
+
hole_diameter: z41.number(),
|
|
725
736
|
x: distance,
|
|
726
737
|
y: distance,
|
|
727
|
-
layers:
|
|
728
|
-
port_hints:
|
|
729
|
-
pcb_component_id:
|
|
730
|
-
pcb_port_id:
|
|
738
|
+
layers: z41.array(layer_ref),
|
|
739
|
+
port_hints: z41.array(z41.string()).optional(),
|
|
740
|
+
pcb_component_id: z41.string().optional(),
|
|
741
|
+
pcb_port_id: z41.string().optional(),
|
|
731
742
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
732
743
|
});
|
|
733
|
-
var pcb_plated_hole_oval =
|
|
734
|
-
type:
|
|
735
|
-
shape:
|
|
736
|
-
outer_width:
|
|
737
|
-
outer_height:
|
|
738
|
-
hole_width:
|
|
739
|
-
hole_height:
|
|
744
|
+
var pcb_plated_hole_oval = z41.object({
|
|
745
|
+
type: z41.literal("pcb_plated_hole"),
|
|
746
|
+
shape: z41.enum(["oval", "pill"]),
|
|
747
|
+
outer_width: z41.number(),
|
|
748
|
+
outer_height: z41.number(),
|
|
749
|
+
hole_width: z41.number(),
|
|
750
|
+
hole_height: z41.number(),
|
|
740
751
|
x: distance,
|
|
741
752
|
y: distance,
|
|
742
|
-
layers:
|
|
743
|
-
port_hints:
|
|
744
|
-
pcb_component_id:
|
|
745
|
-
pcb_port_id:
|
|
753
|
+
layers: z41.array(layer_ref),
|
|
754
|
+
port_hints: z41.array(z41.string()).optional(),
|
|
755
|
+
pcb_component_id: z41.string().optional(),
|
|
756
|
+
pcb_port_id: z41.string().optional(),
|
|
746
757
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
747
758
|
});
|
|
748
|
-
var pcb_plated_hole =
|
|
759
|
+
var pcb_plated_hole = z41.union([
|
|
749
760
|
pcb_plated_hole_circle,
|
|
750
761
|
pcb_plated_hole_oval
|
|
751
762
|
]);
|
|
@@ -755,140 +766,140 @@ expectTypesMatch(
|
|
|
755
766
|
expectTypesMatch(true);
|
|
756
767
|
|
|
757
768
|
// src/pcb/pcb_port.ts
|
|
758
|
-
import { z as
|
|
759
|
-
var pcb_port =
|
|
760
|
-
type:
|
|
769
|
+
import { z as z42 } from "zod";
|
|
770
|
+
var pcb_port = z42.object({
|
|
771
|
+
type: z42.literal("pcb_port"),
|
|
761
772
|
pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
|
|
762
|
-
source_port_id:
|
|
763
|
-
pcb_component_id:
|
|
773
|
+
source_port_id: z42.string(),
|
|
774
|
+
pcb_component_id: z42.string(),
|
|
764
775
|
x: distance,
|
|
765
776
|
y: distance,
|
|
766
|
-
layers:
|
|
777
|
+
layers: z42.array(layer_ref)
|
|
767
778
|
}).describe("Defines a port on the PCB");
|
|
768
779
|
expectTypesMatch(true);
|
|
769
780
|
|
|
770
781
|
// src/pcb/pcb_smtpad.ts
|
|
771
|
-
import { z as
|
|
772
|
-
var pcb_smtpad_circle =
|
|
773
|
-
type:
|
|
774
|
-
shape:
|
|
782
|
+
import { z as z43 } from "zod";
|
|
783
|
+
var pcb_smtpad_circle = z43.object({
|
|
784
|
+
type: z43.literal("pcb_smtpad"),
|
|
785
|
+
shape: z43.literal("circle"),
|
|
775
786
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
776
787
|
x: distance,
|
|
777
788
|
y: distance,
|
|
778
|
-
radius:
|
|
789
|
+
radius: z43.number(),
|
|
779
790
|
layer: layer_ref,
|
|
780
|
-
port_hints:
|
|
781
|
-
pcb_component_id:
|
|
782
|
-
pcb_port_id:
|
|
791
|
+
port_hints: z43.array(z43.string()).optional(),
|
|
792
|
+
pcb_component_id: z43.string().optional(),
|
|
793
|
+
pcb_port_id: z43.string().optional()
|
|
783
794
|
});
|
|
784
|
-
var pcb_smtpad_rect =
|
|
785
|
-
type:
|
|
786
|
-
shape:
|
|
795
|
+
var pcb_smtpad_rect = z43.object({
|
|
796
|
+
type: z43.literal("pcb_smtpad"),
|
|
797
|
+
shape: z43.literal("rect"),
|
|
787
798
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
788
799
|
x: distance,
|
|
789
800
|
y: distance,
|
|
790
|
-
width:
|
|
791
|
-
height:
|
|
801
|
+
width: z43.number(),
|
|
802
|
+
height: z43.number(),
|
|
792
803
|
layer: layer_ref,
|
|
793
|
-
port_hints:
|
|
794
|
-
pcb_component_id:
|
|
795
|
-
pcb_port_id:
|
|
804
|
+
port_hints: z43.array(z43.string()).optional(),
|
|
805
|
+
pcb_component_id: z43.string().optional(),
|
|
806
|
+
pcb_port_id: z43.string().optional()
|
|
796
807
|
});
|
|
797
|
-
var pcb_smtpad =
|
|
808
|
+
var pcb_smtpad = z43.union([pcb_smtpad_circle, pcb_smtpad_rect]).describe("Defines an SMT pad on the PCB");
|
|
798
809
|
expectTypesMatch(true);
|
|
799
810
|
expectTypesMatch(true);
|
|
800
811
|
|
|
801
812
|
// src/pcb/pcb_solder_paste.ts
|
|
802
|
-
import { z as
|
|
803
|
-
var pcb_solder_paste_circle =
|
|
804
|
-
type:
|
|
805
|
-
shape:
|
|
813
|
+
import { z as z44 } from "zod";
|
|
814
|
+
var pcb_solder_paste_circle = z44.object({
|
|
815
|
+
type: z44.literal("pcb_solder_paste"),
|
|
816
|
+
shape: z44.literal("circle"),
|
|
806
817
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
807
818
|
x: distance,
|
|
808
819
|
y: distance,
|
|
809
|
-
radius:
|
|
820
|
+
radius: z44.number(),
|
|
810
821
|
layer: layer_ref,
|
|
811
|
-
pcb_component_id:
|
|
812
|
-
pcb_smtpad_id:
|
|
822
|
+
pcb_component_id: z44.string().optional(),
|
|
823
|
+
pcb_smtpad_id: z44.string().optional()
|
|
813
824
|
});
|
|
814
|
-
var pcb_solder_paste_rect =
|
|
815
|
-
type:
|
|
816
|
-
shape:
|
|
825
|
+
var pcb_solder_paste_rect = z44.object({
|
|
826
|
+
type: z44.literal("pcb_solder_paste"),
|
|
827
|
+
shape: z44.literal("rect"),
|
|
817
828
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
818
829
|
x: distance,
|
|
819
830
|
y: distance,
|
|
820
|
-
width:
|
|
821
|
-
height:
|
|
831
|
+
width: z44.number(),
|
|
832
|
+
height: z44.number(),
|
|
822
833
|
layer: layer_ref,
|
|
823
|
-
pcb_component_id:
|
|
824
|
-
pcb_smtpad_id:
|
|
834
|
+
pcb_component_id: z44.string().optional(),
|
|
835
|
+
pcb_smtpad_id: z44.string().optional()
|
|
825
836
|
});
|
|
826
|
-
var pcb_solder_paste =
|
|
837
|
+
var pcb_solder_paste = z44.union([pcb_solder_paste_circle, pcb_solder_paste_rect]).describe("Defines solderpaste on the PCB");
|
|
827
838
|
expectTypesMatch(true);
|
|
828
839
|
expectTypesMatch(true);
|
|
829
840
|
|
|
830
841
|
// src/pcb/pcb_text.ts
|
|
831
|
-
import { z as
|
|
832
|
-
var pcb_text =
|
|
833
|
-
type:
|
|
842
|
+
import { z as z45 } from "zod";
|
|
843
|
+
var pcb_text = z45.object({
|
|
844
|
+
type: z45.literal("pcb_text"),
|
|
834
845
|
pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
|
|
835
|
-
text:
|
|
846
|
+
text: z45.string(),
|
|
836
847
|
center: point,
|
|
837
848
|
layer: layer_ref,
|
|
838
849
|
width: length,
|
|
839
850
|
height: length,
|
|
840
|
-
lines:
|
|
841
|
-
align:
|
|
851
|
+
lines: z45.number(),
|
|
852
|
+
align: z45.enum(["bottom-left"])
|
|
842
853
|
}).describe("Defines text on the PCB");
|
|
843
854
|
expectTypesMatch(true);
|
|
844
855
|
|
|
845
856
|
// src/pcb/pcb_trace.ts
|
|
846
|
-
import { z as
|
|
847
|
-
var pcb_trace_route_point_wire =
|
|
848
|
-
route_type:
|
|
857
|
+
import { z as z46 } from "zod";
|
|
858
|
+
var pcb_trace_route_point_wire = z46.object({
|
|
859
|
+
route_type: z46.literal("wire"),
|
|
849
860
|
x: distance,
|
|
850
861
|
y: distance,
|
|
851
862
|
width: distance,
|
|
852
|
-
start_pcb_port_id:
|
|
853
|
-
end_pcb_port_id:
|
|
863
|
+
start_pcb_port_id: z46.string().optional(),
|
|
864
|
+
end_pcb_port_id: z46.string().optional(),
|
|
854
865
|
layer: layer_ref
|
|
855
866
|
});
|
|
856
|
-
var pcb_trace_route_point_via =
|
|
857
|
-
route_type:
|
|
867
|
+
var pcb_trace_route_point_via = z46.object({
|
|
868
|
+
route_type: z46.literal("via"),
|
|
858
869
|
x: distance,
|
|
859
870
|
y: distance,
|
|
860
|
-
from_layer:
|
|
861
|
-
to_layer:
|
|
871
|
+
from_layer: z46.string(),
|
|
872
|
+
to_layer: z46.string()
|
|
862
873
|
});
|
|
863
|
-
var pcb_trace_route_point =
|
|
874
|
+
var pcb_trace_route_point = z46.union([
|
|
864
875
|
pcb_trace_route_point_wire,
|
|
865
876
|
pcb_trace_route_point_via
|
|
866
877
|
]);
|
|
867
|
-
var pcb_trace =
|
|
868
|
-
type:
|
|
869
|
-
source_trace_id:
|
|
870
|
-
pcb_component_id:
|
|
878
|
+
var pcb_trace = z46.object({
|
|
879
|
+
type: z46.literal("pcb_trace"),
|
|
880
|
+
source_trace_id: z46.string().optional(),
|
|
881
|
+
pcb_component_id: z46.string().optional(),
|
|
871
882
|
pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
|
|
872
|
-
route_thickness_mode:
|
|
873
|
-
route_order_index:
|
|
874
|
-
should_round_corners:
|
|
875
|
-
route:
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
route_type:
|
|
883
|
+
route_thickness_mode: z46.enum(["constant", "interpolated"]).default("constant").optional(),
|
|
884
|
+
route_order_index: z46.number().optional(),
|
|
885
|
+
should_round_corners: z46.boolean().optional(),
|
|
886
|
+
route: z46.array(
|
|
887
|
+
z46.union([
|
|
888
|
+
z46.object({
|
|
889
|
+
route_type: z46.literal("wire"),
|
|
879
890
|
x: distance,
|
|
880
891
|
y: distance,
|
|
881
892
|
width: distance,
|
|
882
|
-
start_pcb_port_id:
|
|
883
|
-
end_pcb_port_id:
|
|
893
|
+
start_pcb_port_id: z46.string().optional(),
|
|
894
|
+
end_pcb_port_id: z46.string().optional(),
|
|
884
895
|
layer: layer_ref
|
|
885
896
|
}),
|
|
886
|
-
|
|
887
|
-
route_type:
|
|
897
|
+
z46.object({
|
|
898
|
+
route_type: z46.literal("via"),
|
|
888
899
|
x: distance,
|
|
889
900
|
y: distance,
|
|
890
|
-
from_layer:
|
|
891
|
-
to_layer:
|
|
901
|
+
from_layer: z46.string(),
|
|
902
|
+
to_layer: z46.string()
|
|
892
903
|
})
|
|
893
904
|
])
|
|
894
905
|
)
|
|
@@ -897,34 +908,34 @@ expectTypesMatch(true);
|
|
|
897
908
|
expectTypesMatch(true);
|
|
898
909
|
|
|
899
910
|
// src/pcb/pcb_trace_error.ts
|
|
900
|
-
import { z as
|
|
901
|
-
var pcb_trace_error =
|
|
902
|
-
type:
|
|
911
|
+
import { z as z47 } from "zod";
|
|
912
|
+
var pcb_trace_error = z47.object({
|
|
913
|
+
type: z47.literal("pcb_trace_error"),
|
|
903
914
|
pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
|
|
904
|
-
error_type:
|
|
905
|
-
message:
|
|
915
|
+
error_type: z47.literal("pcb_trace_error"),
|
|
916
|
+
message: z47.string(),
|
|
906
917
|
center: point.optional(),
|
|
907
|
-
pcb_trace_id:
|
|
908
|
-
source_trace_id:
|
|
909
|
-
pcb_component_ids:
|
|
910
|
-
pcb_port_ids:
|
|
918
|
+
pcb_trace_id: z47.string(),
|
|
919
|
+
source_trace_id: z47.string(),
|
|
920
|
+
pcb_component_ids: z47.array(z47.string()),
|
|
921
|
+
pcb_port_ids: z47.array(z47.string())
|
|
911
922
|
}).describe("Defines a trace error on the PCB");
|
|
912
923
|
expectTypesMatch(true);
|
|
913
924
|
|
|
914
925
|
// src/pcb/pcb_port_not_matched_error.ts
|
|
915
|
-
import { z as
|
|
916
|
-
var pcb_port_not_matched_error =
|
|
917
|
-
type:
|
|
926
|
+
import { z as z48 } from "zod";
|
|
927
|
+
var pcb_port_not_matched_error = z48.object({
|
|
928
|
+
type: z48.literal("pcb_port_not_matched_error"),
|
|
918
929
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
919
|
-
message:
|
|
920
|
-
pcb_component_ids:
|
|
930
|
+
message: z48.string(),
|
|
931
|
+
pcb_component_ids: z48.array(z48.string())
|
|
921
932
|
}).describe("Defines a trace error on the PCB where a port is not matched");
|
|
922
933
|
expectTypesMatch(true);
|
|
923
934
|
|
|
924
935
|
// src/pcb/pcb_via.ts
|
|
925
|
-
import { z as
|
|
926
|
-
var pcb_via =
|
|
927
|
-
type:
|
|
936
|
+
import { z as z49 } from "zod";
|
|
937
|
+
var pcb_via = z49.object({
|
|
938
|
+
type: z49.literal("pcb_via"),
|
|
928
939
|
pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
|
|
929
940
|
x: distance,
|
|
930
941
|
y: distance,
|
|
@@ -934,51 +945,51 @@ var pcb_via = z48.object({
|
|
|
934
945
|
from_layer: layer_ref.optional(),
|
|
935
946
|
/** @deprecated */
|
|
936
947
|
to_layer: layer_ref.optional(),
|
|
937
|
-
layers:
|
|
938
|
-
pcb_trace_id:
|
|
948
|
+
layers: z49.array(layer_ref),
|
|
949
|
+
pcb_trace_id: z49.string().optional()
|
|
939
950
|
}).describe("Defines a via on the PCB");
|
|
940
951
|
expectTypesMatch(true);
|
|
941
952
|
|
|
942
953
|
// src/pcb/pcb_board.ts
|
|
943
|
-
import { z as
|
|
944
|
-
var pcb_board =
|
|
945
|
-
type:
|
|
954
|
+
import { z as z50 } from "zod";
|
|
955
|
+
var pcb_board = z50.object({
|
|
956
|
+
type: z50.literal("pcb_board"),
|
|
946
957
|
pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
|
|
947
958
|
width: length,
|
|
948
959
|
height: length,
|
|
949
960
|
center: point,
|
|
950
961
|
thickness: length.optional().default(1.4),
|
|
951
|
-
num_layers:
|
|
952
|
-
outline:
|
|
962
|
+
num_layers: z50.number().optional().default(4),
|
|
963
|
+
outline: z50.array(point).optional()
|
|
953
964
|
}).describe("Defines the board outline of the PCB");
|
|
954
965
|
expectTypesMatch(true);
|
|
955
966
|
|
|
956
967
|
// src/pcb/pcb_placement_error.ts
|
|
957
|
-
import { z as
|
|
958
|
-
var pcb_placement_error =
|
|
959
|
-
type:
|
|
968
|
+
import { z as z51 } from "zod";
|
|
969
|
+
var pcb_placement_error = z51.object({
|
|
970
|
+
type: z51.literal("pcb_placement_error"),
|
|
960
971
|
pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
|
|
961
|
-
message:
|
|
972
|
+
message: z51.string()
|
|
962
973
|
}).describe("Defines a placement error on the PCB");
|
|
963
974
|
expectTypesMatch(true);
|
|
964
975
|
|
|
965
976
|
// src/pcb/pcb_trace_hint.ts
|
|
966
|
-
import { z as
|
|
967
|
-
var pcb_trace_hint =
|
|
968
|
-
type:
|
|
977
|
+
import { z as z52 } from "zod";
|
|
978
|
+
var pcb_trace_hint = z52.object({
|
|
979
|
+
type: z52.literal("pcb_trace_hint"),
|
|
969
980
|
pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
|
|
970
|
-
pcb_port_id:
|
|
971
|
-
pcb_component_id:
|
|
972
|
-
route:
|
|
981
|
+
pcb_port_id: z52.string(),
|
|
982
|
+
pcb_component_id: z52.string(),
|
|
983
|
+
route: z52.array(route_hint_point)
|
|
973
984
|
}).describe("A hint that can be used during generation of a PCB trace");
|
|
974
985
|
expectTypesMatch(true);
|
|
975
986
|
|
|
976
987
|
// src/pcb/pcb_silkscreen_line.ts
|
|
977
|
-
import { z as
|
|
978
|
-
var pcb_silkscreen_line =
|
|
979
|
-
type:
|
|
988
|
+
import { z as z53 } from "zod";
|
|
989
|
+
var pcb_silkscreen_line = z53.object({
|
|
990
|
+
type: z53.literal("pcb_silkscreen_line"),
|
|
980
991
|
pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
|
|
981
|
-
pcb_component_id:
|
|
992
|
+
pcb_component_id: z53.string(),
|
|
982
993
|
stroke_width: distance.default("0.1mm"),
|
|
983
994
|
x1: distance,
|
|
984
995
|
y1: distance,
|
|
@@ -989,39 +1000,39 @@ var pcb_silkscreen_line = z52.object({
|
|
|
989
1000
|
expectTypesMatch(true);
|
|
990
1001
|
|
|
991
1002
|
// src/pcb/pcb_silkscreen_path.ts
|
|
992
|
-
import { z as
|
|
993
|
-
var pcb_silkscreen_path =
|
|
994
|
-
type:
|
|
1003
|
+
import { z as z54 } from "zod";
|
|
1004
|
+
var pcb_silkscreen_path = z54.object({
|
|
1005
|
+
type: z54.literal("pcb_silkscreen_path"),
|
|
995
1006
|
pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
|
|
996
|
-
pcb_component_id:
|
|
1007
|
+
pcb_component_id: z54.string(),
|
|
997
1008
|
layer: visible_layer,
|
|
998
|
-
route:
|
|
1009
|
+
route: z54.array(point),
|
|
999
1010
|
stroke_width: length
|
|
1000
1011
|
}).describe("Defines a silkscreen path on the PCB");
|
|
1001
1012
|
expectTypesMatch(true);
|
|
1002
1013
|
|
|
1003
1014
|
// src/pcb/pcb_silkscreen_text.ts
|
|
1004
|
-
import { z as
|
|
1005
|
-
var pcb_silkscreen_text =
|
|
1006
|
-
type:
|
|
1015
|
+
import { z as z55 } from "zod";
|
|
1016
|
+
var pcb_silkscreen_text = z55.object({
|
|
1017
|
+
type: z55.literal("pcb_silkscreen_text"),
|
|
1007
1018
|
pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
|
|
1008
|
-
font:
|
|
1019
|
+
font: z55.literal("tscircuit2024").default("tscircuit2024"),
|
|
1009
1020
|
font_size: distance.default("0.2mm"),
|
|
1010
|
-
pcb_component_id:
|
|
1011
|
-
text:
|
|
1021
|
+
pcb_component_id: z55.string(),
|
|
1022
|
+
text: z55.string(),
|
|
1012
1023
|
layer: layer_ref,
|
|
1013
|
-
is_mirrored:
|
|
1024
|
+
is_mirrored: z55.boolean().default(false).optional(),
|
|
1014
1025
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
1015
|
-
anchor_alignment:
|
|
1026
|
+
anchor_alignment: z55.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center")
|
|
1016
1027
|
}).describe("Defines silkscreen text on the PCB");
|
|
1017
1028
|
expectTypesMatch(true);
|
|
1018
1029
|
|
|
1019
1030
|
// src/pcb/pcb_silkscreen_rect.ts
|
|
1020
|
-
import { z as
|
|
1021
|
-
var pcb_silkscreen_rect =
|
|
1022
|
-
type:
|
|
1031
|
+
import { z as z56 } from "zod";
|
|
1032
|
+
var pcb_silkscreen_rect = z56.object({
|
|
1033
|
+
type: z56.literal("pcb_silkscreen_rect"),
|
|
1023
1034
|
pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
|
|
1024
|
-
pcb_component_id:
|
|
1035
|
+
pcb_component_id: z56.string(),
|
|
1025
1036
|
center: point,
|
|
1026
1037
|
width: length,
|
|
1027
1038
|
height: length,
|
|
@@ -1030,13 +1041,13 @@ var pcb_silkscreen_rect = z55.object({
|
|
|
1030
1041
|
expectTypesMatch(true);
|
|
1031
1042
|
|
|
1032
1043
|
// src/pcb/pcb_silkscreen_circle.ts
|
|
1033
|
-
import { z as
|
|
1034
|
-
var pcb_silkscreen_circle =
|
|
1035
|
-
type:
|
|
1044
|
+
import { z as z57 } from "zod";
|
|
1045
|
+
var pcb_silkscreen_circle = z57.object({
|
|
1046
|
+
type: z57.literal("pcb_silkscreen_circle"),
|
|
1036
1047
|
pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
|
|
1037
1048
|
"pcb_silkscreen_circle"
|
|
1038
1049
|
),
|
|
1039
|
-
pcb_component_id:
|
|
1050
|
+
pcb_component_id: z57.string(),
|
|
1040
1051
|
center: point,
|
|
1041
1052
|
radius: length,
|
|
1042
1053
|
layer: visible_layer
|
|
@@ -1044,11 +1055,11 @@ var pcb_silkscreen_circle = z56.object({
|
|
|
1044
1055
|
expectTypesMatch(true);
|
|
1045
1056
|
|
|
1046
1057
|
// src/pcb/pcb_silkscreen_oval.ts
|
|
1047
|
-
import { z as
|
|
1048
|
-
var pcb_silkscreen_oval =
|
|
1049
|
-
type:
|
|
1058
|
+
import { z as z58 } from "zod";
|
|
1059
|
+
var pcb_silkscreen_oval = z58.object({
|
|
1060
|
+
type: z58.literal("pcb_silkscreen_oval"),
|
|
1050
1061
|
pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
|
|
1051
|
-
pcb_component_id:
|
|
1062
|
+
pcb_component_id: z58.string(),
|
|
1052
1063
|
center: point,
|
|
1053
1064
|
radius_x: distance,
|
|
1054
1065
|
radius_y: distance,
|
|
@@ -1057,106 +1068,106 @@ var pcb_silkscreen_oval = z57.object({
|
|
|
1057
1068
|
expectTypesMatch(true);
|
|
1058
1069
|
|
|
1059
1070
|
// src/pcb/pcb_fabrication_note_text.ts
|
|
1060
|
-
import { z as
|
|
1061
|
-
var pcb_fabrication_note_text =
|
|
1062
|
-
type:
|
|
1071
|
+
import { z as z59 } from "zod";
|
|
1072
|
+
var pcb_fabrication_note_text = z59.object({
|
|
1073
|
+
type: z59.literal("pcb_fabrication_note_text"),
|
|
1063
1074
|
pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
|
|
1064
1075
|
"pcb_fabrication_note_text"
|
|
1065
1076
|
),
|
|
1066
|
-
font:
|
|
1077
|
+
font: z59.literal("tscircuit2024").default("tscircuit2024"),
|
|
1067
1078
|
font_size: distance.default("1mm"),
|
|
1068
|
-
pcb_component_id:
|
|
1069
|
-
text:
|
|
1079
|
+
pcb_component_id: z59.string(),
|
|
1080
|
+
text: z59.string(),
|
|
1070
1081
|
layer: visible_layer,
|
|
1071
1082
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
1072
|
-
anchor_alignment:
|
|
1073
|
-
color:
|
|
1083
|
+
anchor_alignment: z59.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
1084
|
+
color: z59.string().optional()
|
|
1074
1085
|
}).describe(
|
|
1075
1086
|
"Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
|
|
1076
1087
|
);
|
|
1077
1088
|
expectTypesMatch(true);
|
|
1078
1089
|
|
|
1079
1090
|
// src/pcb/pcb_fabrication_note_path.ts
|
|
1080
|
-
import { z as
|
|
1081
|
-
var pcb_fabrication_note_path =
|
|
1082
|
-
type:
|
|
1091
|
+
import { z as z60 } from "zod";
|
|
1092
|
+
var pcb_fabrication_note_path = z60.object({
|
|
1093
|
+
type: z60.literal("pcb_fabrication_note_path"),
|
|
1083
1094
|
pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
|
|
1084
1095
|
"pcb_fabrication_note_path"
|
|
1085
1096
|
),
|
|
1086
|
-
pcb_component_id:
|
|
1097
|
+
pcb_component_id: z60.string(),
|
|
1087
1098
|
layer: layer_ref,
|
|
1088
|
-
route:
|
|
1099
|
+
route: z60.array(point),
|
|
1089
1100
|
stroke_width: length,
|
|
1090
|
-
color:
|
|
1101
|
+
color: z60.string().optional()
|
|
1091
1102
|
}).describe(
|
|
1092
1103
|
"Defines a fabrication path on the PCB for fabricators or assemblers"
|
|
1093
1104
|
);
|
|
1094
1105
|
expectTypesMatch(true);
|
|
1095
1106
|
|
|
1096
1107
|
// src/pcb/pcb_keepout.ts
|
|
1097
|
-
import { z as
|
|
1098
|
-
var pcb_keepout =
|
|
1099
|
-
type:
|
|
1100
|
-
shape:
|
|
1108
|
+
import { z as z61 } from "zod";
|
|
1109
|
+
var pcb_keepout = z61.object({
|
|
1110
|
+
type: z61.literal("pcb_keepout"),
|
|
1111
|
+
shape: z61.literal("rect"),
|
|
1101
1112
|
center: point,
|
|
1102
1113
|
width: distance,
|
|
1103
1114
|
height: distance,
|
|
1104
|
-
pcb_keepout_id:
|
|
1105
|
-
layers:
|
|
1115
|
+
pcb_keepout_id: z61.string(),
|
|
1116
|
+
layers: z61.array(z61.string()),
|
|
1106
1117
|
// Specify layers where the keepout applies
|
|
1107
|
-
description:
|
|
1118
|
+
description: z61.string().optional()
|
|
1108
1119
|
// Optional description of the keepout
|
|
1109
1120
|
}).or(
|
|
1110
|
-
|
|
1111
|
-
type:
|
|
1112
|
-
shape:
|
|
1121
|
+
z61.object({
|
|
1122
|
+
type: z61.literal("pcb_keepout"),
|
|
1123
|
+
shape: z61.literal("circle"),
|
|
1113
1124
|
center: point,
|
|
1114
1125
|
radius: distance,
|
|
1115
|
-
pcb_keepout_id:
|
|
1116
|
-
layers:
|
|
1126
|
+
pcb_keepout_id: z61.string(),
|
|
1127
|
+
layers: z61.array(z61.string()),
|
|
1117
1128
|
// Specify layers where the keepout applies
|
|
1118
|
-
description:
|
|
1129
|
+
description: z61.string().optional()
|
|
1119
1130
|
// Optional description of the keepout
|
|
1120
1131
|
})
|
|
1121
1132
|
);
|
|
1122
1133
|
|
|
1123
1134
|
// src/pcb/pcb_missing_footprint_error.ts
|
|
1124
|
-
import { z as
|
|
1125
|
-
var pcb_missing_footprint_error =
|
|
1126
|
-
type:
|
|
1135
|
+
import { z as z62 } from "zod";
|
|
1136
|
+
var pcb_missing_footprint_error = z62.object({
|
|
1137
|
+
type: z62.literal("pcb_missing_footprint_error"),
|
|
1127
1138
|
pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
|
|
1128
1139
|
"pcb_missing_footprint_error"
|
|
1129
1140
|
),
|
|
1130
|
-
error_type:
|
|
1131
|
-
source_component_id:
|
|
1132
|
-
message:
|
|
1141
|
+
error_type: z62.literal("pcb_missing_footprint_error"),
|
|
1142
|
+
source_component_id: z62.string(),
|
|
1143
|
+
message: z62.string()
|
|
1133
1144
|
}).describe("Defines a missing footprint error on the PCB");
|
|
1134
1145
|
expectTypesMatch(
|
|
1135
1146
|
true
|
|
1136
1147
|
);
|
|
1137
1148
|
|
|
1138
1149
|
// src/cad/cad_component.ts
|
|
1139
|
-
import { z as
|
|
1140
|
-
var cad_component =
|
|
1141
|
-
type:
|
|
1142
|
-
cad_component_id:
|
|
1143
|
-
pcb_component_id:
|
|
1144
|
-
source_component_id:
|
|
1150
|
+
import { z as z63 } from "zod";
|
|
1151
|
+
var cad_component = z63.object({
|
|
1152
|
+
type: z63.literal("cad_component"),
|
|
1153
|
+
cad_component_id: z63.string(),
|
|
1154
|
+
pcb_component_id: z63.string(),
|
|
1155
|
+
source_component_id: z63.string(),
|
|
1145
1156
|
position: point3,
|
|
1146
1157
|
rotation: point3.optional(),
|
|
1147
1158
|
size: point3.optional(),
|
|
1148
1159
|
layer: layer_ref.optional(),
|
|
1149
1160
|
// These are all ways to generate/load the 3d model
|
|
1150
|
-
footprinter_string:
|
|
1151
|
-
model_obj_url:
|
|
1152
|
-
model_stl_url:
|
|
1153
|
-
model_3mf_url:
|
|
1154
|
-
model_jscad:
|
|
1161
|
+
footprinter_string: z63.string().optional(),
|
|
1162
|
+
model_obj_url: z63.string().optional(),
|
|
1163
|
+
model_stl_url: z63.string().optional(),
|
|
1164
|
+
model_3mf_url: z63.string().optional(),
|
|
1165
|
+
model_jscad: z63.any().optional()
|
|
1155
1166
|
}).describe("Defines a component on the PCB");
|
|
1156
1167
|
|
|
1157
1168
|
// src/any_circuit_element.ts
|
|
1158
|
-
import { z as
|
|
1159
|
-
var any_circuit_element =
|
|
1169
|
+
import { z as z64 } from "zod";
|
|
1170
|
+
var any_circuit_element = z64.union([
|
|
1160
1171
|
source_trace,
|
|
1161
1172
|
source_port,
|
|
1162
1173
|
any_source_component,
|
|
@@ -1171,6 +1182,7 @@ var any_circuit_element = z63.union([
|
|
|
1171
1182
|
source_simple_power_source,
|
|
1172
1183
|
source_simple_battery,
|
|
1173
1184
|
source_simple_inductor,
|
|
1185
|
+
source_simple_potentiometer,
|
|
1174
1186
|
source_simple_push_button,
|
|
1175
1187
|
pcb_component,
|
|
1176
1188
|
pcb_hole,
|
|
@@ -1219,6 +1231,7 @@ export {
|
|
|
1219
1231
|
capacitance,
|
|
1220
1232
|
current,
|
|
1221
1233
|
distance,
|
|
1234
|
+
frequency,
|
|
1222
1235
|
getZodPrefixedIdWithDefault,
|
|
1223
1236
|
inductance,
|
|
1224
1237
|
layer_ref,
|
|
@@ -1290,6 +1303,7 @@ export {
|
|
|
1290
1303
|
source_simple_bug,
|
|
1291
1304
|
source_simple_capacitor,
|
|
1292
1305
|
source_simple_chip,
|
|
1306
|
+
source_simple_crystal,
|
|
1293
1307
|
source_simple_diode,
|
|
1294
1308
|
source_simple_ground,
|
|
1295
1309
|
source_simple_inductor,
|