circuit-json 0.0.162 → 0.0.164
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -0
- package/dist/index.d.mts +416 -2
- package/dist/index.mjs +549 -532
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -302,7 +302,8 @@ var source_component_base = z7.object({
|
|
|
302
302
|
name: z7.string(),
|
|
303
303
|
manufacturer_part_number: z7.string().optional(),
|
|
304
304
|
supplier_part_numbers: z7.record(supplier_name, z7.array(z7.string())).optional(),
|
|
305
|
-
display_value: z7.string().optional()
|
|
305
|
+
display_value: z7.string().optional(),
|
|
306
|
+
are_pins_interchangeable: z7.boolean().optional()
|
|
306
307
|
});
|
|
307
308
|
expectTypesMatch(true);
|
|
308
309
|
|
|
@@ -368,7 +369,7 @@ var source_simple_power_source = source_component_base.extend({
|
|
|
368
369
|
expectTypesMatch(true);
|
|
369
370
|
|
|
370
371
|
// src/source/any_source_component.ts
|
|
371
|
-
import { z as
|
|
372
|
+
import { z as z28 } from "zod";
|
|
372
373
|
|
|
373
374
|
// src/source/source_simple_battery.ts
|
|
374
375
|
import { z as z16 } from "zod";
|
|
@@ -461,8 +462,22 @@ var source_project_metadata = z26.object({
|
|
|
461
462
|
});
|
|
462
463
|
expectTypesMatch(true);
|
|
463
464
|
|
|
465
|
+
// src/source/source_missing_property_error.ts
|
|
466
|
+
import { z as z27 } from "zod";
|
|
467
|
+
var source_missing_property_error = z27.object({
|
|
468
|
+
type: z27.literal("source_missing_property_error"),
|
|
469
|
+
source_missing_property_error_id: getZodPrefixedIdWithDefault(
|
|
470
|
+
"source_missing_property_error"
|
|
471
|
+
),
|
|
472
|
+
source_component_id: z27.string(),
|
|
473
|
+
property_name: z27.string(),
|
|
474
|
+
error_type: z27.literal("source_missing_property_error"),
|
|
475
|
+
message: z27.string()
|
|
476
|
+
}).describe("The source code is missing a property");
|
|
477
|
+
expectTypesMatch(true);
|
|
478
|
+
|
|
464
479
|
// src/source/any_source_component.ts
|
|
465
|
-
var any_source_component =
|
|
480
|
+
var any_source_component = z28.union([
|
|
466
481
|
source_simple_resistor,
|
|
467
482
|
source_simple_capacitor,
|
|
468
483
|
source_simple_diode,
|
|
@@ -481,68 +496,69 @@ var any_source_component = z27.union([
|
|
|
481
496
|
source_simple_switch,
|
|
482
497
|
source_simple_transistor,
|
|
483
498
|
source_simple_mosfet,
|
|
484
|
-
source_project_metadata
|
|
499
|
+
source_project_metadata,
|
|
500
|
+
source_missing_property_error
|
|
485
501
|
]);
|
|
486
502
|
|
|
487
503
|
// src/source/source_port.ts
|
|
488
|
-
import { z as
|
|
489
|
-
var source_port =
|
|
490
|
-
type:
|
|
491
|
-
pin_number:
|
|
492
|
-
port_hints:
|
|
493
|
-
name:
|
|
494
|
-
source_port_id:
|
|
495
|
-
source_component_id:
|
|
496
|
-
subcircuit_id:
|
|
504
|
+
import { z as z29 } from "zod";
|
|
505
|
+
var source_port = z29.object({
|
|
506
|
+
type: z29.literal("source_port"),
|
|
507
|
+
pin_number: z29.number().optional(),
|
|
508
|
+
port_hints: z29.array(z29.string()).optional(),
|
|
509
|
+
name: z29.string(),
|
|
510
|
+
source_port_id: z29.string(),
|
|
511
|
+
source_component_id: z29.string(),
|
|
512
|
+
subcircuit_id: z29.string().optional()
|
|
497
513
|
});
|
|
498
514
|
expectTypesMatch(true);
|
|
499
515
|
|
|
500
516
|
// src/source/source_trace.ts
|
|
501
|
-
import { z as
|
|
502
|
-
var source_trace =
|
|
503
|
-
type:
|
|
504
|
-
source_trace_id:
|
|
505
|
-
connected_source_port_ids:
|
|
506
|
-
connected_source_net_ids:
|
|
507
|
-
subcircuit_id:
|
|
508
|
-
subcircuit_connectivity_map_key:
|
|
509
|
-
max_length:
|
|
510
|
-
min_trace_thickness:
|
|
511
|
-
display_name:
|
|
517
|
+
import { z as z30 } from "zod";
|
|
518
|
+
var source_trace = z30.object({
|
|
519
|
+
type: z30.literal("source_trace"),
|
|
520
|
+
source_trace_id: z30.string(),
|
|
521
|
+
connected_source_port_ids: z30.array(z30.string()),
|
|
522
|
+
connected_source_net_ids: z30.array(z30.string()),
|
|
523
|
+
subcircuit_id: z30.string().optional(),
|
|
524
|
+
subcircuit_connectivity_map_key: z30.string().optional(),
|
|
525
|
+
max_length: z30.number().optional(),
|
|
526
|
+
min_trace_thickness: z30.number().optional(),
|
|
527
|
+
display_name: z30.string().optional()
|
|
512
528
|
});
|
|
513
529
|
expectTypesMatch(true);
|
|
514
530
|
|
|
515
531
|
// src/source/source_group.ts
|
|
516
|
-
import { z as
|
|
517
|
-
var source_group =
|
|
518
|
-
type:
|
|
519
|
-
source_group_id:
|
|
520
|
-
subcircuit_id:
|
|
521
|
-
parent_subcircuit_id:
|
|
522
|
-
is_subcircuit:
|
|
523
|
-
name:
|
|
532
|
+
import { z as z31 } from "zod";
|
|
533
|
+
var source_group = z31.object({
|
|
534
|
+
type: z31.literal("source_group"),
|
|
535
|
+
source_group_id: z31.string(),
|
|
536
|
+
subcircuit_id: z31.string().optional(),
|
|
537
|
+
parent_subcircuit_id: z31.string().optional(),
|
|
538
|
+
is_subcircuit: z31.boolean().optional(),
|
|
539
|
+
name: z31.string().optional()
|
|
524
540
|
});
|
|
525
541
|
|
|
526
542
|
// src/source/source_net.ts
|
|
527
|
-
import { z as
|
|
528
|
-
var source_net =
|
|
529
|
-
type:
|
|
530
|
-
source_net_id:
|
|
531
|
-
name:
|
|
532
|
-
member_source_group_ids:
|
|
533
|
-
is_power:
|
|
534
|
-
is_ground:
|
|
535
|
-
is_digital_signal:
|
|
536
|
-
is_analog_signal:
|
|
537
|
-
trace_width:
|
|
538
|
-
subcircuit_id:
|
|
543
|
+
import { z as z32 } from "zod";
|
|
544
|
+
var source_net = z32.object({
|
|
545
|
+
type: z32.literal("source_net"),
|
|
546
|
+
source_net_id: z32.string(),
|
|
547
|
+
name: z32.string(),
|
|
548
|
+
member_source_group_ids: z32.array(z32.string()),
|
|
549
|
+
is_power: z32.boolean().optional(),
|
|
550
|
+
is_ground: z32.boolean().optional(),
|
|
551
|
+
is_digital_signal: z32.boolean().optional(),
|
|
552
|
+
is_analog_signal: z32.boolean().optional(),
|
|
553
|
+
trace_width: z32.number().optional(),
|
|
554
|
+
subcircuit_id: z32.string().optional()
|
|
539
555
|
});
|
|
540
556
|
|
|
541
557
|
// src/schematic/schematic_box.ts
|
|
542
|
-
import { z as
|
|
543
|
-
var schematic_box =
|
|
544
|
-
type:
|
|
545
|
-
schematic_component_id:
|
|
558
|
+
import { z as z33 } from "zod";
|
|
559
|
+
var schematic_box = z33.object({
|
|
560
|
+
type: z33.literal("schematic_box"),
|
|
561
|
+
schematic_component_id: z33.string(),
|
|
546
562
|
width: distance,
|
|
547
563
|
height: distance,
|
|
548
564
|
x: distance,
|
|
@@ -551,81 +567,81 @@ var schematic_box = z32.object({
|
|
|
551
567
|
expectTypesMatch(true);
|
|
552
568
|
|
|
553
569
|
// src/schematic/schematic_path.ts
|
|
554
|
-
import { z as
|
|
555
|
-
var schematic_path =
|
|
556
|
-
type:
|
|
557
|
-
schematic_component_id:
|
|
558
|
-
fill_color:
|
|
559
|
-
is_filled:
|
|
560
|
-
points:
|
|
570
|
+
import { z as z34 } from "zod";
|
|
571
|
+
var schematic_path = z34.object({
|
|
572
|
+
type: z34.literal("schematic_path"),
|
|
573
|
+
schematic_component_id: z34.string(),
|
|
574
|
+
fill_color: z34.enum(["red", "blue"]).optional(),
|
|
575
|
+
is_filled: z34.boolean().optional(),
|
|
576
|
+
points: z34.array(point)
|
|
561
577
|
});
|
|
562
578
|
expectTypesMatch(true);
|
|
563
579
|
|
|
564
580
|
// src/schematic/schematic_component.ts
|
|
565
|
-
import { z as
|
|
566
|
-
var schematic_pin_styles =
|
|
567
|
-
|
|
581
|
+
import { z as z35 } from "zod";
|
|
582
|
+
var schematic_pin_styles = z35.record(
|
|
583
|
+
z35.object({
|
|
568
584
|
left_margin: length.optional(),
|
|
569
585
|
right_margin: length.optional(),
|
|
570
586
|
top_margin: length.optional(),
|
|
571
587
|
bottom_margin: length.optional()
|
|
572
588
|
})
|
|
573
589
|
);
|
|
574
|
-
var schematic_component_port_arrangement_by_size =
|
|
575
|
-
left_size:
|
|
576
|
-
right_size:
|
|
577
|
-
top_size:
|
|
578
|
-
bottom_size:
|
|
590
|
+
var schematic_component_port_arrangement_by_size = z35.object({
|
|
591
|
+
left_size: z35.number(),
|
|
592
|
+
right_size: z35.number(),
|
|
593
|
+
top_size: z35.number().optional(),
|
|
594
|
+
bottom_size: z35.number().optional()
|
|
579
595
|
});
|
|
580
596
|
expectTypesMatch(true);
|
|
581
|
-
var schematic_component_port_arrangement_by_sides =
|
|
582
|
-
left_side:
|
|
583
|
-
pins:
|
|
597
|
+
var schematic_component_port_arrangement_by_sides = z35.object({
|
|
598
|
+
left_side: z35.object({
|
|
599
|
+
pins: z35.array(z35.number()),
|
|
584
600
|
// @ts-ignore
|
|
585
|
-
direction:
|
|
601
|
+
direction: z35.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
586
602
|
}).optional(),
|
|
587
|
-
right_side:
|
|
588
|
-
pins:
|
|
603
|
+
right_side: z35.object({
|
|
604
|
+
pins: z35.array(z35.number()),
|
|
589
605
|
// @ts-ignore
|
|
590
|
-
direction:
|
|
606
|
+
direction: z35.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
591
607
|
}).optional(),
|
|
592
|
-
top_side:
|
|
593
|
-
pins:
|
|
608
|
+
top_side: z35.object({
|
|
609
|
+
pins: z35.array(z35.number()),
|
|
594
610
|
// @ts-ignore
|
|
595
|
-
direction:
|
|
611
|
+
direction: z35.enum(["left-to-right", "right-to-left"]).optional()
|
|
596
612
|
}).optional(),
|
|
597
|
-
bottom_side:
|
|
598
|
-
pins:
|
|
613
|
+
bottom_side: z35.object({
|
|
614
|
+
pins: z35.array(z35.number()),
|
|
599
615
|
// @ts-ignore
|
|
600
|
-
direction:
|
|
616
|
+
direction: z35.enum(["left-to-right", "right-to-left"]).optional()
|
|
601
617
|
}).optional()
|
|
602
618
|
});
|
|
603
619
|
expectTypesMatch(true);
|
|
604
|
-
var port_arrangement =
|
|
620
|
+
var port_arrangement = z35.union([
|
|
605
621
|
schematic_component_port_arrangement_by_size,
|
|
606
622
|
schematic_component_port_arrangement_by_sides
|
|
607
623
|
]);
|
|
608
|
-
var schematic_component =
|
|
609
|
-
type:
|
|
624
|
+
var schematic_component = z35.object({
|
|
625
|
+
type: z35.literal("schematic_component"),
|
|
610
626
|
size,
|
|
611
627
|
center: point,
|
|
612
|
-
source_component_id:
|
|
613
|
-
schematic_component_id:
|
|
628
|
+
source_component_id: z35.string(),
|
|
629
|
+
schematic_component_id: z35.string(),
|
|
614
630
|
pin_spacing: length.optional(),
|
|
615
631
|
pin_styles: schematic_pin_styles.optional(),
|
|
616
632
|
box_width: length.optional(),
|
|
617
|
-
symbol_name:
|
|
633
|
+
symbol_name: z35.string().optional(),
|
|
618
634
|
port_arrangement: port_arrangement.optional(),
|
|
619
|
-
port_labels:
|
|
620
|
-
symbol_display_value:
|
|
635
|
+
port_labels: z35.record(z35.string()).optional(),
|
|
636
|
+
symbol_display_value: z35.string().optional()
|
|
621
637
|
});
|
|
622
638
|
expectTypesMatch(true);
|
|
623
639
|
|
|
624
640
|
// src/schematic/schematic_line.ts
|
|
625
|
-
import { z as
|
|
626
|
-
var schematic_line =
|
|
627
|
-
type:
|
|
628
|
-
schematic_component_id:
|
|
641
|
+
import { z as z36 } from "zod";
|
|
642
|
+
var schematic_line = z36.object({
|
|
643
|
+
type: z36.literal("schematic_line"),
|
|
644
|
+
schematic_component_id: z36.string(),
|
|
629
645
|
x1: distance,
|
|
630
646
|
x2: distance,
|
|
631
647
|
y1: distance,
|
|
@@ -634,113 +650,113 @@ var schematic_line = z35.object({
|
|
|
634
650
|
expectTypesMatch(true);
|
|
635
651
|
|
|
636
652
|
// src/schematic/schematic_trace.ts
|
|
637
|
-
import { z as
|
|
638
|
-
var schematic_trace =
|
|
639
|
-
type:
|
|
640
|
-
schematic_trace_id:
|
|
641
|
-
source_trace_id:
|
|
642
|
-
junctions:
|
|
643
|
-
|
|
644
|
-
x:
|
|
645
|
-
y:
|
|
653
|
+
import { z as z37 } from "zod";
|
|
654
|
+
var schematic_trace = z37.object({
|
|
655
|
+
type: z37.literal("schematic_trace"),
|
|
656
|
+
schematic_trace_id: z37.string(),
|
|
657
|
+
source_trace_id: z37.string(),
|
|
658
|
+
junctions: z37.array(
|
|
659
|
+
z37.object({
|
|
660
|
+
x: z37.number(),
|
|
661
|
+
y: z37.number()
|
|
646
662
|
})
|
|
647
663
|
),
|
|
648
|
-
edges:
|
|
649
|
-
|
|
650
|
-
from:
|
|
651
|
-
x:
|
|
652
|
-
y:
|
|
664
|
+
edges: z37.array(
|
|
665
|
+
z37.object({
|
|
666
|
+
from: z37.object({
|
|
667
|
+
x: z37.number(),
|
|
668
|
+
y: z37.number()
|
|
653
669
|
}),
|
|
654
|
-
to:
|
|
655
|
-
x:
|
|
656
|
-
y:
|
|
670
|
+
to: z37.object({
|
|
671
|
+
x: z37.number(),
|
|
672
|
+
y: z37.number()
|
|
657
673
|
}),
|
|
658
|
-
is_crossing:
|
|
659
|
-
from_schematic_port_id:
|
|
660
|
-
to_schematic_port_id:
|
|
674
|
+
is_crossing: z37.boolean().optional(),
|
|
675
|
+
from_schematic_port_id: z37.string().optional(),
|
|
676
|
+
to_schematic_port_id: z37.string().optional()
|
|
661
677
|
})
|
|
662
678
|
)
|
|
663
679
|
});
|
|
664
680
|
expectTypesMatch(true);
|
|
665
681
|
|
|
666
682
|
// src/schematic/schematic_text.ts
|
|
667
|
-
import { z as
|
|
668
|
-
var schematic_text =
|
|
669
|
-
type:
|
|
670
|
-
schematic_component_id:
|
|
671
|
-
schematic_text_id:
|
|
672
|
-
text:
|
|
673
|
-
position:
|
|
683
|
+
import { z as z38 } from "zod";
|
|
684
|
+
var schematic_text = z38.object({
|
|
685
|
+
type: z38.literal("schematic_text"),
|
|
686
|
+
schematic_component_id: z38.string(),
|
|
687
|
+
schematic_text_id: z38.string(),
|
|
688
|
+
text: z38.string(),
|
|
689
|
+
position: z38.object({
|
|
674
690
|
x: distance,
|
|
675
691
|
y: distance
|
|
676
692
|
}),
|
|
677
|
-
rotation:
|
|
678
|
-
anchor:
|
|
679
|
-
color:
|
|
693
|
+
rotation: z38.number().default(0),
|
|
694
|
+
anchor: z38.enum(["center", "left", "right", "top", "bottom"]).default("center"),
|
|
695
|
+
color: z38.string().default("#000000")
|
|
680
696
|
});
|
|
681
697
|
expectTypesMatch(true);
|
|
682
698
|
|
|
683
699
|
// src/schematic/schematic_port.ts
|
|
684
|
-
import { z as
|
|
685
|
-
var schematic_port =
|
|
686
|
-
type:
|
|
687
|
-
schematic_port_id:
|
|
688
|
-
source_port_id:
|
|
689
|
-
schematic_component_id:
|
|
700
|
+
import { z as z39 } from "zod";
|
|
701
|
+
var schematic_port = z39.object({
|
|
702
|
+
type: z39.literal("schematic_port"),
|
|
703
|
+
schematic_port_id: z39.string(),
|
|
704
|
+
source_port_id: z39.string(),
|
|
705
|
+
schematic_component_id: z39.string().optional(),
|
|
690
706
|
center: point,
|
|
691
|
-
facing_direction:
|
|
692
|
-
distance_from_component_edge:
|
|
693
|
-
side_of_component:
|
|
694
|
-
true_ccw_index:
|
|
695
|
-
pin_number:
|
|
696
|
-
display_pin_label:
|
|
707
|
+
facing_direction: z39.enum(["up", "down", "left", "right"]).optional(),
|
|
708
|
+
distance_from_component_edge: z39.number().optional(),
|
|
709
|
+
side_of_component: z39.enum(["top", "bottom", "left", "right"]).optional(),
|
|
710
|
+
true_ccw_index: z39.number().optional(),
|
|
711
|
+
pin_number: z39.number().optional(),
|
|
712
|
+
display_pin_label: z39.string().optional()
|
|
697
713
|
}).describe("Defines a port on a schematic component");
|
|
698
714
|
expectTypesMatch(true);
|
|
699
715
|
|
|
700
716
|
// src/schematic/schematic_net_label.ts
|
|
701
|
-
import { z as
|
|
702
|
-
var schematic_net_label =
|
|
703
|
-
type:
|
|
704
|
-
source_net_id:
|
|
717
|
+
import { z as z40 } from "zod";
|
|
718
|
+
var schematic_net_label = z40.object({
|
|
719
|
+
type: z40.literal("schematic_net_label"),
|
|
720
|
+
source_net_id: z40.string(),
|
|
705
721
|
center: point,
|
|
706
722
|
anchor_position: point.optional(),
|
|
707
|
-
anchor_side:
|
|
708
|
-
text:
|
|
709
|
-
symbol_name:
|
|
723
|
+
anchor_side: z40.enum(["top", "bottom", "left", "right"]),
|
|
724
|
+
text: z40.string(),
|
|
725
|
+
symbol_name: z40.string().optional()
|
|
710
726
|
});
|
|
711
727
|
|
|
712
728
|
// src/schematic/schematic_error.ts
|
|
713
|
-
import { z as
|
|
714
|
-
var schematic_error =
|
|
715
|
-
type:
|
|
716
|
-
schematic_error_id:
|
|
729
|
+
import { z as z41 } from "zod";
|
|
730
|
+
var schematic_error = z41.object({
|
|
731
|
+
type: z41.literal("schematic_error"),
|
|
732
|
+
schematic_error_id: z41.string(),
|
|
717
733
|
// eventually each error type should be broken out into a dir of files
|
|
718
|
-
error_type:
|
|
719
|
-
message:
|
|
734
|
+
error_type: z41.literal("schematic_port_not_found"),
|
|
735
|
+
message: z41.string()
|
|
720
736
|
}).describe("Defines a schematic error on the schematic");
|
|
721
737
|
expectTypesMatch(true);
|
|
722
738
|
|
|
723
739
|
// src/schematic/schematic_debug_object.ts
|
|
724
|
-
import { z as
|
|
725
|
-
var schematic_debug_object_base =
|
|
726
|
-
type:
|
|
727
|
-
label:
|
|
740
|
+
import { z as z42 } from "zod";
|
|
741
|
+
var schematic_debug_object_base = z42.object({
|
|
742
|
+
type: z42.literal("schematic_debug_object"),
|
|
743
|
+
label: z42.string().optional()
|
|
728
744
|
});
|
|
729
745
|
var schematic_debug_rect = schematic_debug_object_base.extend({
|
|
730
|
-
shape:
|
|
746
|
+
shape: z42.literal("rect"),
|
|
731
747
|
center: point,
|
|
732
748
|
size
|
|
733
749
|
});
|
|
734
750
|
var schematic_debug_line = schematic_debug_object_base.extend({
|
|
735
|
-
shape:
|
|
751
|
+
shape: z42.literal("line"),
|
|
736
752
|
start: point,
|
|
737
753
|
end: point
|
|
738
754
|
});
|
|
739
755
|
var schematic_debug_point = schematic_debug_object_base.extend({
|
|
740
|
-
shape:
|
|
756
|
+
shape: z42.literal("point"),
|
|
741
757
|
center: point
|
|
742
758
|
});
|
|
743
|
-
var schematic_debug_object =
|
|
759
|
+
var schematic_debug_object = z42.discriminatedUnion("shape", [
|
|
744
760
|
schematic_debug_rect,
|
|
745
761
|
schematic_debug_line,
|
|
746
762
|
schematic_debug_point
|
|
@@ -748,35 +764,35 @@ var schematic_debug_object = z41.discriminatedUnion("shape", [
|
|
|
748
764
|
expectTypesMatch(true);
|
|
749
765
|
|
|
750
766
|
// src/schematic/schematic_voltage_probe.ts
|
|
751
|
-
import { z as
|
|
752
|
-
var schematic_voltage_probe =
|
|
753
|
-
type:
|
|
754
|
-
schematic_voltage_probe_id:
|
|
767
|
+
import { z as z43 } from "zod";
|
|
768
|
+
var schematic_voltage_probe = z43.object({
|
|
769
|
+
type: z43.literal("schematic_voltage_probe"),
|
|
770
|
+
schematic_voltage_probe_id: z43.string(),
|
|
755
771
|
position: point,
|
|
756
|
-
schematic_trace_id:
|
|
772
|
+
schematic_trace_id: z43.string(),
|
|
757
773
|
voltage: voltage.optional()
|
|
758
774
|
}).describe("Defines a voltage probe measurement point on a schematic trace");
|
|
759
775
|
expectTypesMatch(true);
|
|
760
776
|
|
|
761
777
|
// src/schematic/schematic_manual_edit_conflict_warning.ts
|
|
762
|
-
import { z as
|
|
763
|
-
var schematic_manual_edit_conflict_warning =
|
|
764
|
-
type:
|
|
778
|
+
import { z as z44 } from "zod";
|
|
779
|
+
var schematic_manual_edit_conflict_warning = z44.object({
|
|
780
|
+
type: z44.literal("schematic_manual_edit_conflict_warning"),
|
|
765
781
|
schematic_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
766
782
|
"schematic_manual_edit_conflict_warning"
|
|
767
783
|
),
|
|
768
|
-
message:
|
|
769
|
-
schematic_component_id:
|
|
770
|
-
schematic_group_id:
|
|
771
|
-
subcircuit_id:
|
|
772
|
-
source_component_id:
|
|
784
|
+
message: z44.string(),
|
|
785
|
+
schematic_component_id: z44.string(),
|
|
786
|
+
schematic_group_id: z44.string().optional(),
|
|
787
|
+
subcircuit_id: z44.string().optional(),
|
|
788
|
+
source_component_id: z44.string()
|
|
773
789
|
}).describe(
|
|
774
790
|
"Warning emitted when a component has both manual placement and explicit schX/schY coordinates"
|
|
775
791
|
);
|
|
776
792
|
expectTypesMatch(true);
|
|
777
793
|
|
|
778
794
|
// src/pcb/properties/layer_ref.ts
|
|
779
|
-
import { z as
|
|
795
|
+
import { z as z45 } from "zod";
|
|
780
796
|
var all_layers = [
|
|
781
797
|
"top",
|
|
782
798
|
"bottom",
|
|
@@ -787,9 +803,9 @@ var all_layers = [
|
|
|
787
803
|
"inner5",
|
|
788
804
|
"inner6"
|
|
789
805
|
];
|
|
790
|
-
var layer_string =
|
|
806
|
+
var layer_string = z45.enum(all_layers);
|
|
791
807
|
var layer_ref = layer_string.or(
|
|
792
|
-
|
|
808
|
+
z45.object({
|
|
793
809
|
name: layer_string
|
|
794
810
|
})
|
|
795
811
|
).transform((layer) => {
|
|
@@ -798,52 +814,52 @@ var layer_ref = layer_string.or(
|
|
|
798
814
|
}
|
|
799
815
|
return layer.name;
|
|
800
816
|
});
|
|
801
|
-
var visible_layer =
|
|
817
|
+
var visible_layer = z45.enum(["top", "bottom"]);
|
|
802
818
|
|
|
803
819
|
// src/pcb/properties/pcb_route_hints.ts
|
|
804
|
-
import { z as
|
|
805
|
-
var pcb_route_hint =
|
|
820
|
+
import { z as z46 } from "zod";
|
|
821
|
+
var pcb_route_hint = z46.object({
|
|
806
822
|
x: distance,
|
|
807
823
|
y: distance,
|
|
808
|
-
via:
|
|
824
|
+
via: z46.boolean().optional(),
|
|
809
825
|
via_to_layer: layer_ref.optional()
|
|
810
826
|
});
|
|
811
|
-
var pcb_route_hints =
|
|
827
|
+
var pcb_route_hints = z46.array(pcb_route_hint);
|
|
812
828
|
|
|
813
829
|
// src/pcb/properties/route_hint_point.ts
|
|
814
|
-
import { z as
|
|
815
|
-
var route_hint_point =
|
|
830
|
+
import { z as z47 } from "zod";
|
|
831
|
+
var route_hint_point = z47.object({
|
|
816
832
|
x: distance,
|
|
817
833
|
y: distance,
|
|
818
|
-
via:
|
|
834
|
+
via: z47.boolean().optional(),
|
|
819
835
|
to_layer: layer_ref.optional(),
|
|
820
836
|
trace_width: distance.optional()
|
|
821
837
|
});
|
|
822
838
|
|
|
823
839
|
// src/pcb/pcb_component.ts
|
|
824
|
-
import { z as
|
|
825
|
-
var pcb_component =
|
|
826
|
-
type:
|
|
840
|
+
import { z as z48 } from "zod";
|
|
841
|
+
var pcb_component = z48.object({
|
|
842
|
+
type: z48.literal("pcb_component"),
|
|
827
843
|
pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
|
|
828
|
-
source_component_id:
|
|
844
|
+
source_component_id: z48.string(),
|
|
829
845
|
center: point,
|
|
830
846
|
layer: layer_ref,
|
|
831
847
|
rotation,
|
|
832
848
|
width: length,
|
|
833
849
|
height: length,
|
|
834
|
-
subcircuit_id:
|
|
850
|
+
subcircuit_id: z48.string().optional()
|
|
835
851
|
}).describe("Defines a component on the PCB");
|
|
836
852
|
expectTypesMatch(true);
|
|
837
853
|
|
|
838
854
|
// src/pcb/pcb_hole.ts
|
|
839
|
-
import { z as
|
|
840
|
-
var pcb_hole_circle_or_square =
|
|
841
|
-
type:
|
|
855
|
+
import { z as z49 } from "zod";
|
|
856
|
+
var pcb_hole_circle_or_square = z49.object({
|
|
857
|
+
type: z49.literal("pcb_hole"),
|
|
842
858
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
843
|
-
pcb_group_id:
|
|
844
|
-
subcircuit_id:
|
|
845
|
-
hole_shape:
|
|
846
|
-
hole_diameter:
|
|
859
|
+
pcb_group_id: z49.string().optional(),
|
|
860
|
+
subcircuit_id: z49.string().optional(),
|
|
861
|
+
hole_shape: z49.enum(["circle", "square"]),
|
|
862
|
+
hole_diameter: z49.number(),
|
|
847
863
|
x: distance,
|
|
848
864
|
y: distance
|
|
849
865
|
});
|
|
@@ -851,14 +867,14 @@ var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
|
|
|
851
867
|
"Defines a circular or square hole on the PCB"
|
|
852
868
|
);
|
|
853
869
|
expectTypesMatch(true);
|
|
854
|
-
var pcb_hole_oval =
|
|
855
|
-
type:
|
|
870
|
+
var pcb_hole_oval = z49.object({
|
|
871
|
+
type: z49.literal("pcb_hole"),
|
|
856
872
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
857
|
-
pcb_group_id:
|
|
858
|
-
subcircuit_id:
|
|
859
|
-
hole_shape:
|
|
860
|
-
hole_width:
|
|
861
|
-
hole_height:
|
|
873
|
+
pcb_group_id: z49.string().optional(),
|
|
874
|
+
subcircuit_id: z49.string().optional(),
|
|
875
|
+
hole_shape: z49.literal("oval"),
|
|
876
|
+
hole_width: z49.number(),
|
|
877
|
+
hole_height: z49.number(),
|
|
862
878
|
x: distance,
|
|
863
879
|
y: distance
|
|
864
880
|
});
|
|
@@ -869,77 +885,77 @@ expectTypesMatch(true);
|
|
|
869
885
|
var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval);
|
|
870
886
|
|
|
871
887
|
// src/pcb/pcb_plated_hole.ts
|
|
872
|
-
import { z as
|
|
873
|
-
var pcb_plated_hole_circle =
|
|
874
|
-
type:
|
|
875
|
-
shape:
|
|
876
|
-
pcb_group_id:
|
|
877
|
-
subcircuit_id:
|
|
878
|
-
outer_diameter:
|
|
879
|
-
hole_diameter:
|
|
888
|
+
import { z as z50 } from "zod";
|
|
889
|
+
var pcb_plated_hole_circle = z50.object({
|
|
890
|
+
type: z50.literal("pcb_plated_hole"),
|
|
891
|
+
shape: z50.literal("circle"),
|
|
892
|
+
pcb_group_id: z50.string().optional(),
|
|
893
|
+
subcircuit_id: z50.string().optional(),
|
|
894
|
+
outer_diameter: z50.number(),
|
|
895
|
+
hole_diameter: z50.number(),
|
|
880
896
|
x: distance,
|
|
881
897
|
y: distance,
|
|
882
|
-
layers:
|
|
883
|
-
port_hints:
|
|
884
|
-
pcb_component_id:
|
|
885
|
-
pcb_port_id:
|
|
898
|
+
layers: z50.array(layer_ref),
|
|
899
|
+
port_hints: z50.array(z50.string()).optional(),
|
|
900
|
+
pcb_component_id: z50.string().optional(),
|
|
901
|
+
pcb_port_id: z50.string().optional(),
|
|
886
902
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
887
903
|
});
|
|
888
|
-
var pcb_plated_hole_oval =
|
|
889
|
-
type:
|
|
890
|
-
shape:
|
|
891
|
-
pcb_group_id:
|
|
892
|
-
subcircuit_id:
|
|
893
|
-
outer_width:
|
|
894
|
-
outer_height:
|
|
895
|
-
hole_width:
|
|
896
|
-
hole_height:
|
|
904
|
+
var pcb_plated_hole_oval = z50.object({
|
|
905
|
+
type: z50.literal("pcb_plated_hole"),
|
|
906
|
+
shape: z50.enum(["oval", "pill"]),
|
|
907
|
+
pcb_group_id: z50.string().optional(),
|
|
908
|
+
subcircuit_id: z50.string().optional(),
|
|
909
|
+
outer_width: z50.number(),
|
|
910
|
+
outer_height: z50.number(),
|
|
911
|
+
hole_width: z50.number(),
|
|
912
|
+
hole_height: z50.number(),
|
|
897
913
|
x: distance,
|
|
898
914
|
y: distance,
|
|
899
|
-
layers:
|
|
900
|
-
port_hints:
|
|
901
|
-
pcb_component_id:
|
|
902
|
-
pcb_port_id:
|
|
915
|
+
layers: z50.array(layer_ref),
|
|
916
|
+
port_hints: z50.array(z50.string()).optional(),
|
|
917
|
+
pcb_component_id: z50.string().optional(),
|
|
918
|
+
pcb_port_id: z50.string().optional(),
|
|
903
919
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
904
920
|
});
|
|
905
|
-
var pcb_circular_hole_with_rect_pad =
|
|
906
|
-
type:
|
|
907
|
-
shape:
|
|
908
|
-
pcb_group_id:
|
|
909
|
-
subcircuit_id:
|
|
910
|
-
hole_shape:
|
|
911
|
-
pad_shape:
|
|
912
|
-
hole_diameter:
|
|
913
|
-
rect_pad_width:
|
|
914
|
-
rect_pad_height:
|
|
921
|
+
var pcb_circular_hole_with_rect_pad = z50.object({
|
|
922
|
+
type: z50.literal("pcb_plated_hole"),
|
|
923
|
+
shape: z50.literal("circular_hole_with_rect_pad"),
|
|
924
|
+
pcb_group_id: z50.string().optional(),
|
|
925
|
+
subcircuit_id: z50.string().optional(),
|
|
926
|
+
hole_shape: z50.literal("circle"),
|
|
927
|
+
pad_shape: z50.literal("rect"),
|
|
928
|
+
hole_diameter: z50.number(),
|
|
929
|
+
rect_pad_width: z50.number(),
|
|
930
|
+
rect_pad_height: z50.number(),
|
|
915
931
|
x: distance,
|
|
916
932
|
y: distance,
|
|
917
|
-
layers:
|
|
918
|
-
port_hints:
|
|
919
|
-
pcb_component_id:
|
|
920
|
-
pcb_port_id:
|
|
933
|
+
layers: z50.array(layer_ref),
|
|
934
|
+
port_hints: z50.array(z50.string()).optional(),
|
|
935
|
+
pcb_component_id: z50.string().optional(),
|
|
936
|
+
pcb_port_id: z50.string().optional(),
|
|
921
937
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
922
938
|
});
|
|
923
|
-
var pcb_pill_hole_with_rect_pad =
|
|
924
|
-
type:
|
|
925
|
-
shape:
|
|
926
|
-
pcb_group_id:
|
|
927
|
-
subcircuit_id:
|
|
928
|
-
hole_shape:
|
|
929
|
-
pad_shape:
|
|
930
|
-
hole_width:
|
|
931
|
-
hole_height:
|
|
932
|
-
rect_pad_width:
|
|
933
|
-
rect_pad_height:
|
|
939
|
+
var pcb_pill_hole_with_rect_pad = z50.object({
|
|
940
|
+
type: z50.literal("pcb_plated_hole"),
|
|
941
|
+
shape: z50.literal("pill_hole_with_rect_pad"),
|
|
942
|
+
pcb_group_id: z50.string().optional(),
|
|
943
|
+
subcircuit_id: z50.string().optional(),
|
|
944
|
+
hole_shape: z50.literal("pill"),
|
|
945
|
+
pad_shape: z50.literal("rect"),
|
|
946
|
+
hole_width: z50.number(),
|
|
947
|
+
hole_height: z50.number(),
|
|
948
|
+
rect_pad_width: z50.number(),
|
|
949
|
+
rect_pad_height: z50.number(),
|
|
934
950
|
x: distance,
|
|
935
951
|
y: distance,
|
|
936
|
-
layers:
|
|
937
|
-
port_hints:
|
|
938
|
-
pcb_component_id:
|
|
939
|
-
pcb_port_id:
|
|
952
|
+
layers: z50.array(layer_ref),
|
|
953
|
+
port_hints: z50.array(z50.string()).optional(),
|
|
954
|
+
pcb_component_id: z50.string().optional(),
|
|
955
|
+
pcb_port_id: z50.string().optional(),
|
|
940
956
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
941
957
|
});
|
|
942
|
-
var pcb_plated_hole =
|
|
958
|
+
var pcb_plated_hole = z50.union([
|
|
943
959
|
pcb_plated_hole_circle,
|
|
944
960
|
pcb_plated_hole_oval,
|
|
945
961
|
pcb_circular_hole_with_rect_pad
|
|
@@ -951,84 +967,84 @@ expectTypesMatch(true);
|
|
|
951
967
|
expectTypesMatch(true);
|
|
952
968
|
|
|
953
969
|
// src/pcb/pcb_port.ts
|
|
954
|
-
import { z as
|
|
955
|
-
var pcb_port =
|
|
956
|
-
type:
|
|
970
|
+
import { z as z51 } from "zod";
|
|
971
|
+
var pcb_port = z51.object({
|
|
972
|
+
type: z51.literal("pcb_port"),
|
|
957
973
|
pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
|
|
958
|
-
pcb_group_id:
|
|
959
|
-
subcircuit_id:
|
|
960
|
-
source_port_id:
|
|
961
|
-
pcb_component_id:
|
|
974
|
+
pcb_group_id: z51.string().optional(),
|
|
975
|
+
subcircuit_id: z51.string().optional(),
|
|
976
|
+
source_port_id: z51.string(),
|
|
977
|
+
pcb_component_id: z51.string(),
|
|
962
978
|
x: distance,
|
|
963
979
|
y: distance,
|
|
964
|
-
layers:
|
|
980
|
+
layers: z51.array(layer_ref)
|
|
965
981
|
}).describe("Defines a port on the PCB");
|
|
966
982
|
expectTypesMatch(true);
|
|
967
983
|
|
|
968
984
|
// src/pcb/pcb_smtpad.ts
|
|
969
|
-
import { z as
|
|
970
|
-
var pcb_smtpad_circle =
|
|
971
|
-
type:
|
|
972
|
-
shape:
|
|
985
|
+
import { z as z52 } from "zod";
|
|
986
|
+
var pcb_smtpad_circle = z52.object({
|
|
987
|
+
type: z52.literal("pcb_smtpad"),
|
|
988
|
+
shape: z52.literal("circle"),
|
|
973
989
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
974
|
-
pcb_group_id:
|
|
975
|
-
subcircuit_id:
|
|
990
|
+
pcb_group_id: z52.string().optional(),
|
|
991
|
+
subcircuit_id: z52.string().optional(),
|
|
976
992
|
x: distance,
|
|
977
993
|
y: distance,
|
|
978
|
-
radius:
|
|
994
|
+
radius: z52.number(),
|
|
979
995
|
layer: layer_ref,
|
|
980
|
-
port_hints:
|
|
981
|
-
pcb_component_id:
|
|
982
|
-
pcb_port_id:
|
|
996
|
+
port_hints: z52.array(z52.string()).optional(),
|
|
997
|
+
pcb_component_id: z52.string().optional(),
|
|
998
|
+
pcb_port_id: z52.string().optional()
|
|
983
999
|
});
|
|
984
|
-
var pcb_smtpad_rect =
|
|
985
|
-
type:
|
|
986
|
-
shape:
|
|
1000
|
+
var pcb_smtpad_rect = z52.object({
|
|
1001
|
+
type: z52.literal("pcb_smtpad"),
|
|
1002
|
+
shape: z52.literal("rect"),
|
|
987
1003
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
988
|
-
pcb_group_id:
|
|
989
|
-
subcircuit_id:
|
|
1004
|
+
pcb_group_id: z52.string().optional(),
|
|
1005
|
+
subcircuit_id: z52.string().optional(),
|
|
990
1006
|
x: distance,
|
|
991
1007
|
y: distance,
|
|
992
|
-
width:
|
|
993
|
-
height:
|
|
1008
|
+
width: z52.number(),
|
|
1009
|
+
height: z52.number(),
|
|
994
1010
|
layer: layer_ref,
|
|
995
|
-
port_hints:
|
|
996
|
-
pcb_component_id:
|
|
997
|
-
pcb_port_id:
|
|
1011
|
+
port_hints: z52.array(z52.string()).optional(),
|
|
1012
|
+
pcb_component_id: z52.string().optional(),
|
|
1013
|
+
pcb_port_id: z52.string().optional()
|
|
998
1014
|
});
|
|
999
|
-
var pcb_smtpad_rotated_rect =
|
|
1000
|
-
type:
|
|
1001
|
-
shape:
|
|
1015
|
+
var pcb_smtpad_rotated_rect = z52.object({
|
|
1016
|
+
type: z52.literal("pcb_smtpad"),
|
|
1017
|
+
shape: z52.literal("rotated_rect"),
|
|
1002
1018
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1003
|
-
pcb_group_id:
|
|
1004
|
-
subcircuit_id:
|
|
1019
|
+
pcb_group_id: z52.string().optional(),
|
|
1020
|
+
subcircuit_id: z52.string().optional(),
|
|
1005
1021
|
x: distance,
|
|
1006
1022
|
y: distance,
|
|
1007
|
-
width:
|
|
1008
|
-
height:
|
|
1023
|
+
width: z52.number(),
|
|
1024
|
+
height: z52.number(),
|
|
1009
1025
|
ccw_rotation: rotation,
|
|
1010
1026
|
layer: layer_ref,
|
|
1011
|
-
port_hints:
|
|
1012
|
-
pcb_component_id:
|
|
1013
|
-
pcb_port_id:
|
|
1027
|
+
port_hints: z52.array(z52.string()).optional(),
|
|
1028
|
+
pcb_component_id: z52.string().optional(),
|
|
1029
|
+
pcb_port_id: z52.string().optional()
|
|
1014
1030
|
});
|
|
1015
|
-
var pcb_smtpad_pill =
|
|
1016
|
-
type:
|
|
1017
|
-
shape:
|
|
1031
|
+
var pcb_smtpad_pill = z52.object({
|
|
1032
|
+
type: z52.literal("pcb_smtpad"),
|
|
1033
|
+
shape: z52.literal("pill"),
|
|
1018
1034
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1019
|
-
pcb_group_id:
|
|
1020
|
-
subcircuit_id:
|
|
1035
|
+
pcb_group_id: z52.string().optional(),
|
|
1036
|
+
subcircuit_id: z52.string().optional(),
|
|
1021
1037
|
x: distance,
|
|
1022
1038
|
y: distance,
|
|
1023
|
-
width:
|
|
1024
|
-
height:
|
|
1025
|
-
radius:
|
|
1039
|
+
width: z52.number(),
|
|
1040
|
+
height: z52.number(),
|
|
1041
|
+
radius: z52.number(),
|
|
1026
1042
|
layer: layer_ref,
|
|
1027
|
-
port_hints:
|
|
1028
|
-
pcb_component_id:
|
|
1029
|
-
pcb_port_id:
|
|
1043
|
+
port_hints: z52.array(z52.string()).optional(),
|
|
1044
|
+
pcb_component_id: z52.string().optional(),
|
|
1045
|
+
pcb_port_id: z52.string().optional()
|
|
1030
1046
|
});
|
|
1031
|
-
var pcb_smtpad =
|
|
1047
|
+
var pcb_smtpad = z52.union([
|
|
1032
1048
|
pcb_smtpad_circle,
|
|
1033
1049
|
pcb_smtpad_rect,
|
|
1034
1050
|
pcb_smtpad_rotated_rect,
|
|
@@ -1040,79 +1056,79 @@ expectTypesMatch(true);
|
|
|
1040
1056
|
expectTypesMatch(true);
|
|
1041
1057
|
|
|
1042
1058
|
// src/pcb/pcb_solder_paste.ts
|
|
1043
|
-
import { z as
|
|
1044
|
-
var pcb_solder_paste_circle =
|
|
1045
|
-
type:
|
|
1046
|
-
shape:
|
|
1059
|
+
import { z as z53 } from "zod";
|
|
1060
|
+
var pcb_solder_paste_circle = z53.object({
|
|
1061
|
+
type: z53.literal("pcb_solder_paste"),
|
|
1062
|
+
shape: z53.literal("circle"),
|
|
1047
1063
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1048
|
-
pcb_group_id:
|
|
1049
|
-
subcircuit_id:
|
|
1064
|
+
pcb_group_id: z53.string().optional(),
|
|
1065
|
+
subcircuit_id: z53.string().optional(),
|
|
1050
1066
|
x: distance,
|
|
1051
1067
|
y: distance,
|
|
1052
|
-
radius:
|
|
1068
|
+
radius: z53.number(),
|
|
1053
1069
|
layer: layer_ref,
|
|
1054
|
-
pcb_component_id:
|
|
1055
|
-
pcb_smtpad_id:
|
|
1070
|
+
pcb_component_id: z53.string().optional(),
|
|
1071
|
+
pcb_smtpad_id: z53.string().optional()
|
|
1056
1072
|
});
|
|
1057
|
-
var pcb_solder_paste_rect =
|
|
1058
|
-
type:
|
|
1059
|
-
shape:
|
|
1073
|
+
var pcb_solder_paste_rect = z53.object({
|
|
1074
|
+
type: z53.literal("pcb_solder_paste"),
|
|
1075
|
+
shape: z53.literal("rect"),
|
|
1060
1076
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1061
|
-
pcb_group_id:
|
|
1062
|
-
subcircuit_id:
|
|
1077
|
+
pcb_group_id: z53.string().optional(),
|
|
1078
|
+
subcircuit_id: z53.string().optional(),
|
|
1063
1079
|
x: distance,
|
|
1064
1080
|
y: distance,
|
|
1065
|
-
width:
|
|
1066
|
-
height:
|
|
1081
|
+
width: z53.number(),
|
|
1082
|
+
height: z53.number(),
|
|
1067
1083
|
layer: layer_ref,
|
|
1068
|
-
pcb_component_id:
|
|
1069
|
-
pcb_smtpad_id:
|
|
1084
|
+
pcb_component_id: z53.string().optional(),
|
|
1085
|
+
pcb_smtpad_id: z53.string().optional()
|
|
1070
1086
|
});
|
|
1071
|
-
var pcb_solder_paste_pill =
|
|
1072
|
-
type:
|
|
1073
|
-
shape:
|
|
1087
|
+
var pcb_solder_paste_pill = z53.object({
|
|
1088
|
+
type: z53.literal("pcb_solder_paste"),
|
|
1089
|
+
shape: z53.literal("pill"),
|
|
1074
1090
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1075
|
-
pcb_group_id:
|
|
1076
|
-
subcircuit_id:
|
|
1091
|
+
pcb_group_id: z53.string().optional(),
|
|
1092
|
+
subcircuit_id: z53.string().optional(),
|
|
1077
1093
|
x: distance,
|
|
1078
1094
|
y: distance,
|
|
1079
|
-
width:
|
|
1080
|
-
height:
|
|
1081
|
-
radius:
|
|
1095
|
+
width: z53.number(),
|
|
1096
|
+
height: z53.number(),
|
|
1097
|
+
radius: z53.number(),
|
|
1082
1098
|
layer: layer_ref,
|
|
1083
|
-
pcb_component_id:
|
|
1084
|
-
pcb_smtpad_id:
|
|
1099
|
+
pcb_component_id: z53.string().optional(),
|
|
1100
|
+
pcb_smtpad_id: z53.string().optional()
|
|
1085
1101
|
});
|
|
1086
|
-
var pcb_solder_paste_rotated_rect =
|
|
1087
|
-
type:
|
|
1088
|
-
shape:
|
|
1102
|
+
var pcb_solder_paste_rotated_rect = z53.object({
|
|
1103
|
+
type: z53.literal("pcb_solder_paste"),
|
|
1104
|
+
shape: z53.literal("rotated_rect"),
|
|
1089
1105
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1090
|
-
pcb_group_id:
|
|
1091
|
-
subcircuit_id:
|
|
1106
|
+
pcb_group_id: z53.string().optional(),
|
|
1107
|
+
subcircuit_id: z53.string().optional(),
|
|
1092
1108
|
x: distance,
|
|
1093
1109
|
y: distance,
|
|
1094
|
-
width:
|
|
1095
|
-
height:
|
|
1110
|
+
width: z53.number(),
|
|
1111
|
+
height: z53.number(),
|
|
1096
1112
|
ccw_rotation: distance,
|
|
1097
1113
|
layer: layer_ref,
|
|
1098
|
-
pcb_component_id:
|
|
1099
|
-
pcb_smtpad_id:
|
|
1114
|
+
pcb_component_id: z53.string().optional(),
|
|
1115
|
+
pcb_smtpad_id: z53.string().optional()
|
|
1100
1116
|
});
|
|
1101
|
-
var pcb_solder_paste_oval =
|
|
1102
|
-
type:
|
|
1103
|
-
shape:
|
|
1117
|
+
var pcb_solder_paste_oval = z53.object({
|
|
1118
|
+
type: z53.literal("pcb_solder_paste"),
|
|
1119
|
+
shape: z53.literal("oval"),
|
|
1104
1120
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1105
|
-
pcb_group_id:
|
|
1106
|
-
subcircuit_id:
|
|
1121
|
+
pcb_group_id: z53.string().optional(),
|
|
1122
|
+
subcircuit_id: z53.string().optional(),
|
|
1107
1123
|
x: distance,
|
|
1108
1124
|
y: distance,
|
|
1109
|
-
width:
|
|
1110
|
-
height:
|
|
1125
|
+
width: z53.number(),
|
|
1126
|
+
height: z53.number(),
|
|
1111
1127
|
layer: layer_ref,
|
|
1112
|
-
pcb_component_id:
|
|
1113
|
-
pcb_smtpad_id:
|
|
1128
|
+
pcb_component_id: z53.string().optional(),
|
|
1129
|
+
pcb_smtpad_id: z53.string().optional()
|
|
1114
1130
|
});
|
|
1115
|
-
var pcb_solder_paste =
|
|
1131
|
+
var pcb_solder_paste = z53.union([
|
|
1116
1132
|
pcb_solder_paste_circle,
|
|
1117
1133
|
pcb_solder_paste_rect,
|
|
1118
1134
|
pcb_solder_paste_pill,
|
|
@@ -1128,95 +1144,95 @@ expectTypesMatch(
|
|
|
1128
1144
|
expectTypesMatch(true);
|
|
1129
1145
|
|
|
1130
1146
|
// src/pcb/pcb_text.ts
|
|
1131
|
-
import { z as
|
|
1132
|
-
var pcb_text =
|
|
1133
|
-
type:
|
|
1147
|
+
import { z as z54 } from "zod";
|
|
1148
|
+
var pcb_text = z54.object({
|
|
1149
|
+
type: z54.literal("pcb_text"),
|
|
1134
1150
|
pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
|
|
1135
|
-
pcb_group_id:
|
|
1136
|
-
subcircuit_id:
|
|
1137
|
-
text:
|
|
1151
|
+
pcb_group_id: z54.string().optional(),
|
|
1152
|
+
subcircuit_id: z54.string().optional(),
|
|
1153
|
+
text: z54.string(),
|
|
1138
1154
|
center: point,
|
|
1139
1155
|
layer: layer_ref,
|
|
1140
1156
|
width: length,
|
|
1141
1157
|
height: length,
|
|
1142
|
-
lines:
|
|
1158
|
+
lines: z54.number(),
|
|
1143
1159
|
// @ts-ignore
|
|
1144
|
-
align:
|
|
1160
|
+
align: z54.enum(["bottom-left"])
|
|
1145
1161
|
}).describe("Defines text on the PCB");
|
|
1146
1162
|
expectTypesMatch(true);
|
|
1147
1163
|
|
|
1148
1164
|
// src/pcb/pcb_trace.ts
|
|
1149
|
-
import { z as
|
|
1150
|
-
var pcb_trace_route_point_wire =
|
|
1151
|
-
route_type:
|
|
1165
|
+
import { z as z55 } from "zod";
|
|
1166
|
+
var pcb_trace_route_point_wire = z55.object({
|
|
1167
|
+
route_type: z55.literal("wire"),
|
|
1152
1168
|
x: distance,
|
|
1153
1169
|
y: distance,
|
|
1154
1170
|
width: distance,
|
|
1155
|
-
start_pcb_port_id:
|
|
1156
|
-
end_pcb_port_id:
|
|
1171
|
+
start_pcb_port_id: z55.string().optional(),
|
|
1172
|
+
end_pcb_port_id: z55.string().optional(),
|
|
1157
1173
|
layer: layer_ref
|
|
1158
1174
|
});
|
|
1159
|
-
var pcb_trace_route_point_via =
|
|
1160
|
-
route_type:
|
|
1175
|
+
var pcb_trace_route_point_via = z55.object({
|
|
1176
|
+
route_type: z55.literal("via"),
|
|
1161
1177
|
x: distance,
|
|
1162
1178
|
y: distance,
|
|
1163
1179
|
hole_diameter: distance.optional(),
|
|
1164
1180
|
outer_diameter: distance.optional(),
|
|
1165
|
-
from_layer:
|
|
1166
|
-
to_layer:
|
|
1181
|
+
from_layer: z55.string(),
|
|
1182
|
+
to_layer: z55.string()
|
|
1167
1183
|
});
|
|
1168
|
-
var pcb_trace_route_point =
|
|
1184
|
+
var pcb_trace_route_point = z55.union([
|
|
1169
1185
|
pcb_trace_route_point_wire,
|
|
1170
1186
|
pcb_trace_route_point_via
|
|
1171
1187
|
]);
|
|
1172
|
-
var pcb_trace =
|
|
1173
|
-
type:
|
|
1174
|
-
source_trace_id:
|
|
1175
|
-
pcb_component_id:
|
|
1188
|
+
var pcb_trace = z55.object({
|
|
1189
|
+
type: z55.literal("pcb_trace"),
|
|
1190
|
+
source_trace_id: z55.string().optional(),
|
|
1191
|
+
pcb_component_id: z55.string().optional(),
|
|
1176
1192
|
pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
|
|
1177
|
-
pcb_group_id:
|
|
1178
|
-
subcircuit_id:
|
|
1179
|
-
route_thickness_mode:
|
|
1180
|
-
route_order_index:
|
|
1181
|
-
should_round_corners:
|
|
1182
|
-
trace_length:
|
|
1183
|
-
route:
|
|
1193
|
+
pcb_group_id: z55.string().optional(),
|
|
1194
|
+
subcircuit_id: z55.string().optional(),
|
|
1195
|
+
route_thickness_mode: z55.enum(["constant", "interpolated"]).default("constant").optional(),
|
|
1196
|
+
route_order_index: z55.number().optional(),
|
|
1197
|
+
should_round_corners: z55.boolean().optional(),
|
|
1198
|
+
trace_length: z55.number().optional(),
|
|
1199
|
+
route: z55.array(pcb_trace_route_point)
|
|
1184
1200
|
}).describe("Defines a trace on the PCB");
|
|
1185
1201
|
expectTypesMatch(true);
|
|
1186
1202
|
expectTypesMatch(true);
|
|
1187
1203
|
|
|
1188
1204
|
// src/pcb/pcb_trace_error.ts
|
|
1189
|
-
import { z as
|
|
1190
|
-
var pcb_trace_error =
|
|
1191
|
-
type:
|
|
1205
|
+
import { z as z56 } from "zod";
|
|
1206
|
+
var pcb_trace_error = z56.object({
|
|
1207
|
+
type: z56.literal("pcb_trace_error"),
|
|
1192
1208
|
pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
|
|
1193
|
-
error_type:
|
|
1194
|
-
message:
|
|
1209
|
+
error_type: z56.literal("pcb_trace_error"),
|
|
1210
|
+
message: z56.string(),
|
|
1195
1211
|
center: point.optional(),
|
|
1196
|
-
pcb_trace_id:
|
|
1197
|
-
source_trace_id:
|
|
1198
|
-
pcb_component_ids:
|
|
1199
|
-
pcb_port_ids:
|
|
1212
|
+
pcb_trace_id: z56.string(),
|
|
1213
|
+
source_trace_id: z56.string(),
|
|
1214
|
+
pcb_component_ids: z56.array(z56.string()),
|
|
1215
|
+
pcb_port_ids: z56.array(z56.string())
|
|
1200
1216
|
}).describe("Defines a trace error on the PCB");
|
|
1201
1217
|
expectTypesMatch(true);
|
|
1202
1218
|
|
|
1203
1219
|
// src/pcb/pcb_port_not_matched_error.ts
|
|
1204
|
-
import { z as
|
|
1205
|
-
var pcb_port_not_matched_error =
|
|
1206
|
-
type:
|
|
1220
|
+
import { z as z57 } from "zod";
|
|
1221
|
+
var pcb_port_not_matched_error = z57.object({
|
|
1222
|
+
type: z57.literal("pcb_port_not_matched_error"),
|
|
1207
1223
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
1208
|
-
message:
|
|
1209
|
-
pcb_component_ids:
|
|
1224
|
+
message: z57.string(),
|
|
1225
|
+
pcb_component_ids: z57.array(z57.string())
|
|
1210
1226
|
}).describe("Defines a trace error on the PCB where a port is not matched");
|
|
1211
1227
|
expectTypesMatch(true);
|
|
1212
1228
|
|
|
1213
1229
|
// src/pcb/pcb_via.ts
|
|
1214
|
-
import { z as
|
|
1215
|
-
var pcb_via =
|
|
1216
|
-
type:
|
|
1230
|
+
import { z as z58 } from "zod";
|
|
1231
|
+
var pcb_via = z58.object({
|
|
1232
|
+
type: z58.literal("pcb_via"),
|
|
1217
1233
|
pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
|
|
1218
|
-
pcb_group_id:
|
|
1219
|
-
subcircuit_id:
|
|
1234
|
+
pcb_group_id: z58.string().optional(),
|
|
1235
|
+
subcircuit_id: z58.string().optional(),
|
|
1220
1236
|
x: distance,
|
|
1221
1237
|
y: distance,
|
|
1222
1238
|
outer_diameter: distance.default("0.6mm"),
|
|
@@ -1225,56 +1241,56 @@ var pcb_via = z57.object({
|
|
|
1225
1241
|
from_layer: layer_ref.optional(),
|
|
1226
1242
|
/** @deprecated */
|
|
1227
1243
|
to_layer: layer_ref.optional(),
|
|
1228
|
-
layers:
|
|
1229
|
-
pcb_trace_id:
|
|
1244
|
+
layers: z58.array(layer_ref),
|
|
1245
|
+
pcb_trace_id: z58.string().optional()
|
|
1230
1246
|
}).describe("Defines a via on the PCB");
|
|
1231
1247
|
expectTypesMatch(true);
|
|
1232
1248
|
|
|
1233
1249
|
// src/pcb/pcb_board.ts
|
|
1234
|
-
import { z as
|
|
1235
|
-
var pcb_board =
|
|
1236
|
-
type:
|
|
1250
|
+
import { z as z59 } from "zod";
|
|
1251
|
+
var pcb_board = z59.object({
|
|
1252
|
+
type: z59.literal("pcb_board"),
|
|
1237
1253
|
pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
|
|
1238
|
-
is_subcircuit:
|
|
1239
|
-
subcircuit_id:
|
|
1254
|
+
is_subcircuit: z59.boolean().optional(),
|
|
1255
|
+
subcircuit_id: z59.string().optional(),
|
|
1240
1256
|
width: length,
|
|
1241
1257
|
height: length,
|
|
1242
1258
|
center: point,
|
|
1243
1259
|
thickness: length.optional().default(1.4),
|
|
1244
|
-
num_layers:
|
|
1245
|
-
outline:
|
|
1246
|
-
material:
|
|
1260
|
+
num_layers: z59.number().optional().default(4),
|
|
1261
|
+
outline: z59.array(point).optional(),
|
|
1262
|
+
material: z59.enum(["fr4", "fr1"]).default("fr4")
|
|
1247
1263
|
}).describe("Defines the board outline of the PCB");
|
|
1248
1264
|
expectTypesMatch(true);
|
|
1249
1265
|
|
|
1250
1266
|
// src/pcb/pcb_placement_error.ts
|
|
1251
|
-
import { z as
|
|
1252
|
-
var pcb_placement_error =
|
|
1253
|
-
type:
|
|
1267
|
+
import { z as z60 } from "zod";
|
|
1268
|
+
var pcb_placement_error = z60.object({
|
|
1269
|
+
type: z60.literal("pcb_placement_error"),
|
|
1254
1270
|
pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
|
|
1255
|
-
message:
|
|
1271
|
+
message: z60.string()
|
|
1256
1272
|
}).describe("Defines a placement error on the PCB");
|
|
1257
1273
|
expectTypesMatch(true);
|
|
1258
1274
|
|
|
1259
1275
|
// src/pcb/pcb_trace_hint.ts
|
|
1260
|
-
import { z as
|
|
1261
|
-
var pcb_trace_hint =
|
|
1262
|
-
type:
|
|
1276
|
+
import { z as z61 } from "zod";
|
|
1277
|
+
var pcb_trace_hint = z61.object({
|
|
1278
|
+
type: z61.literal("pcb_trace_hint"),
|
|
1263
1279
|
pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
|
|
1264
|
-
pcb_port_id:
|
|
1265
|
-
pcb_component_id:
|
|
1266
|
-
route:
|
|
1280
|
+
pcb_port_id: z61.string(),
|
|
1281
|
+
pcb_component_id: z61.string(),
|
|
1282
|
+
route: z61.array(route_hint_point)
|
|
1267
1283
|
}).describe("A hint that can be used during generation of a PCB trace");
|
|
1268
1284
|
expectTypesMatch(true);
|
|
1269
1285
|
|
|
1270
1286
|
// src/pcb/pcb_silkscreen_line.ts
|
|
1271
|
-
import { z as
|
|
1272
|
-
var pcb_silkscreen_line =
|
|
1273
|
-
type:
|
|
1287
|
+
import { z as z62 } from "zod";
|
|
1288
|
+
var pcb_silkscreen_line = z62.object({
|
|
1289
|
+
type: z62.literal("pcb_silkscreen_line"),
|
|
1274
1290
|
pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
|
|
1275
|
-
pcb_component_id:
|
|
1276
|
-
pcb_group_id:
|
|
1277
|
-
subcircuit_id:
|
|
1291
|
+
pcb_component_id: z62.string(),
|
|
1292
|
+
pcb_group_id: z62.string().optional(),
|
|
1293
|
+
subcircuit_id: z62.string().optional(),
|
|
1278
1294
|
stroke_width: distance.default("0.1mm"),
|
|
1279
1295
|
x1: distance,
|
|
1280
1296
|
y1: distance,
|
|
@@ -1285,46 +1301,46 @@ var pcb_silkscreen_line = z61.object({
|
|
|
1285
1301
|
expectTypesMatch(true);
|
|
1286
1302
|
|
|
1287
1303
|
// src/pcb/pcb_silkscreen_path.ts
|
|
1288
|
-
import { z as
|
|
1289
|
-
var pcb_silkscreen_path =
|
|
1290
|
-
type:
|
|
1304
|
+
import { z as z63 } from "zod";
|
|
1305
|
+
var pcb_silkscreen_path = z63.object({
|
|
1306
|
+
type: z63.literal("pcb_silkscreen_path"),
|
|
1291
1307
|
pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
|
|
1292
|
-
pcb_component_id:
|
|
1293
|
-
pcb_group_id:
|
|
1294
|
-
subcircuit_id:
|
|
1308
|
+
pcb_component_id: z63.string(),
|
|
1309
|
+
pcb_group_id: z63.string().optional(),
|
|
1310
|
+
subcircuit_id: z63.string().optional(),
|
|
1295
1311
|
layer: visible_layer,
|
|
1296
|
-
route:
|
|
1312
|
+
route: z63.array(point),
|
|
1297
1313
|
stroke_width: length
|
|
1298
1314
|
}).describe("Defines a silkscreen path on the PCB");
|
|
1299
1315
|
expectTypesMatch(true);
|
|
1300
1316
|
|
|
1301
1317
|
// src/pcb/pcb_silkscreen_text.ts
|
|
1302
|
-
import { z as
|
|
1303
|
-
var pcb_silkscreen_text =
|
|
1304
|
-
type:
|
|
1318
|
+
import { z as z64 } from "zod";
|
|
1319
|
+
var pcb_silkscreen_text = z64.object({
|
|
1320
|
+
type: z64.literal("pcb_silkscreen_text"),
|
|
1305
1321
|
pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
|
|
1306
|
-
pcb_group_id:
|
|
1307
|
-
subcircuit_id:
|
|
1308
|
-
font:
|
|
1322
|
+
pcb_group_id: z64.string().optional(),
|
|
1323
|
+
subcircuit_id: z64.string().optional(),
|
|
1324
|
+
font: z64.literal("tscircuit2024").default("tscircuit2024"),
|
|
1309
1325
|
font_size: distance.default("0.2mm"),
|
|
1310
|
-
pcb_component_id:
|
|
1311
|
-
text:
|
|
1312
|
-
ccw_rotation:
|
|
1326
|
+
pcb_component_id: z64.string(),
|
|
1327
|
+
text: z64.string(),
|
|
1328
|
+
ccw_rotation: z64.number().optional(),
|
|
1313
1329
|
layer: layer_ref,
|
|
1314
|
-
is_mirrored:
|
|
1330
|
+
is_mirrored: z64.boolean().default(false).optional(),
|
|
1315
1331
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
1316
|
-
anchor_alignment:
|
|
1332
|
+
anchor_alignment: z64.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center")
|
|
1317
1333
|
}).describe("Defines silkscreen text on the PCB");
|
|
1318
1334
|
expectTypesMatch(true);
|
|
1319
1335
|
|
|
1320
1336
|
// src/pcb/pcb_silkscreen_rect.ts
|
|
1321
|
-
import { z as
|
|
1322
|
-
var pcb_silkscreen_rect =
|
|
1323
|
-
type:
|
|
1337
|
+
import { z as z65 } from "zod";
|
|
1338
|
+
var pcb_silkscreen_rect = z65.object({
|
|
1339
|
+
type: z65.literal("pcb_silkscreen_rect"),
|
|
1324
1340
|
pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
|
|
1325
|
-
pcb_component_id:
|
|
1326
|
-
pcb_group_id:
|
|
1327
|
-
subcircuit_id:
|
|
1341
|
+
pcb_component_id: z65.string(),
|
|
1342
|
+
pcb_group_id: z65.string().optional(),
|
|
1343
|
+
subcircuit_id: z65.string().optional(),
|
|
1328
1344
|
center: point,
|
|
1329
1345
|
width: length,
|
|
1330
1346
|
height: length,
|
|
@@ -1334,15 +1350,15 @@ var pcb_silkscreen_rect = z64.object({
|
|
|
1334
1350
|
expectTypesMatch(true);
|
|
1335
1351
|
|
|
1336
1352
|
// src/pcb/pcb_silkscreen_circle.ts
|
|
1337
|
-
import { z as
|
|
1338
|
-
var pcb_silkscreen_circle =
|
|
1339
|
-
type:
|
|
1353
|
+
import { z as z66 } from "zod";
|
|
1354
|
+
var pcb_silkscreen_circle = z66.object({
|
|
1355
|
+
type: z66.literal("pcb_silkscreen_circle"),
|
|
1340
1356
|
pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
|
|
1341
1357
|
"pcb_silkscreen_circle"
|
|
1342
1358
|
),
|
|
1343
|
-
pcb_component_id:
|
|
1344
|
-
pcb_group_id:
|
|
1345
|
-
subcircuit_id:
|
|
1359
|
+
pcb_component_id: z66.string(),
|
|
1360
|
+
pcb_group_id: z66.string().optional(),
|
|
1361
|
+
subcircuit_id: z66.string().optional(),
|
|
1346
1362
|
center: point,
|
|
1347
1363
|
radius: length,
|
|
1348
1364
|
layer: visible_layer,
|
|
@@ -1351,13 +1367,13 @@ var pcb_silkscreen_circle = z65.object({
|
|
|
1351
1367
|
expectTypesMatch(true);
|
|
1352
1368
|
|
|
1353
1369
|
// src/pcb/pcb_silkscreen_oval.ts
|
|
1354
|
-
import { z as
|
|
1355
|
-
var pcb_silkscreen_oval =
|
|
1356
|
-
type:
|
|
1370
|
+
import { z as z67 } from "zod";
|
|
1371
|
+
var pcb_silkscreen_oval = z67.object({
|
|
1372
|
+
type: z67.literal("pcb_silkscreen_oval"),
|
|
1357
1373
|
pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
|
|
1358
|
-
pcb_component_id:
|
|
1359
|
-
pcb_group_id:
|
|
1360
|
-
subcircuit_id:
|
|
1374
|
+
pcb_component_id: z67.string(),
|
|
1375
|
+
pcb_group_id: z67.string().optional(),
|
|
1376
|
+
subcircuit_id: z67.string().optional(),
|
|
1361
1377
|
center: point,
|
|
1362
1378
|
radius_x: distance,
|
|
1363
1379
|
radius_y: distance,
|
|
@@ -1366,158 +1382,158 @@ var pcb_silkscreen_oval = z66.object({
|
|
|
1366
1382
|
expectTypesMatch(true);
|
|
1367
1383
|
|
|
1368
1384
|
// src/pcb/pcb_fabrication_note_text.ts
|
|
1369
|
-
import { z as
|
|
1370
|
-
var pcb_fabrication_note_text =
|
|
1371
|
-
type:
|
|
1385
|
+
import { z as z68 } from "zod";
|
|
1386
|
+
var pcb_fabrication_note_text = z68.object({
|
|
1387
|
+
type: z68.literal("pcb_fabrication_note_text"),
|
|
1372
1388
|
pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
|
|
1373
1389
|
"pcb_fabrication_note_text"
|
|
1374
1390
|
),
|
|
1375
|
-
subcircuit_id:
|
|
1376
|
-
pcb_group_id:
|
|
1377
|
-
font:
|
|
1391
|
+
subcircuit_id: z68.string().optional(),
|
|
1392
|
+
pcb_group_id: z68.string().optional(),
|
|
1393
|
+
font: z68.literal("tscircuit2024").default("tscircuit2024"),
|
|
1378
1394
|
font_size: distance.default("1mm"),
|
|
1379
|
-
pcb_component_id:
|
|
1380
|
-
text:
|
|
1395
|
+
pcb_component_id: z68.string(),
|
|
1396
|
+
text: z68.string(),
|
|
1381
1397
|
layer: visible_layer,
|
|
1382
1398
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
1383
|
-
anchor_alignment:
|
|
1384
|
-
color:
|
|
1399
|
+
anchor_alignment: z68.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
1400
|
+
color: z68.string().optional()
|
|
1385
1401
|
}).describe(
|
|
1386
1402
|
"Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
|
|
1387
1403
|
);
|
|
1388
1404
|
expectTypesMatch(true);
|
|
1389
1405
|
|
|
1390
1406
|
// src/pcb/pcb_fabrication_note_path.ts
|
|
1391
|
-
import { z as
|
|
1392
|
-
var pcb_fabrication_note_path =
|
|
1393
|
-
type:
|
|
1407
|
+
import { z as z69 } from "zod";
|
|
1408
|
+
var pcb_fabrication_note_path = z69.object({
|
|
1409
|
+
type: z69.literal("pcb_fabrication_note_path"),
|
|
1394
1410
|
pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
|
|
1395
1411
|
"pcb_fabrication_note_path"
|
|
1396
1412
|
),
|
|
1397
|
-
pcb_component_id:
|
|
1398
|
-
subcircuit_id:
|
|
1413
|
+
pcb_component_id: z69.string(),
|
|
1414
|
+
subcircuit_id: z69.string().optional(),
|
|
1399
1415
|
layer: layer_ref,
|
|
1400
|
-
route:
|
|
1416
|
+
route: z69.array(point),
|
|
1401
1417
|
stroke_width: length,
|
|
1402
|
-
color:
|
|
1418
|
+
color: z69.string().optional()
|
|
1403
1419
|
}).describe(
|
|
1404
1420
|
"Defines a fabrication path on the PCB for fabricators or assemblers"
|
|
1405
1421
|
);
|
|
1406
1422
|
expectTypesMatch(true);
|
|
1407
1423
|
|
|
1408
1424
|
// src/pcb/pcb_keepout.ts
|
|
1409
|
-
import { z as
|
|
1410
|
-
var pcb_keepout =
|
|
1411
|
-
type:
|
|
1412
|
-
shape:
|
|
1413
|
-
pcb_group_id:
|
|
1414
|
-
subcircuit_id:
|
|
1425
|
+
import { z as z70 } from "zod";
|
|
1426
|
+
var pcb_keepout = z70.object({
|
|
1427
|
+
type: z70.literal("pcb_keepout"),
|
|
1428
|
+
shape: z70.literal("rect"),
|
|
1429
|
+
pcb_group_id: z70.string().optional(),
|
|
1430
|
+
subcircuit_id: z70.string().optional(),
|
|
1415
1431
|
center: point,
|
|
1416
1432
|
width: distance,
|
|
1417
1433
|
height: distance,
|
|
1418
|
-
pcb_keepout_id:
|
|
1419
|
-
layers:
|
|
1434
|
+
pcb_keepout_id: z70.string(),
|
|
1435
|
+
layers: z70.array(z70.string()),
|
|
1420
1436
|
// Specify layers where the keepout applies
|
|
1421
|
-
description:
|
|
1437
|
+
description: z70.string().optional()
|
|
1422
1438
|
// Optional description of the keepout
|
|
1423
1439
|
}).or(
|
|
1424
|
-
|
|
1425
|
-
type:
|
|
1426
|
-
shape:
|
|
1427
|
-
pcb_group_id:
|
|
1428
|
-
subcircuit_id:
|
|
1440
|
+
z70.object({
|
|
1441
|
+
type: z70.literal("pcb_keepout"),
|
|
1442
|
+
shape: z70.literal("circle"),
|
|
1443
|
+
pcb_group_id: z70.string().optional(),
|
|
1444
|
+
subcircuit_id: z70.string().optional(),
|
|
1429
1445
|
center: point,
|
|
1430
1446
|
radius: distance,
|
|
1431
|
-
pcb_keepout_id:
|
|
1432
|
-
layers:
|
|
1447
|
+
pcb_keepout_id: z70.string(),
|
|
1448
|
+
layers: z70.array(z70.string()),
|
|
1433
1449
|
// Specify layers where the keepout applies
|
|
1434
|
-
description:
|
|
1450
|
+
description: z70.string().optional()
|
|
1435
1451
|
// Optional description of the keepout
|
|
1436
1452
|
})
|
|
1437
1453
|
);
|
|
1438
1454
|
|
|
1439
1455
|
// src/pcb/pcb_missing_footprint_error.ts
|
|
1440
|
-
import { z as
|
|
1441
|
-
var pcb_missing_footprint_error =
|
|
1442
|
-
type:
|
|
1456
|
+
import { z as z71 } from "zod";
|
|
1457
|
+
var pcb_missing_footprint_error = z71.object({
|
|
1458
|
+
type: z71.literal("pcb_missing_footprint_error"),
|
|
1443
1459
|
pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
|
|
1444
1460
|
"pcb_missing_footprint_error"
|
|
1445
1461
|
),
|
|
1446
|
-
pcb_group_id:
|
|
1447
|
-
subcircuit_id:
|
|
1448
|
-
error_type:
|
|
1449
|
-
source_component_id:
|
|
1450
|
-
message:
|
|
1462
|
+
pcb_group_id: z71.string().optional(),
|
|
1463
|
+
subcircuit_id: z71.string().optional(),
|
|
1464
|
+
error_type: z71.literal("pcb_missing_footprint_error"),
|
|
1465
|
+
source_component_id: z71.string(),
|
|
1466
|
+
message: z71.string()
|
|
1451
1467
|
}).describe("Defines a missing footprint error on the PCB");
|
|
1452
1468
|
expectTypesMatch(
|
|
1453
1469
|
true
|
|
1454
1470
|
);
|
|
1455
1471
|
|
|
1456
1472
|
// src/pcb/pcb_group.ts
|
|
1457
|
-
import { z as
|
|
1458
|
-
var pcb_group =
|
|
1459
|
-
type:
|
|
1473
|
+
import { z as z72 } from "zod";
|
|
1474
|
+
var pcb_group = z72.object({
|
|
1475
|
+
type: z72.literal("pcb_group"),
|
|
1460
1476
|
pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
|
|
1461
|
-
source_group_id:
|
|
1462
|
-
is_subcircuit:
|
|
1463
|
-
subcircuit_id:
|
|
1477
|
+
source_group_id: z72.string(),
|
|
1478
|
+
is_subcircuit: z72.boolean().optional(),
|
|
1479
|
+
subcircuit_id: z72.string().optional(),
|
|
1464
1480
|
width: length,
|
|
1465
1481
|
height: length,
|
|
1466
1482
|
center: point,
|
|
1467
|
-
pcb_component_ids:
|
|
1468
|
-
name:
|
|
1469
|
-
description:
|
|
1483
|
+
pcb_component_ids: z72.array(z72.string()),
|
|
1484
|
+
name: z72.string().optional(),
|
|
1485
|
+
description: z72.string().optional()
|
|
1470
1486
|
}).describe("Defines a group of components on the PCB");
|
|
1471
1487
|
expectTypesMatch(true);
|
|
1472
1488
|
|
|
1473
1489
|
// src/pcb/pcb_autorouting_error.ts
|
|
1474
|
-
import { z as
|
|
1475
|
-
var pcb_autorouting_error =
|
|
1476
|
-
type:
|
|
1490
|
+
import { z as z73 } from "zod";
|
|
1491
|
+
var pcb_autorouting_error = z73.object({
|
|
1492
|
+
type: z73.literal("pcb_autorouting_error"),
|
|
1477
1493
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
|
|
1478
|
-
message:
|
|
1494
|
+
message: z73.string()
|
|
1479
1495
|
}).describe("The autorouting has failed to route a portion of the board");
|
|
1480
1496
|
expectTypesMatch(true);
|
|
1481
1497
|
|
|
1482
1498
|
// src/pcb/pcb_manual_edit_conflict_warning.ts
|
|
1483
|
-
import { z as
|
|
1484
|
-
var pcb_manual_edit_conflict_warning =
|
|
1485
|
-
type:
|
|
1499
|
+
import { z as z74 } from "zod";
|
|
1500
|
+
var pcb_manual_edit_conflict_warning = z74.object({
|
|
1501
|
+
type: z74.literal("pcb_manual_edit_conflict_warning"),
|
|
1486
1502
|
pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
1487
1503
|
"pcb_manual_edit_conflict_warning"
|
|
1488
1504
|
),
|
|
1489
|
-
message:
|
|
1490
|
-
pcb_component_id:
|
|
1491
|
-
pcb_group_id:
|
|
1492
|
-
subcircuit_id:
|
|
1493
|
-
source_component_id:
|
|
1505
|
+
message: z74.string(),
|
|
1506
|
+
pcb_component_id: z74.string(),
|
|
1507
|
+
pcb_group_id: z74.string().optional(),
|
|
1508
|
+
subcircuit_id: z74.string().optional(),
|
|
1509
|
+
source_component_id: z74.string()
|
|
1494
1510
|
}).describe(
|
|
1495
1511
|
"Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
|
|
1496
1512
|
);
|
|
1497
1513
|
expectTypesMatch(true);
|
|
1498
1514
|
|
|
1499
1515
|
// src/cad/cad_component.ts
|
|
1500
|
-
import { z as
|
|
1501
|
-
var cad_component =
|
|
1502
|
-
type:
|
|
1503
|
-
cad_component_id:
|
|
1504
|
-
pcb_component_id:
|
|
1505
|
-
source_component_id:
|
|
1516
|
+
import { z as z75 } from "zod";
|
|
1517
|
+
var cad_component = z75.object({
|
|
1518
|
+
type: z75.literal("cad_component"),
|
|
1519
|
+
cad_component_id: z75.string(),
|
|
1520
|
+
pcb_component_id: z75.string(),
|
|
1521
|
+
source_component_id: z75.string(),
|
|
1506
1522
|
position: point3,
|
|
1507
1523
|
rotation: point3.optional(),
|
|
1508
1524
|
size: point3.optional(),
|
|
1509
1525
|
layer: layer_ref.optional(),
|
|
1510
1526
|
// These are all ways to generate/load the 3d model
|
|
1511
|
-
footprinter_string:
|
|
1512
|
-
model_obj_url:
|
|
1513
|
-
model_stl_url:
|
|
1514
|
-
model_3mf_url:
|
|
1515
|
-
model_jscad:
|
|
1527
|
+
footprinter_string: z75.string().optional(),
|
|
1528
|
+
model_obj_url: z75.string().optional(),
|
|
1529
|
+
model_stl_url: z75.string().optional(),
|
|
1530
|
+
model_3mf_url: z75.string().optional(),
|
|
1531
|
+
model_jscad: z75.any().optional()
|
|
1516
1532
|
}).describe("Defines a component on the PCB");
|
|
1517
1533
|
|
|
1518
1534
|
// src/any_circuit_element.ts
|
|
1519
|
-
import { z as
|
|
1520
|
-
var any_circuit_element =
|
|
1535
|
+
import { z as z76 } from "zod";
|
|
1536
|
+
var any_circuit_element = z76.union([
|
|
1521
1537
|
source_trace,
|
|
1522
1538
|
source_port,
|
|
1523
1539
|
any_source_component,
|
|
@@ -1666,6 +1682,7 @@ export {
|
|
|
1666
1682
|
source_component_base,
|
|
1667
1683
|
source_group,
|
|
1668
1684
|
source_led,
|
|
1685
|
+
source_missing_property_error,
|
|
1669
1686
|
source_net,
|
|
1670
1687
|
source_port,
|
|
1671
1688
|
source_project_metadata,
|