circuit-json 0.0.205 → 0.0.207

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