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