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