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