circuit-json 0.0.325 → 0.0.326
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 +14 -0
- package/dist/index.d.mts +159 -2
- package/dist/index.mjs +1171 -1162
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -410,7 +410,7 @@ var source_simple_power_source = source_component_base.extend({
|
|
|
410
410
|
expectTypesMatch(true);
|
|
411
411
|
|
|
412
412
|
// src/source/any_source_component.ts
|
|
413
|
-
import { z as
|
|
413
|
+
import { z as z37 } from "zod";
|
|
414
414
|
|
|
415
415
|
// src/source/source_simple_fuse.ts
|
|
416
416
|
import { z as z16 } from "zod";
|
|
@@ -634,8 +634,15 @@ expectTypesMatch(
|
|
|
634
634
|
true
|
|
635
635
|
);
|
|
636
636
|
|
|
637
|
+
// src/source/source_interconnect.ts
|
|
638
|
+
import { z as z36 } from "zod";
|
|
639
|
+
var source_interconnect = source_component_base.extend({
|
|
640
|
+
ftype: z36.literal("interconnect")
|
|
641
|
+
});
|
|
642
|
+
expectTypesMatch(true);
|
|
643
|
+
|
|
637
644
|
// src/source/any_source_component.ts
|
|
638
|
-
var any_source_component =
|
|
645
|
+
var any_source_component = z37.union([
|
|
639
646
|
source_simple_resistor,
|
|
640
647
|
source_simple_capacitor,
|
|
641
648
|
source_simple_diode,
|
|
@@ -657,6 +664,7 @@ var any_source_component = z36.union([
|
|
|
657
664
|
source_simple_mosfet,
|
|
658
665
|
source_simple_fuse,
|
|
659
666
|
source_simple_voltage_probe,
|
|
667
|
+
source_interconnect,
|
|
660
668
|
source_project_metadata,
|
|
661
669
|
source_missing_property_error,
|
|
662
670
|
source_failed_to_create_component_error,
|
|
@@ -667,95 +675,95 @@ var any_source_component = z36.union([
|
|
|
667
675
|
expectTypesMatch(true);
|
|
668
676
|
|
|
669
677
|
// src/source/source_port.ts
|
|
670
|
-
import { z as z37 } from "zod";
|
|
671
|
-
var source_port = z37.object({
|
|
672
|
-
type: z37.literal("source_port"),
|
|
673
|
-
pin_number: z37.number().optional(),
|
|
674
|
-
port_hints: z37.array(z37.string()).optional(),
|
|
675
|
-
name: z37.string(),
|
|
676
|
-
source_port_id: z37.string(),
|
|
677
|
-
source_component_id: z37.string().optional(),
|
|
678
|
-
source_group_id: z37.string().optional(),
|
|
679
|
-
subcircuit_id: z37.string().optional(),
|
|
680
|
-
subcircuit_connectivity_map_key: z37.string().optional(),
|
|
681
|
-
must_be_connected: z37.boolean().optional()
|
|
682
|
-
});
|
|
683
|
-
expectTypesMatch(true);
|
|
684
|
-
|
|
685
|
-
// src/source/source_trace.ts
|
|
686
678
|
import { z as z38 } from "zod";
|
|
687
|
-
var
|
|
688
|
-
type: z38.literal("
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
679
|
+
var source_port = z38.object({
|
|
680
|
+
type: z38.literal("source_port"),
|
|
681
|
+
pin_number: z38.number().optional(),
|
|
682
|
+
port_hints: z38.array(z38.string()).optional(),
|
|
683
|
+
name: z38.string(),
|
|
684
|
+
source_port_id: z38.string(),
|
|
685
|
+
source_component_id: z38.string().optional(),
|
|
686
|
+
source_group_id: z38.string().optional(),
|
|
692
687
|
subcircuit_id: z38.string().optional(),
|
|
693
688
|
subcircuit_connectivity_map_key: z38.string().optional(),
|
|
694
|
-
|
|
695
|
-
min_trace_thickness: z38.number().optional(),
|
|
696
|
-
display_name: z38.string().optional()
|
|
689
|
+
must_be_connected: z38.boolean().optional()
|
|
697
690
|
});
|
|
698
691
|
expectTypesMatch(true);
|
|
699
692
|
|
|
700
|
-
// src/source/
|
|
693
|
+
// src/source/source_trace.ts
|
|
701
694
|
import { z as z39 } from "zod";
|
|
702
|
-
var
|
|
703
|
-
type: z39.literal("
|
|
704
|
-
|
|
695
|
+
var source_trace = z39.object({
|
|
696
|
+
type: z39.literal("source_trace"),
|
|
697
|
+
source_trace_id: z39.string(),
|
|
698
|
+
connected_source_port_ids: z39.array(z39.string()),
|
|
699
|
+
connected_source_net_ids: z39.array(z39.string()),
|
|
705
700
|
subcircuit_id: z39.string().optional(),
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
name: z39.string().optional(),
|
|
711
|
-
was_automatically_named: z39.boolean().optional()
|
|
701
|
+
subcircuit_connectivity_map_key: z39.string().optional(),
|
|
702
|
+
max_length: z39.number().optional(),
|
|
703
|
+
min_trace_thickness: z39.number().optional(),
|
|
704
|
+
display_name: z39.string().optional()
|
|
712
705
|
});
|
|
713
706
|
expectTypesMatch(true);
|
|
714
707
|
|
|
715
|
-
// src/source/
|
|
708
|
+
// src/source/source_group.ts
|
|
716
709
|
import { z as z40 } from "zod";
|
|
717
|
-
var
|
|
718
|
-
type: z40.literal("
|
|
719
|
-
|
|
720
|
-
name: z40.string(),
|
|
721
|
-
member_source_group_ids: z40.array(z40.string()),
|
|
722
|
-
is_power: z40.boolean().optional(),
|
|
723
|
-
is_ground: z40.boolean().optional(),
|
|
724
|
-
is_digital_signal: z40.boolean().optional(),
|
|
725
|
-
is_analog_signal: z40.boolean().optional(),
|
|
726
|
-
is_positive_voltage_source: z40.boolean().optional(),
|
|
727
|
-
trace_width: z40.number().optional(),
|
|
710
|
+
var source_group = z40.object({
|
|
711
|
+
type: z40.literal("source_group"),
|
|
712
|
+
source_group_id: z40.string(),
|
|
728
713
|
subcircuit_id: z40.string().optional(),
|
|
729
|
-
|
|
714
|
+
parent_subcircuit_id: z40.string().optional(),
|
|
715
|
+
parent_source_group_id: z40.string().optional(),
|
|
716
|
+
is_subcircuit: z40.boolean().optional(),
|
|
717
|
+
show_as_schematic_box: z40.boolean().optional(),
|
|
718
|
+
name: z40.string().optional(),
|
|
719
|
+
was_automatically_named: z40.boolean().optional()
|
|
730
720
|
});
|
|
731
721
|
expectTypesMatch(true);
|
|
732
722
|
|
|
733
|
-
// src/source/
|
|
723
|
+
// src/source/source_net.ts
|
|
734
724
|
import { z as z41 } from "zod";
|
|
735
|
-
var
|
|
736
|
-
type: z41.literal("
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
725
|
+
var source_net = z41.object({
|
|
726
|
+
type: z41.literal("source_net"),
|
|
727
|
+
source_net_id: z41.string(),
|
|
728
|
+
name: z41.string(),
|
|
729
|
+
member_source_group_ids: z41.array(z41.string()),
|
|
730
|
+
is_power: z41.boolean().optional(),
|
|
731
|
+
is_ground: z41.boolean().optional(),
|
|
732
|
+
is_digital_signal: z41.boolean().optional(),
|
|
733
|
+
is_analog_signal: z41.boolean().optional(),
|
|
734
|
+
is_positive_voltage_source: z41.boolean().optional(),
|
|
735
|
+
trace_width: z41.number().optional(),
|
|
736
|
+
subcircuit_id: z41.string().optional(),
|
|
737
|
+
subcircuit_connectivity_map_key: z41.string().optional()
|
|
738
|
+
});
|
|
741
739
|
expectTypesMatch(true);
|
|
742
740
|
|
|
743
|
-
// src/source/
|
|
741
|
+
// src/source/source_board.ts
|
|
744
742
|
import { z as z42 } from "zod";
|
|
745
|
-
var
|
|
746
|
-
type: z42.literal("
|
|
747
|
-
|
|
743
|
+
var source_board = z42.object({
|
|
744
|
+
type: z42.literal("source_board"),
|
|
745
|
+
source_board_id: z42.string(),
|
|
748
746
|
source_group_id: z42.string(),
|
|
749
|
-
|
|
750
|
-
|
|
747
|
+
title: z42.string().optional()
|
|
748
|
+
}).describe("Defines a board in the source domain");
|
|
749
|
+
expectTypesMatch(true);
|
|
750
|
+
|
|
751
|
+
// src/source/source_pcb_ground_plane.ts
|
|
752
|
+
import { z as z43 } from "zod";
|
|
753
|
+
var source_pcb_ground_plane = z43.object({
|
|
754
|
+
type: z43.literal("source_pcb_ground_plane"),
|
|
755
|
+
source_pcb_ground_plane_id: z43.string(),
|
|
756
|
+
source_group_id: z43.string(),
|
|
757
|
+
source_net_id: z43.string(),
|
|
758
|
+
subcircuit_id: z43.string().optional()
|
|
751
759
|
}).describe("Defines a ground plane in the source domain");
|
|
752
760
|
expectTypesMatch(true);
|
|
753
761
|
|
|
754
762
|
// src/source/source_manually_placed_via.ts
|
|
755
|
-
import { z as
|
|
763
|
+
import { z as z45 } from "zod";
|
|
756
764
|
|
|
757
765
|
// src/pcb/properties/layer_ref.ts
|
|
758
|
-
import { z as
|
|
766
|
+
import { z as z44 } from "zod";
|
|
759
767
|
var all_layers = [
|
|
760
768
|
"top",
|
|
761
769
|
"bottom",
|
|
@@ -766,9 +774,9 @@ var all_layers = [
|
|
|
766
774
|
"inner5",
|
|
767
775
|
"inner6"
|
|
768
776
|
];
|
|
769
|
-
var layer_string =
|
|
777
|
+
var layer_string = z44.enum(all_layers);
|
|
770
778
|
var layer_ref = layer_string.or(
|
|
771
|
-
|
|
779
|
+
z44.object({
|
|
772
780
|
name: layer_string
|
|
773
781
|
})
|
|
774
782
|
).transform((layer) => {
|
|
@@ -778,253 +786,253 @@ var layer_ref = layer_string.or(
|
|
|
778
786
|
return layer.name;
|
|
779
787
|
});
|
|
780
788
|
expectTypesMatch(true);
|
|
781
|
-
var visible_layer =
|
|
789
|
+
var visible_layer = z44.enum(["top", "bottom"]);
|
|
782
790
|
|
|
783
791
|
// src/source/source_manually_placed_via.ts
|
|
784
|
-
var source_manually_placed_via =
|
|
785
|
-
type:
|
|
786
|
-
source_manually_placed_via_id:
|
|
787
|
-
source_group_id:
|
|
788
|
-
source_net_id:
|
|
789
|
-
subcircuit_id:
|
|
790
|
-
source_trace_id:
|
|
792
|
+
var source_manually_placed_via = z45.object({
|
|
793
|
+
type: z45.literal("source_manually_placed_via"),
|
|
794
|
+
source_manually_placed_via_id: z45.string(),
|
|
795
|
+
source_group_id: z45.string(),
|
|
796
|
+
source_net_id: z45.string(),
|
|
797
|
+
subcircuit_id: z45.string().optional(),
|
|
798
|
+
source_trace_id: z45.string().optional()
|
|
791
799
|
}).describe("Defines a via that is manually placed in the source domain");
|
|
792
800
|
expectTypesMatch(true);
|
|
793
801
|
|
|
794
802
|
// src/source/source_pin_must_be_connected_error.ts
|
|
795
|
-
import { z as
|
|
796
|
-
var source_pin_must_be_connected_error =
|
|
797
|
-
type:
|
|
803
|
+
import { z as z46 } from "zod";
|
|
804
|
+
var source_pin_must_be_connected_error = z46.object({
|
|
805
|
+
type: z46.literal("source_pin_must_be_connected_error"),
|
|
798
806
|
source_pin_must_be_connected_error_id: getZodPrefixedIdWithDefault(
|
|
799
807
|
"source_pin_must_be_connected_error"
|
|
800
808
|
),
|
|
801
|
-
error_type:
|
|
802
|
-
message:
|
|
803
|
-
source_component_id:
|
|
804
|
-
source_port_id:
|
|
805
|
-
subcircuit_id:
|
|
809
|
+
error_type: z46.literal("source_pin_must_be_connected_error").default("source_pin_must_be_connected_error"),
|
|
810
|
+
message: z46.string(),
|
|
811
|
+
source_component_id: z46.string(),
|
|
812
|
+
source_port_id: z46.string(),
|
|
813
|
+
subcircuit_id: z46.string().optional()
|
|
806
814
|
}).describe(
|
|
807
815
|
"Error emitted when a pin with mustBeConnected attribute is not connected to any trace"
|
|
808
816
|
);
|
|
809
817
|
expectTypesMatch(true);
|
|
810
818
|
|
|
811
819
|
// src/source/unknown_error_finding_part.ts
|
|
812
|
-
import { z as
|
|
813
|
-
var unknown_error_finding_part =
|
|
814
|
-
type:
|
|
820
|
+
import { z as z47 } from "zod";
|
|
821
|
+
var unknown_error_finding_part = z47.object({
|
|
822
|
+
type: z47.literal("unknown_error_finding_part"),
|
|
815
823
|
unknown_error_finding_part_id: getZodPrefixedIdWithDefault(
|
|
816
824
|
"unknown_error_finding_part"
|
|
817
825
|
),
|
|
818
|
-
error_type:
|
|
819
|
-
message:
|
|
820
|
-
source_component_id:
|
|
821
|
-
subcircuit_id:
|
|
826
|
+
error_type: z47.literal("unknown_error_finding_part").default("unknown_error_finding_part"),
|
|
827
|
+
message: z47.string(),
|
|
828
|
+
source_component_id: z47.string().optional(),
|
|
829
|
+
subcircuit_id: z47.string().optional()
|
|
822
830
|
}).describe(
|
|
823
831
|
"Error emitted when an unexpected error occurs while finding a part"
|
|
824
832
|
);
|
|
825
833
|
expectTypesMatch(true);
|
|
826
834
|
|
|
827
835
|
// src/schematic/schematic_box.ts
|
|
828
|
-
import { z as
|
|
829
|
-
var schematic_box =
|
|
830
|
-
type:
|
|
831
|
-
schematic_component_id:
|
|
836
|
+
import { z as z48 } from "zod";
|
|
837
|
+
var schematic_box = z48.object({
|
|
838
|
+
type: z48.literal("schematic_box"),
|
|
839
|
+
schematic_component_id: z48.string().optional(),
|
|
832
840
|
width: distance,
|
|
833
841
|
height: distance,
|
|
834
|
-
is_dashed:
|
|
842
|
+
is_dashed: z48.boolean().default(false),
|
|
835
843
|
x: distance,
|
|
836
844
|
y: distance,
|
|
837
|
-
subcircuit_id:
|
|
845
|
+
subcircuit_id: z48.string().optional()
|
|
838
846
|
}).describe("Draws a box on the schematic");
|
|
839
847
|
expectTypesMatch(true);
|
|
840
848
|
|
|
841
849
|
// src/schematic/schematic_path.ts
|
|
842
|
-
import { z as
|
|
843
|
-
var schematic_path =
|
|
844
|
-
type:
|
|
845
|
-
schematic_component_id:
|
|
846
|
-
fill_color:
|
|
847
|
-
is_filled:
|
|
848
|
-
points:
|
|
849
|
-
subcircuit_id:
|
|
850
|
+
import { z as z49 } from "zod";
|
|
851
|
+
var schematic_path = z49.object({
|
|
852
|
+
type: z49.literal("schematic_path"),
|
|
853
|
+
schematic_component_id: z49.string(),
|
|
854
|
+
fill_color: z49.enum(["red", "blue"]).optional(),
|
|
855
|
+
is_filled: z49.boolean().optional(),
|
|
856
|
+
points: z49.array(point),
|
|
857
|
+
subcircuit_id: z49.string().optional()
|
|
850
858
|
});
|
|
851
859
|
expectTypesMatch(true);
|
|
852
860
|
|
|
853
861
|
// src/schematic/schematic_component.ts
|
|
854
|
-
import { z as
|
|
855
|
-
var schematic_pin_styles =
|
|
856
|
-
|
|
862
|
+
import { z as z50 } from "zod";
|
|
863
|
+
var schematic_pin_styles = z50.record(
|
|
864
|
+
z50.object({
|
|
857
865
|
left_margin: length.optional(),
|
|
858
866
|
right_margin: length.optional(),
|
|
859
867
|
top_margin: length.optional(),
|
|
860
868
|
bottom_margin: length.optional()
|
|
861
869
|
})
|
|
862
870
|
);
|
|
863
|
-
var schematic_component_port_arrangement_by_size =
|
|
864
|
-
left_size:
|
|
865
|
-
right_size:
|
|
866
|
-
top_size:
|
|
867
|
-
bottom_size:
|
|
871
|
+
var schematic_component_port_arrangement_by_size = z50.object({
|
|
872
|
+
left_size: z50.number(),
|
|
873
|
+
right_size: z50.number(),
|
|
874
|
+
top_size: z50.number().optional(),
|
|
875
|
+
bottom_size: z50.number().optional()
|
|
868
876
|
});
|
|
869
877
|
expectTypesMatch(true);
|
|
870
|
-
var schematic_component_port_arrangement_by_sides =
|
|
871
|
-
left_side:
|
|
872
|
-
pins:
|
|
878
|
+
var schematic_component_port_arrangement_by_sides = z50.object({
|
|
879
|
+
left_side: z50.object({
|
|
880
|
+
pins: z50.array(z50.number()),
|
|
873
881
|
// @ts-ignore
|
|
874
|
-
direction:
|
|
882
|
+
direction: z50.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
875
883
|
}).optional(),
|
|
876
|
-
right_side:
|
|
877
|
-
pins:
|
|
884
|
+
right_side: z50.object({
|
|
885
|
+
pins: z50.array(z50.number()),
|
|
878
886
|
// @ts-ignore
|
|
879
|
-
direction:
|
|
887
|
+
direction: z50.enum(["top-to-bottom", "bottom-to-top"]).optional()
|
|
880
888
|
}).optional(),
|
|
881
|
-
top_side:
|
|
882
|
-
pins:
|
|
889
|
+
top_side: z50.object({
|
|
890
|
+
pins: z50.array(z50.number()),
|
|
883
891
|
// @ts-ignore
|
|
884
|
-
direction:
|
|
892
|
+
direction: z50.enum(["left-to-right", "right-to-left"]).optional()
|
|
885
893
|
}).optional(),
|
|
886
|
-
bottom_side:
|
|
887
|
-
pins:
|
|
894
|
+
bottom_side: z50.object({
|
|
895
|
+
pins: z50.array(z50.number()),
|
|
888
896
|
// @ts-ignore
|
|
889
|
-
direction:
|
|
897
|
+
direction: z50.enum(["left-to-right", "right-to-left"]).optional()
|
|
890
898
|
}).optional()
|
|
891
899
|
});
|
|
892
900
|
expectTypesMatch(true);
|
|
893
|
-
var port_arrangement =
|
|
901
|
+
var port_arrangement = z50.union([
|
|
894
902
|
schematic_component_port_arrangement_by_size,
|
|
895
903
|
schematic_component_port_arrangement_by_sides
|
|
896
904
|
]);
|
|
897
|
-
var schematic_component =
|
|
898
|
-
type:
|
|
905
|
+
var schematic_component = z50.object({
|
|
906
|
+
type: z50.literal("schematic_component"),
|
|
899
907
|
size,
|
|
900
908
|
center: point,
|
|
901
|
-
source_component_id:
|
|
902
|
-
schematic_component_id:
|
|
909
|
+
source_component_id: z50.string().optional(),
|
|
910
|
+
schematic_component_id: z50.string(),
|
|
903
911
|
pin_spacing: length.optional(),
|
|
904
912
|
pin_styles: schematic_pin_styles.optional(),
|
|
905
913
|
box_width: length.optional(),
|
|
906
|
-
symbol_name:
|
|
914
|
+
symbol_name: z50.string().optional(),
|
|
907
915
|
port_arrangement: port_arrangement.optional(),
|
|
908
|
-
port_labels:
|
|
909
|
-
symbol_display_value:
|
|
910
|
-
subcircuit_id:
|
|
911
|
-
schematic_group_id:
|
|
912
|
-
is_schematic_group:
|
|
913
|
-
source_group_id:
|
|
914
|
-
is_box_with_pins:
|
|
916
|
+
port_labels: z50.record(z50.string()).optional(),
|
|
917
|
+
symbol_display_value: z50.string().optional(),
|
|
918
|
+
subcircuit_id: z50.string().optional(),
|
|
919
|
+
schematic_group_id: z50.string().optional(),
|
|
920
|
+
is_schematic_group: z50.boolean().optional(),
|
|
921
|
+
source_group_id: z50.string().optional(),
|
|
922
|
+
is_box_with_pins: z50.boolean().optional().default(true)
|
|
915
923
|
});
|
|
916
924
|
expectTypesMatch(true);
|
|
917
925
|
|
|
918
926
|
// src/schematic/schematic_line.ts
|
|
919
|
-
import { z as
|
|
920
|
-
var schematic_line =
|
|
921
|
-
type:
|
|
927
|
+
import { z as z51 } from "zod";
|
|
928
|
+
var schematic_line = z51.object({
|
|
929
|
+
type: z51.literal("schematic_line"),
|
|
922
930
|
schematic_line_id: getZodPrefixedIdWithDefault("schematic_line"),
|
|
923
|
-
schematic_component_id:
|
|
931
|
+
schematic_component_id: z51.string(),
|
|
924
932
|
x1: distance,
|
|
925
933
|
y1: distance,
|
|
926
934
|
x2: distance,
|
|
927
935
|
y2: distance,
|
|
928
936
|
stroke_width: distance.nullable().optional(),
|
|
929
|
-
color:
|
|
930
|
-
is_dashed:
|
|
931
|
-
subcircuit_id:
|
|
937
|
+
color: z51.string().default("#000000"),
|
|
938
|
+
is_dashed: z51.boolean().default(false),
|
|
939
|
+
subcircuit_id: z51.string().optional()
|
|
932
940
|
}).describe("Draws a styled line on the schematic");
|
|
933
941
|
expectTypesMatch(true);
|
|
934
942
|
|
|
935
943
|
// src/schematic/schematic_rect.ts
|
|
936
|
-
import { z as
|
|
937
|
-
var schematic_rect =
|
|
938
|
-
type:
|
|
944
|
+
import { z as z52 } from "zod";
|
|
945
|
+
var schematic_rect = z52.object({
|
|
946
|
+
type: z52.literal("schematic_rect"),
|
|
939
947
|
schematic_rect_id: getZodPrefixedIdWithDefault("schematic_rect"),
|
|
940
|
-
schematic_component_id:
|
|
948
|
+
schematic_component_id: z52.string(),
|
|
941
949
|
center: point,
|
|
942
950
|
width: distance,
|
|
943
951
|
height: distance,
|
|
944
952
|
rotation: rotation.default(0),
|
|
945
953
|
stroke_width: distance.nullable().optional(),
|
|
946
|
-
color:
|
|
947
|
-
is_filled:
|
|
948
|
-
fill_color:
|
|
949
|
-
is_dashed:
|
|
950
|
-
subcircuit_id:
|
|
954
|
+
color: z52.string().default("#000000"),
|
|
955
|
+
is_filled: z52.boolean().default(false),
|
|
956
|
+
fill_color: z52.string().optional(),
|
|
957
|
+
is_dashed: z52.boolean().default(false),
|
|
958
|
+
subcircuit_id: z52.string().optional()
|
|
951
959
|
}).describe("Draws a styled rectangle on the schematic");
|
|
952
960
|
expectTypesMatch(true);
|
|
953
961
|
|
|
954
962
|
// src/schematic/schematic_circle.ts
|
|
955
|
-
import { z as
|
|
956
|
-
var schematic_circle =
|
|
957
|
-
type:
|
|
963
|
+
import { z as z53 } from "zod";
|
|
964
|
+
var schematic_circle = z53.object({
|
|
965
|
+
type: z53.literal("schematic_circle"),
|
|
958
966
|
schematic_circle_id: getZodPrefixedIdWithDefault("schematic_circle"),
|
|
959
|
-
schematic_component_id:
|
|
967
|
+
schematic_component_id: z53.string(),
|
|
960
968
|
center: point,
|
|
961
969
|
radius: distance,
|
|
962
970
|
stroke_width: distance.nullable().optional(),
|
|
963
|
-
color:
|
|
964
|
-
is_filled:
|
|
965
|
-
fill_color:
|
|
966
|
-
is_dashed:
|
|
967
|
-
subcircuit_id:
|
|
971
|
+
color: z53.string().default("#000000"),
|
|
972
|
+
is_filled: z53.boolean().default(false),
|
|
973
|
+
fill_color: z53.string().optional(),
|
|
974
|
+
is_dashed: z53.boolean().default(false),
|
|
975
|
+
subcircuit_id: z53.string().optional()
|
|
968
976
|
}).describe("Draws a styled circle on the schematic");
|
|
969
977
|
expectTypesMatch(true);
|
|
970
978
|
|
|
971
979
|
// src/schematic/schematic_arc.ts
|
|
972
|
-
import { z as
|
|
973
|
-
var schematic_arc =
|
|
974
|
-
type:
|
|
980
|
+
import { z as z54 } from "zod";
|
|
981
|
+
var schematic_arc = z54.object({
|
|
982
|
+
type: z54.literal("schematic_arc"),
|
|
975
983
|
schematic_arc_id: getZodPrefixedIdWithDefault("schematic_arc"),
|
|
976
|
-
schematic_component_id:
|
|
984
|
+
schematic_component_id: z54.string(),
|
|
977
985
|
center: point,
|
|
978
986
|
radius: distance,
|
|
979
987
|
start_angle_degrees: rotation,
|
|
980
988
|
end_angle_degrees: rotation,
|
|
981
|
-
direction:
|
|
989
|
+
direction: z54.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
|
|
982
990
|
stroke_width: distance.nullable().optional(),
|
|
983
|
-
color:
|
|
984
|
-
is_dashed:
|
|
985
|
-
subcircuit_id:
|
|
991
|
+
color: z54.string().default("#000000"),
|
|
992
|
+
is_dashed: z54.boolean().default(false),
|
|
993
|
+
subcircuit_id: z54.string().optional()
|
|
986
994
|
}).describe("Draws a styled arc on the schematic");
|
|
987
995
|
expectTypesMatch(true);
|
|
988
996
|
|
|
989
997
|
// src/schematic/schematic_trace.ts
|
|
990
|
-
import { z as
|
|
991
|
-
var schematic_trace =
|
|
992
|
-
type:
|
|
993
|
-
schematic_trace_id:
|
|
994
|
-
source_trace_id:
|
|
995
|
-
junctions:
|
|
996
|
-
|
|
997
|
-
x:
|
|
998
|
-
y:
|
|
998
|
+
import { z as z55 } from "zod";
|
|
999
|
+
var schematic_trace = z55.object({
|
|
1000
|
+
type: z55.literal("schematic_trace"),
|
|
1001
|
+
schematic_trace_id: z55.string(),
|
|
1002
|
+
source_trace_id: z55.string().optional(),
|
|
1003
|
+
junctions: z55.array(
|
|
1004
|
+
z55.object({
|
|
1005
|
+
x: z55.number(),
|
|
1006
|
+
y: z55.number()
|
|
999
1007
|
})
|
|
1000
1008
|
),
|
|
1001
|
-
edges:
|
|
1002
|
-
|
|
1003
|
-
from:
|
|
1004
|
-
x:
|
|
1005
|
-
y:
|
|
1009
|
+
edges: z55.array(
|
|
1010
|
+
z55.object({
|
|
1011
|
+
from: z55.object({
|
|
1012
|
+
x: z55.number(),
|
|
1013
|
+
y: z55.number()
|
|
1006
1014
|
}),
|
|
1007
|
-
to:
|
|
1008
|
-
x:
|
|
1009
|
-
y:
|
|
1015
|
+
to: z55.object({
|
|
1016
|
+
x: z55.number(),
|
|
1017
|
+
y: z55.number()
|
|
1010
1018
|
}),
|
|
1011
|
-
is_crossing:
|
|
1012
|
-
from_schematic_port_id:
|
|
1013
|
-
to_schematic_port_id:
|
|
1019
|
+
is_crossing: z55.boolean().optional(),
|
|
1020
|
+
from_schematic_port_id: z55.string().optional(),
|
|
1021
|
+
to_schematic_port_id: z55.string().optional()
|
|
1014
1022
|
})
|
|
1015
1023
|
),
|
|
1016
|
-
subcircuit_id:
|
|
1024
|
+
subcircuit_id: z55.string().optional(),
|
|
1017
1025
|
// TODO: make required in a future release
|
|
1018
|
-
subcircuit_connectivity_map_key:
|
|
1026
|
+
subcircuit_connectivity_map_key: z55.string().optional()
|
|
1019
1027
|
});
|
|
1020
1028
|
expectTypesMatch(true);
|
|
1021
1029
|
|
|
1022
1030
|
// src/schematic/schematic_text.ts
|
|
1023
|
-
import { z as
|
|
1031
|
+
import { z as z57 } from "zod";
|
|
1024
1032
|
|
|
1025
1033
|
// src/common/FivePointAnchor.ts
|
|
1026
|
-
import { z as
|
|
1027
|
-
var fivePointAnchor =
|
|
1034
|
+
import { z as z56 } from "zod";
|
|
1035
|
+
var fivePointAnchor = z56.enum([
|
|
1028
1036
|
"center",
|
|
1029
1037
|
"left",
|
|
1030
1038
|
"right",
|
|
@@ -1034,111 +1042,111 @@ var fivePointAnchor = z55.enum([
|
|
|
1034
1042
|
expectTypesMatch(true);
|
|
1035
1043
|
|
|
1036
1044
|
// src/schematic/schematic_text.ts
|
|
1037
|
-
var schematic_text =
|
|
1038
|
-
type:
|
|
1039
|
-
schematic_component_id:
|
|
1040
|
-
schematic_text_id:
|
|
1041
|
-
text:
|
|
1042
|
-
font_size:
|
|
1043
|
-
position:
|
|
1045
|
+
var schematic_text = z57.object({
|
|
1046
|
+
type: z57.literal("schematic_text"),
|
|
1047
|
+
schematic_component_id: z57.string().optional(),
|
|
1048
|
+
schematic_text_id: z57.string(),
|
|
1049
|
+
text: z57.string(),
|
|
1050
|
+
font_size: z57.number().default(0.18),
|
|
1051
|
+
position: z57.object({
|
|
1044
1052
|
x: distance,
|
|
1045
1053
|
y: distance
|
|
1046
1054
|
}),
|
|
1047
|
-
rotation:
|
|
1048
|
-
anchor:
|
|
1049
|
-
color:
|
|
1050
|
-
subcircuit_id:
|
|
1055
|
+
rotation: z57.number().default(0),
|
|
1056
|
+
anchor: z57.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
|
|
1057
|
+
color: z57.string().default("#000000"),
|
|
1058
|
+
subcircuit_id: z57.string().optional()
|
|
1051
1059
|
});
|
|
1052
1060
|
expectTypesMatch(true);
|
|
1053
1061
|
|
|
1054
1062
|
// src/schematic/schematic_port.ts
|
|
1055
|
-
import { z as
|
|
1056
|
-
var schematic_port =
|
|
1057
|
-
type:
|
|
1058
|
-
schematic_port_id:
|
|
1059
|
-
source_port_id:
|
|
1060
|
-
schematic_component_id:
|
|
1063
|
+
import { z as z58 } from "zod";
|
|
1064
|
+
var schematic_port = z58.object({
|
|
1065
|
+
type: z58.literal("schematic_port"),
|
|
1066
|
+
schematic_port_id: z58.string(),
|
|
1067
|
+
source_port_id: z58.string(),
|
|
1068
|
+
schematic_component_id: z58.string().optional(),
|
|
1061
1069
|
center: point,
|
|
1062
|
-
facing_direction:
|
|
1063
|
-
distance_from_component_edge:
|
|
1064
|
-
side_of_component:
|
|
1065
|
-
true_ccw_index:
|
|
1066
|
-
pin_number:
|
|
1067
|
-
display_pin_label:
|
|
1068
|
-
subcircuit_id:
|
|
1069
|
-
is_connected:
|
|
1070
|
-
has_input_arrow:
|
|
1071
|
-
has_output_arrow:
|
|
1070
|
+
facing_direction: z58.enum(["up", "down", "left", "right"]).optional(),
|
|
1071
|
+
distance_from_component_edge: z58.number().optional(),
|
|
1072
|
+
side_of_component: z58.enum(["top", "bottom", "left", "right"]).optional(),
|
|
1073
|
+
true_ccw_index: z58.number().optional(),
|
|
1074
|
+
pin_number: z58.number().optional(),
|
|
1075
|
+
display_pin_label: z58.string().optional(),
|
|
1076
|
+
subcircuit_id: z58.string().optional(),
|
|
1077
|
+
is_connected: z58.boolean().optional(),
|
|
1078
|
+
has_input_arrow: z58.boolean().optional(),
|
|
1079
|
+
has_output_arrow: z58.boolean().optional()
|
|
1072
1080
|
}).describe("Defines a port on a schematic component");
|
|
1073
1081
|
expectTypesMatch(true);
|
|
1074
1082
|
|
|
1075
1083
|
// src/schematic/schematic_net_label.ts
|
|
1076
|
-
import { z as
|
|
1077
|
-
var schematic_net_label =
|
|
1078
|
-
type:
|
|
1084
|
+
import { z as z59 } from "zod";
|
|
1085
|
+
var schematic_net_label = z59.object({
|
|
1086
|
+
type: z59.literal("schematic_net_label"),
|
|
1079
1087
|
schematic_net_label_id: getZodPrefixedIdWithDefault("schematic_net_label"),
|
|
1080
|
-
schematic_trace_id:
|
|
1081
|
-
source_trace_id:
|
|
1082
|
-
source_net_id:
|
|
1088
|
+
schematic_trace_id: z59.string().optional(),
|
|
1089
|
+
source_trace_id: z59.string().optional(),
|
|
1090
|
+
source_net_id: z59.string(),
|
|
1083
1091
|
center: point,
|
|
1084
1092
|
anchor_position: point.optional(),
|
|
1085
|
-
anchor_side:
|
|
1086
|
-
text:
|
|
1087
|
-
symbol_name:
|
|
1088
|
-
is_movable:
|
|
1089
|
-
subcircuit_id:
|
|
1093
|
+
anchor_side: z59.enum(["top", "bottom", "left", "right"]),
|
|
1094
|
+
text: z59.string(),
|
|
1095
|
+
symbol_name: z59.string().optional(),
|
|
1096
|
+
is_movable: z59.boolean().optional(),
|
|
1097
|
+
subcircuit_id: z59.string().optional()
|
|
1090
1098
|
});
|
|
1091
1099
|
expectTypesMatch(true);
|
|
1092
1100
|
|
|
1093
1101
|
// src/schematic/schematic_error.ts
|
|
1094
|
-
import { z as
|
|
1095
|
-
var schematic_error =
|
|
1096
|
-
type:
|
|
1097
|
-
schematic_error_id:
|
|
1102
|
+
import { z as z60 } from "zod";
|
|
1103
|
+
var schematic_error = z60.object({
|
|
1104
|
+
type: z60.literal("schematic_error"),
|
|
1105
|
+
schematic_error_id: z60.string(),
|
|
1098
1106
|
// eventually each error type should be broken out into a dir of files
|
|
1099
|
-
error_type:
|
|
1100
|
-
message:
|
|
1101
|
-
subcircuit_id:
|
|
1107
|
+
error_type: z60.literal("schematic_port_not_found").default("schematic_port_not_found"),
|
|
1108
|
+
message: z60.string(),
|
|
1109
|
+
subcircuit_id: z60.string().optional()
|
|
1102
1110
|
}).describe("Defines a schematic error on the schematic");
|
|
1103
1111
|
expectTypesMatch(true);
|
|
1104
1112
|
|
|
1105
1113
|
// src/schematic/schematic_layout_error.ts
|
|
1106
|
-
import { z as
|
|
1107
|
-
var schematic_layout_error =
|
|
1108
|
-
type:
|
|
1114
|
+
import { z as z61 } from "zod";
|
|
1115
|
+
var schematic_layout_error = z61.object({
|
|
1116
|
+
type: z61.literal("schematic_layout_error"),
|
|
1109
1117
|
schematic_layout_error_id: getZodPrefixedIdWithDefault(
|
|
1110
1118
|
"schematic_layout_error"
|
|
1111
1119
|
),
|
|
1112
|
-
error_type:
|
|
1113
|
-
message:
|
|
1114
|
-
source_group_id:
|
|
1115
|
-
schematic_group_id:
|
|
1116
|
-
subcircuit_id:
|
|
1120
|
+
error_type: z61.literal("schematic_layout_error").default("schematic_layout_error"),
|
|
1121
|
+
message: z61.string(),
|
|
1122
|
+
source_group_id: z61.string(),
|
|
1123
|
+
schematic_group_id: z61.string(),
|
|
1124
|
+
subcircuit_id: z61.string().optional()
|
|
1117
1125
|
}).describe("Error emitted when schematic layout fails for a group");
|
|
1118
1126
|
expectTypesMatch(true);
|
|
1119
1127
|
|
|
1120
1128
|
// src/schematic/schematic_debug_object.ts
|
|
1121
|
-
import { z as
|
|
1122
|
-
var schematic_debug_object_base =
|
|
1123
|
-
type:
|
|
1124
|
-
label:
|
|
1125
|
-
subcircuit_id:
|
|
1129
|
+
import { z as z62 } from "zod";
|
|
1130
|
+
var schematic_debug_object_base = z62.object({
|
|
1131
|
+
type: z62.literal("schematic_debug_object"),
|
|
1132
|
+
label: z62.string().optional(),
|
|
1133
|
+
subcircuit_id: z62.string().optional()
|
|
1126
1134
|
});
|
|
1127
1135
|
var schematic_debug_rect = schematic_debug_object_base.extend({
|
|
1128
|
-
shape:
|
|
1136
|
+
shape: z62.literal("rect"),
|
|
1129
1137
|
center: point,
|
|
1130
1138
|
size
|
|
1131
1139
|
});
|
|
1132
1140
|
var schematic_debug_line = schematic_debug_object_base.extend({
|
|
1133
|
-
shape:
|
|
1141
|
+
shape: z62.literal("line"),
|
|
1134
1142
|
start: point,
|
|
1135
1143
|
end: point
|
|
1136
1144
|
});
|
|
1137
1145
|
var schematic_debug_point = schematic_debug_object_base.extend({
|
|
1138
|
-
shape:
|
|
1146
|
+
shape: z62.literal("point"),
|
|
1139
1147
|
center: point
|
|
1140
1148
|
});
|
|
1141
|
-
var schematic_debug_object =
|
|
1149
|
+
var schematic_debug_object = z62.discriminatedUnion("shape", [
|
|
1142
1150
|
schematic_debug_rect,
|
|
1143
1151
|
schematic_debug_line,
|
|
1144
1152
|
schematic_debug_point
|
|
@@ -1146,268 +1154,268 @@ var schematic_debug_object = z61.discriminatedUnion("shape", [
|
|
|
1146
1154
|
expectTypesMatch(true);
|
|
1147
1155
|
|
|
1148
1156
|
// src/schematic/schematic_voltage_probe.ts
|
|
1149
|
-
import { z as
|
|
1150
|
-
var schematic_voltage_probe =
|
|
1151
|
-
type:
|
|
1152
|
-
schematic_voltage_probe_id:
|
|
1153
|
-
source_component_id:
|
|
1154
|
-
name:
|
|
1157
|
+
import { z as z63 } from "zod";
|
|
1158
|
+
var schematic_voltage_probe = z63.object({
|
|
1159
|
+
type: z63.literal("schematic_voltage_probe"),
|
|
1160
|
+
schematic_voltage_probe_id: z63.string(),
|
|
1161
|
+
source_component_id: z63.string().optional(),
|
|
1162
|
+
name: z63.string().optional(),
|
|
1155
1163
|
position: point,
|
|
1156
|
-
schematic_trace_id:
|
|
1164
|
+
schematic_trace_id: z63.string(),
|
|
1157
1165
|
voltage: voltage.optional(),
|
|
1158
|
-
subcircuit_id:
|
|
1159
|
-
color:
|
|
1166
|
+
subcircuit_id: z63.string().optional(),
|
|
1167
|
+
color: z63.string().optional()
|
|
1160
1168
|
}).describe("Defines a voltage probe measurement point on a schematic trace");
|
|
1161
1169
|
expectTypesMatch(true);
|
|
1162
1170
|
|
|
1163
1171
|
// src/schematic/schematic_manual_edit_conflict_warning.ts
|
|
1164
|
-
import { z as
|
|
1165
|
-
var schematic_manual_edit_conflict_warning =
|
|
1166
|
-
type:
|
|
1172
|
+
import { z as z64 } from "zod";
|
|
1173
|
+
var schematic_manual_edit_conflict_warning = z64.object({
|
|
1174
|
+
type: z64.literal("schematic_manual_edit_conflict_warning"),
|
|
1167
1175
|
schematic_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
1168
1176
|
"schematic_manual_edit_conflict_warning"
|
|
1169
1177
|
),
|
|
1170
|
-
warning_type:
|
|
1171
|
-
message:
|
|
1172
|
-
schematic_component_id:
|
|
1173
|
-
schematic_group_id:
|
|
1174
|
-
subcircuit_id:
|
|
1175
|
-
source_component_id:
|
|
1178
|
+
warning_type: z64.literal("schematic_manual_edit_conflict_warning").default("schematic_manual_edit_conflict_warning"),
|
|
1179
|
+
message: z64.string(),
|
|
1180
|
+
schematic_component_id: z64.string(),
|
|
1181
|
+
schematic_group_id: z64.string().optional(),
|
|
1182
|
+
subcircuit_id: z64.string().optional(),
|
|
1183
|
+
source_component_id: z64.string()
|
|
1176
1184
|
}).describe(
|
|
1177
1185
|
"Warning emitted when a component has both manual placement and explicit schX/schY coordinates"
|
|
1178
1186
|
);
|
|
1179
1187
|
expectTypesMatch(true);
|
|
1180
1188
|
|
|
1181
1189
|
// src/schematic/schematic_group.ts
|
|
1182
|
-
import { z as
|
|
1183
|
-
var schematic_group =
|
|
1184
|
-
type:
|
|
1190
|
+
import { z as z65 } from "zod";
|
|
1191
|
+
var schematic_group = z65.object({
|
|
1192
|
+
type: z65.literal("schematic_group"),
|
|
1185
1193
|
schematic_group_id: getZodPrefixedIdWithDefault("schematic_group"),
|
|
1186
|
-
source_group_id:
|
|
1187
|
-
is_subcircuit:
|
|
1188
|
-
subcircuit_id:
|
|
1194
|
+
source_group_id: z65.string(),
|
|
1195
|
+
is_subcircuit: z65.boolean().optional(),
|
|
1196
|
+
subcircuit_id: z65.string().optional(),
|
|
1189
1197
|
width: length,
|
|
1190
1198
|
height: length,
|
|
1191
1199
|
center: point,
|
|
1192
|
-
schematic_component_ids:
|
|
1193
|
-
show_as_schematic_box:
|
|
1194
|
-
name:
|
|
1195
|
-
description:
|
|
1200
|
+
schematic_component_ids: z65.array(z65.string()),
|
|
1201
|
+
show_as_schematic_box: z65.boolean().optional(),
|
|
1202
|
+
name: z65.string().optional(),
|
|
1203
|
+
description: z65.string().optional()
|
|
1196
1204
|
}).describe("Defines a group of components on the schematic");
|
|
1197
1205
|
expectTypesMatch(true);
|
|
1198
1206
|
|
|
1199
1207
|
// src/schematic/schematic_table.ts
|
|
1200
|
-
import { z as
|
|
1201
|
-
var schematic_table =
|
|
1202
|
-
type:
|
|
1208
|
+
import { z as z66 } from "zod";
|
|
1209
|
+
var schematic_table = z66.object({
|
|
1210
|
+
type: z66.literal("schematic_table"),
|
|
1203
1211
|
schematic_table_id: getZodPrefixedIdWithDefault("schematic_table"),
|
|
1204
1212
|
anchor_position: point,
|
|
1205
|
-
column_widths:
|
|
1206
|
-
row_heights:
|
|
1213
|
+
column_widths: z66.array(distance),
|
|
1214
|
+
row_heights: z66.array(distance),
|
|
1207
1215
|
cell_padding: distance.optional(),
|
|
1208
1216
|
border_width: distance.optional(),
|
|
1209
|
-
subcircuit_id:
|
|
1210
|
-
schematic_component_id:
|
|
1217
|
+
subcircuit_id: z66.string().optional(),
|
|
1218
|
+
schematic_component_id: z66.string().optional(),
|
|
1211
1219
|
anchor: ninePointAnchor.optional()
|
|
1212
1220
|
}).describe("Defines a table on the schematic");
|
|
1213
1221
|
expectTypesMatch(true);
|
|
1214
1222
|
|
|
1215
1223
|
// src/schematic/schematic_table_cell.ts
|
|
1216
|
-
import { z as
|
|
1217
|
-
var schematic_table_cell =
|
|
1218
|
-
type:
|
|
1224
|
+
import { z as z67 } from "zod";
|
|
1225
|
+
var schematic_table_cell = z67.object({
|
|
1226
|
+
type: z67.literal("schematic_table_cell"),
|
|
1219
1227
|
schematic_table_cell_id: getZodPrefixedIdWithDefault(
|
|
1220
1228
|
"schematic_table_cell"
|
|
1221
1229
|
),
|
|
1222
|
-
schematic_table_id:
|
|
1223
|
-
start_row_index:
|
|
1224
|
-
end_row_index:
|
|
1225
|
-
start_column_index:
|
|
1226
|
-
end_column_index:
|
|
1227
|
-
text:
|
|
1230
|
+
schematic_table_id: z67.string(),
|
|
1231
|
+
start_row_index: z67.number(),
|
|
1232
|
+
end_row_index: z67.number(),
|
|
1233
|
+
start_column_index: z67.number(),
|
|
1234
|
+
end_column_index: z67.number(),
|
|
1235
|
+
text: z67.string().optional(),
|
|
1228
1236
|
center: point,
|
|
1229
1237
|
width: distance,
|
|
1230
1238
|
height: distance,
|
|
1231
|
-
horizontal_align:
|
|
1232
|
-
vertical_align:
|
|
1239
|
+
horizontal_align: z67.enum(["left", "center", "right"]).optional(),
|
|
1240
|
+
vertical_align: z67.enum(["top", "middle", "bottom"]).optional(),
|
|
1233
1241
|
font_size: distance.optional(),
|
|
1234
|
-
subcircuit_id:
|
|
1242
|
+
subcircuit_id: z67.string().optional()
|
|
1235
1243
|
}).describe("Defines a cell within a schematic_table");
|
|
1236
1244
|
expectTypesMatch(true);
|
|
1237
1245
|
|
|
1238
1246
|
// src/schematic/schematic_sheet.ts
|
|
1239
|
-
import { z as
|
|
1240
|
-
var schematic_sheet =
|
|
1241
|
-
type:
|
|
1247
|
+
import { z as z68 } from "zod";
|
|
1248
|
+
var schematic_sheet = z68.object({
|
|
1249
|
+
type: z68.literal("schematic_sheet"),
|
|
1242
1250
|
schematic_sheet_id: getZodPrefixedIdWithDefault("schematic_sheet"),
|
|
1243
|
-
name:
|
|
1244
|
-
subcircuit_id:
|
|
1251
|
+
name: z68.string().optional(),
|
|
1252
|
+
subcircuit_id: z68.string().optional()
|
|
1245
1253
|
}).describe(
|
|
1246
1254
|
"Defines a schematic sheet or page that components can be placed on"
|
|
1247
1255
|
);
|
|
1248
1256
|
expectTypesMatch(true);
|
|
1249
1257
|
|
|
1250
1258
|
// src/pcb/properties/brep.ts
|
|
1251
|
-
import { z as
|
|
1252
|
-
var point_with_bulge =
|
|
1259
|
+
import { z as z69 } from "zod";
|
|
1260
|
+
var point_with_bulge = z69.object({
|
|
1253
1261
|
x: distance,
|
|
1254
1262
|
y: distance,
|
|
1255
|
-
bulge:
|
|
1263
|
+
bulge: z69.number().optional()
|
|
1256
1264
|
});
|
|
1257
1265
|
expectTypesMatch(true);
|
|
1258
|
-
var ring =
|
|
1259
|
-
vertices:
|
|
1266
|
+
var ring = z69.object({
|
|
1267
|
+
vertices: z69.array(point_with_bulge)
|
|
1260
1268
|
});
|
|
1261
1269
|
expectTypesMatch(true);
|
|
1262
|
-
var brep_shape =
|
|
1270
|
+
var brep_shape = z69.object({
|
|
1263
1271
|
outer_ring: ring,
|
|
1264
|
-
inner_rings:
|
|
1272
|
+
inner_rings: z69.array(ring).default([])
|
|
1265
1273
|
});
|
|
1266
1274
|
expectTypesMatch(true);
|
|
1267
1275
|
|
|
1268
1276
|
// src/pcb/properties/pcb_route_hints.ts
|
|
1269
|
-
import { z as
|
|
1270
|
-
var pcb_route_hint =
|
|
1277
|
+
import { z as z70 } from "zod";
|
|
1278
|
+
var pcb_route_hint = z70.object({
|
|
1271
1279
|
x: distance,
|
|
1272
1280
|
y: distance,
|
|
1273
|
-
via:
|
|
1281
|
+
via: z70.boolean().optional(),
|
|
1274
1282
|
via_to_layer: layer_ref.optional()
|
|
1275
1283
|
});
|
|
1276
|
-
var pcb_route_hints =
|
|
1284
|
+
var pcb_route_hints = z70.array(pcb_route_hint);
|
|
1277
1285
|
expectTypesMatch(true);
|
|
1278
1286
|
expectTypesMatch(true);
|
|
1279
1287
|
|
|
1280
1288
|
// src/pcb/properties/route_hint_point.ts
|
|
1281
|
-
import { z as
|
|
1282
|
-
var route_hint_point =
|
|
1289
|
+
import { z as z71 } from "zod";
|
|
1290
|
+
var route_hint_point = z71.object({
|
|
1283
1291
|
x: distance,
|
|
1284
1292
|
y: distance,
|
|
1285
|
-
via:
|
|
1293
|
+
via: z71.boolean().optional(),
|
|
1286
1294
|
to_layer: layer_ref.optional(),
|
|
1287
1295
|
trace_width: distance.optional()
|
|
1288
1296
|
});
|
|
1289
1297
|
expectTypesMatch(true);
|
|
1290
1298
|
|
|
1291
1299
|
// src/pcb/pcb_component.ts
|
|
1292
|
-
import { z as
|
|
1293
|
-
var pcb_component =
|
|
1294
|
-
type:
|
|
1300
|
+
import { z as z72 } from "zod";
|
|
1301
|
+
var pcb_component = z72.object({
|
|
1302
|
+
type: z72.literal("pcb_component"),
|
|
1295
1303
|
pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
|
|
1296
|
-
source_component_id:
|
|
1304
|
+
source_component_id: z72.string(),
|
|
1297
1305
|
center: point,
|
|
1298
1306
|
layer: layer_ref,
|
|
1299
1307
|
rotation,
|
|
1300
1308
|
width: length,
|
|
1301
1309
|
height: length,
|
|
1302
|
-
do_not_place:
|
|
1303
|
-
subcircuit_id:
|
|
1304
|
-
pcb_group_id:
|
|
1305
|
-
position_mode:
|
|
1306
|
-
positioned_relative_to_pcb_group_id:
|
|
1307
|
-
obstructs_within_bounds:
|
|
1310
|
+
do_not_place: z72.boolean().optional(),
|
|
1311
|
+
subcircuit_id: z72.string().optional(),
|
|
1312
|
+
pcb_group_id: z72.string().optional(),
|
|
1313
|
+
position_mode: z72.enum(["packed", "relative_to_group_anchor", "none"]).optional(),
|
|
1314
|
+
positioned_relative_to_pcb_group_id: z72.string().optional(),
|
|
1315
|
+
obstructs_within_bounds: z72.boolean().default(true).describe(
|
|
1308
1316
|
"Does this component take up all the space within its bounds on a layer. This is generally true except for when separated pin headers are being represented by a single component (in which case, chips can be placed between the pin headers) or for tall modules where chips fit underneath"
|
|
1309
1317
|
)
|
|
1310
1318
|
}).describe("Defines a component on the PCB");
|
|
1311
1319
|
expectTypesMatch(true);
|
|
1312
1320
|
|
|
1313
1321
|
// src/pcb/pcb_hole.ts
|
|
1314
|
-
import { z as
|
|
1315
|
-
var pcb_hole_circle =
|
|
1316
|
-
type:
|
|
1322
|
+
import { z as z73 } from "zod";
|
|
1323
|
+
var pcb_hole_circle = z73.object({
|
|
1324
|
+
type: z73.literal("pcb_hole"),
|
|
1317
1325
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1318
|
-
pcb_group_id:
|
|
1319
|
-
subcircuit_id:
|
|
1320
|
-
hole_shape:
|
|
1321
|
-
hole_diameter:
|
|
1326
|
+
pcb_group_id: z73.string().optional(),
|
|
1327
|
+
subcircuit_id: z73.string().optional(),
|
|
1328
|
+
hole_shape: z73.literal("circle"),
|
|
1329
|
+
hole_diameter: z73.number(),
|
|
1322
1330
|
x: distance,
|
|
1323
1331
|
y: distance,
|
|
1324
|
-
is_covered_with_solder_mask:
|
|
1325
|
-
soldermask_margin:
|
|
1332
|
+
is_covered_with_solder_mask: z73.boolean().optional(),
|
|
1333
|
+
soldermask_margin: z73.number().optional()
|
|
1326
1334
|
});
|
|
1327
1335
|
var pcb_hole_circle_shape = pcb_hole_circle.describe(
|
|
1328
1336
|
"Defines a circular hole on the PCB"
|
|
1329
1337
|
);
|
|
1330
1338
|
expectTypesMatch(true);
|
|
1331
|
-
var pcb_hole_rect =
|
|
1332
|
-
type:
|
|
1339
|
+
var pcb_hole_rect = z73.object({
|
|
1340
|
+
type: z73.literal("pcb_hole"),
|
|
1333
1341
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1334
|
-
pcb_group_id:
|
|
1335
|
-
subcircuit_id:
|
|
1336
|
-
hole_shape:
|
|
1337
|
-
hole_width:
|
|
1338
|
-
hole_height:
|
|
1342
|
+
pcb_group_id: z73.string().optional(),
|
|
1343
|
+
subcircuit_id: z73.string().optional(),
|
|
1344
|
+
hole_shape: z73.literal("rect"),
|
|
1345
|
+
hole_width: z73.number(),
|
|
1346
|
+
hole_height: z73.number(),
|
|
1339
1347
|
x: distance,
|
|
1340
1348
|
y: distance,
|
|
1341
|
-
is_covered_with_solder_mask:
|
|
1342
|
-
soldermask_margin:
|
|
1349
|
+
is_covered_with_solder_mask: z73.boolean().optional(),
|
|
1350
|
+
soldermask_margin: z73.number().optional()
|
|
1343
1351
|
});
|
|
1344
1352
|
var pcb_hole_rect_shape = pcb_hole_rect.describe(
|
|
1345
1353
|
"Defines a rectangular (square-capable) hole on the PCB. Use equal width/height for square."
|
|
1346
1354
|
);
|
|
1347
1355
|
expectTypesMatch(true);
|
|
1348
|
-
var pcb_hole_circle_or_square =
|
|
1349
|
-
type:
|
|
1356
|
+
var pcb_hole_circle_or_square = z73.object({
|
|
1357
|
+
type: z73.literal("pcb_hole"),
|
|
1350
1358
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1351
|
-
pcb_group_id:
|
|
1352
|
-
subcircuit_id:
|
|
1353
|
-
hole_shape:
|
|
1354
|
-
hole_diameter:
|
|
1359
|
+
pcb_group_id: z73.string().optional(),
|
|
1360
|
+
subcircuit_id: z73.string().optional(),
|
|
1361
|
+
hole_shape: z73.enum(["circle", "square"]),
|
|
1362
|
+
hole_diameter: z73.number(),
|
|
1355
1363
|
x: distance,
|
|
1356
1364
|
y: distance,
|
|
1357
|
-
is_covered_with_solder_mask:
|
|
1358
|
-
soldermask_margin:
|
|
1365
|
+
is_covered_with_solder_mask: z73.boolean().optional(),
|
|
1366
|
+
soldermask_margin: z73.number().optional()
|
|
1359
1367
|
});
|
|
1360
1368
|
var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
|
|
1361
1369
|
"Defines a circular or square hole on the PCB"
|
|
1362
1370
|
);
|
|
1363
1371
|
expectTypesMatch(true);
|
|
1364
|
-
var pcb_hole_oval =
|
|
1365
|
-
type:
|
|
1372
|
+
var pcb_hole_oval = z73.object({
|
|
1373
|
+
type: z73.literal("pcb_hole"),
|
|
1366
1374
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1367
|
-
pcb_group_id:
|
|
1368
|
-
subcircuit_id:
|
|
1369
|
-
hole_shape:
|
|
1370
|
-
hole_width:
|
|
1371
|
-
hole_height:
|
|
1375
|
+
pcb_group_id: z73.string().optional(),
|
|
1376
|
+
subcircuit_id: z73.string().optional(),
|
|
1377
|
+
hole_shape: z73.literal("oval"),
|
|
1378
|
+
hole_width: z73.number(),
|
|
1379
|
+
hole_height: z73.number(),
|
|
1372
1380
|
x: distance,
|
|
1373
1381
|
y: distance,
|
|
1374
|
-
is_covered_with_solder_mask:
|
|
1375
|
-
soldermask_margin:
|
|
1382
|
+
is_covered_with_solder_mask: z73.boolean().optional(),
|
|
1383
|
+
soldermask_margin: z73.number().optional()
|
|
1376
1384
|
});
|
|
1377
1385
|
var pcb_hole_oval_shape = pcb_hole_oval.describe(
|
|
1378
1386
|
"Defines an oval hole on the PCB"
|
|
1379
1387
|
);
|
|
1380
1388
|
expectTypesMatch(true);
|
|
1381
|
-
var pcb_hole_pill =
|
|
1382
|
-
type:
|
|
1389
|
+
var pcb_hole_pill = z73.object({
|
|
1390
|
+
type: z73.literal("pcb_hole"),
|
|
1383
1391
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1384
|
-
pcb_group_id:
|
|
1385
|
-
subcircuit_id:
|
|
1386
|
-
hole_shape:
|
|
1387
|
-
hole_width:
|
|
1388
|
-
hole_height:
|
|
1392
|
+
pcb_group_id: z73.string().optional(),
|
|
1393
|
+
subcircuit_id: z73.string().optional(),
|
|
1394
|
+
hole_shape: z73.literal("pill"),
|
|
1395
|
+
hole_width: z73.number(),
|
|
1396
|
+
hole_height: z73.number(),
|
|
1389
1397
|
x: distance,
|
|
1390
1398
|
y: distance,
|
|
1391
|
-
is_covered_with_solder_mask:
|
|
1392
|
-
soldermask_margin:
|
|
1399
|
+
is_covered_with_solder_mask: z73.boolean().optional(),
|
|
1400
|
+
soldermask_margin: z73.number().optional()
|
|
1393
1401
|
});
|
|
1394
1402
|
var pcb_hole_pill_shape = pcb_hole_pill.describe(
|
|
1395
1403
|
"Defines a pill-shaped hole on the PCB"
|
|
1396
1404
|
);
|
|
1397
1405
|
expectTypesMatch(true);
|
|
1398
|
-
var pcb_hole_rotated_pill =
|
|
1399
|
-
type:
|
|
1406
|
+
var pcb_hole_rotated_pill = z73.object({
|
|
1407
|
+
type: z73.literal("pcb_hole"),
|
|
1400
1408
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1401
|
-
pcb_group_id:
|
|
1402
|
-
subcircuit_id:
|
|
1403
|
-
hole_shape:
|
|
1404
|
-
hole_width:
|
|
1405
|
-
hole_height:
|
|
1409
|
+
pcb_group_id: z73.string().optional(),
|
|
1410
|
+
subcircuit_id: z73.string().optional(),
|
|
1411
|
+
hole_shape: z73.literal("rotated_pill"),
|
|
1412
|
+
hole_width: z73.number(),
|
|
1413
|
+
hole_height: z73.number(),
|
|
1406
1414
|
x: distance,
|
|
1407
1415
|
y: distance,
|
|
1408
1416
|
ccw_rotation: rotation,
|
|
1409
|
-
is_covered_with_solder_mask:
|
|
1410
|
-
soldermask_margin:
|
|
1417
|
+
is_covered_with_solder_mask: z73.boolean().optional(),
|
|
1418
|
+
soldermask_margin: z73.number().optional()
|
|
1411
1419
|
});
|
|
1412
1420
|
var pcb_hole_rotated_pill_shape = pcb_hole_rotated_pill.describe(
|
|
1413
1421
|
"Defines a rotated pill-shaped hole on the PCB"
|
|
@@ -1416,144 +1424,144 @@ expectTypesMatch(true);
|
|
|
1416
1424
|
var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval).or(pcb_hole_pill).or(pcb_hole_rotated_pill).or(pcb_hole_circle).or(pcb_hole_rect);
|
|
1417
1425
|
|
|
1418
1426
|
// src/pcb/pcb_plated_hole.ts
|
|
1419
|
-
import { z as
|
|
1420
|
-
var pcb_plated_hole_circle =
|
|
1421
|
-
type:
|
|
1422
|
-
shape:
|
|
1423
|
-
pcb_group_id:
|
|
1424
|
-
subcircuit_id:
|
|
1425
|
-
outer_diameter:
|
|
1426
|
-
hole_diameter:
|
|
1427
|
+
import { z as z74 } from "zod";
|
|
1428
|
+
var pcb_plated_hole_circle = z74.object({
|
|
1429
|
+
type: z74.literal("pcb_plated_hole"),
|
|
1430
|
+
shape: z74.literal("circle"),
|
|
1431
|
+
pcb_group_id: z74.string().optional(),
|
|
1432
|
+
subcircuit_id: z74.string().optional(),
|
|
1433
|
+
outer_diameter: z74.number(),
|
|
1434
|
+
hole_diameter: z74.number(),
|
|
1427
1435
|
x: distance,
|
|
1428
1436
|
y: distance,
|
|
1429
|
-
layers:
|
|
1430
|
-
port_hints:
|
|
1431
|
-
pcb_component_id:
|
|
1432
|
-
pcb_port_id:
|
|
1437
|
+
layers: z74.array(layer_ref),
|
|
1438
|
+
port_hints: z74.array(z74.string()).optional(),
|
|
1439
|
+
pcb_component_id: z74.string().optional(),
|
|
1440
|
+
pcb_port_id: z74.string().optional(),
|
|
1433
1441
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1434
|
-
soldermask_margin:
|
|
1442
|
+
soldermask_margin: z74.number().optional()
|
|
1435
1443
|
});
|
|
1436
|
-
var pcb_plated_hole_oval =
|
|
1437
|
-
type:
|
|
1438
|
-
shape:
|
|
1439
|
-
pcb_group_id:
|
|
1440
|
-
subcircuit_id:
|
|
1441
|
-
outer_width:
|
|
1442
|
-
outer_height:
|
|
1443
|
-
hole_width:
|
|
1444
|
-
hole_height:
|
|
1445
|
-
is_covered_with_solder_mask:
|
|
1444
|
+
var pcb_plated_hole_oval = z74.object({
|
|
1445
|
+
type: z74.literal("pcb_plated_hole"),
|
|
1446
|
+
shape: z74.enum(["oval", "pill"]),
|
|
1447
|
+
pcb_group_id: z74.string().optional(),
|
|
1448
|
+
subcircuit_id: z74.string().optional(),
|
|
1449
|
+
outer_width: z74.number(),
|
|
1450
|
+
outer_height: z74.number(),
|
|
1451
|
+
hole_width: z74.number(),
|
|
1452
|
+
hole_height: z74.number(),
|
|
1453
|
+
is_covered_with_solder_mask: z74.boolean().optional(),
|
|
1446
1454
|
x: distance,
|
|
1447
1455
|
y: distance,
|
|
1448
1456
|
ccw_rotation: rotation,
|
|
1449
|
-
layers:
|
|
1450
|
-
port_hints:
|
|
1451
|
-
pcb_component_id:
|
|
1452
|
-
pcb_port_id:
|
|
1457
|
+
layers: z74.array(layer_ref),
|
|
1458
|
+
port_hints: z74.array(z74.string()).optional(),
|
|
1459
|
+
pcb_component_id: z74.string().optional(),
|
|
1460
|
+
pcb_port_id: z74.string().optional(),
|
|
1453
1461
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1454
|
-
soldermask_margin:
|
|
1462
|
+
soldermask_margin: z74.number().optional()
|
|
1455
1463
|
});
|
|
1456
|
-
var pcb_circular_hole_with_rect_pad =
|
|
1457
|
-
type:
|
|
1458
|
-
shape:
|
|
1459
|
-
pcb_group_id:
|
|
1460
|
-
subcircuit_id:
|
|
1461
|
-
hole_shape:
|
|
1462
|
-
pad_shape:
|
|
1463
|
-
hole_diameter:
|
|
1464
|
-
rect_pad_width:
|
|
1465
|
-
rect_pad_height:
|
|
1466
|
-
rect_border_radius:
|
|
1464
|
+
var pcb_circular_hole_with_rect_pad = z74.object({
|
|
1465
|
+
type: z74.literal("pcb_plated_hole"),
|
|
1466
|
+
shape: z74.literal("circular_hole_with_rect_pad"),
|
|
1467
|
+
pcb_group_id: z74.string().optional(),
|
|
1468
|
+
subcircuit_id: z74.string().optional(),
|
|
1469
|
+
hole_shape: z74.literal("circle"),
|
|
1470
|
+
pad_shape: z74.literal("rect"),
|
|
1471
|
+
hole_diameter: z74.number(),
|
|
1472
|
+
rect_pad_width: z74.number(),
|
|
1473
|
+
rect_pad_height: z74.number(),
|
|
1474
|
+
rect_border_radius: z74.number().optional(),
|
|
1467
1475
|
hole_offset_x: distance.default(0),
|
|
1468
1476
|
hole_offset_y: distance.default(0),
|
|
1469
|
-
is_covered_with_solder_mask:
|
|
1477
|
+
is_covered_with_solder_mask: z74.boolean().optional(),
|
|
1470
1478
|
x: distance,
|
|
1471
1479
|
y: distance,
|
|
1472
|
-
layers:
|
|
1473
|
-
port_hints:
|
|
1474
|
-
pcb_component_id:
|
|
1475
|
-
pcb_port_id:
|
|
1480
|
+
layers: z74.array(layer_ref),
|
|
1481
|
+
port_hints: z74.array(z74.string()).optional(),
|
|
1482
|
+
pcb_component_id: z74.string().optional(),
|
|
1483
|
+
pcb_port_id: z74.string().optional(),
|
|
1476
1484
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1477
|
-
soldermask_margin:
|
|
1485
|
+
soldermask_margin: z74.number().optional()
|
|
1478
1486
|
});
|
|
1479
|
-
var pcb_pill_hole_with_rect_pad =
|
|
1480
|
-
type:
|
|
1481
|
-
shape:
|
|
1482
|
-
pcb_group_id:
|
|
1483
|
-
subcircuit_id:
|
|
1484
|
-
hole_shape:
|
|
1485
|
-
pad_shape:
|
|
1486
|
-
hole_width:
|
|
1487
|
-
hole_height:
|
|
1488
|
-
rect_pad_width:
|
|
1489
|
-
rect_pad_height:
|
|
1490
|
-
rect_border_radius:
|
|
1487
|
+
var pcb_pill_hole_with_rect_pad = z74.object({
|
|
1488
|
+
type: z74.literal("pcb_plated_hole"),
|
|
1489
|
+
shape: z74.literal("pill_hole_with_rect_pad"),
|
|
1490
|
+
pcb_group_id: z74.string().optional(),
|
|
1491
|
+
subcircuit_id: z74.string().optional(),
|
|
1492
|
+
hole_shape: z74.literal("pill"),
|
|
1493
|
+
pad_shape: z74.literal("rect"),
|
|
1494
|
+
hole_width: z74.number(),
|
|
1495
|
+
hole_height: z74.number(),
|
|
1496
|
+
rect_pad_width: z74.number(),
|
|
1497
|
+
rect_pad_height: z74.number(),
|
|
1498
|
+
rect_border_radius: z74.number().optional(),
|
|
1491
1499
|
hole_offset_x: distance.default(0),
|
|
1492
1500
|
hole_offset_y: distance.default(0),
|
|
1493
|
-
is_covered_with_solder_mask:
|
|
1501
|
+
is_covered_with_solder_mask: z74.boolean().optional(),
|
|
1494
1502
|
x: distance,
|
|
1495
1503
|
y: distance,
|
|
1496
|
-
layers:
|
|
1497
|
-
port_hints:
|
|
1498
|
-
pcb_component_id:
|
|
1499
|
-
pcb_port_id:
|
|
1504
|
+
layers: z74.array(layer_ref),
|
|
1505
|
+
port_hints: z74.array(z74.string()).optional(),
|
|
1506
|
+
pcb_component_id: z74.string().optional(),
|
|
1507
|
+
pcb_port_id: z74.string().optional(),
|
|
1500
1508
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1501
|
-
soldermask_margin:
|
|
1509
|
+
soldermask_margin: z74.number().optional()
|
|
1502
1510
|
});
|
|
1503
|
-
var pcb_rotated_pill_hole_with_rect_pad =
|
|
1504
|
-
type:
|
|
1505
|
-
shape:
|
|
1506
|
-
pcb_group_id:
|
|
1507
|
-
subcircuit_id:
|
|
1508
|
-
hole_shape:
|
|
1509
|
-
pad_shape:
|
|
1510
|
-
hole_width:
|
|
1511
|
-
hole_height:
|
|
1511
|
+
var pcb_rotated_pill_hole_with_rect_pad = z74.object({
|
|
1512
|
+
type: z74.literal("pcb_plated_hole"),
|
|
1513
|
+
shape: z74.literal("rotated_pill_hole_with_rect_pad"),
|
|
1514
|
+
pcb_group_id: z74.string().optional(),
|
|
1515
|
+
subcircuit_id: z74.string().optional(),
|
|
1516
|
+
hole_shape: z74.literal("rotated_pill"),
|
|
1517
|
+
pad_shape: z74.literal("rect"),
|
|
1518
|
+
hole_width: z74.number(),
|
|
1519
|
+
hole_height: z74.number(),
|
|
1512
1520
|
hole_ccw_rotation: rotation,
|
|
1513
|
-
rect_pad_width:
|
|
1514
|
-
rect_pad_height:
|
|
1515
|
-
rect_border_radius:
|
|
1521
|
+
rect_pad_width: z74.number(),
|
|
1522
|
+
rect_pad_height: z74.number(),
|
|
1523
|
+
rect_border_radius: z74.number().optional(),
|
|
1516
1524
|
rect_ccw_rotation: rotation,
|
|
1517
1525
|
hole_offset_x: distance.default(0),
|
|
1518
1526
|
hole_offset_y: distance.default(0),
|
|
1519
|
-
is_covered_with_solder_mask:
|
|
1527
|
+
is_covered_with_solder_mask: z74.boolean().optional(),
|
|
1520
1528
|
x: distance,
|
|
1521
1529
|
y: distance,
|
|
1522
|
-
layers:
|
|
1523
|
-
port_hints:
|
|
1524
|
-
pcb_component_id:
|
|
1525
|
-
pcb_port_id:
|
|
1530
|
+
layers: z74.array(layer_ref),
|
|
1531
|
+
port_hints: z74.array(z74.string()).optional(),
|
|
1532
|
+
pcb_component_id: z74.string().optional(),
|
|
1533
|
+
pcb_port_id: z74.string().optional(),
|
|
1526
1534
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1527
|
-
soldermask_margin:
|
|
1535
|
+
soldermask_margin: z74.number().optional()
|
|
1528
1536
|
});
|
|
1529
|
-
var pcb_hole_with_polygon_pad =
|
|
1530
|
-
type:
|
|
1531
|
-
shape:
|
|
1532
|
-
pcb_group_id:
|
|
1533
|
-
subcircuit_id:
|
|
1534
|
-
hole_shape:
|
|
1535
|
-
hole_diameter:
|
|
1536
|
-
hole_width:
|
|
1537
|
-
hole_height:
|
|
1538
|
-
pad_outline:
|
|
1539
|
-
|
|
1537
|
+
var pcb_hole_with_polygon_pad = z74.object({
|
|
1538
|
+
type: z74.literal("pcb_plated_hole"),
|
|
1539
|
+
shape: z74.literal("hole_with_polygon_pad"),
|
|
1540
|
+
pcb_group_id: z74.string().optional(),
|
|
1541
|
+
subcircuit_id: z74.string().optional(),
|
|
1542
|
+
hole_shape: z74.enum(["circle", "oval", "pill", "rotated_pill"]),
|
|
1543
|
+
hole_diameter: z74.number().optional(),
|
|
1544
|
+
hole_width: z74.number().optional(),
|
|
1545
|
+
hole_height: z74.number().optional(),
|
|
1546
|
+
pad_outline: z74.array(
|
|
1547
|
+
z74.object({
|
|
1540
1548
|
x: distance,
|
|
1541
1549
|
y: distance
|
|
1542
1550
|
})
|
|
1543
1551
|
).min(3),
|
|
1544
1552
|
hole_offset_x: distance.default(0),
|
|
1545
1553
|
hole_offset_y: distance.default(0),
|
|
1546
|
-
is_covered_with_solder_mask:
|
|
1554
|
+
is_covered_with_solder_mask: z74.boolean().optional(),
|
|
1547
1555
|
x: distance,
|
|
1548
1556
|
y: distance,
|
|
1549
|
-
layers:
|
|
1550
|
-
port_hints:
|
|
1551
|
-
pcb_component_id:
|
|
1552
|
-
pcb_port_id:
|
|
1557
|
+
layers: z74.array(layer_ref),
|
|
1558
|
+
port_hints: z74.array(z74.string()).optional(),
|
|
1559
|
+
pcb_component_id: z74.string().optional(),
|
|
1560
|
+
pcb_port_id: z74.string().optional(),
|
|
1553
1561
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1554
|
-
soldermask_margin:
|
|
1562
|
+
soldermask_margin: z74.number().optional()
|
|
1555
1563
|
});
|
|
1556
|
-
var pcb_plated_hole =
|
|
1564
|
+
var pcb_plated_hole = z74.union([
|
|
1557
1565
|
pcb_plated_hole_circle,
|
|
1558
1566
|
pcb_plated_hole_oval,
|
|
1559
1567
|
pcb_circular_hole_with_rect_pad,
|
|
@@ -1571,130 +1579,130 @@ expectTypesMatch(true);
|
|
|
1571
1579
|
expectTypesMatch(true);
|
|
1572
1580
|
|
|
1573
1581
|
// src/pcb/pcb_port.ts
|
|
1574
|
-
import { z as
|
|
1575
|
-
var pcb_port =
|
|
1576
|
-
type:
|
|
1582
|
+
import { z as z75 } from "zod";
|
|
1583
|
+
var pcb_port = z75.object({
|
|
1584
|
+
type: z75.literal("pcb_port"),
|
|
1577
1585
|
pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
|
|
1578
|
-
pcb_group_id:
|
|
1579
|
-
subcircuit_id:
|
|
1580
|
-
source_port_id:
|
|
1581
|
-
pcb_component_id:
|
|
1586
|
+
pcb_group_id: z75.string().optional(),
|
|
1587
|
+
subcircuit_id: z75.string().optional(),
|
|
1588
|
+
source_port_id: z75.string(),
|
|
1589
|
+
pcb_component_id: z75.string().optional(),
|
|
1582
1590
|
x: distance,
|
|
1583
1591
|
y: distance,
|
|
1584
|
-
layers:
|
|
1585
|
-
is_board_pinout:
|
|
1592
|
+
layers: z75.array(layer_ref),
|
|
1593
|
+
is_board_pinout: z75.boolean().optional()
|
|
1586
1594
|
}).describe("Defines a port on the PCB");
|
|
1587
1595
|
expectTypesMatch(true);
|
|
1588
1596
|
|
|
1589
1597
|
// src/pcb/pcb_smtpad.ts
|
|
1590
|
-
import { z as
|
|
1591
|
-
var pcb_smtpad_circle =
|
|
1592
|
-
type:
|
|
1593
|
-
shape:
|
|
1598
|
+
import { z as z76 } from "zod";
|
|
1599
|
+
var pcb_smtpad_circle = z76.object({
|
|
1600
|
+
type: z76.literal("pcb_smtpad"),
|
|
1601
|
+
shape: z76.literal("circle"),
|
|
1594
1602
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1595
|
-
pcb_group_id:
|
|
1596
|
-
subcircuit_id:
|
|
1603
|
+
pcb_group_id: z76.string().optional(),
|
|
1604
|
+
subcircuit_id: z76.string().optional(),
|
|
1597
1605
|
x: distance,
|
|
1598
1606
|
y: distance,
|
|
1599
|
-
radius:
|
|
1607
|
+
radius: z76.number(),
|
|
1600
1608
|
layer: layer_ref,
|
|
1601
|
-
port_hints:
|
|
1602
|
-
pcb_component_id:
|
|
1603
|
-
pcb_port_id:
|
|
1604
|
-
is_covered_with_solder_mask:
|
|
1605
|
-
soldermask_margin:
|
|
1609
|
+
port_hints: z76.array(z76.string()).optional(),
|
|
1610
|
+
pcb_component_id: z76.string().optional(),
|
|
1611
|
+
pcb_port_id: z76.string().optional(),
|
|
1612
|
+
is_covered_with_solder_mask: z76.boolean().optional(),
|
|
1613
|
+
soldermask_margin: z76.number().optional()
|
|
1606
1614
|
});
|
|
1607
|
-
var pcb_smtpad_rect =
|
|
1608
|
-
type:
|
|
1609
|
-
shape:
|
|
1615
|
+
var pcb_smtpad_rect = z76.object({
|
|
1616
|
+
type: z76.literal("pcb_smtpad"),
|
|
1617
|
+
shape: z76.literal("rect"),
|
|
1610
1618
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1611
|
-
pcb_group_id:
|
|
1612
|
-
subcircuit_id:
|
|
1619
|
+
pcb_group_id: z76.string().optional(),
|
|
1620
|
+
subcircuit_id: z76.string().optional(),
|
|
1613
1621
|
x: distance,
|
|
1614
1622
|
y: distance,
|
|
1615
|
-
width:
|
|
1616
|
-
height:
|
|
1617
|
-
rect_border_radius:
|
|
1618
|
-
corner_radius:
|
|
1623
|
+
width: z76.number(),
|
|
1624
|
+
height: z76.number(),
|
|
1625
|
+
rect_border_radius: z76.number().optional(),
|
|
1626
|
+
corner_radius: z76.number().optional(),
|
|
1619
1627
|
layer: layer_ref,
|
|
1620
|
-
port_hints:
|
|
1621
|
-
pcb_component_id:
|
|
1622
|
-
pcb_port_id:
|
|
1623
|
-
is_covered_with_solder_mask:
|
|
1624
|
-
soldermask_margin:
|
|
1628
|
+
port_hints: z76.array(z76.string()).optional(),
|
|
1629
|
+
pcb_component_id: z76.string().optional(),
|
|
1630
|
+
pcb_port_id: z76.string().optional(),
|
|
1631
|
+
is_covered_with_solder_mask: z76.boolean().optional(),
|
|
1632
|
+
soldermask_margin: z76.number().optional()
|
|
1625
1633
|
});
|
|
1626
|
-
var pcb_smtpad_rotated_rect =
|
|
1627
|
-
type:
|
|
1628
|
-
shape:
|
|
1634
|
+
var pcb_smtpad_rotated_rect = z76.object({
|
|
1635
|
+
type: z76.literal("pcb_smtpad"),
|
|
1636
|
+
shape: z76.literal("rotated_rect"),
|
|
1629
1637
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1630
|
-
pcb_group_id:
|
|
1631
|
-
subcircuit_id:
|
|
1638
|
+
pcb_group_id: z76.string().optional(),
|
|
1639
|
+
subcircuit_id: z76.string().optional(),
|
|
1632
1640
|
x: distance,
|
|
1633
1641
|
y: distance,
|
|
1634
|
-
width:
|
|
1635
|
-
height:
|
|
1636
|
-
rect_border_radius:
|
|
1637
|
-
corner_radius:
|
|
1642
|
+
width: z76.number(),
|
|
1643
|
+
height: z76.number(),
|
|
1644
|
+
rect_border_radius: z76.number().optional(),
|
|
1645
|
+
corner_radius: z76.number().optional(),
|
|
1638
1646
|
ccw_rotation: rotation,
|
|
1639
1647
|
layer: layer_ref,
|
|
1640
|
-
port_hints:
|
|
1641
|
-
pcb_component_id:
|
|
1642
|
-
pcb_port_id:
|
|
1643
|
-
is_covered_with_solder_mask:
|
|
1644
|
-
soldermask_margin:
|
|
1648
|
+
port_hints: z76.array(z76.string()).optional(),
|
|
1649
|
+
pcb_component_id: z76.string().optional(),
|
|
1650
|
+
pcb_port_id: z76.string().optional(),
|
|
1651
|
+
is_covered_with_solder_mask: z76.boolean().optional(),
|
|
1652
|
+
soldermask_margin: z76.number().optional()
|
|
1645
1653
|
});
|
|
1646
|
-
var pcb_smtpad_pill =
|
|
1647
|
-
type:
|
|
1648
|
-
shape:
|
|
1654
|
+
var pcb_smtpad_pill = z76.object({
|
|
1655
|
+
type: z76.literal("pcb_smtpad"),
|
|
1656
|
+
shape: z76.literal("pill"),
|
|
1649
1657
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1650
|
-
pcb_group_id:
|
|
1651
|
-
subcircuit_id:
|
|
1658
|
+
pcb_group_id: z76.string().optional(),
|
|
1659
|
+
subcircuit_id: z76.string().optional(),
|
|
1652
1660
|
x: distance,
|
|
1653
1661
|
y: distance,
|
|
1654
|
-
width:
|
|
1655
|
-
height:
|
|
1656
|
-
radius:
|
|
1662
|
+
width: z76.number(),
|
|
1663
|
+
height: z76.number(),
|
|
1664
|
+
radius: z76.number(),
|
|
1657
1665
|
layer: layer_ref,
|
|
1658
|
-
port_hints:
|
|
1659
|
-
pcb_component_id:
|
|
1660
|
-
pcb_port_id:
|
|
1661
|
-
is_covered_with_solder_mask:
|
|
1662
|
-
soldermask_margin:
|
|
1666
|
+
port_hints: z76.array(z76.string()).optional(),
|
|
1667
|
+
pcb_component_id: z76.string().optional(),
|
|
1668
|
+
pcb_port_id: z76.string().optional(),
|
|
1669
|
+
is_covered_with_solder_mask: z76.boolean().optional(),
|
|
1670
|
+
soldermask_margin: z76.number().optional()
|
|
1663
1671
|
});
|
|
1664
|
-
var pcb_smtpad_rotated_pill =
|
|
1665
|
-
type:
|
|
1666
|
-
shape:
|
|
1672
|
+
var pcb_smtpad_rotated_pill = z76.object({
|
|
1673
|
+
type: z76.literal("pcb_smtpad"),
|
|
1674
|
+
shape: z76.literal("rotated_pill"),
|
|
1667
1675
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1668
|
-
pcb_group_id:
|
|
1669
|
-
subcircuit_id:
|
|
1676
|
+
pcb_group_id: z76.string().optional(),
|
|
1677
|
+
subcircuit_id: z76.string().optional(),
|
|
1670
1678
|
x: distance,
|
|
1671
1679
|
y: distance,
|
|
1672
|
-
width:
|
|
1673
|
-
height:
|
|
1674
|
-
radius:
|
|
1680
|
+
width: z76.number(),
|
|
1681
|
+
height: z76.number(),
|
|
1682
|
+
radius: z76.number(),
|
|
1675
1683
|
ccw_rotation: rotation,
|
|
1676
1684
|
layer: layer_ref,
|
|
1677
|
-
port_hints:
|
|
1678
|
-
pcb_component_id:
|
|
1679
|
-
pcb_port_id:
|
|
1680
|
-
is_covered_with_solder_mask:
|
|
1681
|
-
soldermask_margin:
|
|
1685
|
+
port_hints: z76.array(z76.string()).optional(),
|
|
1686
|
+
pcb_component_id: z76.string().optional(),
|
|
1687
|
+
pcb_port_id: z76.string().optional(),
|
|
1688
|
+
is_covered_with_solder_mask: z76.boolean().optional(),
|
|
1689
|
+
soldermask_margin: z76.number().optional()
|
|
1682
1690
|
});
|
|
1683
|
-
var pcb_smtpad_polygon =
|
|
1684
|
-
type:
|
|
1685
|
-
shape:
|
|
1691
|
+
var pcb_smtpad_polygon = z76.object({
|
|
1692
|
+
type: z76.literal("pcb_smtpad"),
|
|
1693
|
+
shape: z76.literal("polygon"),
|
|
1686
1694
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
1687
|
-
pcb_group_id:
|
|
1688
|
-
subcircuit_id:
|
|
1689
|
-
points:
|
|
1695
|
+
pcb_group_id: z76.string().optional(),
|
|
1696
|
+
subcircuit_id: z76.string().optional(),
|
|
1697
|
+
points: z76.array(point),
|
|
1690
1698
|
layer: layer_ref,
|
|
1691
|
-
port_hints:
|
|
1692
|
-
pcb_component_id:
|
|
1693
|
-
pcb_port_id:
|
|
1694
|
-
is_covered_with_solder_mask:
|
|
1695
|
-
soldermask_margin:
|
|
1699
|
+
port_hints: z76.array(z76.string()).optional(),
|
|
1700
|
+
pcb_component_id: z76.string().optional(),
|
|
1701
|
+
pcb_port_id: z76.string().optional(),
|
|
1702
|
+
is_covered_with_solder_mask: z76.boolean().optional(),
|
|
1703
|
+
soldermask_margin: z76.number().optional()
|
|
1696
1704
|
});
|
|
1697
|
-
var pcb_smtpad =
|
|
1705
|
+
var pcb_smtpad = z76.discriminatedUnion("shape", [
|
|
1698
1706
|
pcb_smtpad_circle,
|
|
1699
1707
|
pcb_smtpad_rect,
|
|
1700
1708
|
pcb_smtpad_rotated_rect,
|
|
@@ -1710,79 +1718,79 @@ expectTypesMatch(true);
|
|
|
1710
1718
|
expectTypesMatch(true);
|
|
1711
1719
|
|
|
1712
1720
|
// src/pcb/pcb_solder_paste.ts
|
|
1713
|
-
import { z as
|
|
1714
|
-
var pcb_solder_paste_circle =
|
|
1715
|
-
type:
|
|
1716
|
-
shape:
|
|
1721
|
+
import { z as z77 } from "zod";
|
|
1722
|
+
var pcb_solder_paste_circle = z77.object({
|
|
1723
|
+
type: z77.literal("pcb_solder_paste"),
|
|
1724
|
+
shape: z77.literal("circle"),
|
|
1717
1725
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1718
|
-
pcb_group_id:
|
|
1719
|
-
subcircuit_id:
|
|
1726
|
+
pcb_group_id: z77.string().optional(),
|
|
1727
|
+
subcircuit_id: z77.string().optional(),
|
|
1720
1728
|
x: distance,
|
|
1721
1729
|
y: distance,
|
|
1722
|
-
radius:
|
|
1730
|
+
radius: z77.number(),
|
|
1723
1731
|
layer: layer_ref,
|
|
1724
|
-
pcb_component_id:
|
|
1725
|
-
pcb_smtpad_id:
|
|
1732
|
+
pcb_component_id: z77.string().optional(),
|
|
1733
|
+
pcb_smtpad_id: z77.string().optional()
|
|
1726
1734
|
});
|
|
1727
|
-
var pcb_solder_paste_rect =
|
|
1728
|
-
type:
|
|
1729
|
-
shape:
|
|
1735
|
+
var pcb_solder_paste_rect = z77.object({
|
|
1736
|
+
type: z77.literal("pcb_solder_paste"),
|
|
1737
|
+
shape: z77.literal("rect"),
|
|
1730
1738
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1731
|
-
pcb_group_id:
|
|
1732
|
-
subcircuit_id:
|
|
1739
|
+
pcb_group_id: z77.string().optional(),
|
|
1740
|
+
subcircuit_id: z77.string().optional(),
|
|
1733
1741
|
x: distance,
|
|
1734
1742
|
y: distance,
|
|
1735
|
-
width:
|
|
1736
|
-
height:
|
|
1743
|
+
width: z77.number(),
|
|
1744
|
+
height: z77.number(),
|
|
1737
1745
|
layer: layer_ref,
|
|
1738
|
-
pcb_component_id:
|
|
1739
|
-
pcb_smtpad_id:
|
|
1746
|
+
pcb_component_id: z77.string().optional(),
|
|
1747
|
+
pcb_smtpad_id: z77.string().optional()
|
|
1740
1748
|
});
|
|
1741
|
-
var pcb_solder_paste_pill =
|
|
1742
|
-
type:
|
|
1743
|
-
shape:
|
|
1749
|
+
var pcb_solder_paste_pill = z77.object({
|
|
1750
|
+
type: z77.literal("pcb_solder_paste"),
|
|
1751
|
+
shape: z77.literal("pill"),
|
|
1744
1752
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1745
|
-
pcb_group_id:
|
|
1746
|
-
subcircuit_id:
|
|
1753
|
+
pcb_group_id: z77.string().optional(),
|
|
1754
|
+
subcircuit_id: z77.string().optional(),
|
|
1747
1755
|
x: distance,
|
|
1748
1756
|
y: distance,
|
|
1749
|
-
width:
|
|
1750
|
-
height:
|
|
1751
|
-
radius:
|
|
1757
|
+
width: z77.number(),
|
|
1758
|
+
height: z77.number(),
|
|
1759
|
+
radius: z77.number(),
|
|
1752
1760
|
layer: layer_ref,
|
|
1753
|
-
pcb_component_id:
|
|
1754
|
-
pcb_smtpad_id:
|
|
1761
|
+
pcb_component_id: z77.string().optional(),
|
|
1762
|
+
pcb_smtpad_id: z77.string().optional()
|
|
1755
1763
|
});
|
|
1756
|
-
var pcb_solder_paste_rotated_rect =
|
|
1757
|
-
type:
|
|
1758
|
-
shape:
|
|
1764
|
+
var pcb_solder_paste_rotated_rect = z77.object({
|
|
1765
|
+
type: z77.literal("pcb_solder_paste"),
|
|
1766
|
+
shape: z77.literal("rotated_rect"),
|
|
1759
1767
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1760
|
-
pcb_group_id:
|
|
1761
|
-
subcircuit_id:
|
|
1768
|
+
pcb_group_id: z77.string().optional(),
|
|
1769
|
+
subcircuit_id: z77.string().optional(),
|
|
1762
1770
|
x: distance,
|
|
1763
1771
|
y: distance,
|
|
1764
|
-
width:
|
|
1765
|
-
height:
|
|
1772
|
+
width: z77.number(),
|
|
1773
|
+
height: z77.number(),
|
|
1766
1774
|
ccw_rotation: distance,
|
|
1767
1775
|
layer: layer_ref,
|
|
1768
|
-
pcb_component_id:
|
|
1769
|
-
pcb_smtpad_id:
|
|
1776
|
+
pcb_component_id: z77.string().optional(),
|
|
1777
|
+
pcb_smtpad_id: z77.string().optional()
|
|
1770
1778
|
});
|
|
1771
|
-
var pcb_solder_paste_oval =
|
|
1772
|
-
type:
|
|
1773
|
-
shape:
|
|
1779
|
+
var pcb_solder_paste_oval = z77.object({
|
|
1780
|
+
type: z77.literal("pcb_solder_paste"),
|
|
1781
|
+
shape: z77.literal("oval"),
|
|
1774
1782
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
1775
|
-
pcb_group_id:
|
|
1776
|
-
subcircuit_id:
|
|
1783
|
+
pcb_group_id: z77.string().optional(),
|
|
1784
|
+
subcircuit_id: z77.string().optional(),
|
|
1777
1785
|
x: distance,
|
|
1778
1786
|
y: distance,
|
|
1779
|
-
width:
|
|
1780
|
-
height:
|
|
1787
|
+
width: z77.number(),
|
|
1788
|
+
height: z77.number(),
|
|
1781
1789
|
layer: layer_ref,
|
|
1782
|
-
pcb_component_id:
|
|
1783
|
-
pcb_smtpad_id:
|
|
1790
|
+
pcb_component_id: z77.string().optional(),
|
|
1791
|
+
pcb_smtpad_id: z77.string().optional()
|
|
1784
1792
|
});
|
|
1785
|
-
var pcb_solder_paste =
|
|
1793
|
+
var pcb_solder_paste = z77.union([
|
|
1786
1794
|
pcb_solder_paste_circle,
|
|
1787
1795
|
pcb_solder_paste_rect,
|
|
1788
1796
|
pcb_solder_paste_pill,
|
|
@@ -1798,146 +1806,146 @@ expectTypesMatch(
|
|
|
1798
1806
|
expectTypesMatch(true);
|
|
1799
1807
|
|
|
1800
1808
|
// src/pcb/pcb_text.ts
|
|
1801
|
-
import { z as
|
|
1802
|
-
var pcb_text =
|
|
1803
|
-
type:
|
|
1809
|
+
import { z as z78 } from "zod";
|
|
1810
|
+
var pcb_text = z78.object({
|
|
1811
|
+
type: z78.literal("pcb_text"),
|
|
1804
1812
|
pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
|
|
1805
|
-
pcb_group_id:
|
|
1806
|
-
subcircuit_id:
|
|
1807
|
-
text:
|
|
1813
|
+
pcb_group_id: z78.string().optional(),
|
|
1814
|
+
subcircuit_id: z78.string().optional(),
|
|
1815
|
+
text: z78.string(),
|
|
1808
1816
|
center: point,
|
|
1809
1817
|
layer: layer_ref,
|
|
1810
1818
|
width: length,
|
|
1811
1819
|
height: length,
|
|
1812
|
-
lines:
|
|
1820
|
+
lines: z78.number(),
|
|
1813
1821
|
// @ts-ignore
|
|
1814
|
-
align:
|
|
1822
|
+
align: z78.enum(["bottom-left"])
|
|
1815
1823
|
}).describe("Defines text on the PCB");
|
|
1816
1824
|
expectTypesMatch(true);
|
|
1817
1825
|
|
|
1818
1826
|
// src/pcb/pcb_trace.ts
|
|
1819
|
-
import { z as
|
|
1820
|
-
var pcb_trace_route_point_wire =
|
|
1821
|
-
route_type:
|
|
1827
|
+
import { z as z79 } from "zod";
|
|
1828
|
+
var pcb_trace_route_point_wire = z79.object({
|
|
1829
|
+
route_type: z79.literal("wire"),
|
|
1822
1830
|
x: distance,
|
|
1823
1831
|
y: distance,
|
|
1824
1832
|
width: distance,
|
|
1825
|
-
start_pcb_port_id:
|
|
1826
|
-
end_pcb_port_id:
|
|
1833
|
+
start_pcb_port_id: z79.string().optional(),
|
|
1834
|
+
end_pcb_port_id: z79.string().optional(),
|
|
1827
1835
|
layer: layer_ref
|
|
1828
1836
|
});
|
|
1829
|
-
var pcb_trace_route_point_via =
|
|
1830
|
-
route_type:
|
|
1837
|
+
var pcb_trace_route_point_via = z79.object({
|
|
1838
|
+
route_type: z79.literal("via"),
|
|
1831
1839
|
x: distance,
|
|
1832
1840
|
y: distance,
|
|
1833
1841
|
hole_diameter: distance.optional(),
|
|
1834
1842
|
outer_diameter: distance.optional(),
|
|
1835
|
-
from_layer:
|
|
1836
|
-
to_layer:
|
|
1843
|
+
from_layer: z79.string(),
|
|
1844
|
+
to_layer: z79.string()
|
|
1837
1845
|
});
|
|
1838
|
-
var pcb_trace_route_point =
|
|
1846
|
+
var pcb_trace_route_point = z79.union([
|
|
1839
1847
|
pcb_trace_route_point_wire,
|
|
1840
1848
|
pcb_trace_route_point_via
|
|
1841
1849
|
]);
|
|
1842
|
-
var pcb_trace =
|
|
1843
|
-
type:
|
|
1844
|
-
source_trace_id:
|
|
1845
|
-
pcb_component_id:
|
|
1850
|
+
var pcb_trace = z79.object({
|
|
1851
|
+
type: z79.literal("pcb_trace"),
|
|
1852
|
+
source_trace_id: z79.string().optional(),
|
|
1853
|
+
pcb_component_id: z79.string().optional(),
|
|
1846
1854
|
pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
|
|
1847
|
-
pcb_group_id:
|
|
1848
|
-
subcircuit_id:
|
|
1849
|
-
route_thickness_mode:
|
|
1850
|
-
route_order_index:
|
|
1851
|
-
should_round_corners:
|
|
1852
|
-
trace_length:
|
|
1853
|
-
highlight_color:
|
|
1854
|
-
route:
|
|
1855
|
+
pcb_group_id: z79.string().optional(),
|
|
1856
|
+
subcircuit_id: z79.string().optional(),
|
|
1857
|
+
route_thickness_mode: z79.enum(["constant", "interpolated"]).default("constant").optional(),
|
|
1858
|
+
route_order_index: z79.number().optional(),
|
|
1859
|
+
should_round_corners: z79.boolean().optional(),
|
|
1860
|
+
trace_length: z79.number().optional(),
|
|
1861
|
+
highlight_color: z79.string().optional(),
|
|
1862
|
+
route: z79.array(pcb_trace_route_point)
|
|
1855
1863
|
}).describe("Defines a trace on the PCB");
|
|
1856
1864
|
expectTypesMatch(true);
|
|
1857
1865
|
expectTypesMatch(true);
|
|
1858
1866
|
|
|
1859
1867
|
// src/pcb/pcb_trace_error.ts
|
|
1860
|
-
import { z as
|
|
1861
|
-
var pcb_trace_error =
|
|
1862
|
-
type:
|
|
1868
|
+
import { z as z80 } from "zod";
|
|
1869
|
+
var pcb_trace_error = z80.object({
|
|
1870
|
+
type: z80.literal("pcb_trace_error"),
|
|
1863
1871
|
pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
|
|
1864
|
-
error_type:
|
|
1865
|
-
message:
|
|
1872
|
+
error_type: z80.literal("pcb_trace_error").default("pcb_trace_error"),
|
|
1873
|
+
message: z80.string(),
|
|
1866
1874
|
center: point.optional(),
|
|
1867
|
-
pcb_trace_id:
|
|
1868
|
-
source_trace_id:
|
|
1869
|
-
pcb_component_ids:
|
|
1870
|
-
pcb_port_ids:
|
|
1871
|
-
subcircuit_id:
|
|
1875
|
+
pcb_trace_id: z80.string(),
|
|
1876
|
+
source_trace_id: z80.string(),
|
|
1877
|
+
pcb_component_ids: z80.array(z80.string()),
|
|
1878
|
+
pcb_port_ids: z80.array(z80.string()),
|
|
1879
|
+
subcircuit_id: z80.string().optional()
|
|
1872
1880
|
}).describe("Defines a trace error on the PCB");
|
|
1873
1881
|
expectTypesMatch(true);
|
|
1874
1882
|
|
|
1875
1883
|
// src/pcb/pcb_trace_missing_error.ts
|
|
1876
|
-
import { z as
|
|
1877
|
-
var pcb_trace_missing_error =
|
|
1878
|
-
type:
|
|
1884
|
+
import { z as z81 } from "zod";
|
|
1885
|
+
var pcb_trace_missing_error = z81.object({
|
|
1886
|
+
type: z81.literal("pcb_trace_missing_error"),
|
|
1879
1887
|
pcb_trace_missing_error_id: getZodPrefixedIdWithDefault(
|
|
1880
1888
|
"pcb_trace_missing_error"
|
|
1881
1889
|
),
|
|
1882
|
-
error_type:
|
|
1883
|
-
message:
|
|
1890
|
+
error_type: z81.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
|
|
1891
|
+
message: z81.string(),
|
|
1884
1892
|
center: point.optional(),
|
|
1885
|
-
source_trace_id:
|
|
1886
|
-
pcb_component_ids:
|
|
1887
|
-
pcb_port_ids:
|
|
1888
|
-
subcircuit_id:
|
|
1893
|
+
source_trace_id: z81.string(),
|
|
1894
|
+
pcb_component_ids: z81.array(z81.string()),
|
|
1895
|
+
pcb_port_ids: z81.array(z81.string()),
|
|
1896
|
+
subcircuit_id: z81.string().optional()
|
|
1889
1897
|
}).describe(
|
|
1890
1898
|
"Defines an error when a source trace has no corresponding PCB trace"
|
|
1891
1899
|
);
|
|
1892
1900
|
expectTypesMatch(true);
|
|
1893
1901
|
|
|
1894
1902
|
// src/pcb/pcb_port_not_matched_error.ts
|
|
1895
|
-
import { z as
|
|
1896
|
-
var pcb_port_not_matched_error =
|
|
1897
|
-
type:
|
|
1903
|
+
import { z as z82 } from "zod";
|
|
1904
|
+
var pcb_port_not_matched_error = z82.object({
|
|
1905
|
+
type: z82.literal("pcb_port_not_matched_error"),
|
|
1898
1906
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
1899
|
-
error_type:
|
|
1900
|
-
message:
|
|
1901
|
-
pcb_component_ids:
|
|
1902
|
-
subcircuit_id:
|
|
1907
|
+
error_type: z82.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
|
|
1908
|
+
message: z82.string(),
|
|
1909
|
+
pcb_component_ids: z82.array(z82.string()),
|
|
1910
|
+
subcircuit_id: z82.string().optional()
|
|
1903
1911
|
}).describe("Defines a trace error on the PCB where a port is not matched");
|
|
1904
1912
|
expectTypesMatch(true);
|
|
1905
1913
|
|
|
1906
1914
|
// src/pcb/pcb_port_not_connected_error.ts
|
|
1907
|
-
import { z as
|
|
1908
|
-
var pcb_port_not_connected_error =
|
|
1909
|
-
type:
|
|
1915
|
+
import { z as z83 } from "zod";
|
|
1916
|
+
var pcb_port_not_connected_error = z83.object({
|
|
1917
|
+
type: z83.literal("pcb_port_not_connected_error"),
|
|
1910
1918
|
pcb_port_not_connected_error_id: getZodPrefixedIdWithDefault(
|
|
1911
1919
|
"pcb_port_not_connected_error"
|
|
1912
1920
|
),
|
|
1913
|
-
error_type:
|
|
1914
|
-
message:
|
|
1915
|
-
pcb_port_ids:
|
|
1916
|
-
pcb_component_ids:
|
|
1917
|
-
subcircuit_id:
|
|
1921
|
+
error_type: z83.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
|
|
1922
|
+
message: z83.string(),
|
|
1923
|
+
pcb_port_ids: z83.array(z83.string()),
|
|
1924
|
+
pcb_component_ids: z83.array(z83.string()),
|
|
1925
|
+
subcircuit_id: z83.string().optional()
|
|
1918
1926
|
}).describe("Defines an error when a pcb port is not connected to any trace");
|
|
1919
1927
|
expectTypesMatch(
|
|
1920
1928
|
true
|
|
1921
1929
|
);
|
|
1922
1930
|
|
|
1923
1931
|
// src/pcb/pcb_net.ts
|
|
1924
|
-
import { z as
|
|
1925
|
-
var pcb_net =
|
|
1926
|
-
type:
|
|
1932
|
+
import { z as z84 } from "zod";
|
|
1933
|
+
var pcb_net = z84.object({
|
|
1934
|
+
type: z84.literal("pcb_net"),
|
|
1927
1935
|
pcb_net_id: getZodPrefixedIdWithDefault("pcb_net"),
|
|
1928
|
-
source_net_id:
|
|
1929
|
-
highlight_color:
|
|
1936
|
+
source_net_id: z84.string().optional(),
|
|
1937
|
+
highlight_color: z84.string().optional()
|
|
1930
1938
|
}).describe("Defines a net on the PCB");
|
|
1931
1939
|
expectTypesMatch(true);
|
|
1932
1940
|
|
|
1933
1941
|
// src/pcb/pcb_via.ts
|
|
1934
|
-
import { z as
|
|
1935
|
-
var pcb_via =
|
|
1936
|
-
type:
|
|
1942
|
+
import { z as z85 } from "zod";
|
|
1943
|
+
var pcb_via = z85.object({
|
|
1944
|
+
type: z85.literal("pcb_via"),
|
|
1937
1945
|
pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
|
|
1938
|
-
pcb_group_id:
|
|
1939
|
-
subcircuit_id:
|
|
1940
|
-
subcircuit_connectivity_map_key:
|
|
1946
|
+
pcb_group_id: z85.string().optional(),
|
|
1947
|
+
subcircuit_id: z85.string().optional(),
|
|
1948
|
+
subcircuit_connectivity_map_key: z85.string().optional(),
|
|
1941
1949
|
x: distance,
|
|
1942
1950
|
y: distance,
|
|
1943
1951
|
outer_diameter: distance.default("0.6mm"),
|
|
@@ -1946,76 +1954,76 @@ var pcb_via = z84.object({
|
|
|
1946
1954
|
from_layer: layer_ref.optional(),
|
|
1947
1955
|
/** @deprecated */
|
|
1948
1956
|
to_layer: layer_ref.optional(),
|
|
1949
|
-
layers:
|
|
1950
|
-
pcb_trace_id:
|
|
1951
|
-
net_is_assignable:
|
|
1952
|
-
net_assigned:
|
|
1953
|
-
is_tented:
|
|
1957
|
+
layers: z85.array(layer_ref),
|
|
1958
|
+
pcb_trace_id: z85.string().optional(),
|
|
1959
|
+
net_is_assignable: z85.boolean().optional(),
|
|
1960
|
+
net_assigned: z85.boolean().optional(),
|
|
1961
|
+
is_tented: z85.boolean().optional()
|
|
1954
1962
|
}).describe("Defines a via on the PCB");
|
|
1955
1963
|
expectTypesMatch(true);
|
|
1956
1964
|
|
|
1957
1965
|
// src/pcb/pcb_board.ts
|
|
1958
|
-
import { z as
|
|
1959
|
-
var pcb_board =
|
|
1960
|
-
type:
|
|
1966
|
+
import { z as z86 } from "zod";
|
|
1967
|
+
var pcb_board = z86.object({
|
|
1968
|
+
type: z86.literal("pcb_board"),
|
|
1961
1969
|
pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
|
|
1962
|
-
pcb_panel_id:
|
|
1963
|
-
is_subcircuit:
|
|
1964
|
-
subcircuit_id:
|
|
1970
|
+
pcb_panel_id: z86.string().optional(),
|
|
1971
|
+
is_subcircuit: z86.boolean().optional(),
|
|
1972
|
+
subcircuit_id: z86.string().optional(),
|
|
1965
1973
|
width: length.optional(),
|
|
1966
1974
|
height: length.optional(),
|
|
1967
1975
|
center: point,
|
|
1968
1976
|
thickness: length.optional().default(1.4),
|
|
1969
|
-
num_layers:
|
|
1970
|
-
outline:
|
|
1971
|
-
shape:
|
|
1972
|
-
material:
|
|
1977
|
+
num_layers: z86.number().optional().default(4),
|
|
1978
|
+
outline: z86.array(point).optional(),
|
|
1979
|
+
shape: z86.enum(["rect", "polygon"]).optional(),
|
|
1980
|
+
material: z86.enum(["fr4", "fr1"]).default("fr4")
|
|
1973
1981
|
}).describe("Defines the board outline of the PCB");
|
|
1974
1982
|
expectTypesMatch(true);
|
|
1975
1983
|
|
|
1976
1984
|
// src/pcb/pcb_panel.ts
|
|
1977
|
-
import { z as
|
|
1978
|
-
var pcb_panel =
|
|
1979
|
-
type:
|
|
1985
|
+
import { z as z87 } from "zod";
|
|
1986
|
+
var pcb_panel = z87.object({
|
|
1987
|
+
type: z87.literal("pcb_panel"),
|
|
1980
1988
|
pcb_panel_id: getZodPrefixedIdWithDefault("pcb_panel"),
|
|
1981
1989
|
width: length,
|
|
1982
1990
|
height: length,
|
|
1983
1991
|
center: point,
|
|
1984
|
-
covered_with_solder_mask:
|
|
1992
|
+
covered_with_solder_mask: z87.boolean().optional().default(true)
|
|
1985
1993
|
}).describe("Defines a PCB panel that can contain multiple boards");
|
|
1986
1994
|
expectTypesMatch(true);
|
|
1987
1995
|
|
|
1988
1996
|
// src/pcb/pcb_placement_error.ts
|
|
1989
|
-
import { z as
|
|
1990
|
-
var pcb_placement_error =
|
|
1991
|
-
type:
|
|
1997
|
+
import { z as z88 } from "zod";
|
|
1998
|
+
var pcb_placement_error = z88.object({
|
|
1999
|
+
type: z88.literal("pcb_placement_error"),
|
|
1992
2000
|
pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
|
|
1993
|
-
error_type:
|
|
1994
|
-
message:
|
|
1995
|
-
subcircuit_id:
|
|
2001
|
+
error_type: z88.literal("pcb_placement_error").default("pcb_placement_error"),
|
|
2002
|
+
message: z88.string(),
|
|
2003
|
+
subcircuit_id: z88.string().optional()
|
|
1996
2004
|
}).describe("Defines a placement error on the PCB");
|
|
1997
2005
|
expectTypesMatch(true);
|
|
1998
2006
|
|
|
1999
2007
|
// src/pcb/pcb_trace_hint.ts
|
|
2000
|
-
import { z as
|
|
2001
|
-
var pcb_trace_hint =
|
|
2002
|
-
type:
|
|
2008
|
+
import { z as z89 } from "zod";
|
|
2009
|
+
var pcb_trace_hint = z89.object({
|
|
2010
|
+
type: z89.literal("pcb_trace_hint"),
|
|
2003
2011
|
pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
|
|
2004
|
-
pcb_port_id:
|
|
2005
|
-
pcb_component_id:
|
|
2006
|
-
route:
|
|
2007
|
-
subcircuit_id:
|
|
2012
|
+
pcb_port_id: z89.string(),
|
|
2013
|
+
pcb_component_id: z89.string(),
|
|
2014
|
+
route: z89.array(route_hint_point),
|
|
2015
|
+
subcircuit_id: z89.string().optional()
|
|
2008
2016
|
}).describe("A hint that can be used during generation of a PCB trace");
|
|
2009
2017
|
expectTypesMatch(true);
|
|
2010
2018
|
|
|
2011
2019
|
// src/pcb/pcb_silkscreen_line.ts
|
|
2012
|
-
import { z as
|
|
2013
|
-
var pcb_silkscreen_line =
|
|
2014
|
-
type:
|
|
2020
|
+
import { z as z90 } from "zod";
|
|
2021
|
+
var pcb_silkscreen_line = z90.object({
|
|
2022
|
+
type: z90.literal("pcb_silkscreen_line"),
|
|
2015
2023
|
pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
|
|
2016
|
-
pcb_component_id:
|
|
2017
|
-
pcb_group_id:
|
|
2018
|
-
subcircuit_id:
|
|
2024
|
+
pcb_component_id: z90.string(),
|
|
2025
|
+
pcb_group_id: z90.string().optional(),
|
|
2026
|
+
subcircuit_id: z90.string().optional(),
|
|
2019
2027
|
stroke_width: distance.default("0.1mm"),
|
|
2020
2028
|
x1: distance,
|
|
2021
2029
|
y1: distance,
|
|
@@ -2026,32 +2034,32 @@ var pcb_silkscreen_line = z89.object({
|
|
|
2026
2034
|
expectTypesMatch(true);
|
|
2027
2035
|
|
|
2028
2036
|
// src/pcb/pcb_silkscreen_path.ts
|
|
2029
|
-
import { z as
|
|
2030
|
-
var pcb_silkscreen_path =
|
|
2031
|
-
type:
|
|
2037
|
+
import { z as z91 } from "zod";
|
|
2038
|
+
var pcb_silkscreen_path = z91.object({
|
|
2039
|
+
type: z91.literal("pcb_silkscreen_path"),
|
|
2032
2040
|
pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
|
|
2033
|
-
pcb_component_id:
|
|
2034
|
-
pcb_group_id:
|
|
2035
|
-
subcircuit_id:
|
|
2041
|
+
pcb_component_id: z91.string(),
|
|
2042
|
+
pcb_group_id: z91.string().optional(),
|
|
2043
|
+
subcircuit_id: z91.string().optional(),
|
|
2036
2044
|
layer: visible_layer,
|
|
2037
|
-
route:
|
|
2045
|
+
route: z91.array(point),
|
|
2038
2046
|
stroke_width: length
|
|
2039
2047
|
}).describe("Defines a silkscreen path on the PCB");
|
|
2040
2048
|
expectTypesMatch(true);
|
|
2041
2049
|
|
|
2042
2050
|
// src/pcb/pcb_silkscreen_text.ts
|
|
2043
|
-
import { z as
|
|
2044
|
-
var pcb_silkscreen_text =
|
|
2045
|
-
type:
|
|
2051
|
+
import { z as z92 } from "zod";
|
|
2052
|
+
var pcb_silkscreen_text = z92.object({
|
|
2053
|
+
type: z92.literal("pcb_silkscreen_text"),
|
|
2046
2054
|
pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
|
|
2047
|
-
pcb_group_id:
|
|
2048
|
-
subcircuit_id:
|
|
2049
|
-
font:
|
|
2055
|
+
pcb_group_id: z92.string().optional(),
|
|
2056
|
+
subcircuit_id: z92.string().optional(),
|
|
2057
|
+
font: z92.literal("tscircuit2024").default("tscircuit2024"),
|
|
2050
2058
|
font_size: distance.default("0.2mm"),
|
|
2051
|
-
pcb_component_id:
|
|
2052
|
-
text:
|
|
2053
|
-
is_knockout:
|
|
2054
|
-
knockout_padding:
|
|
2059
|
+
pcb_component_id: z92.string(),
|
|
2060
|
+
text: z92.string(),
|
|
2061
|
+
is_knockout: z92.boolean().default(false).optional(),
|
|
2062
|
+
knockout_padding: z92.object({
|
|
2055
2063
|
left: length,
|
|
2056
2064
|
top: length,
|
|
2057
2065
|
bottom: length,
|
|
@@ -2062,27 +2070,27 @@ var pcb_silkscreen_text = z91.object({
|
|
|
2062
2070
|
bottom: "0.2mm",
|
|
2063
2071
|
right: "0.2mm"
|
|
2064
2072
|
}).optional(),
|
|
2065
|
-
ccw_rotation:
|
|
2073
|
+
ccw_rotation: z92.number().optional(),
|
|
2066
2074
|
layer: layer_ref,
|
|
2067
|
-
is_mirrored:
|
|
2075
|
+
is_mirrored: z92.boolean().default(false).optional(),
|
|
2068
2076
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2069
2077
|
anchor_alignment: ninePointAnchor.default("center")
|
|
2070
2078
|
}).describe("Defines silkscreen text on the PCB");
|
|
2071
2079
|
expectTypesMatch(true);
|
|
2072
2080
|
|
|
2073
2081
|
// src/pcb/pcb_copper_text.ts
|
|
2074
|
-
import { z as
|
|
2075
|
-
var pcb_copper_text =
|
|
2076
|
-
type:
|
|
2082
|
+
import { z as z93 } from "zod";
|
|
2083
|
+
var pcb_copper_text = z93.object({
|
|
2084
|
+
type: z93.literal("pcb_copper_text"),
|
|
2077
2085
|
pcb_copper_text_id: getZodPrefixedIdWithDefault("pcb_copper_text"),
|
|
2078
|
-
pcb_group_id:
|
|
2079
|
-
subcircuit_id:
|
|
2080
|
-
font:
|
|
2086
|
+
pcb_group_id: z93.string().optional(),
|
|
2087
|
+
subcircuit_id: z93.string().optional(),
|
|
2088
|
+
font: z93.literal("tscircuit2024").default("tscircuit2024"),
|
|
2081
2089
|
font_size: distance.default("0.2mm"),
|
|
2082
|
-
pcb_component_id:
|
|
2083
|
-
text:
|
|
2084
|
-
is_knockout:
|
|
2085
|
-
knockout_padding:
|
|
2090
|
+
pcb_component_id: z93.string(),
|
|
2091
|
+
text: z93.string(),
|
|
2092
|
+
is_knockout: z93.boolean().default(false).optional(),
|
|
2093
|
+
knockout_padding: z93.object({
|
|
2086
2094
|
left: length,
|
|
2087
2095
|
top: length,
|
|
2088
2096
|
bottom: length,
|
|
@@ -2093,44 +2101,44 @@ var pcb_copper_text = z92.object({
|
|
|
2093
2101
|
bottom: "0.2mm",
|
|
2094
2102
|
right: "0.2mm"
|
|
2095
2103
|
}).optional(),
|
|
2096
|
-
ccw_rotation:
|
|
2104
|
+
ccw_rotation: z93.number().optional(),
|
|
2097
2105
|
layer: layer_ref,
|
|
2098
|
-
is_mirrored:
|
|
2106
|
+
is_mirrored: z93.boolean().default(false).optional(),
|
|
2099
2107
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2100
2108
|
anchor_alignment: ninePointAnchor.default("center")
|
|
2101
2109
|
}).describe("Defines copper text on the PCB");
|
|
2102
2110
|
expectTypesMatch(true);
|
|
2103
2111
|
|
|
2104
2112
|
// src/pcb/pcb_silkscreen_rect.ts
|
|
2105
|
-
import { z as
|
|
2106
|
-
var pcb_silkscreen_rect =
|
|
2107
|
-
type:
|
|
2113
|
+
import { z as z94 } from "zod";
|
|
2114
|
+
var pcb_silkscreen_rect = z94.object({
|
|
2115
|
+
type: z94.literal("pcb_silkscreen_rect"),
|
|
2108
2116
|
pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
|
|
2109
|
-
pcb_component_id:
|
|
2110
|
-
pcb_group_id:
|
|
2111
|
-
subcircuit_id:
|
|
2117
|
+
pcb_component_id: z94.string(),
|
|
2118
|
+
pcb_group_id: z94.string().optional(),
|
|
2119
|
+
subcircuit_id: z94.string().optional(),
|
|
2112
2120
|
center: point,
|
|
2113
2121
|
width: length,
|
|
2114
2122
|
height: length,
|
|
2115
2123
|
layer: layer_ref,
|
|
2116
2124
|
stroke_width: length.default("1mm"),
|
|
2117
2125
|
corner_radius: length.optional(),
|
|
2118
|
-
is_filled:
|
|
2119
|
-
has_stroke:
|
|
2120
|
-
is_stroke_dashed:
|
|
2126
|
+
is_filled: z94.boolean().default(true).optional(),
|
|
2127
|
+
has_stroke: z94.boolean().optional(),
|
|
2128
|
+
is_stroke_dashed: z94.boolean().optional()
|
|
2121
2129
|
}).describe("Defines a silkscreen rect on the PCB");
|
|
2122
2130
|
expectTypesMatch(true);
|
|
2123
2131
|
|
|
2124
2132
|
// src/pcb/pcb_silkscreen_circle.ts
|
|
2125
|
-
import { z as
|
|
2126
|
-
var pcb_silkscreen_circle =
|
|
2127
|
-
type:
|
|
2133
|
+
import { z as z95 } from "zod";
|
|
2134
|
+
var pcb_silkscreen_circle = z95.object({
|
|
2135
|
+
type: z95.literal("pcb_silkscreen_circle"),
|
|
2128
2136
|
pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
|
|
2129
2137
|
"pcb_silkscreen_circle"
|
|
2130
2138
|
),
|
|
2131
|
-
pcb_component_id:
|
|
2132
|
-
pcb_group_id:
|
|
2133
|
-
subcircuit_id:
|
|
2139
|
+
pcb_component_id: z95.string(),
|
|
2140
|
+
pcb_group_id: z95.string().optional(),
|
|
2141
|
+
subcircuit_id: z95.string().optional(),
|
|
2134
2142
|
center: point,
|
|
2135
2143
|
radius: length,
|
|
2136
2144
|
layer: visible_layer,
|
|
@@ -2139,13 +2147,13 @@ var pcb_silkscreen_circle = z94.object({
|
|
|
2139
2147
|
expectTypesMatch(true);
|
|
2140
2148
|
|
|
2141
2149
|
// src/pcb/pcb_silkscreen_oval.ts
|
|
2142
|
-
import { z as
|
|
2143
|
-
var pcb_silkscreen_oval =
|
|
2144
|
-
type:
|
|
2150
|
+
import { z as z96 } from "zod";
|
|
2151
|
+
var pcb_silkscreen_oval = z96.object({
|
|
2152
|
+
type: z96.literal("pcb_silkscreen_oval"),
|
|
2145
2153
|
pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
|
|
2146
|
-
pcb_component_id:
|
|
2147
|
-
pcb_group_id:
|
|
2148
|
-
subcircuit_id:
|
|
2154
|
+
pcb_component_id: z96.string(),
|
|
2155
|
+
pcb_group_id: z96.string().optional(),
|
|
2156
|
+
subcircuit_id: z96.string().optional(),
|
|
2149
2157
|
center: point,
|
|
2150
2158
|
radius_x: distance,
|
|
2151
2159
|
radius_y: distance,
|
|
@@ -2154,257 +2162,257 @@ var pcb_silkscreen_oval = z95.object({
|
|
|
2154
2162
|
expectTypesMatch(true);
|
|
2155
2163
|
|
|
2156
2164
|
// src/pcb/pcb_fabrication_note_text.ts
|
|
2157
|
-
import { z as
|
|
2158
|
-
var pcb_fabrication_note_text =
|
|
2159
|
-
type:
|
|
2165
|
+
import { z as z97 } from "zod";
|
|
2166
|
+
var pcb_fabrication_note_text = z97.object({
|
|
2167
|
+
type: z97.literal("pcb_fabrication_note_text"),
|
|
2160
2168
|
pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
|
|
2161
2169
|
"pcb_fabrication_note_text"
|
|
2162
2170
|
),
|
|
2163
|
-
subcircuit_id:
|
|
2164
|
-
pcb_group_id:
|
|
2165
|
-
font:
|
|
2171
|
+
subcircuit_id: z97.string().optional(),
|
|
2172
|
+
pcb_group_id: z97.string().optional(),
|
|
2173
|
+
font: z97.literal("tscircuit2024").default("tscircuit2024"),
|
|
2166
2174
|
font_size: distance.default("1mm"),
|
|
2167
|
-
pcb_component_id:
|
|
2168
|
-
text:
|
|
2175
|
+
pcb_component_id: z97.string(),
|
|
2176
|
+
text: z97.string(),
|
|
2169
2177
|
layer: visible_layer,
|
|
2170
2178
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2171
|
-
anchor_alignment:
|
|
2172
|
-
color:
|
|
2179
|
+
anchor_alignment: z97.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
2180
|
+
color: z97.string().optional()
|
|
2173
2181
|
}).describe(
|
|
2174
2182
|
"Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
|
|
2175
2183
|
);
|
|
2176
2184
|
expectTypesMatch(true);
|
|
2177
2185
|
|
|
2178
2186
|
// src/pcb/pcb_fabrication_note_path.ts
|
|
2179
|
-
import { z as
|
|
2180
|
-
var pcb_fabrication_note_path =
|
|
2181
|
-
type:
|
|
2187
|
+
import { z as z98 } from "zod";
|
|
2188
|
+
var pcb_fabrication_note_path = z98.object({
|
|
2189
|
+
type: z98.literal("pcb_fabrication_note_path"),
|
|
2182
2190
|
pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
|
|
2183
2191
|
"pcb_fabrication_note_path"
|
|
2184
2192
|
),
|
|
2185
|
-
pcb_component_id:
|
|
2186
|
-
subcircuit_id:
|
|
2193
|
+
pcb_component_id: z98.string(),
|
|
2194
|
+
subcircuit_id: z98.string().optional(),
|
|
2187
2195
|
layer: layer_ref,
|
|
2188
|
-
route:
|
|
2196
|
+
route: z98.array(point),
|
|
2189
2197
|
stroke_width: length,
|
|
2190
|
-
color:
|
|
2198
|
+
color: z98.string().optional()
|
|
2191
2199
|
}).describe(
|
|
2192
2200
|
"Defines a fabrication path on the PCB for fabricators or assemblers"
|
|
2193
2201
|
);
|
|
2194
2202
|
expectTypesMatch(true);
|
|
2195
2203
|
|
|
2196
2204
|
// src/pcb/pcb_fabrication_note_rect.ts
|
|
2197
|
-
import { z as
|
|
2198
|
-
var pcb_fabrication_note_rect =
|
|
2199
|
-
type:
|
|
2205
|
+
import { z as z99 } from "zod";
|
|
2206
|
+
var pcb_fabrication_note_rect = z99.object({
|
|
2207
|
+
type: z99.literal("pcb_fabrication_note_rect"),
|
|
2200
2208
|
pcb_fabrication_note_rect_id: getZodPrefixedIdWithDefault(
|
|
2201
2209
|
"pcb_fabrication_note_rect"
|
|
2202
2210
|
),
|
|
2203
|
-
pcb_component_id:
|
|
2204
|
-
pcb_group_id:
|
|
2205
|
-
subcircuit_id:
|
|
2211
|
+
pcb_component_id: z99.string(),
|
|
2212
|
+
pcb_group_id: z99.string().optional(),
|
|
2213
|
+
subcircuit_id: z99.string().optional(),
|
|
2206
2214
|
center: point,
|
|
2207
2215
|
width: length,
|
|
2208
2216
|
height: length,
|
|
2209
2217
|
layer: visible_layer,
|
|
2210
2218
|
stroke_width: length.default("0.1mm"),
|
|
2211
2219
|
corner_radius: length.optional(),
|
|
2212
|
-
is_filled:
|
|
2213
|
-
has_stroke:
|
|
2214
|
-
is_stroke_dashed:
|
|
2215
|
-
color:
|
|
2220
|
+
is_filled: z99.boolean().optional(),
|
|
2221
|
+
has_stroke: z99.boolean().optional(),
|
|
2222
|
+
is_stroke_dashed: z99.boolean().optional(),
|
|
2223
|
+
color: z99.string().optional()
|
|
2216
2224
|
}).describe("Defines a fabrication note rectangle on the PCB");
|
|
2217
2225
|
expectTypesMatch(true);
|
|
2218
2226
|
|
|
2219
2227
|
// src/pcb/pcb_fabrication_note_dimension.ts
|
|
2220
|
-
import { z as
|
|
2221
|
-
var pcb_fabrication_note_dimension =
|
|
2222
|
-
type:
|
|
2228
|
+
import { z as z100 } from "zod";
|
|
2229
|
+
var pcb_fabrication_note_dimension = z100.object({
|
|
2230
|
+
type: z100.literal("pcb_fabrication_note_dimension"),
|
|
2223
2231
|
pcb_fabrication_note_dimension_id: getZodPrefixedIdWithDefault(
|
|
2224
2232
|
"pcb_fabrication_note_dimension"
|
|
2225
2233
|
),
|
|
2226
|
-
pcb_component_id:
|
|
2227
|
-
pcb_group_id:
|
|
2228
|
-
subcircuit_id:
|
|
2234
|
+
pcb_component_id: z100.string(),
|
|
2235
|
+
pcb_group_id: z100.string().optional(),
|
|
2236
|
+
subcircuit_id: z100.string().optional(),
|
|
2229
2237
|
layer: visible_layer,
|
|
2230
2238
|
from: point,
|
|
2231
2239
|
to: point,
|
|
2232
|
-
text:
|
|
2233
|
-
text_ccw_rotation:
|
|
2240
|
+
text: z100.string().optional(),
|
|
2241
|
+
text_ccw_rotation: z100.number().optional(),
|
|
2234
2242
|
offset: length.optional(),
|
|
2235
2243
|
offset_distance: length.optional(),
|
|
2236
|
-
offset_direction:
|
|
2237
|
-
x:
|
|
2238
|
-
y:
|
|
2244
|
+
offset_direction: z100.object({
|
|
2245
|
+
x: z100.number(),
|
|
2246
|
+
y: z100.number()
|
|
2239
2247
|
}).optional(),
|
|
2240
|
-
font:
|
|
2248
|
+
font: z100.literal("tscircuit2024").default("tscircuit2024"),
|
|
2241
2249
|
font_size: length.default("1mm"),
|
|
2242
|
-
color:
|
|
2250
|
+
color: z100.string().optional(),
|
|
2243
2251
|
arrow_size: length.default("1mm")
|
|
2244
2252
|
}).describe("Defines a measurement annotation within PCB fabrication notes");
|
|
2245
2253
|
expectTypesMatch(true);
|
|
2246
2254
|
|
|
2247
2255
|
// src/pcb/pcb_note_text.ts
|
|
2248
|
-
import { z as z100 } from "zod";
|
|
2249
|
-
var pcb_note_text = z100.object({
|
|
2250
|
-
type: z100.literal("pcb_note_text"),
|
|
2251
|
-
pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
|
|
2252
|
-
pcb_component_id: z100.string().optional(),
|
|
2253
|
-
pcb_group_id: z100.string().optional(),
|
|
2254
|
-
subcircuit_id: z100.string().optional(),
|
|
2255
|
-
name: z100.string().optional(),
|
|
2256
|
-
font: z100.literal("tscircuit2024").default("tscircuit2024"),
|
|
2257
|
-
font_size: distance.default("1mm"),
|
|
2258
|
-
text: z100.string().optional(),
|
|
2259
|
-
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2260
|
-
anchor_alignment: z100.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
2261
|
-
color: z100.string().optional()
|
|
2262
|
-
}).describe("Defines a documentation note in text on the PCB");
|
|
2263
|
-
expectTypesMatch(true);
|
|
2264
|
-
|
|
2265
|
-
// src/pcb/pcb_note_rect.ts
|
|
2266
2256
|
import { z as z101 } from "zod";
|
|
2267
|
-
var
|
|
2268
|
-
type: z101.literal("
|
|
2269
|
-
|
|
2257
|
+
var pcb_note_text = z101.object({
|
|
2258
|
+
type: z101.literal("pcb_note_text"),
|
|
2259
|
+
pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
|
|
2270
2260
|
pcb_component_id: z101.string().optional(),
|
|
2271
2261
|
pcb_group_id: z101.string().optional(),
|
|
2272
2262
|
subcircuit_id: z101.string().optional(),
|
|
2273
2263
|
name: z101.string().optional(),
|
|
2264
|
+
font: z101.literal("tscircuit2024").default("tscircuit2024"),
|
|
2265
|
+
font_size: distance.default("1mm"),
|
|
2274
2266
|
text: z101.string().optional(),
|
|
2275
|
-
|
|
2276
|
-
|
|
2277
|
-
height: length,
|
|
2278
|
-
stroke_width: length.default("0.1mm"),
|
|
2279
|
-
corner_radius: length.optional(),
|
|
2280
|
-
is_filled: z101.boolean().optional(),
|
|
2281
|
-
has_stroke: z101.boolean().optional(),
|
|
2282
|
-
is_stroke_dashed: z101.boolean().optional(),
|
|
2267
|
+
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2268
|
+
anchor_alignment: z101.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
2283
2269
|
color: z101.string().optional()
|
|
2284
|
-
}).describe("Defines a
|
|
2270
|
+
}).describe("Defines a documentation note in text on the PCB");
|
|
2285
2271
|
expectTypesMatch(true);
|
|
2286
2272
|
|
|
2287
|
-
// src/pcb/
|
|
2273
|
+
// src/pcb/pcb_note_rect.ts
|
|
2288
2274
|
import { z as z102 } from "zod";
|
|
2289
|
-
var
|
|
2290
|
-
type: z102.literal("
|
|
2291
|
-
|
|
2275
|
+
var pcb_note_rect = z102.object({
|
|
2276
|
+
type: z102.literal("pcb_note_rect"),
|
|
2277
|
+
pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
|
|
2292
2278
|
pcb_component_id: z102.string().optional(),
|
|
2293
2279
|
pcb_group_id: z102.string().optional(),
|
|
2294
2280
|
subcircuit_id: z102.string().optional(),
|
|
2295
2281
|
name: z102.string().optional(),
|
|
2296
2282
|
text: z102.string().optional(),
|
|
2297
|
-
|
|
2283
|
+
center: point,
|
|
2284
|
+
width: length,
|
|
2285
|
+
height: length,
|
|
2298
2286
|
stroke_width: length.default("0.1mm"),
|
|
2287
|
+
corner_radius: length.optional(),
|
|
2288
|
+
is_filled: z102.boolean().optional(),
|
|
2289
|
+
has_stroke: z102.boolean().optional(),
|
|
2290
|
+
is_stroke_dashed: z102.boolean().optional(),
|
|
2299
2291
|
color: z102.string().optional()
|
|
2300
|
-
}).describe("Defines a
|
|
2292
|
+
}).describe("Defines a rectangular documentation note on the PCB");
|
|
2301
2293
|
expectTypesMatch(true);
|
|
2302
2294
|
|
|
2303
|
-
// src/pcb/
|
|
2295
|
+
// src/pcb/pcb_note_path.ts
|
|
2304
2296
|
import { z as z103 } from "zod";
|
|
2305
|
-
var
|
|
2306
|
-
type: z103.literal("
|
|
2307
|
-
|
|
2297
|
+
var pcb_note_path = z103.object({
|
|
2298
|
+
type: z103.literal("pcb_note_path"),
|
|
2299
|
+
pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
|
|
2308
2300
|
pcb_component_id: z103.string().optional(),
|
|
2309
2301
|
pcb_group_id: z103.string().optional(),
|
|
2310
2302
|
subcircuit_id: z103.string().optional(),
|
|
2311
2303
|
name: z103.string().optional(),
|
|
2312
2304
|
text: z103.string().optional(),
|
|
2305
|
+
route: z103.array(point),
|
|
2306
|
+
stroke_width: length.default("0.1mm"),
|
|
2307
|
+
color: z103.string().optional()
|
|
2308
|
+
}).describe("Defines a polyline documentation note on the PCB");
|
|
2309
|
+
expectTypesMatch(true);
|
|
2310
|
+
|
|
2311
|
+
// src/pcb/pcb_note_line.ts
|
|
2312
|
+
import { z as z104 } from "zod";
|
|
2313
|
+
var pcb_note_line = z104.object({
|
|
2314
|
+
type: z104.literal("pcb_note_line"),
|
|
2315
|
+
pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
|
|
2316
|
+
pcb_component_id: z104.string().optional(),
|
|
2317
|
+
pcb_group_id: z104.string().optional(),
|
|
2318
|
+
subcircuit_id: z104.string().optional(),
|
|
2319
|
+
name: z104.string().optional(),
|
|
2320
|
+
text: z104.string().optional(),
|
|
2313
2321
|
x1: distance,
|
|
2314
2322
|
y1: distance,
|
|
2315
2323
|
x2: distance,
|
|
2316
2324
|
y2: distance,
|
|
2317
2325
|
stroke_width: distance.default("0.1mm"),
|
|
2318
|
-
color:
|
|
2319
|
-
is_dashed:
|
|
2326
|
+
color: z104.string().optional(),
|
|
2327
|
+
is_dashed: z104.boolean().optional()
|
|
2320
2328
|
}).describe("Defines a straight documentation note line on the PCB");
|
|
2321
2329
|
expectTypesMatch(true);
|
|
2322
2330
|
|
|
2323
2331
|
// src/pcb/pcb_note_dimension.ts
|
|
2324
|
-
import { z as
|
|
2325
|
-
var pcb_note_dimension =
|
|
2326
|
-
type:
|
|
2332
|
+
import { z as z105 } from "zod";
|
|
2333
|
+
var pcb_note_dimension = z105.object({
|
|
2334
|
+
type: z105.literal("pcb_note_dimension"),
|
|
2327
2335
|
pcb_note_dimension_id: getZodPrefixedIdWithDefault("pcb_note_dimension"),
|
|
2328
|
-
pcb_component_id:
|
|
2329
|
-
pcb_group_id:
|
|
2330
|
-
subcircuit_id:
|
|
2331
|
-
name:
|
|
2336
|
+
pcb_component_id: z105.string().optional(),
|
|
2337
|
+
pcb_group_id: z105.string().optional(),
|
|
2338
|
+
subcircuit_id: z105.string().optional(),
|
|
2339
|
+
name: z105.string().optional(),
|
|
2332
2340
|
from: point,
|
|
2333
2341
|
to: point,
|
|
2334
|
-
text:
|
|
2335
|
-
text_ccw_rotation:
|
|
2342
|
+
text: z105.string().optional(),
|
|
2343
|
+
text_ccw_rotation: z105.number().optional(),
|
|
2336
2344
|
offset_distance: length.optional(),
|
|
2337
|
-
offset_direction:
|
|
2338
|
-
x:
|
|
2339
|
-
y:
|
|
2345
|
+
offset_direction: z105.object({
|
|
2346
|
+
x: z105.number(),
|
|
2347
|
+
y: z105.number()
|
|
2340
2348
|
}).optional(),
|
|
2341
|
-
font:
|
|
2349
|
+
font: z105.literal("tscircuit2024").default("tscircuit2024"),
|
|
2342
2350
|
font_size: length.default("1mm"),
|
|
2343
|
-
color:
|
|
2351
|
+
color: z105.string().optional(),
|
|
2344
2352
|
arrow_size: length.default("1mm")
|
|
2345
2353
|
}).describe("Defines a measurement annotation within PCB documentation notes");
|
|
2346
2354
|
expectTypesMatch(true);
|
|
2347
2355
|
|
|
2348
2356
|
// src/pcb/pcb_footprint_overlap_error.ts
|
|
2349
|
-
import { z as
|
|
2350
|
-
var pcb_footprint_overlap_error =
|
|
2351
|
-
type:
|
|
2357
|
+
import { z as z106 } from "zod";
|
|
2358
|
+
var pcb_footprint_overlap_error = z106.object({
|
|
2359
|
+
type: z106.literal("pcb_footprint_overlap_error"),
|
|
2352
2360
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
2353
|
-
error_type:
|
|
2354
|
-
message:
|
|
2355
|
-
pcb_smtpad_ids:
|
|
2356
|
-
pcb_plated_hole_ids:
|
|
2357
|
-
pcb_hole_ids:
|
|
2358
|
-
pcb_keepout_ids:
|
|
2361
|
+
error_type: z106.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
|
|
2362
|
+
message: z106.string(),
|
|
2363
|
+
pcb_smtpad_ids: z106.array(z106.string()).optional(),
|
|
2364
|
+
pcb_plated_hole_ids: z106.array(z106.string()).optional(),
|
|
2365
|
+
pcb_hole_ids: z106.array(z106.string()).optional(),
|
|
2366
|
+
pcb_keepout_ids: z106.array(z106.string()).optional()
|
|
2359
2367
|
}).describe("Error emitted when a pcb footprint overlaps with another element");
|
|
2360
2368
|
expectTypesMatch(
|
|
2361
2369
|
true
|
|
2362
2370
|
);
|
|
2363
2371
|
|
|
2364
2372
|
// src/pcb/pcb_keepout.ts
|
|
2365
|
-
import { z as
|
|
2366
|
-
var pcb_keepout =
|
|
2367
|
-
type:
|
|
2368
|
-
shape:
|
|
2369
|
-
pcb_group_id:
|
|
2370
|
-
subcircuit_id:
|
|
2373
|
+
import { z as z107 } from "zod";
|
|
2374
|
+
var pcb_keepout = z107.object({
|
|
2375
|
+
type: z107.literal("pcb_keepout"),
|
|
2376
|
+
shape: z107.literal("rect"),
|
|
2377
|
+
pcb_group_id: z107.string().optional(),
|
|
2378
|
+
subcircuit_id: z107.string().optional(),
|
|
2371
2379
|
center: point,
|
|
2372
2380
|
width: distance,
|
|
2373
2381
|
height: distance,
|
|
2374
|
-
pcb_keepout_id:
|
|
2375
|
-
layers:
|
|
2382
|
+
pcb_keepout_id: z107.string(),
|
|
2383
|
+
layers: z107.array(z107.string()),
|
|
2376
2384
|
// Specify layers where the keepout applies
|
|
2377
|
-
description:
|
|
2385
|
+
description: z107.string().optional()
|
|
2378
2386
|
// Optional description of the keepout
|
|
2379
2387
|
}).or(
|
|
2380
|
-
|
|
2381
|
-
type:
|
|
2382
|
-
shape:
|
|
2383
|
-
pcb_group_id:
|
|
2384
|
-
subcircuit_id:
|
|
2388
|
+
z107.object({
|
|
2389
|
+
type: z107.literal("pcb_keepout"),
|
|
2390
|
+
shape: z107.literal("circle"),
|
|
2391
|
+
pcb_group_id: z107.string().optional(),
|
|
2392
|
+
subcircuit_id: z107.string().optional(),
|
|
2385
2393
|
center: point,
|
|
2386
2394
|
radius: distance,
|
|
2387
|
-
pcb_keepout_id:
|
|
2388
|
-
layers:
|
|
2395
|
+
pcb_keepout_id: z107.string(),
|
|
2396
|
+
layers: z107.array(z107.string()),
|
|
2389
2397
|
// Specify layers where the keepout applies
|
|
2390
|
-
description:
|
|
2398
|
+
description: z107.string().optional()
|
|
2391
2399
|
// Optional description of the keepout
|
|
2392
2400
|
})
|
|
2393
2401
|
);
|
|
2394
2402
|
expectTypesMatch(true);
|
|
2395
2403
|
|
|
2396
2404
|
// src/pcb/pcb_cutout.ts
|
|
2397
|
-
import { z as
|
|
2398
|
-
var pcb_cutout_base =
|
|
2399
|
-
type:
|
|
2405
|
+
import { z as z108 } from "zod";
|
|
2406
|
+
var pcb_cutout_base = z108.object({
|
|
2407
|
+
type: z108.literal("pcb_cutout"),
|
|
2400
2408
|
pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
|
|
2401
|
-
pcb_group_id:
|
|
2402
|
-
subcircuit_id:
|
|
2403
|
-
pcb_board_id:
|
|
2404
|
-
pcb_panel_id:
|
|
2409
|
+
pcb_group_id: z108.string().optional(),
|
|
2410
|
+
subcircuit_id: z108.string().optional(),
|
|
2411
|
+
pcb_board_id: z108.string().optional(),
|
|
2412
|
+
pcb_panel_id: z108.string().optional()
|
|
2405
2413
|
});
|
|
2406
2414
|
var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
2407
|
-
shape:
|
|
2415
|
+
shape: z108.literal("rect"),
|
|
2408
2416
|
center: point,
|
|
2409
2417
|
width: length,
|
|
2410
2418
|
height: length,
|
|
@@ -2413,26 +2421,26 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
|
2413
2421
|
});
|
|
2414
2422
|
expectTypesMatch(true);
|
|
2415
2423
|
var pcb_cutout_circle = pcb_cutout_base.extend({
|
|
2416
|
-
shape:
|
|
2424
|
+
shape: z108.literal("circle"),
|
|
2417
2425
|
center: point,
|
|
2418
2426
|
radius: length
|
|
2419
2427
|
});
|
|
2420
2428
|
expectTypesMatch(true);
|
|
2421
2429
|
var pcb_cutout_polygon = pcb_cutout_base.extend({
|
|
2422
|
-
shape:
|
|
2423
|
-
points:
|
|
2430
|
+
shape: z108.literal("polygon"),
|
|
2431
|
+
points: z108.array(point)
|
|
2424
2432
|
});
|
|
2425
2433
|
expectTypesMatch(true);
|
|
2426
2434
|
var pcb_cutout_path = pcb_cutout_base.extend({
|
|
2427
|
-
shape:
|
|
2428
|
-
route:
|
|
2435
|
+
shape: z108.literal("path"),
|
|
2436
|
+
route: z108.array(point),
|
|
2429
2437
|
slot_width: length,
|
|
2430
2438
|
slot_length: length.optional(),
|
|
2431
2439
|
space_between_slots: length.optional(),
|
|
2432
2440
|
slot_corner_radius: length.optional()
|
|
2433
2441
|
});
|
|
2434
2442
|
expectTypesMatch(true);
|
|
2435
|
-
var pcb_cutout =
|
|
2443
|
+
var pcb_cutout = z108.discriminatedUnion("shape", [
|
|
2436
2444
|
pcb_cutout_rect,
|
|
2437
2445
|
pcb_cutout_circle,
|
|
2438
2446
|
pcb_cutout_polygon,
|
|
@@ -2441,121 +2449,121 @@ var pcb_cutout = z107.discriminatedUnion("shape", [
|
|
|
2441
2449
|
expectTypesMatch(true);
|
|
2442
2450
|
|
|
2443
2451
|
// src/pcb/pcb_missing_footprint_error.ts
|
|
2444
|
-
import { z as
|
|
2445
|
-
var pcb_missing_footprint_error =
|
|
2446
|
-
type:
|
|
2452
|
+
import { z as z109 } from "zod";
|
|
2453
|
+
var pcb_missing_footprint_error = z109.object({
|
|
2454
|
+
type: z109.literal("pcb_missing_footprint_error"),
|
|
2447
2455
|
pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
|
|
2448
2456
|
"pcb_missing_footprint_error"
|
|
2449
2457
|
),
|
|
2450
|
-
pcb_group_id:
|
|
2451
|
-
subcircuit_id:
|
|
2452
|
-
error_type:
|
|
2453
|
-
source_component_id:
|
|
2454
|
-
message:
|
|
2458
|
+
pcb_group_id: z109.string().optional(),
|
|
2459
|
+
subcircuit_id: z109.string().optional(),
|
|
2460
|
+
error_type: z109.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
|
|
2461
|
+
source_component_id: z109.string(),
|
|
2462
|
+
message: z109.string()
|
|
2455
2463
|
}).describe("Defines a missing footprint error on the PCB");
|
|
2456
2464
|
expectTypesMatch(
|
|
2457
2465
|
true
|
|
2458
2466
|
);
|
|
2459
2467
|
|
|
2460
2468
|
// src/pcb/external_footprint_load_error.ts
|
|
2461
|
-
import { z as
|
|
2462
|
-
var external_footprint_load_error =
|
|
2463
|
-
type:
|
|
2469
|
+
import { z as z110 } from "zod";
|
|
2470
|
+
var external_footprint_load_error = z110.object({
|
|
2471
|
+
type: z110.literal("external_footprint_load_error"),
|
|
2464
2472
|
external_footprint_load_error_id: getZodPrefixedIdWithDefault(
|
|
2465
2473
|
"external_footprint_load_error"
|
|
2466
2474
|
),
|
|
2467
|
-
pcb_component_id:
|
|
2468
|
-
source_component_id:
|
|
2469
|
-
pcb_group_id:
|
|
2470
|
-
subcircuit_id:
|
|
2471
|
-
footprinter_string:
|
|
2472
|
-
error_type:
|
|
2473
|
-
message:
|
|
2475
|
+
pcb_component_id: z110.string(),
|
|
2476
|
+
source_component_id: z110.string(),
|
|
2477
|
+
pcb_group_id: z110.string().optional(),
|
|
2478
|
+
subcircuit_id: z110.string().optional(),
|
|
2479
|
+
footprinter_string: z110.string().optional(),
|
|
2480
|
+
error_type: z110.literal("external_footprint_load_error").default("external_footprint_load_error"),
|
|
2481
|
+
message: z110.string()
|
|
2474
2482
|
}).describe("Defines an error when an external footprint fails to load");
|
|
2475
2483
|
expectTypesMatch(true);
|
|
2476
2484
|
|
|
2477
2485
|
// src/pcb/circuit_json_footprint_load_error.ts
|
|
2478
|
-
import { z as
|
|
2479
|
-
var circuit_json_footprint_load_error =
|
|
2480
|
-
type:
|
|
2486
|
+
import { z as z111 } from "zod";
|
|
2487
|
+
var circuit_json_footprint_load_error = z111.object({
|
|
2488
|
+
type: z111.literal("circuit_json_footprint_load_error"),
|
|
2481
2489
|
circuit_json_footprint_load_error_id: getZodPrefixedIdWithDefault(
|
|
2482
2490
|
"circuit_json_footprint_load_error"
|
|
2483
2491
|
),
|
|
2484
|
-
pcb_component_id:
|
|
2485
|
-
source_component_id:
|
|
2486
|
-
pcb_group_id:
|
|
2487
|
-
subcircuit_id:
|
|
2488
|
-
error_type:
|
|
2489
|
-
message:
|
|
2490
|
-
circuit_json:
|
|
2492
|
+
pcb_component_id: z111.string(),
|
|
2493
|
+
source_component_id: z111.string(),
|
|
2494
|
+
pcb_group_id: z111.string().optional(),
|
|
2495
|
+
subcircuit_id: z111.string().optional(),
|
|
2496
|
+
error_type: z111.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
|
|
2497
|
+
message: z111.string(),
|
|
2498
|
+
circuit_json: z111.array(z111.any()).optional()
|
|
2491
2499
|
}).describe("Defines an error when a circuit JSON footprint fails to load");
|
|
2492
2500
|
expectTypesMatch(true);
|
|
2493
2501
|
|
|
2494
2502
|
// src/pcb/pcb_group.ts
|
|
2495
|
-
import { z as
|
|
2496
|
-
var pcb_group =
|
|
2497
|
-
type:
|
|
2503
|
+
import { z as z112 } from "zod";
|
|
2504
|
+
var pcb_group = z112.object({
|
|
2505
|
+
type: z112.literal("pcb_group"),
|
|
2498
2506
|
pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
|
|
2499
|
-
source_group_id:
|
|
2500
|
-
is_subcircuit:
|
|
2501
|
-
subcircuit_id:
|
|
2507
|
+
source_group_id: z112.string(),
|
|
2508
|
+
is_subcircuit: z112.boolean().optional(),
|
|
2509
|
+
subcircuit_id: z112.string().optional(),
|
|
2502
2510
|
width: length.optional(),
|
|
2503
2511
|
height: length.optional(),
|
|
2504
2512
|
center: point,
|
|
2505
|
-
outline:
|
|
2513
|
+
outline: z112.array(point).optional(),
|
|
2506
2514
|
anchor_position: point.optional(),
|
|
2507
|
-
anchor_alignment:
|
|
2508
|
-
pcb_component_ids:
|
|
2509
|
-
child_layout_mode:
|
|
2510
|
-
name:
|
|
2511
|
-
description:
|
|
2512
|
-
layout_mode:
|
|
2513
|
-
autorouter_configuration:
|
|
2515
|
+
anchor_alignment: z112.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).optional(),
|
|
2516
|
+
pcb_component_ids: z112.array(z112.string()),
|
|
2517
|
+
child_layout_mode: z112.enum(["packed", "none"]).optional(),
|
|
2518
|
+
name: z112.string().optional(),
|
|
2519
|
+
description: z112.string().optional(),
|
|
2520
|
+
layout_mode: z112.string().optional(),
|
|
2521
|
+
autorouter_configuration: z112.object({
|
|
2514
2522
|
trace_clearance: length
|
|
2515
2523
|
}).optional(),
|
|
2516
|
-
autorouter_used_string:
|
|
2524
|
+
autorouter_used_string: z112.string().optional()
|
|
2517
2525
|
}).describe("Defines a group of components on the PCB");
|
|
2518
2526
|
expectTypesMatch(true);
|
|
2519
2527
|
|
|
2520
2528
|
// src/pcb/pcb_autorouting_error.ts
|
|
2521
|
-
import { z as
|
|
2522
|
-
var pcb_autorouting_error =
|
|
2523
|
-
type:
|
|
2529
|
+
import { z as z113 } from "zod";
|
|
2530
|
+
var pcb_autorouting_error = z113.object({
|
|
2531
|
+
type: z113.literal("pcb_autorouting_error"),
|
|
2524
2532
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
|
|
2525
|
-
error_type:
|
|
2526
|
-
message:
|
|
2527
|
-
subcircuit_id:
|
|
2533
|
+
error_type: z113.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
|
|
2534
|
+
message: z113.string(),
|
|
2535
|
+
subcircuit_id: z113.string().optional()
|
|
2528
2536
|
}).describe("The autorouting has failed to route a portion of the board");
|
|
2529
2537
|
expectTypesMatch(true);
|
|
2530
2538
|
|
|
2531
2539
|
// src/pcb/pcb_manual_edit_conflict_warning.ts
|
|
2532
|
-
import { z as
|
|
2533
|
-
var pcb_manual_edit_conflict_warning =
|
|
2534
|
-
type:
|
|
2540
|
+
import { z as z114 } from "zod";
|
|
2541
|
+
var pcb_manual_edit_conflict_warning = z114.object({
|
|
2542
|
+
type: z114.literal("pcb_manual_edit_conflict_warning"),
|
|
2535
2543
|
pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
2536
2544
|
"pcb_manual_edit_conflict_warning"
|
|
2537
2545
|
),
|
|
2538
|
-
warning_type:
|
|
2539
|
-
message:
|
|
2540
|
-
pcb_component_id:
|
|
2541
|
-
pcb_group_id:
|
|
2542
|
-
subcircuit_id:
|
|
2543
|
-
source_component_id:
|
|
2546
|
+
warning_type: z114.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
|
|
2547
|
+
message: z114.string(),
|
|
2548
|
+
pcb_component_id: z114.string(),
|
|
2549
|
+
pcb_group_id: z114.string().optional(),
|
|
2550
|
+
subcircuit_id: z114.string().optional(),
|
|
2551
|
+
source_component_id: z114.string()
|
|
2544
2552
|
}).describe(
|
|
2545
2553
|
"Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
|
|
2546
2554
|
);
|
|
2547
2555
|
expectTypesMatch(true);
|
|
2548
2556
|
|
|
2549
2557
|
// src/pcb/pcb_breakout_point.ts
|
|
2550
|
-
import { z as
|
|
2551
|
-
var pcb_breakout_point =
|
|
2552
|
-
type:
|
|
2558
|
+
import { z as z115 } from "zod";
|
|
2559
|
+
var pcb_breakout_point = z115.object({
|
|
2560
|
+
type: z115.literal("pcb_breakout_point"),
|
|
2553
2561
|
pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
|
|
2554
|
-
pcb_group_id:
|
|
2555
|
-
subcircuit_id:
|
|
2556
|
-
source_trace_id:
|
|
2557
|
-
source_port_id:
|
|
2558
|
-
source_net_id:
|
|
2562
|
+
pcb_group_id: z115.string(),
|
|
2563
|
+
subcircuit_id: z115.string().optional(),
|
|
2564
|
+
source_trace_id: z115.string().optional(),
|
|
2565
|
+
source_port_id: z115.string().optional(),
|
|
2566
|
+
source_net_id: z115.string().optional(),
|
|
2559
2567
|
x: distance,
|
|
2560
2568
|
y: distance
|
|
2561
2569
|
}).describe(
|
|
@@ -2564,61 +2572,61 @@ var pcb_breakout_point = z114.object({
|
|
|
2564
2572
|
expectTypesMatch(true);
|
|
2565
2573
|
|
|
2566
2574
|
// src/pcb/pcb_ground_plane.ts
|
|
2567
|
-
import { z as
|
|
2568
|
-
var pcb_ground_plane =
|
|
2569
|
-
type:
|
|
2575
|
+
import { z as z116 } from "zod";
|
|
2576
|
+
var pcb_ground_plane = z116.object({
|
|
2577
|
+
type: z116.literal("pcb_ground_plane"),
|
|
2570
2578
|
pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
|
|
2571
|
-
source_pcb_ground_plane_id:
|
|
2572
|
-
source_net_id:
|
|
2573
|
-
pcb_group_id:
|
|
2574
|
-
subcircuit_id:
|
|
2579
|
+
source_pcb_ground_plane_id: z116.string(),
|
|
2580
|
+
source_net_id: z116.string(),
|
|
2581
|
+
pcb_group_id: z116.string().optional(),
|
|
2582
|
+
subcircuit_id: z116.string().optional()
|
|
2575
2583
|
}).describe("Defines a ground plane on the PCB");
|
|
2576
2584
|
expectTypesMatch(true);
|
|
2577
2585
|
|
|
2578
2586
|
// src/pcb/pcb_ground_plane_region.ts
|
|
2579
|
-
import { z as
|
|
2580
|
-
var pcb_ground_plane_region =
|
|
2581
|
-
type:
|
|
2587
|
+
import { z as z117 } from "zod";
|
|
2588
|
+
var pcb_ground_plane_region = z117.object({
|
|
2589
|
+
type: z117.literal("pcb_ground_plane_region"),
|
|
2582
2590
|
pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
|
|
2583
2591
|
"pcb_ground_plane_region"
|
|
2584
2592
|
),
|
|
2585
|
-
pcb_ground_plane_id:
|
|
2586
|
-
pcb_group_id:
|
|
2587
|
-
subcircuit_id:
|
|
2593
|
+
pcb_ground_plane_id: z117.string(),
|
|
2594
|
+
pcb_group_id: z117.string().optional(),
|
|
2595
|
+
subcircuit_id: z117.string().optional(),
|
|
2588
2596
|
layer: layer_ref,
|
|
2589
|
-
points:
|
|
2597
|
+
points: z117.array(point)
|
|
2590
2598
|
}).describe("Defines a polygon region of a ground plane");
|
|
2591
2599
|
expectTypesMatch(true);
|
|
2592
2600
|
|
|
2593
2601
|
// src/pcb/pcb_thermal_spoke.ts
|
|
2594
|
-
import { z as
|
|
2595
|
-
var pcb_thermal_spoke =
|
|
2596
|
-
type:
|
|
2602
|
+
import { z as z118 } from "zod";
|
|
2603
|
+
var pcb_thermal_spoke = z118.object({
|
|
2604
|
+
type: z118.literal("pcb_thermal_spoke"),
|
|
2597
2605
|
pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
|
|
2598
|
-
pcb_ground_plane_id:
|
|
2599
|
-
shape:
|
|
2600
|
-
spoke_count:
|
|
2606
|
+
pcb_ground_plane_id: z118.string(),
|
|
2607
|
+
shape: z118.string(),
|
|
2608
|
+
spoke_count: z118.number(),
|
|
2601
2609
|
spoke_thickness: distance,
|
|
2602
2610
|
spoke_inner_diameter: distance,
|
|
2603
2611
|
spoke_outer_diameter: distance,
|
|
2604
|
-
pcb_plated_hole_id:
|
|
2605
|
-
subcircuit_id:
|
|
2612
|
+
pcb_plated_hole_id: z118.string().optional(),
|
|
2613
|
+
subcircuit_id: z118.string().optional()
|
|
2606
2614
|
}).describe("Pattern for connecting a ground plane to a plated hole");
|
|
2607
2615
|
expectTypesMatch(true);
|
|
2608
2616
|
|
|
2609
2617
|
// src/pcb/pcb_copper_pour.ts
|
|
2610
|
-
import { z as
|
|
2611
|
-
var pcb_copper_pour_base =
|
|
2612
|
-
type:
|
|
2618
|
+
import { z as z119 } from "zod";
|
|
2619
|
+
var pcb_copper_pour_base = z119.object({
|
|
2620
|
+
type: z119.literal("pcb_copper_pour"),
|
|
2613
2621
|
pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
|
|
2614
|
-
pcb_group_id:
|
|
2615
|
-
subcircuit_id:
|
|
2622
|
+
pcb_group_id: z119.string().optional(),
|
|
2623
|
+
subcircuit_id: z119.string().optional(),
|
|
2616
2624
|
layer: layer_ref,
|
|
2617
|
-
source_net_id:
|
|
2618
|
-
covered_with_solder_mask:
|
|
2625
|
+
source_net_id: z119.string().optional(),
|
|
2626
|
+
covered_with_solder_mask: z119.boolean().optional().default(true)
|
|
2619
2627
|
});
|
|
2620
2628
|
var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
2621
|
-
shape:
|
|
2629
|
+
shape: z119.literal("rect"),
|
|
2622
2630
|
center: point,
|
|
2623
2631
|
width: length,
|
|
2624
2632
|
height: length,
|
|
@@ -2626,16 +2634,16 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
|
2626
2634
|
});
|
|
2627
2635
|
expectTypesMatch(true);
|
|
2628
2636
|
var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
|
|
2629
|
-
shape:
|
|
2637
|
+
shape: z119.literal("brep"),
|
|
2630
2638
|
brep_shape
|
|
2631
2639
|
});
|
|
2632
2640
|
expectTypesMatch(true);
|
|
2633
2641
|
var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
|
|
2634
|
-
shape:
|
|
2635
|
-
points:
|
|
2642
|
+
shape: z119.literal("polygon"),
|
|
2643
|
+
points: z119.array(point)
|
|
2636
2644
|
});
|
|
2637
2645
|
expectTypesMatch(true);
|
|
2638
|
-
var pcb_copper_pour =
|
|
2646
|
+
var pcb_copper_pour = z119.discriminatedUnion("shape", [
|
|
2639
2647
|
pcb_copper_pour_rect,
|
|
2640
2648
|
pcb_copper_pour_brep,
|
|
2641
2649
|
pcb_copper_pour_polygon
|
|
@@ -2643,148 +2651,148 @@ var pcb_copper_pour = z118.discriminatedUnion("shape", [
|
|
|
2643
2651
|
expectTypesMatch(true);
|
|
2644
2652
|
|
|
2645
2653
|
// src/pcb/pcb_component_outside_board_error.ts
|
|
2646
|
-
import { z as
|
|
2647
|
-
var pcb_component_outside_board_error =
|
|
2648
|
-
type:
|
|
2654
|
+
import { z as z120 } from "zod";
|
|
2655
|
+
var pcb_component_outside_board_error = z120.object({
|
|
2656
|
+
type: z120.literal("pcb_component_outside_board_error"),
|
|
2649
2657
|
pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
|
|
2650
2658
|
"pcb_component_outside_board_error"
|
|
2651
2659
|
),
|
|
2652
|
-
error_type:
|
|
2653
|
-
message:
|
|
2654
|
-
pcb_component_id:
|
|
2655
|
-
pcb_board_id:
|
|
2660
|
+
error_type: z120.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
|
|
2661
|
+
message: z120.string(),
|
|
2662
|
+
pcb_component_id: z120.string(),
|
|
2663
|
+
pcb_board_id: z120.string(),
|
|
2656
2664
|
component_center: point,
|
|
2657
|
-
component_bounds:
|
|
2658
|
-
min_x:
|
|
2659
|
-
max_x:
|
|
2660
|
-
min_y:
|
|
2661
|
-
max_y:
|
|
2665
|
+
component_bounds: z120.object({
|
|
2666
|
+
min_x: z120.number(),
|
|
2667
|
+
max_x: z120.number(),
|
|
2668
|
+
min_y: z120.number(),
|
|
2669
|
+
max_y: z120.number()
|
|
2662
2670
|
}),
|
|
2663
|
-
subcircuit_id:
|
|
2664
|
-
source_component_id:
|
|
2671
|
+
subcircuit_id: z120.string().optional(),
|
|
2672
|
+
source_component_id: z120.string().optional()
|
|
2665
2673
|
}).describe(
|
|
2666
2674
|
"Error emitted when a PCB component is placed outside the board boundaries"
|
|
2667
2675
|
);
|
|
2668
2676
|
expectTypesMatch(true);
|
|
2669
2677
|
|
|
2670
2678
|
// src/pcb/pcb_component_invalid_layer_error.ts
|
|
2671
|
-
import { z as
|
|
2672
|
-
var pcb_component_invalid_layer_error =
|
|
2673
|
-
type:
|
|
2679
|
+
import { z as z121 } from "zod";
|
|
2680
|
+
var pcb_component_invalid_layer_error = z121.object({
|
|
2681
|
+
type: z121.literal("pcb_component_invalid_layer_error"),
|
|
2674
2682
|
pcb_component_invalid_layer_error_id: getZodPrefixedIdWithDefault(
|
|
2675
2683
|
"pcb_component_invalid_layer_error"
|
|
2676
2684
|
),
|
|
2677
|
-
error_type:
|
|
2678
|
-
message:
|
|
2679
|
-
pcb_component_id:
|
|
2680
|
-
source_component_id:
|
|
2685
|
+
error_type: z121.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
|
|
2686
|
+
message: z121.string(),
|
|
2687
|
+
pcb_component_id: z121.string().optional(),
|
|
2688
|
+
source_component_id: z121.string(),
|
|
2681
2689
|
layer: layer_ref,
|
|
2682
|
-
subcircuit_id:
|
|
2690
|
+
subcircuit_id: z121.string().optional()
|
|
2683
2691
|
}).describe(
|
|
2684
2692
|
"Error emitted when a component is placed on an invalid layer (components can only be on 'top' or 'bottom' layers)"
|
|
2685
2693
|
);
|
|
2686
2694
|
expectTypesMatch(true);
|
|
2687
2695
|
|
|
2688
2696
|
// src/pcb/pcb_via_clearance_error.ts
|
|
2689
|
-
import { z as
|
|
2690
|
-
var pcb_via_clearance_error =
|
|
2691
|
-
type:
|
|
2697
|
+
import { z as z122 } from "zod";
|
|
2698
|
+
var pcb_via_clearance_error = z122.object({
|
|
2699
|
+
type: z122.literal("pcb_via_clearance_error"),
|
|
2692
2700
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
2693
|
-
error_type:
|
|
2694
|
-
message:
|
|
2695
|
-
pcb_via_ids:
|
|
2701
|
+
error_type: z122.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
|
|
2702
|
+
message: z122.string(),
|
|
2703
|
+
pcb_via_ids: z122.array(z122.string()).min(2),
|
|
2696
2704
|
minimum_clearance: distance.optional(),
|
|
2697
2705
|
actual_clearance: distance.optional(),
|
|
2698
|
-
pcb_center:
|
|
2699
|
-
x:
|
|
2700
|
-
y:
|
|
2706
|
+
pcb_center: z122.object({
|
|
2707
|
+
x: z122.number().optional(),
|
|
2708
|
+
y: z122.number().optional()
|
|
2701
2709
|
}).optional(),
|
|
2702
|
-
subcircuit_id:
|
|
2710
|
+
subcircuit_id: z122.string().optional()
|
|
2703
2711
|
}).describe("Error emitted when vias are closer than the allowed clearance");
|
|
2704
2712
|
expectTypesMatch(true);
|
|
2705
2713
|
|
|
2706
2714
|
// src/pcb/pcb_courtyard_rect.ts
|
|
2707
|
-
import { z as
|
|
2708
|
-
var pcb_courtyard_rect =
|
|
2709
|
-
type:
|
|
2715
|
+
import { z as z123 } from "zod";
|
|
2716
|
+
var pcb_courtyard_rect = z123.object({
|
|
2717
|
+
type: z123.literal("pcb_courtyard_rect"),
|
|
2710
2718
|
pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
|
|
2711
|
-
pcb_component_id:
|
|
2712
|
-
pcb_group_id:
|
|
2713
|
-
subcircuit_id:
|
|
2719
|
+
pcb_component_id: z123.string(),
|
|
2720
|
+
pcb_group_id: z123.string().optional(),
|
|
2721
|
+
subcircuit_id: z123.string().optional(),
|
|
2714
2722
|
center: point,
|
|
2715
2723
|
width: length,
|
|
2716
2724
|
height: length,
|
|
2717
2725
|
layer: visible_layer,
|
|
2718
|
-
color:
|
|
2726
|
+
color: z123.string().optional()
|
|
2719
2727
|
}).describe("Defines a courtyard rectangle on the PCB");
|
|
2720
2728
|
expectTypesMatch(true);
|
|
2721
2729
|
|
|
2722
2730
|
// src/pcb/pcb_courtyard_outline.ts
|
|
2723
|
-
import { z as
|
|
2724
|
-
var pcb_courtyard_outline =
|
|
2725
|
-
type:
|
|
2731
|
+
import { z as z124 } from "zod";
|
|
2732
|
+
var pcb_courtyard_outline = z124.object({
|
|
2733
|
+
type: z124.literal("pcb_courtyard_outline"),
|
|
2726
2734
|
pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
|
|
2727
2735
|
"pcb_courtyard_outline"
|
|
2728
2736
|
),
|
|
2729
|
-
pcb_component_id:
|
|
2730
|
-
pcb_group_id:
|
|
2731
|
-
subcircuit_id:
|
|
2737
|
+
pcb_component_id: z124.string(),
|
|
2738
|
+
pcb_group_id: z124.string().optional(),
|
|
2739
|
+
subcircuit_id: z124.string().optional(),
|
|
2732
2740
|
layer: visible_layer,
|
|
2733
|
-
outline:
|
|
2741
|
+
outline: z124.array(point).min(2),
|
|
2734
2742
|
stroke_width: length.default("0.1mm"),
|
|
2735
|
-
is_closed:
|
|
2736
|
-
is_stroke_dashed:
|
|
2737
|
-
color:
|
|
2743
|
+
is_closed: z124.boolean().optional(),
|
|
2744
|
+
is_stroke_dashed: z124.boolean().optional(),
|
|
2745
|
+
color: z124.string().optional()
|
|
2738
2746
|
}).describe("Defines a courtyard outline on the PCB");
|
|
2739
2747
|
expectTypesMatch(true);
|
|
2740
2748
|
|
|
2741
2749
|
// src/pcb/pcb_courtyard_polygon.ts
|
|
2742
|
-
import { z as
|
|
2743
|
-
var pcb_courtyard_polygon =
|
|
2744
|
-
type:
|
|
2750
|
+
import { z as z125 } from "zod";
|
|
2751
|
+
var pcb_courtyard_polygon = z125.object({
|
|
2752
|
+
type: z125.literal("pcb_courtyard_polygon"),
|
|
2745
2753
|
pcb_courtyard_polygon_id: getZodPrefixedIdWithDefault(
|
|
2746
2754
|
"pcb_courtyard_polygon"
|
|
2747
2755
|
),
|
|
2748
|
-
pcb_component_id:
|
|
2749
|
-
pcb_group_id:
|
|
2750
|
-
subcircuit_id:
|
|
2756
|
+
pcb_component_id: z125.string(),
|
|
2757
|
+
pcb_group_id: z125.string().optional(),
|
|
2758
|
+
subcircuit_id: z125.string().optional(),
|
|
2751
2759
|
layer: visible_layer,
|
|
2752
|
-
points:
|
|
2753
|
-
color:
|
|
2760
|
+
points: z125.array(point).min(3),
|
|
2761
|
+
color: z125.string().optional()
|
|
2754
2762
|
}).describe("Defines a courtyard polygon on the PCB");
|
|
2755
2763
|
expectTypesMatch(true);
|
|
2756
2764
|
|
|
2757
2765
|
// src/cad/cad_component.ts
|
|
2758
|
-
import { z as
|
|
2759
|
-
var cad_component =
|
|
2760
|
-
type:
|
|
2761
|
-
cad_component_id:
|
|
2762
|
-
pcb_component_id:
|
|
2763
|
-
source_component_id:
|
|
2766
|
+
import { z as z126 } from "zod";
|
|
2767
|
+
var cad_component = z126.object({
|
|
2768
|
+
type: z126.literal("cad_component"),
|
|
2769
|
+
cad_component_id: z126.string(),
|
|
2770
|
+
pcb_component_id: z126.string(),
|
|
2771
|
+
source_component_id: z126.string(),
|
|
2764
2772
|
position: point3,
|
|
2765
2773
|
rotation: point3.optional(),
|
|
2766
2774
|
size: point3.optional(),
|
|
2767
2775
|
layer: layer_ref.optional(),
|
|
2768
|
-
subcircuit_id:
|
|
2776
|
+
subcircuit_id: z126.string().optional(),
|
|
2769
2777
|
// These are all ways to generate/load the 3d model
|
|
2770
|
-
footprinter_string:
|
|
2771
|
-
model_obj_url:
|
|
2772
|
-
model_stl_url:
|
|
2773
|
-
model_3mf_url:
|
|
2774
|
-
model_gltf_url:
|
|
2775
|
-
model_glb_url:
|
|
2776
|
-
model_step_url:
|
|
2777
|
-
model_wrl_url:
|
|
2778
|
-
model_unit_to_mm_scale_factor:
|
|
2779
|
-
model_jscad:
|
|
2780
|
-
show_as_translucent_model:
|
|
2778
|
+
footprinter_string: z126.string().optional(),
|
|
2779
|
+
model_obj_url: z126.string().optional(),
|
|
2780
|
+
model_stl_url: z126.string().optional(),
|
|
2781
|
+
model_3mf_url: z126.string().optional(),
|
|
2782
|
+
model_gltf_url: z126.string().optional(),
|
|
2783
|
+
model_glb_url: z126.string().optional(),
|
|
2784
|
+
model_step_url: z126.string().optional(),
|
|
2785
|
+
model_wrl_url: z126.string().optional(),
|
|
2786
|
+
model_unit_to_mm_scale_factor: z126.number().optional(),
|
|
2787
|
+
model_jscad: z126.any().optional(),
|
|
2788
|
+
show_as_translucent_model: z126.boolean().optional()
|
|
2781
2789
|
}).describe("Defines a component on the PCB");
|
|
2782
2790
|
expectTypesMatch(true);
|
|
2783
2791
|
|
|
2784
2792
|
// src/simulation/simulation_voltage_source.ts
|
|
2785
|
-
import { z as
|
|
2786
|
-
var wave_shape =
|
|
2787
|
-
var percentage =
|
|
2793
|
+
import { z as z127 } from "zod";
|
|
2794
|
+
var wave_shape = z127.enum(["sinewave", "square", "triangle", "sawtooth"]);
|
|
2795
|
+
var percentage = z127.union([z127.string(), z127.number()]).transform((val) => {
|
|
2788
2796
|
if (typeof val === "string") {
|
|
2789
2797
|
if (val.endsWith("%")) {
|
|
2790
2798
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -2793,30 +2801,30 @@ var percentage = z126.union([z126.string(), z126.number()]).transform((val) => {
|
|
|
2793
2801
|
}
|
|
2794
2802
|
return val;
|
|
2795
2803
|
}).pipe(
|
|
2796
|
-
|
|
2804
|
+
z127.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
2797
2805
|
);
|
|
2798
|
-
var simulation_dc_voltage_source =
|
|
2799
|
-
type:
|
|
2806
|
+
var simulation_dc_voltage_source = z127.object({
|
|
2807
|
+
type: z127.literal("simulation_voltage_source"),
|
|
2800
2808
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
2801
2809
|
"simulation_voltage_source"
|
|
2802
2810
|
),
|
|
2803
|
-
is_dc_source:
|
|
2804
|
-
positive_source_port_id:
|
|
2805
|
-
negative_source_port_id:
|
|
2806
|
-
positive_source_net_id:
|
|
2807
|
-
negative_source_net_id:
|
|
2811
|
+
is_dc_source: z127.literal(true).optional().default(true),
|
|
2812
|
+
positive_source_port_id: z127.string().optional(),
|
|
2813
|
+
negative_source_port_id: z127.string().optional(),
|
|
2814
|
+
positive_source_net_id: z127.string().optional(),
|
|
2815
|
+
negative_source_net_id: z127.string().optional(),
|
|
2808
2816
|
voltage
|
|
2809
2817
|
}).describe("Defines a DC voltage source for simulation");
|
|
2810
|
-
var simulation_ac_voltage_source =
|
|
2811
|
-
type:
|
|
2818
|
+
var simulation_ac_voltage_source = z127.object({
|
|
2819
|
+
type: z127.literal("simulation_voltage_source"),
|
|
2812
2820
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
2813
2821
|
"simulation_voltage_source"
|
|
2814
2822
|
),
|
|
2815
|
-
is_dc_source:
|
|
2816
|
-
terminal1_source_port_id:
|
|
2817
|
-
terminal2_source_port_id:
|
|
2818
|
-
terminal1_source_net_id:
|
|
2819
|
-
terminal2_source_net_id:
|
|
2823
|
+
is_dc_source: z127.literal(false),
|
|
2824
|
+
terminal1_source_port_id: z127.string().optional(),
|
|
2825
|
+
terminal2_source_port_id: z127.string().optional(),
|
|
2826
|
+
terminal1_source_net_id: z127.string().optional(),
|
|
2827
|
+
terminal2_source_net_id: z127.string().optional(),
|
|
2820
2828
|
voltage: voltage.optional(),
|
|
2821
2829
|
frequency: frequency.optional(),
|
|
2822
2830
|
peak_to_peak_voltage: voltage.optional(),
|
|
@@ -2824,25 +2832,25 @@ var simulation_ac_voltage_source = z126.object({
|
|
|
2824
2832
|
phase: rotation.optional(),
|
|
2825
2833
|
duty_cycle: percentage.optional()
|
|
2826
2834
|
}).describe("Defines an AC voltage source for simulation");
|
|
2827
|
-
var simulation_voltage_source =
|
|
2835
|
+
var simulation_voltage_source = z127.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
|
|
2828
2836
|
expectTypesMatch(true);
|
|
2829
2837
|
expectTypesMatch(true);
|
|
2830
2838
|
expectTypesMatch(true);
|
|
2831
2839
|
|
|
2832
2840
|
// src/simulation/simulation_experiment.ts
|
|
2833
|
-
import { z as
|
|
2834
|
-
var experiment_type =
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
2838
|
-
|
|
2841
|
+
import { z as z128 } from "zod";
|
|
2842
|
+
var experiment_type = z128.union([
|
|
2843
|
+
z128.literal("spice_dc_sweep"),
|
|
2844
|
+
z128.literal("spice_dc_operating_point"),
|
|
2845
|
+
z128.literal("spice_transient_analysis"),
|
|
2846
|
+
z128.literal("spice_ac_analysis")
|
|
2839
2847
|
]);
|
|
2840
|
-
var simulation_experiment =
|
|
2841
|
-
type:
|
|
2848
|
+
var simulation_experiment = z128.object({
|
|
2849
|
+
type: z128.literal("simulation_experiment"),
|
|
2842
2850
|
simulation_experiment_id: getZodPrefixedIdWithDefault(
|
|
2843
2851
|
"simulation_experiment"
|
|
2844
2852
|
),
|
|
2845
|
-
name:
|
|
2853
|
+
name: z128.string(),
|
|
2846
2854
|
experiment_type,
|
|
2847
2855
|
time_per_step: duration_ms.optional(),
|
|
2848
2856
|
start_time_ms: ms.optional(),
|
|
@@ -2851,53 +2859,53 @@ var simulation_experiment = z127.object({
|
|
|
2851
2859
|
expectTypesMatch(true);
|
|
2852
2860
|
|
|
2853
2861
|
// src/simulation/simulation_transient_voltage_graph.ts
|
|
2854
|
-
import { z as
|
|
2855
|
-
var simulation_transient_voltage_graph =
|
|
2856
|
-
type:
|
|
2862
|
+
import { z as z129 } from "zod";
|
|
2863
|
+
var simulation_transient_voltage_graph = z129.object({
|
|
2864
|
+
type: z129.literal("simulation_transient_voltage_graph"),
|
|
2857
2865
|
simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
|
|
2858
2866
|
"simulation_transient_voltage_graph"
|
|
2859
2867
|
),
|
|
2860
|
-
simulation_experiment_id:
|
|
2861
|
-
timestamps_ms:
|
|
2862
|
-
voltage_levels:
|
|
2863
|
-
source_component_id:
|
|
2864
|
-
subcircuit_connectivity_map_key:
|
|
2868
|
+
simulation_experiment_id: z129.string(),
|
|
2869
|
+
timestamps_ms: z129.array(z129.number()).optional(),
|
|
2870
|
+
voltage_levels: z129.array(z129.number()),
|
|
2871
|
+
source_component_id: z129.string().optional(),
|
|
2872
|
+
subcircuit_connectivity_map_key: z129.string().optional(),
|
|
2865
2873
|
time_per_step: duration_ms,
|
|
2866
2874
|
start_time_ms: ms,
|
|
2867
2875
|
end_time_ms: ms,
|
|
2868
|
-
name:
|
|
2869
|
-
color:
|
|
2876
|
+
name: z129.string().optional(),
|
|
2877
|
+
color: z129.string().optional()
|
|
2870
2878
|
}).describe("Stores voltage measurements over time for a simulation");
|
|
2871
2879
|
expectTypesMatch(true);
|
|
2872
2880
|
|
|
2873
2881
|
// src/simulation/simulation_switch.ts
|
|
2874
|
-
import { z as
|
|
2875
|
-
var simulation_switch =
|
|
2876
|
-
type:
|
|
2882
|
+
import { z as z130 } from "zod";
|
|
2883
|
+
var simulation_switch = z130.object({
|
|
2884
|
+
type: z130.literal("simulation_switch"),
|
|
2877
2885
|
simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
|
|
2878
|
-
source_component_id:
|
|
2886
|
+
source_component_id: z130.string().optional(),
|
|
2879
2887
|
closes_at: ms.optional(),
|
|
2880
2888
|
opens_at: ms.optional(),
|
|
2881
|
-
starts_closed:
|
|
2889
|
+
starts_closed: z130.boolean().optional(),
|
|
2882
2890
|
switching_frequency: frequency.optional()
|
|
2883
2891
|
}).describe("Defines a switch for simulation timing control");
|
|
2884
2892
|
expectTypesMatch(true);
|
|
2885
2893
|
|
|
2886
2894
|
// src/simulation/simulation_voltage_probe.ts
|
|
2887
|
-
import { z as
|
|
2888
|
-
var simulation_voltage_probe =
|
|
2889
|
-
type:
|
|
2895
|
+
import { z as z131 } from "zod";
|
|
2896
|
+
var simulation_voltage_probe = z131.object({
|
|
2897
|
+
type: z131.literal("simulation_voltage_probe"),
|
|
2890
2898
|
simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
|
|
2891
2899
|
"simulation_voltage_probe"
|
|
2892
2900
|
),
|
|
2893
|
-
source_component_id:
|
|
2894
|
-
name:
|
|
2895
|
-
signal_input_source_port_id:
|
|
2896
|
-
signal_input_source_net_id:
|
|
2897
|
-
reference_input_source_port_id:
|
|
2898
|
-
reference_input_source_net_id:
|
|
2899
|
-
subcircuit_id:
|
|
2900
|
-
color:
|
|
2901
|
+
source_component_id: z131.string().optional(),
|
|
2902
|
+
name: z131.string().optional(),
|
|
2903
|
+
signal_input_source_port_id: z131.string().optional(),
|
|
2904
|
+
signal_input_source_net_id: z131.string().optional(),
|
|
2905
|
+
reference_input_source_port_id: z131.string().optional(),
|
|
2906
|
+
reference_input_source_net_id: z131.string().optional(),
|
|
2907
|
+
subcircuit_id: z131.string().optional(),
|
|
2908
|
+
color: z131.string().optional()
|
|
2901
2909
|
}).describe(
|
|
2902
2910
|
"Defines a voltage probe for simulation. If a reference input is not provided, it measures against ground. If a reference input is provided, it measures the differential voltage between two points."
|
|
2903
2911
|
).superRefine((data, ctx) => {
|
|
@@ -2907,20 +2915,20 @@ var simulation_voltage_probe = z130.object({
|
|
|
2907
2915
|
const has_nets = !!data.signal_input_source_net_id || !!data.reference_input_source_net_id;
|
|
2908
2916
|
if (has_ports && has_nets) {
|
|
2909
2917
|
ctx.addIssue({
|
|
2910
|
-
code:
|
|
2918
|
+
code: z131.ZodIssueCode.custom,
|
|
2911
2919
|
message: "Cannot mix port and net connections in a differential probe."
|
|
2912
2920
|
});
|
|
2913
2921
|
} else if (has_ports) {
|
|
2914
2922
|
if (!data.signal_input_source_port_id || !data.reference_input_source_port_id) {
|
|
2915
2923
|
ctx.addIssue({
|
|
2916
|
-
code:
|
|
2924
|
+
code: z131.ZodIssueCode.custom,
|
|
2917
2925
|
message: "Differential port probe requires both signal_input_source_port_id and reference_input_source_port_id."
|
|
2918
2926
|
});
|
|
2919
2927
|
}
|
|
2920
2928
|
} else if (has_nets) {
|
|
2921
2929
|
if (!data.signal_input_source_net_id || !data.reference_input_source_net_id) {
|
|
2922
2930
|
ctx.addIssue({
|
|
2923
|
-
code:
|
|
2931
|
+
code: z131.ZodIssueCode.custom,
|
|
2924
2932
|
message: "Differential net probe requires both signal_input_source_net_id and reference_input_source_net_id."
|
|
2925
2933
|
});
|
|
2926
2934
|
}
|
|
@@ -2928,7 +2936,7 @@ var simulation_voltage_probe = z130.object({
|
|
|
2928
2936
|
} else {
|
|
2929
2937
|
if (!!data.signal_input_source_port_id === !!data.signal_input_source_net_id) {
|
|
2930
2938
|
ctx.addIssue({
|
|
2931
|
-
code:
|
|
2939
|
+
code: z131.ZodIssueCode.custom,
|
|
2932
2940
|
message: "A voltage probe must have exactly one of signal_input_source_port_id or signal_input_source_net_id."
|
|
2933
2941
|
});
|
|
2934
2942
|
}
|
|
@@ -2937,22 +2945,22 @@ var simulation_voltage_probe = z130.object({
|
|
|
2937
2945
|
expectTypesMatch(true);
|
|
2938
2946
|
|
|
2939
2947
|
// src/simulation/simulation_unknown_experiment_error.ts
|
|
2940
|
-
import { z as
|
|
2941
|
-
var simulation_unknown_experiment_error =
|
|
2942
|
-
type:
|
|
2948
|
+
import { z as z132 } from "zod";
|
|
2949
|
+
var simulation_unknown_experiment_error = z132.object({
|
|
2950
|
+
type: z132.literal("simulation_unknown_experiment_error"),
|
|
2943
2951
|
simulation_unknown_experiment_error_id: getZodPrefixedIdWithDefault(
|
|
2944
2952
|
"simulation_unknown_experiment_error"
|
|
2945
2953
|
),
|
|
2946
|
-
error_type:
|
|
2947
|
-
message:
|
|
2948
|
-
simulation_experiment_id:
|
|
2949
|
-
subcircuit_id:
|
|
2954
|
+
error_type: z132.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
|
|
2955
|
+
message: z132.string(),
|
|
2956
|
+
simulation_experiment_id: z132.string().optional(),
|
|
2957
|
+
subcircuit_id: z132.string().optional()
|
|
2950
2958
|
}).describe("An unknown error occurred during the simulation experiment.");
|
|
2951
2959
|
expectTypesMatch(true);
|
|
2952
2960
|
|
|
2953
2961
|
// src/any_circuit_element.ts
|
|
2954
|
-
import { z as
|
|
2955
|
-
var any_circuit_element =
|
|
2962
|
+
import { z as z133 } from "zod";
|
|
2963
|
+
var any_circuit_element = z133.union([
|
|
2956
2964
|
source_trace,
|
|
2957
2965
|
source_port,
|
|
2958
2966
|
any_source_component,
|
|
@@ -3212,6 +3220,7 @@ export {
|
|
|
3212
3220
|
source_component_base,
|
|
3213
3221
|
source_failed_to_create_component_error,
|
|
3214
3222
|
source_group,
|
|
3223
|
+
source_interconnect,
|
|
3215
3224
|
source_manually_placed_via,
|
|
3216
3225
|
source_missing_property_error,
|
|
3217
3226
|
source_net,
|