circuit-json 0.0.223 → 0.0.225
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 +23 -0
- package/dist/index.d.mts +209 -2
- package/dist/index.mjs +722 -701
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -390,7 +390,7 @@ var source_simple_power_source = source_component_base.extend({
|
|
|
390
390
|
expectTypesMatch(true);
|
|
391
391
|
|
|
392
392
|
// src/source/any_source_component.ts
|
|
393
|
-
import { z as
|
|
393
|
+
import { z as z32 } from "zod";
|
|
394
394
|
|
|
395
395
|
// src/source/source_simple_fuse.ts
|
|
396
396
|
import { z as z16 } from "zod";
|
|
@@ -549,8 +549,25 @@ var source_failed_to_create_component_error = z30.object({
|
|
|
549
549
|
}).describe("Error emitted when a component fails to be constructed");
|
|
550
550
|
expectTypesMatch(true);
|
|
551
551
|
|
|
552
|
+
// src/source/source_trace_not_connected.ts
|
|
553
|
+
import { z as z31 } from "zod";
|
|
554
|
+
var source_trace_not_connected = z31.object({
|
|
555
|
+
type: z31.literal("source_trace_not_connected"),
|
|
556
|
+
source_trace_not_connected_id: getZodPrefixedIdWithDefault(
|
|
557
|
+
"source_trace_not_connected"
|
|
558
|
+
),
|
|
559
|
+
error_type: z31.literal("source_trace_not_connected").default("source_trace_not_connected"),
|
|
560
|
+
message: z31.string(),
|
|
561
|
+
subcircuit_id: z31.string().optional(),
|
|
562
|
+
source_group_id: z31.string().optional(),
|
|
563
|
+
source_trace_id: z31.string().optional(),
|
|
564
|
+
connected_source_port_ids: z31.array(z31.string()).optional(),
|
|
565
|
+
selectors_not_found: z31.array(z31.string()).optional()
|
|
566
|
+
}).describe("Occurs when a source trace selector does not match any ports");
|
|
567
|
+
expectTypesMatch(true);
|
|
568
|
+
|
|
552
569
|
// src/source/any_source_component.ts
|
|
553
|
-
var any_source_component =
|
|
570
|
+
var any_source_component = z32.union([
|
|
554
571
|
source_simple_resistor,
|
|
555
572
|
source_simple_capacitor,
|
|
556
573
|
source_simple_diode,
|
|
@@ -572,218 +589,219 @@ var any_source_component = z31.union([
|
|
|
572
589
|
source_simple_fuse,
|
|
573
590
|
source_project_metadata,
|
|
574
591
|
source_missing_property_error,
|
|
575
|
-
source_failed_to_create_component_error
|
|
592
|
+
source_failed_to_create_component_error,
|
|
593
|
+
source_trace_not_connected
|
|
576
594
|
]);
|
|
577
595
|
expectTypesMatch(true);
|
|
578
596
|
|
|
579
597
|
// src/source/source_port.ts
|
|
580
|
-
import { z as z32 } from "zod";
|
|
581
|
-
var source_port = z32.object({
|
|
582
|
-
type: z32.literal("source_port"),
|
|
583
|
-
pin_number: z32.number().optional(),
|
|
584
|
-
port_hints: z32.array(z32.string()).optional(),
|
|
585
|
-
name: z32.string(),
|
|
586
|
-
source_port_id: z32.string(),
|
|
587
|
-
source_component_id: z32.string(),
|
|
588
|
-
subcircuit_id: z32.string().optional(),
|
|
589
|
-
subcircuit_connectivity_map_key: z32.string().optional()
|
|
590
|
-
});
|
|
591
|
-
expectTypesMatch(true);
|
|
592
|
-
|
|
593
|
-
// src/source/source_trace.ts
|
|
594
598
|
import { z as z33 } from "zod";
|
|
595
|
-
var
|
|
596
|
-
type: z33.literal("
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
599
|
+
var source_port = z33.object({
|
|
600
|
+
type: z33.literal("source_port"),
|
|
601
|
+
pin_number: z33.number().optional(),
|
|
602
|
+
port_hints: z33.array(z33.string()).optional(),
|
|
603
|
+
name: z33.string(),
|
|
604
|
+
source_port_id: z33.string(),
|
|
605
|
+
source_component_id: z33.string(),
|
|
600
606
|
subcircuit_id: z33.string().optional(),
|
|
601
|
-
subcircuit_connectivity_map_key: z33.string().optional()
|
|
602
|
-
max_length: z33.number().optional(),
|
|
603
|
-
min_trace_thickness: z33.number().optional(),
|
|
604
|
-
display_name: z33.string().optional()
|
|
607
|
+
subcircuit_connectivity_map_key: z33.string().optional()
|
|
605
608
|
});
|
|
606
609
|
expectTypesMatch(true);
|
|
607
610
|
|
|
608
|
-
// src/source/
|
|
611
|
+
// src/source/source_trace.ts
|
|
609
612
|
import { z as z34 } from "zod";
|
|
610
|
-
var
|
|
611
|
-
type: z34.literal("
|
|
612
|
-
|
|
613
|
+
var source_trace = z34.object({
|
|
614
|
+
type: z34.literal("source_trace"),
|
|
615
|
+
source_trace_id: z34.string(),
|
|
616
|
+
connected_source_port_ids: z34.array(z34.string()),
|
|
617
|
+
connected_source_net_ids: z34.array(z34.string()),
|
|
613
618
|
subcircuit_id: z34.string().optional(),
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
619
|
+
subcircuit_connectivity_map_key: z34.string().optional(),
|
|
620
|
+
max_length: z34.number().optional(),
|
|
621
|
+
min_trace_thickness: z34.number().optional(),
|
|
622
|
+
display_name: z34.string().optional()
|
|
618
623
|
});
|
|
619
624
|
expectTypesMatch(true);
|
|
620
625
|
|
|
621
|
-
// src/source/
|
|
626
|
+
// src/source/source_group.ts
|
|
622
627
|
import { z as z35 } from "zod";
|
|
623
|
-
var
|
|
624
|
-
type: z35.literal("
|
|
625
|
-
|
|
626
|
-
name: z35.string(),
|
|
627
|
-
member_source_group_ids: z35.array(z35.string()),
|
|
628
|
-
is_power: z35.boolean().optional(),
|
|
629
|
-
is_ground: z35.boolean().optional(),
|
|
630
|
-
is_digital_signal: z35.boolean().optional(),
|
|
631
|
-
is_analog_signal: z35.boolean().optional(),
|
|
632
|
-
trace_width: z35.number().optional(),
|
|
628
|
+
var source_group = z35.object({
|
|
629
|
+
type: z35.literal("source_group"),
|
|
630
|
+
source_group_id: z35.string(),
|
|
633
631
|
subcircuit_id: z35.string().optional(),
|
|
634
|
-
|
|
632
|
+
parent_subcircuit_id: z35.string().optional(),
|
|
633
|
+
parent_source_group_id: z35.string().optional(),
|
|
634
|
+
is_subcircuit: z35.boolean().optional(),
|
|
635
|
+
name: z35.string().optional()
|
|
635
636
|
});
|
|
636
637
|
expectTypesMatch(true);
|
|
637
638
|
|
|
638
|
-
// src/source/
|
|
639
|
+
// src/source/source_net.ts
|
|
639
640
|
import { z as z36 } from "zod";
|
|
640
|
-
var
|
|
641
|
-
type: z36.literal("
|
|
642
|
-
source_pcb_ground_plane_id: z36.string(),
|
|
643
|
-
source_group_id: z36.string(),
|
|
641
|
+
var source_net = z36.object({
|
|
642
|
+
type: z36.literal("source_net"),
|
|
644
643
|
source_net_id: z36.string(),
|
|
645
|
-
|
|
644
|
+
name: z36.string(),
|
|
645
|
+
member_source_group_ids: z36.array(z36.string()),
|
|
646
|
+
is_power: z36.boolean().optional(),
|
|
647
|
+
is_ground: z36.boolean().optional(),
|
|
648
|
+
is_digital_signal: z36.boolean().optional(),
|
|
649
|
+
is_analog_signal: z36.boolean().optional(),
|
|
650
|
+
trace_width: z36.number().optional(),
|
|
651
|
+
subcircuit_id: z36.string().optional(),
|
|
652
|
+
subcircuit_connectivity_map_key: z36.string().optional()
|
|
653
|
+
});
|
|
654
|
+
expectTypesMatch(true);
|
|
655
|
+
|
|
656
|
+
// src/source/source_pcb_ground_plane.ts
|
|
657
|
+
import { z as z37 } from "zod";
|
|
658
|
+
var source_pcb_ground_plane = z37.object({
|
|
659
|
+
type: z37.literal("source_pcb_ground_plane"),
|
|
660
|
+
source_pcb_ground_plane_id: z37.string(),
|
|
661
|
+
source_group_id: z37.string(),
|
|
662
|
+
source_net_id: z37.string(),
|
|
663
|
+
subcircuit_id: z37.string().optional()
|
|
646
664
|
}).describe("Defines a ground plane in the source domain");
|
|
647
665
|
expectTypesMatch(true);
|
|
648
666
|
|
|
649
667
|
// src/schematic/schematic_box.ts
|
|
650
|
-
import { z as
|
|
651
|
-
var schematic_box =
|
|
652
|
-
type:
|
|
653
|
-
schematic_component_id:
|
|
668
|
+
import { z as z38 } from "zod";
|
|
669
|
+
var schematic_box = z38.object({
|
|
670
|
+
type: z38.literal("schematic_box"),
|
|
671
|
+
schematic_component_id: z38.string().optional(),
|
|
654
672
|
width: distance,
|
|
655
673
|
height: distance,
|
|
656
|
-
is_dashed:
|
|
674
|
+
is_dashed: z38.boolean().default(false),
|
|
657
675
|
x: distance,
|
|
658
676
|
y: distance,
|
|
659
|
-
subcircuit_id:
|
|
677
|
+
subcircuit_id: z38.string().optional()
|
|
660
678
|
}).describe("Draws a box on the schematic");
|
|
661
679
|
expectTypesMatch(true);
|
|
662
680
|
|
|
663
681
|
// src/schematic/schematic_path.ts
|
|
664
|
-
import { z as
|
|
665
|
-
var schematic_path =
|
|
666
|
-
type:
|
|
667
|
-
schematic_component_id:
|
|
668
|
-
fill_color:
|
|
669
|
-
is_filled:
|
|
670
|
-
points:
|
|
671
|
-
subcircuit_id:
|
|
682
|
+
import { z as z39 } from "zod";
|
|
683
|
+
var schematic_path = z39.object({
|
|
684
|
+
type: z39.literal("schematic_path"),
|
|
685
|
+
schematic_component_id: z39.string(),
|
|
686
|
+
fill_color: z39.enum(["red", "blue"]).optional(),
|
|
687
|
+
is_filled: z39.boolean().optional(),
|
|
688
|
+
points: z39.array(point),
|
|
689
|
+
subcircuit_id: z39.string().optional()
|
|
672
690
|
});
|
|
673
691
|
expectTypesMatch(true);
|
|
674
692
|
|
|
675
693
|
// src/schematic/schematic_component.ts
|
|
676
|
-
import { z as
|
|
677
|
-
var schematic_pin_styles =
|
|
678
|
-
|
|
694
|
+
import { z as z40 } from "zod";
|
|
695
|
+
var schematic_pin_styles = z40.record(
|
|
696
|
+
z40.object({
|
|
679
697
|
left_margin: length.optional(),
|
|
680
698
|
right_margin: length.optional(),
|
|
681
699
|
top_margin: length.optional(),
|
|
682
700
|
bottom_margin: length.optional()
|
|
683
701
|
})
|
|
684
702
|
);
|
|
685
|
-
var schematic_component_port_arrangement_by_size =
|
|
686
|
-
left_size:
|
|
687
|
-
right_size:
|
|
688
|
-
top_size:
|
|
689
|
-
bottom_size:
|
|
703
|
+
var schematic_component_port_arrangement_by_size = z40.object({
|
|
704
|
+
left_size: z40.number(),
|
|
705
|
+
right_size: z40.number(),
|
|
706
|
+
top_size: z40.number().optional(),
|
|
707
|
+
bottom_size: z40.number().optional()
|
|
690
708
|
});
|
|
691
709
|
expectTypesMatch(true);
|
|
692
|
-
var schematic_component_port_arrangement_by_sides =
|
|
693
|
-
left_side:
|
|
694
|
-
pins:
|
|
710
|
+
var schematic_component_port_arrangement_by_sides = z40.object({
|
|
711
|
+
left_side: z40.object({
|
|
712
|
+
pins: z40.array(z40.number()),
|
|
695
713
|
// @ts-ignore
|
|
696
|
-
direction:
|
|
714
|
+
direction: z40.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
697
715
|
}).optional(),
|
|
698
|
-
right_side:
|
|
699
|
-
pins:
|
|
716
|
+
right_side: z40.object({
|
|
717
|
+
pins: z40.array(z40.number()),
|
|
700
718
|
// @ts-ignore
|
|
701
|
-
direction:
|
|
719
|
+
direction: z40.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
702
720
|
}).optional(),
|
|
703
|
-
top_side:
|
|
704
|
-
pins:
|
|
721
|
+
top_side: z40.object({
|
|
722
|
+
pins: z40.array(z40.number()),
|
|
705
723
|
// @ts-ignore
|
|
706
|
-
direction:
|
|
724
|
+
direction: z40.enum(["left-to-right", "right-to-left"]).optional()
|
|
707
725
|
}).optional(),
|
|
708
|
-
bottom_side:
|
|
709
|
-
pins:
|
|
726
|
+
bottom_side: z40.object({
|
|
727
|
+
pins: z40.array(z40.number()),
|
|
710
728
|
// @ts-ignore
|
|
711
|
-
direction:
|
|
729
|
+
direction: z40.enum(["left-to-right", "right-to-left"]).optional()
|
|
712
730
|
}).optional()
|
|
713
731
|
});
|
|
714
732
|
expectTypesMatch(true);
|
|
715
|
-
var port_arrangement =
|
|
733
|
+
var port_arrangement = z40.union([
|
|
716
734
|
schematic_component_port_arrangement_by_size,
|
|
717
735
|
schematic_component_port_arrangement_by_sides
|
|
718
736
|
]);
|
|
719
|
-
var schematic_component =
|
|
720
|
-
type:
|
|
737
|
+
var schematic_component = z40.object({
|
|
738
|
+
type: z40.literal("schematic_component"),
|
|
721
739
|
size,
|
|
722
740
|
center: point,
|
|
723
|
-
source_component_id:
|
|
724
|
-
schematic_component_id:
|
|
741
|
+
source_component_id: z40.string(),
|
|
742
|
+
schematic_component_id: z40.string(),
|
|
725
743
|
pin_spacing: length.optional(),
|
|
726
744
|
pin_styles: schematic_pin_styles.optional(),
|
|
727
745
|
box_width: length.optional(),
|
|
728
|
-
symbol_name:
|
|
746
|
+
symbol_name: z40.string().optional(),
|
|
729
747
|
port_arrangement: port_arrangement.optional(),
|
|
730
|
-
port_labels:
|
|
731
|
-
symbol_display_value:
|
|
732
|
-
subcircuit_id:
|
|
733
|
-
schematic_group_id:
|
|
748
|
+
port_labels: z40.record(z40.string()).optional(),
|
|
749
|
+
symbol_display_value: z40.string().optional(),
|
|
750
|
+
subcircuit_id: z40.string().optional(),
|
|
751
|
+
schematic_group_id: z40.string().optional()
|
|
734
752
|
});
|
|
735
753
|
expectTypesMatch(true);
|
|
736
754
|
|
|
737
755
|
// src/schematic/schematic_line.ts
|
|
738
|
-
import { z as
|
|
739
|
-
var schematic_line =
|
|
740
|
-
type:
|
|
741
|
-
schematic_component_id:
|
|
756
|
+
import { z as z41 } from "zod";
|
|
757
|
+
var schematic_line = z41.object({
|
|
758
|
+
type: z41.literal("schematic_line"),
|
|
759
|
+
schematic_component_id: z41.string(),
|
|
742
760
|
x1: distance,
|
|
743
761
|
x2: distance,
|
|
744
762
|
y1: distance,
|
|
745
763
|
y2: distance,
|
|
746
|
-
subcircuit_id:
|
|
764
|
+
subcircuit_id: z41.string().optional()
|
|
747
765
|
});
|
|
748
766
|
expectTypesMatch(true);
|
|
749
767
|
|
|
750
768
|
// src/schematic/schematic_trace.ts
|
|
751
|
-
import { z as
|
|
752
|
-
var schematic_trace =
|
|
753
|
-
type:
|
|
754
|
-
schematic_trace_id:
|
|
755
|
-
source_trace_id:
|
|
756
|
-
junctions:
|
|
757
|
-
|
|
758
|
-
x:
|
|
759
|
-
y:
|
|
769
|
+
import { z as z42 } from "zod";
|
|
770
|
+
var schematic_trace = z42.object({
|
|
771
|
+
type: z42.literal("schematic_trace"),
|
|
772
|
+
schematic_trace_id: z42.string(),
|
|
773
|
+
source_trace_id: z42.string(),
|
|
774
|
+
junctions: z42.array(
|
|
775
|
+
z42.object({
|
|
776
|
+
x: z42.number(),
|
|
777
|
+
y: z42.number()
|
|
760
778
|
})
|
|
761
779
|
),
|
|
762
|
-
edges:
|
|
763
|
-
|
|
764
|
-
from:
|
|
765
|
-
x:
|
|
766
|
-
y:
|
|
780
|
+
edges: z42.array(
|
|
781
|
+
z42.object({
|
|
782
|
+
from: z42.object({
|
|
783
|
+
x: z42.number(),
|
|
784
|
+
y: z42.number()
|
|
767
785
|
}),
|
|
768
|
-
to:
|
|
769
|
-
x:
|
|
770
|
-
y:
|
|
786
|
+
to: z42.object({
|
|
787
|
+
x: z42.number(),
|
|
788
|
+
y: z42.number()
|
|
771
789
|
}),
|
|
772
|
-
is_crossing:
|
|
773
|
-
from_schematic_port_id:
|
|
774
|
-
to_schematic_port_id:
|
|
790
|
+
is_crossing: z42.boolean().optional(),
|
|
791
|
+
from_schematic_port_id: z42.string().optional(),
|
|
792
|
+
to_schematic_port_id: z42.string().optional()
|
|
775
793
|
})
|
|
776
794
|
),
|
|
777
|
-
subcircuit_id:
|
|
795
|
+
subcircuit_id: z42.string().optional()
|
|
778
796
|
});
|
|
779
797
|
expectTypesMatch(true);
|
|
780
798
|
|
|
781
799
|
// src/schematic/schematic_text.ts
|
|
782
|
-
import { z as
|
|
800
|
+
import { z as z44 } from "zod";
|
|
783
801
|
|
|
784
802
|
// src/common/FivePointAnchor.ts
|
|
785
|
-
import { z as
|
|
786
|
-
var fivePointAnchor =
|
|
803
|
+
import { z as z43 } from "zod";
|
|
804
|
+
var fivePointAnchor = z43.enum([
|
|
787
805
|
"center",
|
|
788
806
|
"left",
|
|
789
807
|
"right",
|
|
@@ -793,109 +811,109 @@ var fivePointAnchor = z42.enum([
|
|
|
793
811
|
expectTypesMatch(true);
|
|
794
812
|
|
|
795
813
|
// src/schematic/schematic_text.ts
|
|
796
|
-
var schematic_text =
|
|
797
|
-
type:
|
|
798
|
-
schematic_component_id:
|
|
799
|
-
schematic_text_id:
|
|
800
|
-
text:
|
|
801
|
-
font_size:
|
|
802
|
-
position:
|
|
814
|
+
var schematic_text = z44.object({
|
|
815
|
+
type: z44.literal("schematic_text"),
|
|
816
|
+
schematic_component_id: z44.string().optional(),
|
|
817
|
+
schematic_text_id: z44.string(),
|
|
818
|
+
text: z44.string(),
|
|
819
|
+
font_size: z44.number().default(0.18),
|
|
820
|
+
position: z44.object({
|
|
803
821
|
x: distance,
|
|
804
822
|
y: distance
|
|
805
823
|
}),
|
|
806
|
-
rotation:
|
|
807
|
-
anchor:
|
|
808
|
-
color:
|
|
809
|
-
subcircuit_id:
|
|
824
|
+
rotation: z44.number().default(0),
|
|
825
|
+
anchor: z44.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
|
|
826
|
+
color: z44.string().default("#000000"),
|
|
827
|
+
subcircuit_id: z44.string().optional()
|
|
810
828
|
});
|
|
811
829
|
expectTypesMatch(true);
|
|
812
830
|
|
|
813
831
|
// src/schematic/schematic_port.ts
|
|
814
|
-
import { z as
|
|
815
|
-
var schematic_port =
|
|
816
|
-
type:
|
|
817
|
-
schematic_port_id:
|
|
818
|
-
source_port_id:
|
|
819
|
-
schematic_component_id:
|
|
832
|
+
import { z as z45 } from "zod";
|
|
833
|
+
var schematic_port = z45.object({
|
|
834
|
+
type: z45.literal("schematic_port"),
|
|
835
|
+
schematic_port_id: z45.string(),
|
|
836
|
+
source_port_id: z45.string(),
|
|
837
|
+
schematic_component_id: z45.string().optional(),
|
|
820
838
|
center: point,
|
|
821
|
-
facing_direction:
|
|
822
|
-
distance_from_component_edge:
|
|
823
|
-
side_of_component:
|
|
824
|
-
true_ccw_index:
|
|
825
|
-
pin_number:
|
|
826
|
-
display_pin_label:
|
|
827
|
-
subcircuit_id:
|
|
828
|
-
is_connected:
|
|
839
|
+
facing_direction: z45.enum(["up", "down", "left", "right"]).optional(),
|
|
840
|
+
distance_from_component_edge: z45.number().optional(),
|
|
841
|
+
side_of_component: z45.enum(["top", "bottom", "left", "right"]).optional(),
|
|
842
|
+
true_ccw_index: z45.number().optional(),
|
|
843
|
+
pin_number: z45.number().optional(),
|
|
844
|
+
display_pin_label: z45.string().optional(),
|
|
845
|
+
subcircuit_id: z45.string().optional(),
|
|
846
|
+
is_connected: z45.boolean().optional()
|
|
829
847
|
}).describe("Defines a port on a schematic component");
|
|
830
848
|
expectTypesMatch(true);
|
|
831
849
|
|
|
832
850
|
// src/schematic/schematic_net_label.ts
|
|
833
|
-
import { z as
|
|
834
|
-
var schematic_net_label =
|
|
835
|
-
type:
|
|
851
|
+
import { z as z46 } from "zod";
|
|
852
|
+
var schematic_net_label = z46.object({
|
|
853
|
+
type: z46.literal("schematic_net_label"),
|
|
836
854
|
schematic_net_label_id: getZodPrefixedIdWithDefault("schematic_net_label"),
|
|
837
|
-
schematic_trace_id:
|
|
838
|
-
source_trace_id:
|
|
839
|
-
source_net_id:
|
|
855
|
+
schematic_trace_id: z46.string().optional(),
|
|
856
|
+
source_trace_id: z46.string().optional(),
|
|
857
|
+
source_net_id: z46.string(),
|
|
840
858
|
center: point,
|
|
841
859
|
anchor_position: point.optional(),
|
|
842
|
-
anchor_side:
|
|
843
|
-
text:
|
|
844
|
-
symbol_name:
|
|
845
|
-
is_movable:
|
|
846
|
-
subcircuit_id:
|
|
860
|
+
anchor_side: z46.enum(["top", "bottom", "left", "right"]),
|
|
861
|
+
text: z46.string(),
|
|
862
|
+
symbol_name: z46.string().optional(),
|
|
863
|
+
is_movable: z46.boolean().optional(),
|
|
864
|
+
subcircuit_id: z46.string().optional()
|
|
847
865
|
});
|
|
848
866
|
expectTypesMatch(true);
|
|
849
867
|
|
|
850
868
|
// src/schematic/schematic_error.ts
|
|
851
|
-
import { z as
|
|
852
|
-
var schematic_error =
|
|
853
|
-
type:
|
|
854
|
-
schematic_error_id:
|
|
869
|
+
import { z as z47 } from "zod";
|
|
870
|
+
var schematic_error = z47.object({
|
|
871
|
+
type: z47.literal("schematic_error"),
|
|
872
|
+
schematic_error_id: z47.string(),
|
|
855
873
|
// eventually each error type should be broken out into a dir of files
|
|
856
|
-
error_type:
|
|
857
|
-
message:
|
|
858
|
-
subcircuit_id:
|
|
874
|
+
error_type: z47.literal("schematic_port_not_found").default("schematic_port_not_found"),
|
|
875
|
+
message: z47.string(),
|
|
876
|
+
subcircuit_id: z47.string().optional()
|
|
859
877
|
}).describe("Defines a schematic error on the schematic");
|
|
860
878
|
expectTypesMatch(true);
|
|
861
879
|
|
|
862
880
|
// src/schematic/schematic_layout_error.ts
|
|
863
|
-
import { z as
|
|
864
|
-
var schematic_layout_error =
|
|
865
|
-
type:
|
|
881
|
+
import { z as z48 } from "zod";
|
|
882
|
+
var schematic_layout_error = z48.object({
|
|
883
|
+
type: z48.literal("schematic_layout_error"),
|
|
866
884
|
schematic_layout_error_id: getZodPrefixedIdWithDefault(
|
|
867
885
|
"schematic_layout_error"
|
|
868
886
|
),
|
|
869
|
-
error_type:
|
|
870
|
-
message:
|
|
871
|
-
source_group_id:
|
|
872
|
-
schematic_group_id:
|
|
873
|
-
subcircuit_id:
|
|
887
|
+
error_type: z48.literal("schematic_layout_error").default("schematic_layout_error"),
|
|
888
|
+
message: z48.string(),
|
|
889
|
+
source_group_id: z48.string(),
|
|
890
|
+
schematic_group_id: z48.string(),
|
|
891
|
+
subcircuit_id: z48.string().optional()
|
|
874
892
|
}).describe("Error emitted when schematic layout fails for a group");
|
|
875
893
|
expectTypesMatch(true);
|
|
876
894
|
|
|
877
895
|
// src/schematic/schematic_debug_object.ts
|
|
878
|
-
import { z as
|
|
879
|
-
var schematic_debug_object_base =
|
|
880
|
-
type:
|
|
881
|
-
label:
|
|
882
|
-
subcircuit_id:
|
|
896
|
+
import { z as z49 } from "zod";
|
|
897
|
+
var schematic_debug_object_base = z49.object({
|
|
898
|
+
type: z49.literal("schematic_debug_object"),
|
|
899
|
+
label: z49.string().optional(),
|
|
900
|
+
subcircuit_id: z49.string().optional()
|
|
883
901
|
});
|
|
884
902
|
var schematic_debug_rect = schematic_debug_object_base.extend({
|
|
885
|
-
shape:
|
|
903
|
+
shape: z49.literal("rect"),
|
|
886
904
|
center: point,
|
|
887
905
|
size
|
|
888
906
|
});
|
|
889
907
|
var schematic_debug_line = schematic_debug_object_base.extend({
|
|
890
|
-
shape:
|
|
908
|
+
shape: z49.literal("line"),
|
|
891
909
|
start: point,
|
|
892
910
|
end: point
|
|
893
911
|
});
|
|
894
912
|
var schematic_debug_point = schematic_debug_object_base.extend({
|
|
895
|
-
shape:
|
|
913
|
+
shape: z49.literal("point"),
|
|
896
914
|
center: point
|
|
897
915
|
});
|
|
898
|
-
var schematic_debug_object =
|
|
916
|
+
var schematic_debug_object = z49.discriminatedUnion("shape", [
|
|
899
917
|
schematic_debug_rect,
|
|
900
918
|
schematic_debug_line,
|
|
901
919
|
schematic_debug_point
|
|
@@ -903,93 +921,93 @@ var schematic_debug_object = z48.discriminatedUnion("shape", [
|
|
|
903
921
|
expectTypesMatch(true);
|
|
904
922
|
|
|
905
923
|
// src/schematic/schematic_voltage_probe.ts
|
|
906
|
-
import { z as
|
|
907
|
-
var schematic_voltage_probe =
|
|
908
|
-
type:
|
|
909
|
-
schematic_voltage_probe_id:
|
|
924
|
+
import { z as z50 } from "zod";
|
|
925
|
+
var schematic_voltage_probe = z50.object({
|
|
926
|
+
type: z50.literal("schematic_voltage_probe"),
|
|
927
|
+
schematic_voltage_probe_id: z50.string(),
|
|
910
928
|
position: point,
|
|
911
|
-
schematic_trace_id:
|
|
929
|
+
schematic_trace_id: z50.string(),
|
|
912
930
|
voltage: voltage.optional(),
|
|
913
|
-
subcircuit_id:
|
|
931
|
+
subcircuit_id: z50.string().optional()
|
|
914
932
|
}).describe("Defines a voltage probe measurement point on a schematic trace");
|
|
915
933
|
expectTypesMatch(true);
|
|
916
934
|
|
|
917
935
|
// src/schematic/schematic_manual_edit_conflict_warning.ts
|
|
918
|
-
import { z as
|
|
919
|
-
var schematic_manual_edit_conflict_warning =
|
|
920
|
-
type:
|
|
936
|
+
import { z as z51 } from "zod";
|
|
937
|
+
var schematic_manual_edit_conflict_warning = z51.object({
|
|
938
|
+
type: z51.literal("schematic_manual_edit_conflict_warning"),
|
|
921
939
|
schematic_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
922
940
|
"schematic_manual_edit_conflict_warning"
|
|
923
941
|
),
|
|
924
|
-
warning_type:
|
|
925
|
-
message:
|
|
926
|
-
schematic_component_id:
|
|
927
|
-
schematic_group_id:
|
|
928
|
-
subcircuit_id:
|
|
929
|
-
source_component_id:
|
|
942
|
+
warning_type: z51.literal("schematic_manual_edit_conflict_warning").default("schematic_manual_edit_conflict_warning"),
|
|
943
|
+
message: z51.string(),
|
|
944
|
+
schematic_component_id: z51.string(),
|
|
945
|
+
schematic_group_id: z51.string().optional(),
|
|
946
|
+
subcircuit_id: z51.string().optional(),
|
|
947
|
+
source_component_id: z51.string()
|
|
930
948
|
}).describe(
|
|
931
949
|
"Warning emitted when a component has both manual placement and explicit schX/schY coordinates"
|
|
932
950
|
);
|
|
933
951
|
expectTypesMatch(true);
|
|
934
952
|
|
|
935
953
|
// src/schematic/schematic_group.ts
|
|
936
|
-
import { z as
|
|
937
|
-
var schematic_group =
|
|
938
|
-
type:
|
|
954
|
+
import { z as z52 } from "zod";
|
|
955
|
+
var schematic_group = z52.object({
|
|
956
|
+
type: z52.literal("schematic_group"),
|
|
939
957
|
schematic_group_id: getZodPrefixedIdWithDefault("schematic_group"),
|
|
940
|
-
source_group_id:
|
|
941
|
-
is_subcircuit:
|
|
942
|
-
subcircuit_id:
|
|
958
|
+
source_group_id: z52.string(),
|
|
959
|
+
is_subcircuit: z52.boolean().optional(),
|
|
960
|
+
subcircuit_id: z52.string().optional(),
|
|
943
961
|
width: length,
|
|
944
962
|
height: length,
|
|
945
963
|
center: point,
|
|
946
|
-
schematic_component_ids:
|
|
947
|
-
name:
|
|
948
|
-
description:
|
|
964
|
+
schematic_component_ids: z52.array(z52.string()),
|
|
965
|
+
name: z52.string().optional(),
|
|
966
|
+
description: z52.string().optional()
|
|
949
967
|
}).describe("Defines a group of components on the schematic");
|
|
950
968
|
expectTypesMatch(true);
|
|
951
969
|
|
|
952
970
|
// src/schematic/schematic_table.ts
|
|
953
|
-
import { z as
|
|
954
|
-
var schematic_table =
|
|
955
|
-
type:
|
|
971
|
+
import { z as z53 } from "zod";
|
|
972
|
+
var schematic_table = z53.object({
|
|
973
|
+
type: z53.literal("schematic_table"),
|
|
956
974
|
schematic_table_id: getZodPrefixedIdWithDefault("schematic_table"),
|
|
957
975
|
anchor_position: point,
|
|
958
|
-
column_widths:
|
|
959
|
-
row_heights:
|
|
976
|
+
column_widths: z53.array(distance),
|
|
977
|
+
row_heights: z53.array(distance),
|
|
960
978
|
cell_padding: distance.optional(),
|
|
961
979
|
border_width: distance.optional(),
|
|
962
|
-
subcircuit_id:
|
|
963
|
-
schematic_component_id:
|
|
980
|
+
subcircuit_id: z53.string().optional(),
|
|
981
|
+
schematic_component_id: z53.string().optional(),
|
|
964
982
|
anchor: ninePointAnchor.optional()
|
|
965
983
|
}).describe("Defines a table on the schematic");
|
|
966
984
|
expectTypesMatch(true);
|
|
967
985
|
|
|
968
986
|
// src/schematic/schematic_table_cell.ts
|
|
969
|
-
import { z as
|
|
970
|
-
var schematic_table_cell =
|
|
971
|
-
type:
|
|
987
|
+
import { z as z54 } from "zod";
|
|
988
|
+
var schematic_table_cell = z54.object({
|
|
989
|
+
type: z54.literal("schematic_table_cell"),
|
|
972
990
|
schematic_table_cell_id: getZodPrefixedIdWithDefault(
|
|
973
991
|
"schematic_table_cell"
|
|
974
992
|
),
|
|
975
|
-
schematic_table_id:
|
|
976
|
-
start_row_index:
|
|
977
|
-
end_row_index:
|
|
978
|
-
start_column_index:
|
|
979
|
-
end_column_index:
|
|
980
|
-
text:
|
|
993
|
+
schematic_table_id: z54.string(),
|
|
994
|
+
start_row_index: z54.number(),
|
|
995
|
+
end_row_index: z54.number(),
|
|
996
|
+
start_column_index: z54.number(),
|
|
997
|
+
end_column_index: z54.number(),
|
|
998
|
+
text: z54.string().optional(),
|
|
981
999
|
center: point,
|
|
982
1000
|
width: distance,
|
|
983
1001
|
height: distance,
|
|
984
|
-
horizontal_align:
|
|
985
|
-
vertical_align:
|
|
1002
|
+
horizontal_align: z54.enum(["left", "center", "right"]).optional(),
|
|
1003
|
+
vertical_align: z54.enum(["top", "middle", "bottom"]).optional(),
|
|
986
1004
|
font_size: distance.optional(),
|
|
987
|
-
subcircuit_id:
|
|
1005
|
+
subcircuit_id: z54.string().optional()
|
|
988
1006
|
}).describe("Defines a cell within a schematic_table");
|
|
989
1007
|
expectTypesMatch(true);
|
|
990
1008
|
|
|
991
1009
|
// src/pcb/properties/layer_ref.ts
|
|
992
|
-
import { z as
|
|
1010
|
+
import { z as z55 } from "zod";
|
|
993
1011
|
var all_layers = [
|
|
994
1012
|
"top",
|
|
995
1013
|
"bottom",
|
|
@@ -1000,9 +1018,9 @@ var all_layers = [
|
|
|
1000
1018
|
"inner5",
|
|
1001
1019
|
"inner6"
|
|
1002
1020
|
];
|
|
1003
|
-
var layer_string =
|
|
1021
|
+
var layer_string = z55.enum(all_layers);
|
|
1004
1022
|
var layer_ref = layer_string.or(
|
|
1005
|
-
|
|
1023
|
+
z55.object({
|
|
1006
1024
|
name: layer_string
|
|
1007
1025
|
})
|
|
1008
1026
|
).transform((layer) => {
|
|
@@ -1012,56 +1030,56 @@ var layer_ref = layer_string.or(
|
|
|
1012
1030
|
return layer.name;
|
|
1013
1031
|
});
|
|
1014
1032
|
expectTypesMatch(true);
|
|
1015
|
-
var visible_layer =
|
|
1033
|
+
var visible_layer = z55.enum(["top", "bottom"]);
|
|
1016
1034
|
|
|
1017
1035
|
// src/pcb/properties/pcb_route_hints.ts
|
|
1018
|
-
import { z as
|
|
1019
|
-
var pcb_route_hint =
|
|
1036
|
+
import { z as z56 } from "zod";
|
|
1037
|
+
var pcb_route_hint = z56.object({
|
|
1020
1038
|
x: distance,
|
|
1021
1039
|
y: distance,
|
|
1022
|
-
via:
|
|
1040
|
+
via: z56.boolean().optional(),
|
|
1023
1041
|
via_to_layer: layer_ref.optional()
|
|
1024
1042
|
});
|
|
1025
|
-
var pcb_route_hints =
|
|
1043
|
+
var pcb_route_hints = z56.array(pcb_route_hint);
|
|
1026
1044
|
expectTypesMatch(true);
|
|
1027
1045
|
expectTypesMatch(true);
|
|
1028
1046
|
|
|
1029
1047
|
// src/pcb/properties/route_hint_point.ts
|
|
1030
|
-
import { z as
|
|
1031
|
-
var route_hint_point =
|
|
1048
|
+
import { z as z57 } from "zod";
|
|
1049
|
+
var route_hint_point = z57.object({
|
|
1032
1050
|
x: distance,
|
|
1033
1051
|
y: distance,
|
|
1034
|
-
via:
|
|
1052
|
+
via: z57.boolean().optional(),
|
|
1035
1053
|
to_layer: layer_ref.optional(),
|
|
1036
1054
|
trace_width: distance.optional()
|
|
1037
1055
|
});
|
|
1038
1056
|
expectTypesMatch(true);
|
|
1039
1057
|
|
|
1040
1058
|
// src/pcb/pcb_component.ts
|
|
1041
|
-
import { z as
|
|
1042
|
-
var pcb_component =
|
|
1043
|
-
type:
|
|
1059
|
+
import { z as z58 } from "zod";
|
|
1060
|
+
var pcb_component = z58.object({
|
|
1061
|
+
type: z58.literal("pcb_component"),
|
|
1044
1062
|
pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
|
|
1045
|
-
source_component_id:
|
|
1063
|
+
source_component_id: z58.string(),
|
|
1046
1064
|
center: point,
|
|
1047
1065
|
layer: layer_ref,
|
|
1048
1066
|
rotation,
|
|
1049
1067
|
width: length,
|
|
1050
1068
|
height: length,
|
|
1051
|
-
subcircuit_id:
|
|
1052
|
-
pcb_group_id:
|
|
1069
|
+
subcircuit_id: z58.string().optional(),
|
|
1070
|
+
pcb_group_id: z58.string().optional()
|
|
1053
1071
|
}).describe("Defines a component on the PCB");
|
|
1054
1072
|
expectTypesMatch(true);
|
|
1055
1073
|
|
|
1056
1074
|
// src/pcb/pcb_hole.ts
|
|
1057
|
-
import { z as
|
|
1058
|
-
var pcb_hole_circle_or_square =
|
|
1059
|
-
type:
|
|
1075
|
+
import { z as z59 } from "zod";
|
|
1076
|
+
var pcb_hole_circle_or_square = z59.object({
|
|
1077
|
+
type: z59.literal("pcb_hole"),
|
|
1060
1078
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1061
|
-
pcb_group_id:
|
|
1062
|
-
subcircuit_id:
|
|
1063
|
-
hole_shape:
|
|
1064
|
-
hole_diameter:
|
|
1079
|
+
pcb_group_id: z59.string().optional(),
|
|
1080
|
+
subcircuit_id: z59.string().optional(),
|
|
1081
|
+
hole_shape: z59.enum(["circle", "square"]),
|
|
1082
|
+
hole_diameter: z59.number(),
|
|
1065
1083
|
x: distance,
|
|
1066
1084
|
y: distance
|
|
1067
1085
|
});
|
|
@@ -1069,14 +1087,14 @@ var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
|
|
|
1069
1087
|
"Defines a circular or square hole on the PCB"
|
|
1070
1088
|
);
|
|
1071
1089
|
expectTypesMatch(true);
|
|
1072
|
-
var pcb_hole_oval =
|
|
1073
|
-
type:
|
|
1090
|
+
var pcb_hole_oval = z59.object({
|
|
1091
|
+
type: z59.literal("pcb_hole"),
|
|
1074
1092
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1075
|
-
pcb_group_id:
|
|
1076
|
-
subcircuit_id:
|
|
1077
|
-
hole_shape:
|
|
1078
|
-
hole_width:
|
|
1079
|
-
hole_height:
|
|
1093
|
+
pcb_group_id: z59.string().optional(),
|
|
1094
|
+
subcircuit_id: z59.string().optional(),
|
|
1095
|
+
hole_shape: z59.literal("oval"),
|
|
1096
|
+
hole_width: z59.number(),
|
|
1097
|
+
hole_height: z59.number(),
|
|
1080
1098
|
x: distance,
|
|
1081
1099
|
y: distance
|
|
1082
1100
|
});
|
|
@@ -1087,98 +1105,98 @@ expectTypesMatch(true);
|
|
|
1087
1105
|
var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval);
|
|
1088
1106
|
|
|
1089
1107
|
// src/pcb/pcb_plated_hole.ts
|
|
1090
|
-
import { z as
|
|
1091
|
-
var pcb_plated_hole_circle =
|
|
1092
|
-
type:
|
|
1093
|
-
shape:
|
|
1094
|
-
pcb_group_id:
|
|
1095
|
-
subcircuit_id:
|
|
1096
|
-
outer_diameter:
|
|
1097
|
-
hole_diameter:
|
|
1108
|
+
import { z as z60 } from "zod";
|
|
1109
|
+
var pcb_plated_hole_circle = z60.object({
|
|
1110
|
+
type: z60.literal("pcb_plated_hole"),
|
|
1111
|
+
shape: z60.literal("circle"),
|
|
1112
|
+
pcb_group_id: z60.string().optional(),
|
|
1113
|
+
subcircuit_id: z60.string().optional(),
|
|
1114
|
+
outer_diameter: z60.number(),
|
|
1115
|
+
hole_diameter: z60.number(),
|
|
1098
1116
|
x: distance,
|
|
1099
1117
|
y: distance,
|
|
1100
|
-
layers:
|
|
1101
|
-
port_hints:
|
|
1102
|
-
pcb_component_id:
|
|
1103
|
-
pcb_port_id:
|
|
1118
|
+
layers: z60.array(layer_ref),
|
|
1119
|
+
port_hints: z60.array(z60.string()).optional(),
|
|
1120
|
+
pcb_component_id: z60.string().optional(),
|
|
1121
|
+
pcb_port_id: z60.string().optional(),
|
|
1104
1122
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
1105
1123
|
});
|
|
1106
|
-
var pcb_plated_hole_oval =
|
|
1107
|
-
type:
|
|
1108
|
-
shape:
|
|
1109
|
-
pcb_group_id:
|
|
1110
|
-
subcircuit_id:
|
|
1111
|
-
outer_width:
|
|
1112
|
-
outer_height:
|
|
1113
|
-
hole_width:
|
|
1114
|
-
hole_height:
|
|
1124
|
+
var pcb_plated_hole_oval = z60.object({
|
|
1125
|
+
type: z60.literal("pcb_plated_hole"),
|
|
1126
|
+
shape: z60.enum(["oval", "pill"]),
|
|
1127
|
+
pcb_group_id: z60.string().optional(),
|
|
1128
|
+
subcircuit_id: z60.string().optional(),
|
|
1129
|
+
outer_width: z60.number(),
|
|
1130
|
+
outer_height: z60.number(),
|
|
1131
|
+
hole_width: z60.number(),
|
|
1132
|
+
hole_height: z60.number(),
|
|
1115
1133
|
x: distance,
|
|
1116
1134
|
y: distance,
|
|
1117
|
-
layers:
|
|
1118
|
-
port_hints:
|
|
1119
|
-
pcb_component_id:
|
|
1120
|
-
pcb_port_id:
|
|
1135
|
+
layers: z60.array(layer_ref),
|
|
1136
|
+
port_hints: z60.array(z60.string()).optional(),
|
|
1137
|
+
pcb_component_id: z60.string().optional(),
|
|
1138
|
+
pcb_port_id: z60.string().optional(),
|
|
1121
1139
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
1122
1140
|
});
|
|
1123
|
-
var pcb_circular_hole_with_rect_pad =
|
|
1124
|
-
type:
|
|
1125
|
-
shape:
|
|
1126
|
-
pcb_group_id:
|
|
1127
|
-
subcircuit_id:
|
|
1128
|
-
hole_shape:
|
|
1129
|
-
pad_shape:
|
|
1130
|
-
hole_diameter:
|
|
1131
|
-
rect_pad_width:
|
|
1132
|
-
rect_pad_height:
|
|
1141
|
+
var pcb_circular_hole_with_rect_pad = z60.object({
|
|
1142
|
+
type: z60.literal("pcb_plated_hole"),
|
|
1143
|
+
shape: z60.literal("circular_hole_with_rect_pad"),
|
|
1144
|
+
pcb_group_id: z60.string().optional(),
|
|
1145
|
+
subcircuit_id: z60.string().optional(),
|
|
1146
|
+
hole_shape: z60.literal("circle"),
|
|
1147
|
+
pad_shape: z60.literal("rect"),
|
|
1148
|
+
hole_diameter: z60.number(),
|
|
1149
|
+
rect_pad_width: z60.number(),
|
|
1150
|
+
rect_pad_height: z60.number(),
|
|
1133
1151
|
x: distance,
|
|
1134
1152
|
y: distance,
|
|
1135
|
-
layers:
|
|
1136
|
-
port_hints:
|
|
1137
|
-
pcb_component_id:
|
|
1138
|
-
pcb_port_id:
|
|
1153
|
+
layers: z60.array(layer_ref),
|
|
1154
|
+
port_hints: z60.array(z60.string()).optional(),
|
|
1155
|
+
pcb_component_id: z60.string().optional(),
|
|
1156
|
+
pcb_port_id: z60.string().optional(),
|
|
1139
1157
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
1140
1158
|
});
|
|
1141
|
-
var pcb_pill_hole_with_rect_pad =
|
|
1142
|
-
type:
|
|
1143
|
-
shape:
|
|
1144
|
-
pcb_group_id:
|
|
1145
|
-
subcircuit_id:
|
|
1146
|
-
hole_shape:
|
|
1147
|
-
pad_shape:
|
|
1148
|
-
hole_width:
|
|
1149
|
-
hole_height:
|
|
1150
|
-
rect_pad_width:
|
|
1151
|
-
rect_pad_height:
|
|
1159
|
+
var pcb_pill_hole_with_rect_pad = z60.object({
|
|
1160
|
+
type: z60.literal("pcb_plated_hole"),
|
|
1161
|
+
shape: z60.literal("pill_hole_with_rect_pad"),
|
|
1162
|
+
pcb_group_id: z60.string().optional(),
|
|
1163
|
+
subcircuit_id: z60.string().optional(),
|
|
1164
|
+
hole_shape: z60.literal("pill"),
|
|
1165
|
+
pad_shape: z60.literal("rect"),
|
|
1166
|
+
hole_width: z60.number(),
|
|
1167
|
+
hole_height: z60.number(),
|
|
1168
|
+
rect_pad_width: z60.number(),
|
|
1169
|
+
rect_pad_height: z60.number(),
|
|
1152
1170
|
x: distance,
|
|
1153
1171
|
y: distance,
|
|
1154
|
-
layers:
|
|
1155
|
-
port_hints:
|
|
1156
|
-
pcb_component_id:
|
|
1157
|
-
pcb_port_id:
|
|
1172
|
+
layers: z60.array(layer_ref),
|
|
1173
|
+
port_hints: z60.array(z60.string()).optional(),
|
|
1174
|
+
pcb_component_id: z60.string().optional(),
|
|
1175
|
+
pcb_port_id: z60.string().optional(),
|
|
1158
1176
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
1159
1177
|
});
|
|
1160
|
-
var pcb_rotated_pill_hole_with_rect_pad =
|
|
1161
|
-
type:
|
|
1162
|
-
shape:
|
|
1163
|
-
pcb_group_id:
|
|
1164
|
-
subcircuit_id:
|
|
1165
|
-
hole_shape:
|
|
1166
|
-
pad_shape:
|
|
1167
|
-
hole_width:
|
|
1168
|
-
hole_height:
|
|
1178
|
+
var pcb_rotated_pill_hole_with_rect_pad = z60.object({
|
|
1179
|
+
type: z60.literal("pcb_plated_hole"),
|
|
1180
|
+
shape: z60.literal("rotated_pill_hole_with_rect_pad"),
|
|
1181
|
+
pcb_group_id: z60.string().optional(),
|
|
1182
|
+
subcircuit_id: z60.string().optional(),
|
|
1183
|
+
hole_shape: z60.literal("rotated_pill"),
|
|
1184
|
+
pad_shape: z60.literal("rect"),
|
|
1185
|
+
hole_width: z60.number(),
|
|
1186
|
+
hole_height: z60.number(),
|
|
1169
1187
|
hole_ccw_rotation: rotation,
|
|
1170
|
-
rect_pad_width:
|
|
1171
|
-
rect_pad_height:
|
|
1188
|
+
rect_pad_width: z60.number(),
|
|
1189
|
+
rect_pad_height: z60.number(),
|
|
1172
1190
|
rect_ccw_rotation: rotation,
|
|
1173
1191
|
x: distance,
|
|
1174
1192
|
y: distance,
|
|
1175
|
-
layers:
|
|
1176
|
-
port_hints:
|
|
1177
|
-
pcb_component_id:
|
|
1178
|
-
pcb_port_id:
|
|
1193
|
+
layers: z60.array(layer_ref),
|
|
1194
|
+
port_hints: z60.array(z60.string()).optional(),
|
|
1195
|
+
pcb_component_id: z60.string().optional(),
|
|
1196
|
+
pcb_port_id: z60.string().optional(),
|
|
1179
1197
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
|
|
1180
1198
|
});
|
|
1181
|
-
var pcb_plated_hole =
|
|
1199
|
+
var pcb_plated_hole = z60.union([
|
|
1182
1200
|
pcb_plated_hole_circle,
|
|
1183
1201
|
pcb_plated_hole_oval,
|
|
1184
1202
|
pcb_circular_hole_with_rect_pad,
|
|
@@ -1194,113 +1212,113 @@ expectTypesMatch(true);
|
|
|
1194
1212
|
expectTypesMatch(true);
|
|
1195
1213
|
|
|
1196
1214
|
// src/pcb/pcb_port.ts
|
|
1197
|
-
import { z as
|
|
1198
|
-
var pcb_port =
|
|
1199
|
-
type:
|
|
1215
|
+
import { z as z61 } from "zod";
|
|
1216
|
+
var pcb_port = z61.object({
|
|
1217
|
+
type: z61.literal("pcb_port"),
|
|
1200
1218
|
pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
|
|
1201
|
-
pcb_group_id:
|
|
1202
|
-
subcircuit_id:
|
|
1203
|
-
source_port_id:
|
|
1204
|
-
pcb_component_id:
|
|
1219
|
+
pcb_group_id: z61.string().optional(),
|
|
1220
|
+
subcircuit_id: z61.string().optional(),
|
|
1221
|
+
source_port_id: z61.string(),
|
|
1222
|
+
pcb_component_id: z61.string(),
|
|
1205
1223
|
x: distance,
|
|
1206
1224
|
y: distance,
|
|
1207
|
-
layers:
|
|
1225
|
+
layers: z61.array(layer_ref)
|
|
1208
1226
|
}).describe("Defines a port on the PCB");
|
|
1209
1227
|
expectTypesMatch(true);
|
|
1210
1228
|
|
|
1211
1229
|
// src/pcb/pcb_smtpad.ts
|
|
1212
|
-
import { z as
|
|
1213
|
-
var pcb_smtpad_circle =
|
|
1214
|
-
type:
|
|
1215
|
-
shape:
|
|
1230
|
+
import { z as z62 } from "zod";
|
|
1231
|
+
var pcb_smtpad_circle = z62.object({
|
|
1232
|
+
type: z62.literal("pcb_smtpad"),
|
|
1233
|
+
shape: z62.literal("circle"),
|
|
1216
1234
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1217
|
-
pcb_group_id:
|
|
1218
|
-
subcircuit_id:
|
|
1235
|
+
pcb_group_id: z62.string().optional(),
|
|
1236
|
+
subcircuit_id: z62.string().optional(),
|
|
1219
1237
|
x: distance,
|
|
1220
1238
|
y: distance,
|
|
1221
|
-
radius:
|
|
1239
|
+
radius: z62.number(),
|
|
1222
1240
|
layer: layer_ref,
|
|
1223
|
-
port_hints:
|
|
1224
|
-
pcb_component_id:
|
|
1225
|
-
pcb_port_id:
|
|
1241
|
+
port_hints: z62.array(z62.string()).optional(),
|
|
1242
|
+
pcb_component_id: z62.string().optional(),
|
|
1243
|
+
pcb_port_id: z62.string().optional()
|
|
1226
1244
|
});
|
|
1227
|
-
var pcb_smtpad_rect =
|
|
1228
|
-
type:
|
|
1229
|
-
shape:
|
|
1245
|
+
var pcb_smtpad_rect = z62.object({
|
|
1246
|
+
type: z62.literal("pcb_smtpad"),
|
|
1247
|
+
shape: z62.literal("rect"),
|
|
1230
1248
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1231
|
-
pcb_group_id:
|
|
1232
|
-
subcircuit_id:
|
|
1249
|
+
pcb_group_id: z62.string().optional(),
|
|
1250
|
+
subcircuit_id: z62.string().optional(),
|
|
1233
1251
|
x: distance,
|
|
1234
1252
|
y: distance,
|
|
1235
|
-
width:
|
|
1236
|
-
height:
|
|
1253
|
+
width: z62.number(),
|
|
1254
|
+
height: z62.number(),
|
|
1237
1255
|
layer: layer_ref,
|
|
1238
|
-
port_hints:
|
|
1239
|
-
pcb_component_id:
|
|
1240
|
-
pcb_port_id:
|
|
1256
|
+
port_hints: z62.array(z62.string()).optional(),
|
|
1257
|
+
pcb_component_id: z62.string().optional(),
|
|
1258
|
+
pcb_port_id: z62.string().optional()
|
|
1241
1259
|
});
|
|
1242
|
-
var pcb_smtpad_rotated_rect =
|
|
1243
|
-
type:
|
|
1244
|
-
shape:
|
|
1260
|
+
var pcb_smtpad_rotated_rect = z62.object({
|
|
1261
|
+
type: z62.literal("pcb_smtpad"),
|
|
1262
|
+
shape: z62.literal("rotated_rect"),
|
|
1245
1263
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1246
|
-
pcb_group_id:
|
|
1247
|
-
subcircuit_id:
|
|
1264
|
+
pcb_group_id: z62.string().optional(),
|
|
1265
|
+
subcircuit_id: z62.string().optional(),
|
|
1248
1266
|
x: distance,
|
|
1249
1267
|
y: distance,
|
|
1250
|
-
width:
|
|
1251
|
-
height:
|
|
1268
|
+
width: z62.number(),
|
|
1269
|
+
height: z62.number(),
|
|
1252
1270
|
ccw_rotation: rotation,
|
|
1253
1271
|
layer: layer_ref,
|
|
1254
|
-
port_hints:
|
|
1255
|
-
pcb_component_id:
|
|
1256
|
-
pcb_port_id:
|
|
1272
|
+
port_hints: z62.array(z62.string()).optional(),
|
|
1273
|
+
pcb_component_id: z62.string().optional(),
|
|
1274
|
+
pcb_port_id: z62.string().optional()
|
|
1257
1275
|
});
|
|
1258
|
-
var pcb_smtpad_pill =
|
|
1259
|
-
type:
|
|
1260
|
-
shape:
|
|
1276
|
+
var pcb_smtpad_pill = z62.object({
|
|
1277
|
+
type: z62.literal("pcb_smtpad"),
|
|
1278
|
+
shape: z62.literal("pill"),
|
|
1261
1279
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1262
|
-
pcb_group_id:
|
|
1263
|
-
subcircuit_id:
|
|
1280
|
+
pcb_group_id: z62.string().optional(),
|
|
1281
|
+
subcircuit_id: z62.string().optional(),
|
|
1264
1282
|
x: distance,
|
|
1265
1283
|
y: distance,
|
|
1266
|
-
width:
|
|
1267
|
-
height:
|
|
1268
|
-
radius:
|
|
1284
|
+
width: z62.number(),
|
|
1285
|
+
height: z62.number(),
|
|
1286
|
+
radius: z62.number(),
|
|
1269
1287
|
layer: layer_ref,
|
|
1270
|
-
port_hints:
|
|
1271
|
-
pcb_component_id:
|
|
1272
|
-
pcb_port_id:
|
|
1288
|
+
port_hints: z62.array(z62.string()).optional(),
|
|
1289
|
+
pcb_component_id: z62.string().optional(),
|
|
1290
|
+
pcb_port_id: z62.string().optional()
|
|
1273
1291
|
});
|
|
1274
|
-
var pcb_smtpad_rotated_pill =
|
|
1275
|
-
type:
|
|
1276
|
-
shape:
|
|
1292
|
+
var pcb_smtpad_rotated_pill = z62.object({
|
|
1293
|
+
type: z62.literal("pcb_smtpad"),
|
|
1294
|
+
shape: z62.literal("rotated_pill"),
|
|
1277
1295
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1278
|
-
pcb_group_id:
|
|
1279
|
-
subcircuit_id:
|
|
1296
|
+
pcb_group_id: z62.string().optional(),
|
|
1297
|
+
subcircuit_id: z62.string().optional(),
|
|
1280
1298
|
x: distance,
|
|
1281
1299
|
y: distance,
|
|
1282
|
-
width:
|
|
1283
|
-
height:
|
|
1284
|
-
radius:
|
|
1300
|
+
width: z62.number(),
|
|
1301
|
+
height: z62.number(),
|
|
1302
|
+
radius: z62.number(),
|
|
1285
1303
|
ccw_rotation: rotation,
|
|
1286
1304
|
layer: layer_ref,
|
|
1287
|
-
port_hints:
|
|
1288
|
-
pcb_component_id:
|
|
1289
|
-
pcb_port_id:
|
|
1305
|
+
port_hints: z62.array(z62.string()).optional(),
|
|
1306
|
+
pcb_component_id: z62.string().optional(),
|
|
1307
|
+
pcb_port_id: z62.string().optional()
|
|
1290
1308
|
});
|
|
1291
|
-
var pcb_smtpad_polygon =
|
|
1292
|
-
type:
|
|
1293
|
-
shape:
|
|
1309
|
+
var pcb_smtpad_polygon = z62.object({
|
|
1310
|
+
type: z62.literal("pcb_smtpad"),
|
|
1311
|
+
shape: z62.literal("polygon"),
|
|
1294
1312
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1295
|
-
pcb_group_id:
|
|
1296
|
-
subcircuit_id:
|
|
1297
|
-
points:
|
|
1313
|
+
pcb_group_id: z62.string().optional(),
|
|
1314
|
+
subcircuit_id: z62.string().optional(),
|
|
1315
|
+
points: z62.array(point),
|
|
1298
1316
|
layer: layer_ref,
|
|
1299
|
-
port_hints:
|
|
1300
|
-
pcb_component_id:
|
|
1301
|
-
pcb_port_id:
|
|
1317
|
+
port_hints: z62.array(z62.string()).optional(),
|
|
1318
|
+
pcb_component_id: z62.string().optional(),
|
|
1319
|
+
pcb_port_id: z62.string().optional()
|
|
1302
1320
|
});
|
|
1303
|
-
var pcb_smtpad =
|
|
1321
|
+
var pcb_smtpad = z62.discriminatedUnion("shape", [
|
|
1304
1322
|
pcb_smtpad_circle,
|
|
1305
1323
|
pcb_smtpad_rect,
|
|
1306
1324
|
pcb_smtpad_rotated_rect,
|
|
@@ -1316,79 +1334,79 @@ expectTypesMatch(true);
|
|
|
1316
1334
|
expectTypesMatch(true);
|
|
1317
1335
|
|
|
1318
1336
|
// src/pcb/pcb_solder_paste.ts
|
|
1319
|
-
import { z as
|
|
1320
|
-
var pcb_solder_paste_circle =
|
|
1321
|
-
type:
|
|
1322
|
-
shape:
|
|
1337
|
+
import { z as z63 } from "zod";
|
|
1338
|
+
var pcb_solder_paste_circle = z63.object({
|
|
1339
|
+
type: z63.literal("pcb_solder_paste"),
|
|
1340
|
+
shape: z63.literal("circle"),
|
|
1323
1341
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1324
|
-
pcb_group_id:
|
|
1325
|
-
subcircuit_id:
|
|
1342
|
+
pcb_group_id: z63.string().optional(),
|
|
1343
|
+
subcircuit_id: z63.string().optional(),
|
|
1326
1344
|
x: distance,
|
|
1327
1345
|
y: distance,
|
|
1328
|
-
radius:
|
|
1346
|
+
radius: z63.number(),
|
|
1329
1347
|
layer: layer_ref,
|
|
1330
|
-
pcb_component_id:
|
|
1331
|
-
pcb_smtpad_id:
|
|
1348
|
+
pcb_component_id: z63.string().optional(),
|
|
1349
|
+
pcb_smtpad_id: z63.string().optional()
|
|
1332
1350
|
});
|
|
1333
|
-
var pcb_solder_paste_rect =
|
|
1334
|
-
type:
|
|
1335
|
-
shape:
|
|
1351
|
+
var pcb_solder_paste_rect = z63.object({
|
|
1352
|
+
type: z63.literal("pcb_solder_paste"),
|
|
1353
|
+
shape: z63.literal("rect"),
|
|
1336
1354
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1337
|
-
pcb_group_id:
|
|
1338
|
-
subcircuit_id:
|
|
1355
|
+
pcb_group_id: z63.string().optional(),
|
|
1356
|
+
subcircuit_id: z63.string().optional(),
|
|
1339
1357
|
x: distance,
|
|
1340
1358
|
y: distance,
|
|
1341
|
-
width:
|
|
1342
|
-
height:
|
|
1359
|
+
width: z63.number(),
|
|
1360
|
+
height: z63.number(),
|
|
1343
1361
|
layer: layer_ref,
|
|
1344
|
-
pcb_component_id:
|
|
1345
|
-
pcb_smtpad_id:
|
|
1362
|
+
pcb_component_id: z63.string().optional(),
|
|
1363
|
+
pcb_smtpad_id: z63.string().optional()
|
|
1346
1364
|
});
|
|
1347
|
-
var pcb_solder_paste_pill =
|
|
1348
|
-
type:
|
|
1349
|
-
shape:
|
|
1365
|
+
var pcb_solder_paste_pill = z63.object({
|
|
1366
|
+
type: z63.literal("pcb_solder_paste"),
|
|
1367
|
+
shape: z63.literal("pill"),
|
|
1350
1368
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1351
|
-
pcb_group_id:
|
|
1352
|
-
subcircuit_id:
|
|
1369
|
+
pcb_group_id: z63.string().optional(),
|
|
1370
|
+
subcircuit_id: z63.string().optional(),
|
|
1353
1371
|
x: distance,
|
|
1354
1372
|
y: distance,
|
|
1355
|
-
width:
|
|
1356
|
-
height:
|
|
1357
|
-
radius:
|
|
1373
|
+
width: z63.number(),
|
|
1374
|
+
height: z63.number(),
|
|
1375
|
+
radius: z63.number(),
|
|
1358
1376
|
layer: layer_ref,
|
|
1359
|
-
pcb_component_id:
|
|
1360
|
-
pcb_smtpad_id:
|
|
1377
|
+
pcb_component_id: z63.string().optional(),
|
|
1378
|
+
pcb_smtpad_id: z63.string().optional()
|
|
1361
1379
|
});
|
|
1362
|
-
var pcb_solder_paste_rotated_rect =
|
|
1363
|
-
type:
|
|
1364
|
-
shape:
|
|
1380
|
+
var pcb_solder_paste_rotated_rect = z63.object({
|
|
1381
|
+
type: z63.literal("pcb_solder_paste"),
|
|
1382
|
+
shape: z63.literal("rotated_rect"),
|
|
1365
1383
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1366
|
-
pcb_group_id:
|
|
1367
|
-
subcircuit_id:
|
|
1384
|
+
pcb_group_id: z63.string().optional(),
|
|
1385
|
+
subcircuit_id: z63.string().optional(),
|
|
1368
1386
|
x: distance,
|
|
1369
1387
|
y: distance,
|
|
1370
|
-
width:
|
|
1371
|
-
height:
|
|
1388
|
+
width: z63.number(),
|
|
1389
|
+
height: z63.number(),
|
|
1372
1390
|
ccw_rotation: distance,
|
|
1373
1391
|
layer: layer_ref,
|
|
1374
|
-
pcb_component_id:
|
|
1375
|
-
pcb_smtpad_id:
|
|
1392
|
+
pcb_component_id: z63.string().optional(),
|
|
1393
|
+
pcb_smtpad_id: z63.string().optional()
|
|
1376
1394
|
});
|
|
1377
|
-
var pcb_solder_paste_oval =
|
|
1378
|
-
type:
|
|
1379
|
-
shape:
|
|
1395
|
+
var pcb_solder_paste_oval = z63.object({
|
|
1396
|
+
type: z63.literal("pcb_solder_paste"),
|
|
1397
|
+
shape: z63.literal("oval"),
|
|
1380
1398
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1381
|
-
pcb_group_id:
|
|
1382
|
-
subcircuit_id:
|
|
1399
|
+
pcb_group_id: z63.string().optional(),
|
|
1400
|
+
subcircuit_id: z63.string().optional(),
|
|
1383
1401
|
x: distance,
|
|
1384
1402
|
y: distance,
|
|
1385
|
-
width:
|
|
1386
|
-
height:
|
|
1403
|
+
width: z63.number(),
|
|
1404
|
+
height: z63.number(),
|
|
1387
1405
|
layer: layer_ref,
|
|
1388
|
-
pcb_component_id:
|
|
1389
|
-
pcb_smtpad_id:
|
|
1406
|
+
pcb_component_id: z63.string().optional(),
|
|
1407
|
+
pcb_smtpad_id: z63.string().optional()
|
|
1390
1408
|
});
|
|
1391
|
-
var pcb_solder_paste =
|
|
1409
|
+
var pcb_solder_paste = z63.union([
|
|
1392
1410
|
pcb_solder_paste_circle,
|
|
1393
1411
|
pcb_solder_paste_rect,
|
|
1394
1412
|
pcb_solder_paste_pill,
|
|
@@ -1404,98 +1422,98 @@ expectTypesMatch(
|
|
|
1404
1422
|
expectTypesMatch(true);
|
|
1405
1423
|
|
|
1406
1424
|
// src/pcb/pcb_text.ts
|
|
1407
|
-
import { z as
|
|
1408
|
-
var pcb_text =
|
|
1409
|
-
type:
|
|
1425
|
+
import { z as z64 } from "zod";
|
|
1426
|
+
var pcb_text = z64.object({
|
|
1427
|
+
type: z64.literal("pcb_text"),
|
|
1410
1428
|
pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
|
|
1411
|
-
pcb_group_id:
|
|
1412
|
-
subcircuit_id:
|
|
1413
|
-
text:
|
|
1429
|
+
pcb_group_id: z64.string().optional(),
|
|
1430
|
+
subcircuit_id: z64.string().optional(),
|
|
1431
|
+
text: z64.string(),
|
|
1414
1432
|
center: point,
|
|
1415
1433
|
layer: layer_ref,
|
|
1416
1434
|
width: length,
|
|
1417
1435
|
height: length,
|
|
1418
|
-
lines:
|
|
1436
|
+
lines: z64.number(),
|
|
1419
1437
|
// @ts-ignore
|
|
1420
|
-
align:
|
|
1438
|
+
align: z64.enum(["bottom-left"])
|
|
1421
1439
|
}).describe("Defines text on the PCB");
|
|
1422
1440
|
expectTypesMatch(true);
|
|
1423
1441
|
|
|
1424
1442
|
// src/pcb/pcb_trace.ts
|
|
1425
|
-
import { z as
|
|
1426
|
-
var pcb_trace_route_point_wire =
|
|
1427
|
-
route_type:
|
|
1443
|
+
import { z as z65 } from "zod";
|
|
1444
|
+
var pcb_trace_route_point_wire = z65.object({
|
|
1445
|
+
route_type: z65.literal("wire"),
|
|
1428
1446
|
x: distance,
|
|
1429
1447
|
y: distance,
|
|
1430
1448
|
width: distance,
|
|
1431
|
-
start_pcb_port_id:
|
|
1432
|
-
end_pcb_port_id:
|
|
1449
|
+
start_pcb_port_id: z65.string().optional(),
|
|
1450
|
+
end_pcb_port_id: z65.string().optional(),
|
|
1433
1451
|
layer: layer_ref
|
|
1434
1452
|
});
|
|
1435
|
-
var pcb_trace_route_point_via =
|
|
1436
|
-
route_type:
|
|
1453
|
+
var pcb_trace_route_point_via = z65.object({
|
|
1454
|
+
route_type: z65.literal("via"),
|
|
1437
1455
|
x: distance,
|
|
1438
1456
|
y: distance,
|
|
1439
1457
|
hole_diameter: distance.optional(),
|
|
1440
1458
|
outer_diameter: distance.optional(),
|
|
1441
|
-
from_layer:
|
|
1442
|
-
to_layer:
|
|
1459
|
+
from_layer: z65.string(),
|
|
1460
|
+
to_layer: z65.string()
|
|
1443
1461
|
});
|
|
1444
|
-
var pcb_trace_route_point =
|
|
1462
|
+
var pcb_trace_route_point = z65.union([
|
|
1445
1463
|
pcb_trace_route_point_wire,
|
|
1446
1464
|
pcb_trace_route_point_via
|
|
1447
1465
|
]);
|
|
1448
|
-
var pcb_trace =
|
|
1449
|
-
type:
|
|
1450
|
-
source_trace_id:
|
|
1451
|
-
pcb_component_id:
|
|
1466
|
+
var pcb_trace = z65.object({
|
|
1467
|
+
type: z65.literal("pcb_trace"),
|
|
1468
|
+
source_trace_id: z65.string().optional(),
|
|
1469
|
+
pcb_component_id: z65.string().optional(),
|
|
1452
1470
|
pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
|
|
1453
|
-
pcb_group_id:
|
|
1454
|
-
subcircuit_id:
|
|
1455
|
-
route_thickness_mode:
|
|
1456
|
-
route_order_index:
|
|
1457
|
-
should_round_corners:
|
|
1458
|
-
trace_length:
|
|
1459
|
-
route:
|
|
1471
|
+
pcb_group_id: z65.string().optional(),
|
|
1472
|
+
subcircuit_id: z65.string().optional(),
|
|
1473
|
+
route_thickness_mode: z65.enum(["constant", "interpolated"]).default("constant").optional(),
|
|
1474
|
+
route_order_index: z65.number().optional(),
|
|
1475
|
+
should_round_corners: z65.boolean().optional(),
|
|
1476
|
+
trace_length: z65.number().optional(),
|
|
1477
|
+
route: z65.array(pcb_trace_route_point)
|
|
1460
1478
|
}).describe("Defines a trace on the PCB");
|
|
1461
1479
|
expectTypesMatch(true);
|
|
1462
1480
|
expectTypesMatch(true);
|
|
1463
1481
|
|
|
1464
1482
|
// src/pcb/pcb_trace_error.ts
|
|
1465
|
-
import { z as
|
|
1466
|
-
var pcb_trace_error =
|
|
1467
|
-
type:
|
|
1483
|
+
import { z as z66 } from "zod";
|
|
1484
|
+
var pcb_trace_error = z66.object({
|
|
1485
|
+
type: z66.literal("pcb_trace_error"),
|
|
1468
1486
|
pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
|
|
1469
|
-
error_type:
|
|
1470
|
-
message:
|
|
1487
|
+
error_type: z66.literal("pcb_trace_error").default("pcb_trace_error"),
|
|
1488
|
+
message: z66.string(),
|
|
1471
1489
|
center: point.optional(),
|
|
1472
|
-
pcb_trace_id:
|
|
1473
|
-
source_trace_id:
|
|
1474
|
-
pcb_component_ids:
|
|
1475
|
-
pcb_port_ids:
|
|
1476
|
-
subcircuit_id:
|
|
1490
|
+
pcb_trace_id: z66.string(),
|
|
1491
|
+
source_trace_id: z66.string(),
|
|
1492
|
+
pcb_component_ids: z66.array(z66.string()),
|
|
1493
|
+
pcb_port_ids: z66.array(z66.string()),
|
|
1494
|
+
subcircuit_id: z66.string().optional()
|
|
1477
1495
|
}).describe("Defines a trace error on the PCB");
|
|
1478
1496
|
expectTypesMatch(true);
|
|
1479
1497
|
|
|
1480
1498
|
// src/pcb/pcb_port_not_matched_error.ts
|
|
1481
|
-
import { z as
|
|
1482
|
-
var pcb_port_not_matched_error =
|
|
1483
|
-
type:
|
|
1499
|
+
import { z as z67 } from "zod";
|
|
1500
|
+
var pcb_port_not_matched_error = z67.object({
|
|
1501
|
+
type: z67.literal("pcb_port_not_matched_error"),
|
|
1484
1502
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
1485
|
-
error_type:
|
|
1486
|
-
message:
|
|
1487
|
-
pcb_component_ids:
|
|
1488
|
-
subcircuit_id:
|
|
1503
|
+
error_type: z67.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
|
|
1504
|
+
message: z67.string(),
|
|
1505
|
+
pcb_component_ids: z67.array(z67.string()),
|
|
1506
|
+
subcircuit_id: z67.string().optional()
|
|
1489
1507
|
}).describe("Defines a trace error on the PCB where a port is not matched");
|
|
1490
1508
|
expectTypesMatch(true);
|
|
1491
1509
|
|
|
1492
1510
|
// src/pcb/pcb_via.ts
|
|
1493
|
-
import { z as
|
|
1494
|
-
var pcb_via =
|
|
1495
|
-
type:
|
|
1511
|
+
import { z as z68 } from "zod";
|
|
1512
|
+
var pcb_via = z68.object({
|
|
1513
|
+
type: z68.literal("pcb_via"),
|
|
1496
1514
|
pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
|
|
1497
|
-
pcb_group_id:
|
|
1498
|
-
subcircuit_id:
|
|
1515
|
+
pcb_group_id: z68.string().optional(),
|
|
1516
|
+
subcircuit_id: z68.string().optional(),
|
|
1499
1517
|
x: distance,
|
|
1500
1518
|
y: distance,
|
|
1501
1519
|
outer_diameter: distance.default("0.6mm"),
|
|
@@ -1504,59 +1522,59 @@ var pcb_via = z67.object({
|
|
|
1504
1522
|
from_layer: layer_ref.optional(),
|
|
1505
1523
|
/** @deprecated */
|
|
1506
1524
|
to_layer: layer_ref.optional(),
|
|
1507
|
-
layers:
|
|
1508
|
-
pcb_trace_id:
|
|
1525
|
+
layers: z68.array(layer_ref),
|
|
1526
|
+
pcb_trace_id: z68.string().optional()
|
|
1509
1527
|
}).describe("Defines a via on the PCB");
|
|
1510
1528
|
expectTypesMatch(true);
|
|
1511
1529
|
|
|
1512
1530
|
// src/pcb/pcb_board.ts
|
|
1513
|
-
import { z as
|
|
1514
|
-
var pcb_board =
|
|
1515
|
-
type:
|
|
1531
|
+
import { z as z69 } from "zod";
|
|
1532
|
+
var pcb_board = z69.object({
|
|
1533
|
+
type: z69.literal("pcb_board"),
|
|
1516
1534
|
pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
|
|
1517
|
-
is_subcircuit:
|
|
1518
|
-
subcircuit_id:
|
|
1535
|
+
is_subcircuit: z69.boolean().optional(),
|
|
1536
|
+
subcircuit_id: z69.string().optional(),
|
|
1519
1537
|
width: length,
|
|
1520
1538
|
height: length,
|
|
1521
1539
|
center: point,
|
|
1522
1540
|
thickness: length.optional().default(1.4),
|
|
1523
|
-
num_layers:
|
|
1524
|
-
outline:
|
|
1525
|
-
material:
|
|
1541
|
+
num_layers: z69.number().optional().default(4),
|
|
1542
|
+
outline: z69.array(point).optional(),
|
|
1543
|
+
material: z69.enum(["fr4", "fr1"]).default("fr4")
|
|
1526
1544
|
}).describe("Defines the board outline of the PCB");
|
|
1527
1545
|
expectTypesMatch(true);
|
|
1528
1546
|
|
|
1529
1547
|
// src/pcb/pcb_placement_error.ts
|
|
1530
|
-
import { z as
|
|
1531
|
-
var pcb_placement_error =
|
|
1532
|
-
type:
|
|
1548
|
+
import { z as z70 } from "zod";
|
|
1549
|
+
var pcb_placement_error = z70.object({
|
|
1550
|
+
type: z70.literal("pcb_placement_error"),
|
|
1533
1551
|
pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
|
|
1534
|
-
error_type:
|
|
1535
|
-
message:
|
|
1536
|
-
subcircuit_id:
|
|
1552
|
+
error_type: z70.literal("pcb_placement_error").default("pcb_placement_error"),
|
|
1553
|
+
message: z70.string(),
|
|
1554
|
+
subcircuit_id: z70.string().optional()
|
|
1537
1555
|
}).describe("Defines a placement error on the PCB");
|
|
1538
1556
|
expectTypesMatch(true);
|
|
1539
1557
|
|
|
1540
1558
|
// src/pcb/pcb_trace_hint.ts
|
|
1541
|
-
import { z as
|
|
1542
|
-
var pcb_trace_hint =
|
|
1543
|
-
type:
|
|
1559
|
+
import { z as z71 } from "zod";
|
|
1560
|
+
var pcb_trace_hint = z71.object({
|
|
1561
|
+
type: z71.literal("pcb_trace_hint"),
|
|
1544
1562
|
pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
|
|
1545
|
-
pcb_port_id:
|
|
1546
|
-
pcb_component_id:
|
|
1547
|
-
route:
|
|
1548
|
-
subcircuit_id:
|
|
1563
|
+
pcb_port_id: z71.string(),
|
|
1564
|
+
pcb_component_id: z71.string(),
|
|
1565
|
+
route: z71.array(route_hint_point),
|
|
1566
|
+
subcircuit_id: z71.string().optional()
|
|
1549
1567
|
}).describe("A hint that can be used during generation of a PCB trace");
|
|
1550
1568
|
expectTypesMatch(true);
|
|
1551
1569
|
|
|
1552
1570
|
// src/pcb/pcb_silkscreen_line.ts
|
|
1553
|
-
import { z as
|
|
1554
|
-
var pcb_silkscreen_line =
|
|
1555
|
-
type:
|
|
1571
|
+
import { z as z72 } from "zod";
|
|
1572
|
+
var pcb_silkscreen_line = z72.object({
|
|
1573
|
+
type: z72.literal("pcb_silkscreen_line"),
|
|
1556
1574
|
pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
|
|
1557
|
-
pcb_component_id:
|
|
1558
|
-
pcb_group_id:
|
|
1559
|
-
subcircuit_id:
|
|
1575
|
+
pcb_component_id: z72.string(),
|
|
1576
|
+
pcb_group_id: z72.string().optional(),
|
|
1577
|
+
subcircuit_id: z72.string().optional(),
|
|
1560
1578
|
stroke_width: distance.default("0.1mm"),
|
|
1561
1579
|
x1: distance,
|
|
1562
1580
|
y1: distance,
|
|
@@ -1567,67 +1585,67 @@ var pcb_silkscreen_line = z71.object({
|
|
|
1567
1585
|
expectTypesMatch(true);
|
|
1568
1586
|
|
|
1569
1587
|
// src/pcb/pcb_silkscreen_path.ts
|
|
1570
|
-
import { z as
|
|
1571
|
-
var pcb_silkscreen_path =
|
|
1572
|
-
type:
|
|
1588
|
+
import { z as z73 } from "zod";
|
|
1589
|
+
var pcb_silkscreen_path = z73.object({
|
|
1590
|
+
type: z73.literal("pcb_silkscreen_path"),
|
|
1573
1591
|
pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
|
|
1574
|
-
pcb_component_id:
|
|
1575
|
-
pcb_group_id:
|
|
1576
|
-
subcircuit_id:
|
|
1592
|
+
pcb_component_id: z73.string(),
|
|
1593
|
+
pcb_group_id: z73.string().optional(),
|
|
1594
|
+
subcircuit_id: z73.string().optional(),
|
|
1577
1595
|
layer: visible_layer,
|
|
1578
|
-
route:
|
|
1596
|
+
route: z73.array(point),
|
|
1579
1597
|
stroke_width: length
|
|
1580
1598
|
}).describe("Defines a silkscreen path on the PCB");
|
|
1581
1599
|
expectTypesMatch(true);
|
|
1582
1600
|
|
|
1583
1601
|
// src/pcb/pcb_silkscreen_text.ts
|
|
1584
|
-
import { z as
|
|
1585
|
-
var pcb_silkscreen_text =
|
|
1586
|
-
type:
|
|
1602
|
+
import { z as z74 } from "zod";
|
|
1603
|
+
var pcb_silkscreen_text = z74.object({
|
|
1604
|
+
type: z74.literal("pcb_silkscreen_text"),
|
|
1587
1605
|
pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
|
|
1588
|
-
pcb_group_id:
|
|
1589
|
-
subcircuit_id:
|
|
1590
|
-
font:
|
|
1606
|
+
pcb_group_id: z74.string().optional(),
|
|
1607
|
+
subcircuit_id: z74.string().optional(),
|
|
1608
|
+
font: z74.literal("tscircuit2024").default("tscircuit2024"),
|
|
1591
1609
|
font_size: distance.default("0.2mm"),
|
|
1592
|
-
pcb_component_id:
|
|
1593
|
-
text:
|
|
1594
|
-
ccw_rotation:
|
|
1610
|
+
pcb_component_id: z74.string(),
|
|
1611
|
+
text: z74.string(),
|
|
1612
|
+
ccw_rotation: z74.number().optional(),
|
|
1595
1613
|
layer: layer_ref,
|
|
1596
|
-
is_mirrored:
|
|
1614
|
+
is_mirrored: z74.boolean().default(false).optional(),
|
|
1597
1615
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
1598
1616
|
anchor_alignment: ninePointAnchor.default("center")
|
|
1599
1617
|
}).describe("Defines silkscreen text on the PCB");
|
|
1600
1618
|
expectTypesMatch(true);
|
|
1601
1619
|
|
|
1602
1620
|
// src/pcb/pcb_silkscreen_rect.ts
|
|
1603
|
-
import { z as
|
|
1604
|
-
var pcb_silkscreen_rect =
|
|
1605
|
-
type:
|
|
1621
|
+
import { z as z75 } from "zod";
|
|
1622
|
+
var pcb_silkscreen_rect = z75.object({
|
|
1623
|
+
type: z75.literal("pcb_silkscreen_rect"),
|
|
1606
1624
|
pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
|
|
1607
|
-
pcb_component_id:
|
|
1608
|
-
pcb_group_id:
|
|
1609
|
-
subcircuit_id:
|
|
1625
|
+
pcb_component_id: z75.string(),
|
|
1626
|
+
pcb_group_id: z75.string().optional(),
|
|
1627
|
+
subcircuit_id: z75.string().optional(),
|
|
1610
1628
|
center: point,
|
|
1611
1629
|
width: length,
|
|
1612
1630
|
height: length,
|
|
1613
1631
|
layer: layer_ref,
|
|
1614
1632
|
stroke_width: length.default("1mm"),
|
|
1615
|
-
is_filled:
|
|
1616
|
-
has_stroke:
|
|
1617
|
-
is_stroke_dashed:
|
|
1633
|
+
is_filled: z75.boolean().default(true).optional(),
|
|
1634
|
+
has_stroke: z75.boolean().optional(),
|
|
1635
|
+
is_stroke_dashed: z75.boolean().optional()
|
|
1618
1636
|
}).describe("Defines a silkscreen rect on the PCB");
|
|
1619
1637
|
expectTypesMatch(true);
|
|
1620
1638
|
|
|
1621
1639
|
// src/pcb/pcb_silkscreen_circle.ts
|
|
1622
|
-
import { z as
|
|
1623
|
-
var pcb_silkscreen_circle =
|
|
1624
|
-
type:
|
|
1640
|
+
import { z as z76 } from "zod";
|
|
1641
|
+
var pcb_silkscreen_circle = z76.object({
|
|
1642
|
+
type: z76.literal("pcb_silkscreen_circle"),
|
|
1625
1643
|
pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
|
|
1626
1644
|
"pcb_silkscreen_circle"
|
|
1627
1645
|
),
|
|
1628
|
-
pcb_component_id:
|
|
1629
|
-
pcb_group_id:
|
|
1630
|
-
subcircuit_id:
|
|
1646
|
+
pcb_component_id: z76.string(),
|
|
1647
|
+
pcb_group_id: z76.string().optional(),
|
|
1648
|
+
subcircuit_id: z76.string().optional(),
|
|
1631
1649
|
center: point,
|
|
1632
1650
|
radius: length,
|
|
1633
1651
|
layer: visible_layer,
|
|
@@ -1636,13 +1654,13 @@ var pcb_silkscreen_circle = z75.object({
|
|
|
1636
1654
|
expectTypesMatch(true);
|
|
1637
1655
|
|
|
1638
1656
|
// src/pcb/pcb_silkscreen_oval.ts
|
|
1639
|
-
import { z as
|
|
1640
|
-
var pcb_silkscreen_oval =
|
|
1641
|
-
type:
|
|
1657
|
+
import { z as z77 } from "zod";
|
|
1658
|
+
var pcb_silkscreen_oval = z77.object({
|
|
1659
|
+
type: z77.literal("pcb_silkscreen_oval"),
|
|
1642
1660
|
pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
|
|
1643
|
-
pcb_component_id:
|
|
1644
|
-
pcb_group_id:
|
|
1645
|
-
subcircuit_id:
|
|
1661
|
+
pcb_component_id: z77.string(),
|
|
1662
|
+
pcb_group_id: z77.string().optional(),
|
|
1663
|
+
subcircuit_id: z77.string().optional(),
|
|
1646
1664
|
center: point,
|
|
1647
1665
|
radius_x: distance,
|
|
1648
1666
|
radius_y: distance,
|
|
@@ -1651,103 +1669,103 @@ var pcb_silkscreen_oval = z76.object({
|
|
|
1651
1669
|
expectTypesMatch(true);
|
|
1652
1670
|
|
|
1653
1671
|
// src/pcb/pcb_fabrication_note_text.ts
|
|
1654
|
-
import { z as
|
|
1655
|
-
var pcb_fabrication_note_text =
|
|
1656
|
-
type:
|
|
1672
|
+
import { z as z78 } from "zod";
|
|
1673
|
+
var pcb_fabrication_note_text = z78.object({
|
|
1674
|
+
type: z78.literal("pcb_fabrication_note_text"),
|
|
1657
1675
|
pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
|
|
1658
1676
|
"pcb_fabrication_note_text"
|
|
1659
1677
|
),
|
|
1660
|
-
subcircuit_id:
|
|
1661
|
-
pcb_group_id:
|
|
1662
|
-
font:
|
|
1678
|
+
subcircuit_id: z78.string().optional(),
|
|
1679
|
+
pcb_group_id: z78.string().optional(),
|
|
1680
|
+
font: z78.literal("tscircuit2024").default("tscircuit2024"),
|
|
1663
1681
|
font_size: distance.default("1mm"),
|
|
1664
|
-
pcb_component_id:
|
|
1665
|
-
text:
|
|
1682
|
+
pcb_component_id: z78.string(),
|
|
1683
|
+
text: z78.string(),
|
|
1666
1684
|
layer: visible_layer,
|
|
1667
1685
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
1668
|
-
anchor_alignment:
|
|
1669
|
-
color:
|
|
1686
|
+
anchor_alignment: z78.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
1687
|
+
color: z78.string().optional()
|
|
1670
1688
|
}).describe(
|
|
1671
1689
|
"Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
|
|
1672
1690
|
);
|
|
1673
1691
|
expectTypesMatch(true);
|
|
1674
1692
|
|
|
1675
1693
|
// src/pcb/pcb_fabrication_note_path.ts
|
|
1676
|
-
import { z as
|
|
1677
|
-
var pcb_fabrication_note_path =
|
|
1678
|
-
type:
|
|
1694
|
+
import { z as z79 } from "zod";
|
|
1695
|
+
var pcb_fabrication_note_path = z79.object({
|
|
1696
|
+
type: z79.literal("pcb_fabrication_note_path"),
|
|
1679
1697
|
pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
|
|
1680
1698
|
"pcb_fabrication_note_path"
|
|
1681
1699
|
),
|
|
1682
|
-
pcb_component_id:
|
|
1683
|
-
subcircuit_id:
|
|
1700
|
+
pcb_component_id: z79.string(),
|
|
1701
|
+
subcircuit_id: z79.string().optional(),
|
|
1684
1702
|
layer: layer_ref,
|
|
1685
|
-
route:
|
|
1703
|
+
route: z79.array(point),
|
|
1686
1704
|
stroke_width: length,
|
|
1687
|
-
color:
|
|
1705
|
+
color: z79.string().optional()
|
|
1688
1706
|
}).describe(
|
|
1689
1707
|
"Defines a fabrication path on the PCB for fabricators or assemblers"
|
|
1690
1708
|
);
|
|
1691
1709
|
expectTypesMatch(true);
|
|
1692
1710
|
|
|
1693
1711
|
// src/pcb/pcb_footprint_overlap_error.ts
|
|
1694
|
-
import { z as
|
|
1695
|
-
var pcb_footprint_overlap_error =
|
|
1696
|
-
type:
|
|
1712
|
+
import { z as z80 } from "zod";
|
|
1713
|
+
var pcb_footprint_overlap_error = z80.object({
|
|
1714
|
+
type: z80.literal("pcb_footprint_overlap_error"),
|
|
1697
1715
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
1698
|
-
error_type:
|
|
1699
|
-
message:
|
|
1700
|
-
pcb_smtpad_ids:
|
|
1701
|
-
pcb_plated_hole_ids:
|
|
1702
|
-
pcb_hole_ids:
|
|
1703
|
-
pcb_keepout_ids:
|
|
1716
|
+
error_type: z80.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
|
|
1717
|
+
message: z80.string(),
|
|
1718
|
+
pcb_smtpad_ids: z80.array(z80.string()).optional(),
|
|
1719
|
+
pcb_plated_hole_ids: z80.array(z80.string()).optional(),
|
|
1720
|
+
pcb_hole_ids: z80.array(z80.string()).optional(),
|
|
1721
|
+
pcb_keepout_ids: z80.array(z80.string()).optional()
|
|
1704
1722
|
}).describe("Error emitted when a pcb footprint overlaps with another element");
|
|
1705
1723
|
expectTypesMatch(
|
|
1706
1724
|
true
|
|
1707
1725
|
);
|
|
1708
1726
|
|
|
1709
1727
|
// src/pcb/pcb_keepout.ts
|
|
1710
|
-
import { z as
|
|
1711
|
-
var pcb_keepout =
|
|
1712
|
-
type:
|
|
1713
|
-
shape:
|
|
1714
|
-
pcb_group_id:
|
|
1715
|
-
subcircuit_id:
|
|
1728
|
+
import { z as z81 } from "zod";
|
|
1729
|
+
var pcb_keepout = z81.object({
|
|
1730
|
+
type: z81.literal("pcb_keepout"),
|
|
1731
|
+
shape: z81.literal("rect"),
|
|
1732
|
+
pcb_group_id: z81.string().optional(),
|
|
1733
|
+
subcircuit_id: z81.string().optional(),
|
|
1716
1734
|
center: point,
|
|
1717
1735
|
width: distance,
|
|
1718
1736
|
height: distance,
|
|
1719
|
-
pcb_keepout_id:
|
|
1720
|
-
layers:
|
|
1737
|
+
pcb_keepout_id: z81.string(),
|
|
1738
|
+
layers: z81.array(z81.string()),
|
|
1721
1739
|
// Specify layers where the keepout applies
|
|
1722
|
-
description:
|
|
1740
|
+
description: z81.string().optional()
|
|
1723
1741
|
// Optional description of the keepout
|
|
1724
1742
|
}).or(
|
|
1725
|
-
|
|
1726
|
-
type:
|
|
1727
|
-
shape:
|
|
1728
|
-
pcb_group_id:
|
|
1729
|
-
subcircuit_id:
|
|
1743
|
+
z81.object({
|
|
1744
|
+
type: z81.literal("pcb_keepout"),
|
|
1745
|
+
shape: z81.literal("circle"),
|
|
1746
|
+
pcb_group_id: z81.string().optional(),
|
|
1747
|
+
subcircuit_id: z81.string().optional(),
|
|
1730
1748
|
center: point,
|
|
1731
1749
|
radius: distance,
|
|
1732
|
-
pcb_keepout_id:
|
|
1733
|
-
layers:
|
|
1750
|
+
pcb_keepout_id: z81.string(),
|
|
1751
|
+
layers: z81.array(z81.string()),
|
|
1734
1752
|
// Specify layers where the keepout applies
|
|
1735
|
-
description:
|
|
1753
|
+
description: z81.string().optional()
|
|
1736
1754
|
// Optional description of the keepout
|
|
1737
1755
|
})
|
|
1738
1756
|
);
|
|
1739
1757
|
expectTypesMatch(true);
|
|
1740
1758
|
|
|
1741
1759
|
// src/pcb/pcb_cutout.ts
|
|
1742
|
-
import { z as
|
|
1743
|
-
var pcb_cutout_base =
|
|
1744
|
-
type:
|
|
1760
|
+
import { z as z82 } from "zod";
|
|
1761
|
+
var pcb_cutout_base = z82.object({
|
|
1762
|
+
type: z82.literal("pcb_cutout"),
|
|
1745
1763
|
pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
|
|
1746
|
-
pcb_group_id:
|
|
1747
|
-
subcircuit_id:
|
|
1764
|
+
pcb_group_id: z82.string().optional(),
|
|
1765
|
+
subcircuit_id: z82.string().optional()
|
|
1748
1766
|
});
|
|
1749
1767
|
var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
1750
|
-
shape:
|
|
1768
|
+
shape: z82.literal("rect"),
|
|
1751
1769
|
center: point,
|
|
1752
1770
|
width: length,
|
|
1753
1771
|
height: length,
|
|
@@ -1755,17 +1773,17 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
|
1755
1773
|
});
|
|
1756
1774
|
expectTypesMatch(true);
|
|
1757
1775
|
var pcb_cutout_circle = pcb_cutout_base.extend({
|
|
1758
|
-
shape:
|
|
1776
|
+
shape: z82.literal("circle"),
|
|
1759
1777
|
center: point,
|
|
1760
1778
|
radius: length
|
|
1761
1779
|
});
|
|
1762
1780
|
expectTypesMatch(true);
|
|
1763
1781
|
var pcb_cutout_polygon = pcb_cutout_base.extend({
|
|
1764
|
-
shape:
|
|
1765
|
-
points:
|
|
1782
|
+
shape: z82.literal("polygon"),
|
|
1783
|
+
points: z82.array(point)
|
|
1766
1784
|
});
|
|
1767
1785
|
expectTypesMatch(true);
|
|
1768
|
-
var pcb_cutout =
|
|
1786
|
+
var pcb_cutout = z82.discriminatedUnion("shape", [
|
|
1769
1787
|
pcb_cutout_rect,
|
|
1770
1788
|
pcb_cutout_circle,
|
|
1771
1789
|
pcb_cutout_polygon
|
|
@@ -1773,82 +1791,83 @@ var pcb_cutout = z81.discriminatedUnion("shape", [
|
|
|
1773
1791
|
expectTypesMatch(true);
|
|
1774
1792
|
|
|
1775
1793
|
// src/pcb/pcb_missing_footprint_error.ts
|
|
1776
|
-
import { z as
|
|
1777
|
-
var pcb_missing_footprint_error =
|
|
1778
|
-
type:
|
|
1794
|
+
import { z as z83 } from "zod";
|
|
1795
|
+
var pcb_missing_footprint_error = z83.object({
|
|
1796
|
+
type: z83.literal("pcb_missing_footprint_error"),
|
|
1779
1797
|
pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
|
|
1780
1798
|
"pcb_missing_footprint_error"
|
|
1781
1799
|
),
|
|
1782
|
-
pcb_group_id:
|
|
1783
|
-
subcircuit_id:
|
|
1784
|
-
error_type:
|
|
1785
|
-
source_component_id:
|
|
1786
|
-
message:
|
|
1800
|
+
pcb_group_id: z83.string().optional(),
|
|
1801
|
+
subcircuit_id: z83.string().optional(),
|
|
1802
|
+
error_type: z83.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
|
|
1803
|
+
source_component_id: z83.string(),
|
|
1804
|
+
message: z83.string()
|
|
1787
1805
|
}).describe("Defines a missing footprint error on the PCB");
|
|
1788
1806
|
expectTypesMatch(
|
|
1789
1807
|
true
|
|
1790
1808
|
);
|
|
1791
1809
|
|
|
1792
1810
|
// src/pcb/pcb_group.ts
|
|
1793
|
-
import { z as
|
|
1794
|
-
var pcb_group =
|
|
1795
|
-
type:
|
|
1811
|
+
import { z as z84 } from "zod";
|
|
1812
|
+
var pcb_group = z84.object({
|
|
1813
|
+
type: z84.literal("pcb_group"),
|
|
1796
1814
|
pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
|
|
1797
|
-
source_group_id:
|
|
1798
|
-
is_subcircuit:
|
|
1799
|
-
subcircuit_id:
|
|
1815
|
+
source_group_id: z84.string(),
|
|
1816
|
+
is_subcircuit: z84.boolean().optional(),
|
|
1817
|
+
subcircuit_id: z84.string().optional(),
|
|
1800
1818
|
width: length,
|
|
1801
1819
|
height: length,
|
|
1802
1820
|
center: point,
|
|
1803
|
-
pcb_component_ids:
|
|
1804
|
-
name:
|
|
1805
|
-
description:
|
|
1806
|
-
|
|
1821
|
+
pcb_component_ids: z84.array(z84.string()),
|
|
1822
|
+
name: z84.string().optional(),
|
|
1823
|
+
description: z84.string().optional(),
|
|
1824
|
+
layout_mode: z84.string().optional(),
|
|
1825
|
+
autorouter_configuration: z84.object({
|
|
1807
1826
|
trace_clearance: length
|
|
1808
1827
|
}).optional(),
|
|
1809
|
-
autorouter_used_string:
|
|
1828
|
+
autorouter_used_string: z84.string().optional()
|
|
1810
1829
|
}).describe("Defines a group of components on the PCB");
|
|
1811
1830
|
expectTypesMatch(true);
|
|
1812
1831
|
|
|
1813
1832
|
// src/pcb/pcb_autorouting_error.ts
|
|
1814
|
-
import { z as
|
|
1815
|
-
var pcb_autorouting_error =
|
|
1816
|
-
type:
|
|
1833
|
+
import { z as z85 } from "zod";
|
|
1834
|
+
var pcb_autorouting_error = z85.object({
|
|
1835
|
+
type: z85.literal("pcb_autorouting_error"),
|
|
1817
1836
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
|
|
1818
|
-
error_type:
|
|
1819
|
-
message:
|
|
1820
|
-
subcircuit_id:
|
|
1837
|
+
error_type: z85.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
|
|
1838
|
+
message: z85.string(),
|
|
1839
|
+
subcircuit_id: z85.string().optional()
|
|
1821
1840
|
}).describe("The autorouting has failed to route a portion of the board");
|
|
1822
1841
|
expectTypesMatch(true);
|
|
1823
1842
|
|
|
1824
1843
|
// src/pcb/pcb_manual_edit_conflict_warning.ts
|
|
1825
|
-
import { z as
|
|
1826
|
-
var pcb_manual_edit_conflict_warning =
|
|
1827
|
-
type:
|
|
1844
|
+
import { z as z86 } from "zod";
|
|
1845
|
+
var pcb_manual_edit_conflict_warning = z86.object({
|
|
1846
|
+
type: z86.literal("pcb_manual_edit_conflict_warning"),
|
|
1828
1847
|
pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
1829
1848
|
"pcb_manual_edit_conflict_warning"
|
|
1830
1849
|
),
|
|
1831
|
-
warning_type:
|
|
1832
|
-
message:
|
|
1833
|
-
pcb_component_id:
|
|
1834
|
-
pcb_group_id:
|
|
1835
|
-
subcircuit_id:
|
|
1836
|
-
source_component_id:
|
|
1850
|
+
warning_type: z86.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
|
|
1851
|
+
message: z86.string(),
|
|
1852
|
+
pcb_component_id: z86.string(),
|
|
1853
|
+
pcb_group_id: z86.string().optional(),
|
|
1854
|
+
subcircuit_id: z86.string().optional(),
|
|
1855
|
+
source_component_id: z86.string()
|
|
1837
1856
|
}).describe(
|
|
1838
1857
|
"Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
|
|
1839
1858
|
);
|
|
1840
1859
|
expectTypesMatch(true);
|
|
1841
1860
|
|
|
1842
1861
|
// src/pcb/pcb_breakout_point.ts
|
|
1843
|
-
import { z as
|
|
1844
|
-
var pcb_breakout_point =
|
|
1845
|
-
type:
|
|
1862
|
+
import { z as z87 } from "zod";
|
|
1863
|
+
var pcb_breakout_point = z87.object({
|
|
1864
|
+
type: z87.literal("pcb_breakout_point"),
|
|
1846
1865
|
pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
|
|
1847
|
-
pcb_group_id:
|
|
1848
|
-
subcircuit_id:
|
|
1849
|
-
source_trace_id:
|
|
1850
|
-
source_port_id:
|
|
1851
|
-
source_net_id:
|
|
1866
|
+
pcb_group_id: z87.string(),
|
|
1867
|
+
subcircuit_id: z87.string().optional(),
|
|
1868
|
+
source_trace_id: z87.string().optional(),
|
|
1869
|
+
source_port_id: z87.string().optional(),
|
|
1870
|
+
source_net_id: z87.string().optional(),
|
|
1852
1871
|
x: distance,
|
|
1853
1872
|
y: distance
|
|
1854
1873
|
}).describe(
|
|
@@ -1857,85 +1876,85 @@ var pcb_breakout_point = z86.object({
|
|
|
1857
1876
|
expectTypesMatch(true);
|
|
1858
1877
|
|
|
1859
1878
|
// src/pcb/pcb_ground_plane.ts
|
|
1860
|
-
import { z as
|
|
1861
|
-
var pcb_ground_plane =
|
|
1862
|
-
type:
|
|
1879
|
+
import { z as z88 } from "zod";
|
|
1880
|
+
var pcb_ground_plane = z88.object({
|
|
1881
|
+
type: z88.literal("pcb_ground_plane"),
|
|
1863
1882
|
pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
|
|
1864
|
-
source_pcb_ground_plane_id:
|
|
1865
|
-
source_net_id:
|
|
1866
|
-
pcb_group_id:
|
|
1867
|
-
subcircuit_id:
|
|
1883
|
+
source_pcb_ground_plane_id: z88.string(),
|
|
1884
|
+
source_net_id: z88.string(),
|
|
1885
|
+
pcb_group_id: z88.string().optional(),
|
|
1886
|
+
subcircuit_id: z88.string().optional()
|
|
1868
1887
|
}).describe("Defines a ground plane on the PCB");
|
|
1869
1888
|
expectTypesMatch(true);
|
|
1870
1889
|
|
|
1871
1890
|
// src/pcb/pcb_ground_plane_region.ts
|
|
1872
|
-
import { z as
|
|
1873
|
-
var pcb_ground_plane_region =
|
|
1874
|
-
type:
|
|
1891
|
+
import { z as z89 } from "zod";
|
|
1892
|
+
var pcb_ground_plane_region = z89.object({
|
|
1893
|
+
type: z89.literal("pcb_ground_plane_region"),
|
|
1875
1894
|
pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
|
|
1876
1895
|
"pcb_ground_plane_region"
|
|
1877
1896
|
),
|
|
1878
|
-
pcb_ground_plane_id:
|
|
1879
|
-
pcb_group_id:
|
|
1880
|
-
subcircuit_id:
|
|
1897
|
+
pcb_ground_plane_id: z89.string(),
|
|
1898
|
+
pcb_group_id: z89.string().optional(),
|
|
1899
|
+
subcircuit_id: z89.string().optional(),
|
|
1881
1900
|
layer: layer_ref,
|
|
1882
|
-
points:
|
|
1901
|
+
points: z89.array(point)
|
|
1883
1902
|
}).describe("Defines a polygon region of a ground plane");
|
|
1884
1903
|
expectTypesMatch(true);
|
|
1885
1904
|
|
|
1886
1905
|
// src/pcb/pcb_thermal_spoke.ts
|
|
1887
|
-
import { z as
|
|
1888
|
-
var pcb_thermal_spoke =
|
|
1889
|
-
type:
|
|
1906
|
+
import { z as z90 } from "zod";
|
|
1907
|
+
var pcb_thermal_spoke = z90.object({
|
|
1908
|
+
type: z90.literal("pcb_thermal_spoke"),
|
|
1890
1909
|
pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
|
|
1891
|
-
pcb_ground_plane_id:
|
|
1892
|
-
shape:
|
|
1893
|
-
spoke_count:
|
|
1910
|
+
pcb_ground_plane_id: z90.string(),
|
|
1911
|
+
shape: z90.string(),
|
|
1912
|
+
spoke_count: z90.number(),
|
|
1894
1913
|
spoke_thickness: distance,
|
|
1895
1914
|
spoke_inner_diameter: distance,
|
|
1896
1915
|
spoke_outer_diameter: distance,
|
|
1897
|
-
pcb_plated_hole_id:
|
|
1898
|
-
subcircuit_id:
|
|
1916
|
+
pcb_plated_hole_id: z90.string().optional(),
|
|
1917
|
+
subcircuit_id: z90.string().optional()
|
|
1899
1918
|
}).describe("Pattern for connecting a ground plane to a plated hole");
|
|
1900
1919
|
expectTypesMatch(true);
|
|
1901
1920
|
|
|
1902
1921
|
// src/cad/cad_component.ts
|
|
1903
|
-
import { z as
|
|
1904
|
-
var cad_component =
|
|
1905
|
-
type:
|
|
1906
|
-
cad_component_id:
|
|
1907
|
-
pcb_component_id:
|
|
1908
|
-
source_component_id:
|
|
1922
|
+
import { z as z91 } from "zod";
|
|
1923
|
+
var cad_component = z91.object({
|
|
1924
|
+
type: z91.literal("cad_component"),
|
|
1925
|
+
cad_component_id: z91.string(),
|
|
1926
|
+
pcb_component_id: z91.string(),
|
|
1927
|
+
source_component_id: z91.string(),
|
|
1909
1928
|
position: point3,
|
|
1910
1929
|
rotation: point3.optional(),
|
|
1911
1930
|
size: point3.optional(),
|
|
1912
1931
|
layer: layer_ref.optional(),
|
|
1913
|
-
subcircuit_id:
|
|
1932
|
+
subcircuit_id: z91.string().optional(),
|
|
1914
1933
|
// These are all ways to generate/load the 3d model
|
|
1915
|
-
footprinter_string:
|
|
1916
|
-
model_obj_url:
|
|
1917
|
-
model_stl_url:
|
|
1918
|
-
model_3mf_url:
|
|
1919
|
-
model_jscad:
|
|
1934
|
+
footprinter_string: z91.string().optional(),
|
|
1935
|
+
model_obj_url: z91.string().optional(),
|
|
1936
|
+
model_stl_url: z91.string().optional(),
|
|
1937
|
+
model_3mf_url: z91.string().optional(),
|
|
1938
|
+
model_jscad: z91.any().optional()
|
|
1920
1939
|
}).describe("Defines a component on the PCB");
|
|
1921
1940
|
expectTypesMatch(true);
|
|
1922
1941
|
|
|
1923
1942
|
// src/simulation/simulation_voltage_source.ts
|
|
1924
|
-
import { z as
|
|
1925
|
-
var simulation_voltage_source =
|
|
1926
|
-
type:
|
|
1943
|
+
import { z as z92 } from "zod";
|
|
1944
|
+
var simulation_voltage_source = z92.object({
|
|
1945
|
+
type: z92.literal("simulation_voltage_source"),
|
|
1927
1946
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
1928
1947
|
"simulation_voltage_source"
|
|
1929
1948
|
),
|
|
1930
|
-
positive_source_port_id:
|
|
1931
|
-
negative_source_port_id:
|
|
1949
|
+
positive_source_port_id: z92.string(),
|
|
1950
|
+
negative_source_port_id: z92.string(),
|
|
1932
1951
|
voltage
|
|
1933
1952
|
}).describe("Defines a voltage source for simulation");
|
|
1934
1953
|
expectTypesMatch(true);
|
|
1935
1954
|
|
|
1936
1955
|
// src/any_circuit_element.ts
|
|
1937
|
-
import { z as
|
|
1938
|
-
var any_circuit_element =
|
|
1956
|
+
import { z as z93 } from "zod";
|
|
1957
|
+
var any_circuit_element = z93.union([
|
|
1939
1958
|
source_trace,
|
|
1940
1959
|
source_port,
|
|
1941
1960
|
any_source_component,
|
|
@@ -1959,6 +1978,7 @@ var any_circuit_element = z92.union([
|
|
|
1959
1978
|
source_simple_push_button,
|
|
1960
1979
|
source_pcb_ground_plane,
|
|
1961
1980
|
source_project_metadata,
|
|
1981
|
+
source_trace_not_connected,
|
|
1962
1982
|
pcb_component,
|
|
1963
1983
|
pcb_hole,
|
|
1964
1984
|
pcb_missing_footprint_error,
|
|
@@ -2135,6 +2155,7 @@ export {
|
|
|
2135
2155
|
source_simple_test_point,
|
|
2136
2156
|
source_simple_transistor,
|
|
2137
2157
|
source_trace,
|
|
2158
|
+
source_trace_not_connected,
|
|
2138
2159
|
supplier_name,
|
|
2139
2160
|
time,
|
|
2140
2161
|
visible_layer,
|