circuit-json 0.0.192 → 0.0.194

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
@@ -554,7 +554,8 @@ var source_port = z32.object({
554
554
  name: z32.string(),
555
555
  source_port_id: z32.string(),
556
556
  source_component_id: z32.string(),
557
- subcircuit_id: z32.string().optional()
557
+ subcircuit_id: z32.string().optional(),
558
+ subcircuit_connectivity_map_key: z32.string().optional()
558
559
  });
559
560
  expectTypesMatch(true);
560
561
 
@@ -596,7 +597,8 @@ var source_net = z35.object({
596
597
  is_digital_signal: z35.boolean().optional(),
597
598
  is_analog_signal: z35.boolean().optional(),
598
599
  trace_width: z35.number().optional(),
599
- subcircuit_id: z35.string().optional()
600
+ subcircuit_id: z35.string().optional(),
601
+ subcircuit_connectivity_map_key: z35.string().optional()
600
602
  });
601
603
 
602
604
  // src/schematic/schematic_box.ts
@@ -815,27 +817,40 @@ var schematic_error = z46.object({
815
817
  }).describe("Defines a schematic error on the schematic");
816
818
  expectTypesMatch(true);
817
819
 
818
- // src/schematic/schematic_debug_object.ts
820
+ // src/schematic/schematic_layout_error.ts
819
821
  import { z as z47 } from "zod";
820
- var schematic_debug_object_base = z47.object({
821
- type: z47.literal("schematic_debug_object"),
822
- label: z47.string().optional()
822
+ var schematic_layout_error = z47.object({
823
+ type: z47.literal("schematic_layout_error"),
824
+ schematic_layout_error_id: getZodPrefixedIdWithDefault(
825
+ "schematic_layout_error"
826
+ ),
827
+ message: z47.string(),
828
+ source_group_id: z47.string(),
829
+ schematic_group_id: z47.string()
830
+ }).describe("Error emitted when schematic layout fails for a group");
831
+ expectTypesMatch(true);
832
+
833
+ // src/schematic/schematic_debug_object.ts
834
+ import { z as z48 } from "zod";
835
+ var schematic_debug_object_base = z48.object({
836
+ type: z48.literal("schematic_debug_object"),
837
+ label: z48.string().optional()
823
838
  });
824
839
  var schematic_debug_rect = schematic_debug_object_base.extend({
825
- shape: z47.literal("rect"),
840
+ shape: z48.literal("rect"),
826
841
  center: point,
827
842
  size
828
843
  });
829
844
  var schematic_debug_line = schematic_debug_object_base.extend({
830
- shape: z47.literal("line"),
845
+ shape: z48.literal("line"),
831
846
  start: point,
832
847
  end: point
833
848
  });
834
849
  var schematic_debug_point = schematic_debug_object_base.extend({
835
- shape: z47.literal("point"),
850
+ shape: z48.literal("point"),
836
851
  center: point
837
852
  });
838
- var schematic_debug_object = z47.discriminatedUnion("shape", [
853
+ var schematic_debug_object = z48.discriminatedUnion("shape", [
839
854
  schematic_debug_rect,
840
855
  schematic_debug_line,
841
856
  schematic_debug_point
@@ -843,52 +858,52 @@ var schematic_debug_object = z47.discriminatedUnion("shape", [
843
858
  expectTypesMatch(true);
844
859
 
845
860
  // src/schematic/schematic_voltage_probe.ts
846
- import { z as z48 } from "zod";
847
- var schematic_voltage_probe = z48.object({
848
- type: z48.literal("schematic_voltage_probe"),
849
- schematic_voltage_probe_id: z48.string(),
861
+ import { z as z49 } from "zod";
862
+ var schematic_voltage_probe = z49.object({
863
+ type: z49.literal("schematic_voltage_probe"),
864
+ schematic_voltage_probe_id: z49.string(),
850
865
  position: point,
851
- schematic_trace_id: z48.string(),
866
+ schematic_trace_id: z49.string(),
852
867
  voltage: voltage.optional()
853
868
  }).describe("Defines a voltage probe measurement point on a schematic trace");
854
869
  expectTypesMatch(true);
855
870
 
856
871
  // src/schematic/schematic_manual_edit_conflict_warning.ts
857
- import { z as z49 } from "zod";
858
- var schematic_manual_edit_conflict_warning = z49.object({
859
- type: z49.literal("schematic_manual_edit_conflict_warning"),
872
+ import { z as z50 } from "zod";
873
+ var schematic_manual_edit_conflict_warning = z50.object({
874
+ type: z50.literal("schematic_manual_edit_conflict_warning"),
860
875
  schematic_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
861
876
  "schematic_manual_edit_conflict_warning"
862
877
  ),
863
- message: z49.string(),
864
- schematic_component_id: z49.string(),
865
- schematic_group_id: z49.string().optional(),
866
- subcircuit_id: z49.string().optional(),
867
- source_component_id: z49.string()
878
+ message: z50.string(),
879
+ schematic_component_id: z50.string(),
880
+ schematic_group_id: z50.string().optional(),
881
+ subcircuit_id: z50.string().optional(),
882
+ source_component_id: z50.string()
868
883
  }).describe(
869
884
  "Warning emitted when a component has both manual placement and explicit schX/schY coordinates"
870
885
  );
871
886
  expectTypesMatch(true);
872
887
 
873
888
  // src/schematic/schematic_group.ts
874
- import { z as z50 } from "zod";
875
- var schematic_group = z50.object({
876
- type: z50.literal("schematic_group"),
889
+ import { z as z51 } from "zod";
890
+ var schematic_group = z51.object({
891
+ type: z51.literal("schematic_group"),
877
892
  schematic_group_id: getZodPrefixedIdWithDefault("schematic_group"),
878
- source_group_id: z50.string(),
879
- is_subcircuit: z50.boolean().optional(),
880
- subcircuit_id: z50.string().optional(),
893
+ source_group_id: z51.string(),
894
+ is_subcircuit: z51.boolean().optional(),
895
+ subcircuit_id: z51.string().optional(),
881
896
  width: length,
882
897
  height: length,
883
898
  center: point,
884
- schematic_component_ids: z50.array(z50.string()),
885
- name: z50.string().optional(),
886
- description: z50.string().optional()
899
+ schematic_component_ids: z51.array(z51.string()),
900
+ name: z51.string().optional(),
901
+ description: z51.string().optional()
887
902
  }).describe("Defines a group of components on the schematic");
888
903
  expectTypesMatch(true);
889
904
 
890
905
  // src/pcb/properties/layer_ref.ts
891
- import { z as z51 } from "zod";
906
+ import { z as z52 } from "zod";
892
907
  var all_layers = [
893
908
  "top",
894
909
  "bottom",
@@ -899,9 +914,9 @@ var all_layers = [
899
914
  "inner5",
900
915
  "inner6"
901
916
  ];
902
- var layer_string = z51.enum(all_layers);
917
+ var layer_string = z52.enum(all_layers);
903
918
  var layer_ref = layer_string.or(
904
- z51.object({
919
+ z52.object({
905
920
  name: layer_string
906
921
  })
907
922
  ).transform((layer) => {
@@ -910,53 +925,53 @@ var layer_ref = layer_string.or(
910
925
  }
911
926
  return layer.name;
912
927
  });
913
- var visible_layer = z51.enum(["top", "bottom"]);
928
+ var visible_layer = z52.enum(["top", "bottom"]);
914
929
 
915
930
  // src/pcb/properties/pcb_route_hints.ts
916
- import { z as z52 } from "zod";
917
- var pcb_route_hint = z52.object({
931
+ import { z as z53 } from "zod";
932
+ var pcb_route_hint = z53.object({
918
933
  x: distance,
919
934
  y: distance,
920
- via: z52.boolean().optional(),
935
+ via: z53.boolean().optional(),
921
936
  via_to_layer: layer_ref.optional()
922
937
  });
923
- var pcb_route_hints = z52.array(pcb_route_hint);
938
+ var pcb_route_hints = z53.array(pcb_route_hint);
924
939
 
925
940
  // src/pcb/properties/route_hint_point.ts
926
- import { z as z53 } from "zod";
927
- var route_hint_point = z53.object({
941
+ import { z as z54 } from "zod";
942
+ var route_hint_point = z54.object({
928
943
  x: distance,
929
944
  y: distance,
930
- via: z53.boolean().optional(),
945
+ via: z54.boolean().optional(),
931
946
  to_layer: layer_ref.optional(),
932
947
  trace_width: distance.optional()
933
948
  });
934
949
 
935
950
  // src/pcb/pcb_component.ts
936
- import { z as z54 } from "zod";
937
- var pcb_component = z54.object({
938
- type: z54.literal("pcb_component"),
951
+ import { z as z55 } from "zod";
952
+ var pcb_component = z55.object({
953
+ type: z55.literal("pcb_component"),
939
954
  pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
940
- source_component_id: z54.string(),
955
+ source_component_id: z55.string(),
941
956
  center: point,
942
957
  layer: layer_ref,
943
958
  rotation,
944
959
  width: length,
945
960
  height: length,
946
- subcircuit_id: z54.string().optional(),
947
- pcb_group_id: z54.string().optional()
961
+ subcircuit_id: z55.string().optional(),
962
+ pcb_group_id: z55.string().optional()
948
963
  }).describe("Defines a component on the PCB");
949
964
  expectTypesMatch(true);
950
965
 
951
966
  // src/pcb/pcb_hole.ts
952
- import { z as z55 } from "zod";
953
- var pcb_hole_circle_or_square = z55.object({
954
- type: z55.literal("pcb_hole"),
967
+ import { z as z56 } from "zod";
968
+ var pcb_hole_circle_or_square = z56.object({
969
+ type: z56.literal("pcb_hole"),
955
970
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
956
- pcb_group_id: z55.string().optional(),
957
- subcircuit_id: z55.string().optional(),
958
- hole_shape: z55.enum(["circle", "square"]),
959
- hole_diameter: z55.number(),
971
+ pcb_group_id: z56.string().optional(),
972
+ subcircuit_id: z56.string().optional(),
973
+ hole_shape: z56.enum(["circle", "square"]),
974
+ hole_diameter: z56.number(),
960
975
  x: distance,
961
976
  y: distance
962
977
  });
@@ -964,14 +979,14 @@ var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
964
979
  "Defines a circular or square hole on the PCB"
965
980
  );
966
981
  expectTypesMatch(true);
967
- var pcb_hole_oval = z55.object({
968
- type: z55.literal("pcb_hole"),
982
+ var pcb_hole_oval = z56.object({
983
+ type: z56.literal("pcb_hole"),
969
984
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
970
- pcb_group_id: z55.string().optional(),
971
- subcircuit_id: z55.string().optional(),
972
- hole_shape: z55.literal("oval"),
973
- hole_width: z55.number(),
974
- hole_height: z55.number(),
985
+ pcb_group_id: z56.string().optional(),
986
+ subcircuit_id: z56.string().optional(),
987
+ hole_shape: z56.literal("oval"),
988
+ hole_width: z56.number(),
989
+ hole_height: z56.number(),
975
990
  x: distance,
976
991
  y: distance
977
992
  });
@@ -982,77 +997,77 @@ expectTypesMatch(true);
982
997
  var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval);
983
998
 
984
999
  // src/pcb/pcb_plated_hole.ts
985
- import { z as z56 } from "zod";
986
- var pcb_plated_hole_circle = z56.object({
987
- type: z56.literal("pcb_plated_hole"),
988
- shape: z56.literal("circle"),
989
- pcb_group_id: z56.string().optional(),
990
- subcircuit_id: z56.string().optional(),
991
- outer_diameter: z56.number(),
992
- hole_diameter: z56.number(),
1000
+ import { z as z57 } from "zod";
1001
+ var pcb_plated_hole_circle = z57.object({
1002
+ type: z57.literal("pcb_plated_hole"),
1003
+ shape: z57.literal("circle"),
1004
+ pcb_group_id: z57.string().optional(),
1005
+ subcircuit_id: z57.string().optional(),
1006
+ outer_diameter: z57.number(),
1007
+ hole_diameter: z57.number(),
993
1008
  x: distance,
994
1009
  y: distance,
995
- layers: z56.array(layer_ref),
996
- port_hints: z56.array(z56.string()).optional(),
997
- pcb_component_id: z56.string().optional(),
998
- pcb_port_id: z56.string().optional(),
1010
+ layers: z57.array(layer_ref),
1011
+ port_hints: z57.array(z57.string()).optional(),
1012
+ pcb_component_id: z57.string().optional(),
1013
+ pcb_port_id: z57.string().optional(),
999
1014
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
1000
1015
  });
1001
- var pcb_plated_hole_oval = z56.object({
1002
- type: z56.literal("pcb_plated_hole"),
1003
- shape: z56.enum(["oval", "pill"]),
1004
- pcb_group_id: z56.string().optional(),
1005
- subcircuit_id: z56.string().optional(),
1006
- outer_width: z56.number(),
1007
- outer_height: z56.number(),
1008
- hole_width: z56.number(),
1009
- hole_height: z56.number(),
1016
+ var pcb_plated_hole_oval = z57.object({
1017
+ type: z57.literal("pcb_plated_hole"),
1018
+ shape: z57.enum(["oval", "pill"]),
1019
+ pcb_group_id: z57.string().optional(),
1020
+ subcircuit_id: z57.string().optional(),
1021
+ outer_width: z57.number(),
1022
+ outer_height: z57.number(),
1023
+ hole_width: z57.number(),
1024
+ hole_height: z57.number(),
1010
1025
  x: distance,
1011
1026
  y: distance,
1012
- layers: z56.array(layer_ref),
1013
- port_hints: z56.array(z56.string()).optional(),
1014
- pcb_component_id: z56.string().optional(),
1015
- pcb_port_id: z56.string().optional(),
1027
+ layers: z57.array(layer_ref),
1028
+ port_hints: z57.array(z57.string()).optional(),
1029
+ pcb_component_id: z57.string().optional(),
1030
+ pcb_port_id: z57.string().optional(),
1016
1031
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
1017
1032
  });
1018
- var pcb_circular_hole_with_rect_pad = z56.object({
1019
- type: z56.literal("pcb_plated_hole"),
1020
- shape: z56.literal("circular_hole_with_rect_pad"),
1021
- pcb_group_id: z56.string().optional(),
1022
- subcircuit_id: z56.string().optional(),
1023
- hole_shape: z56.literal("circle"),
1024
- pad_shape: z56.literal("rect"),
1025
- hole_diameter: z56.number(),
1026
- rect_pad_width: z56.number(),
1027
- rect_pad_height: z56.number(),
1033
+ var pcb_circular_hole_with_rect_pad = z57.object({
1034
+ type: z57.literal("pcb_plated_hole"),
1035
+ shape: z57.literal("circular_hole_with_rect_pad"),
1036
+ pcb_group_id: z57.string().optional(),
1037
+ subcircuit_id: z57.string().optional(),
1038
+ hole_shape: z57.literal("circle"),
1039
+ pad_shape: z57.literal("rect"),
1040
+ hole_diameter: z57.number(),
1041
+ rect_pad_width: z57.number(),
1042
+ rect_pad_height: z57.number(),
1028
1043
  x: distance,
1029
1044
  y: distance,
1030
- layers: z56.array(layer_ref),
1031
- port_hints: z56.array(z56.string()).optional(),
1032
- pcb_component_id: z56.string().optional(),
1033
- pcb_port_id: z56.string().optional(),
1045
+ layers: z57.array(layer_ref),
1046
+ port_hints: z57.array(z57.string()).optional(),
1047
+ pcb_component_id: z57.string().optional(),
1048
+ pcb_port_id: z57.string().optional(),
1034
1049
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
1035
1050
  });
1036
- var pcb_pill_hole_with_rect_pad = z56.object({
1037
- type: z56.literal("pcb_plated_hole"),
1038
- shape: z56.literal("pill_hole_with_rect_pad"),
1039
- pcb_group_id: z56.string().optional(),
1040
- subcircuit_id: z56.string().optional(),
1041
- hole_shape: z56.literal("pill"),
1042
- pad_shape: z56.literal("rect"),
1043
- hole_width: z56.number(),
1044
- hole_height: z56.number(),
1045
- rect_pad_width: z56.number(),
1046
- rect_pad_height: z56.number(),
1051
+ var pcb_pill_hole_with_rect_pad = z57.object({
1052
+ type: z57.literal("pcb_plated_hole"),
1053
+ shape: z57.literal("pill_hole_with_rect_pad"),
1054
+ pcb_group_id: z57.string().optional(),
1055
+ subcircuit_id: z57.string().optional(),
1056
+ hole_shape: z57.literal("pill"),
1057
+ pad_shape: z57.literal("rect"),
1058
+ hole_width: z57.number(),
1059
+ hole_height: z57.number(),
1060
+ rect_pad_width: z57.number(),
1061
+ rect_pad_height: z57.number(),
1047
1062
  x: distance,
1048
1063
  y: distance,
1049
- layers: z56.array(layer_ref),
1050
- port_hints: z56.array(z56.string()).optional(),
1051
- pcb_component_id: z56.string().optional(),
1052
- pcb_port_id: z56.string().optional(),
1064
+ layers: z57.array(layer_ref),
1065
+ port_hints: z57.array(z57.string()).optional(),
1066
+ pcb_component_id: z57.string().optional(),
1067
+ pcb_port_id: z57.string().optional(),
1053
1068
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
1054
1069
  });
1055
- var pcb_plated_hole = z56.union([
1070
+ var pcb_plated_hole = z57.union([
1056
1071
  pcb_plated_hole_circle,
1057
1072
  pcb_plated_hole_oval,
1058
1073
  pcb_circular_hole_with_rect_pad,
@@ -1066,84 +1081,84 @@ expectTypesMatch(true);
1066
1081
  expectTypesMatch(true);
1067
1082
 
1068
1083
  // src/pcb/pcb_port.ts
1069
- import { z as z57 } from "zod";
1070
- var pcb_port = z57.object({
1071
- type: z57.literal("pcb_port"),
1084
+ import { z as z58 } from "zod";
1085
+ var pcb_port = z58.object({
1086
+ type: z58.literal("pcb_port"),
1072
1087
  pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
1073
- pcb_group_id: z57.string().optional(),
1074
- subcircuit_id: z57.string().optional(),
1075
- source_port_id: z57.string(),
1076
- pcb_component_id: z57.string(),
1088
+ pcb_group_id: z58.string().optional(),
1089
+ subcircuit_id: z58.string().optional(),
1090
+ source_port_id: z58.string(),
1091
+ pcb_component_id: z58.string(),
1077
1092
  x: distance,
1078
1093
  y: distance,
1079
- layers: z57.array(layer_ref)
1094
+ layers: z58.array(layer_ref)
1080
1095
  }).describe("Defines a port on the PCB");
1081
1096
  expectTypesMatch(true);
1082
1097
 
1083
1098
  // src/pcb/pcb_smtpad.ts
1084
- import { z as z58 } from "zod";
1085
- var pcb_smtpad_circle = z58.object({
1086
- type: z58.literal("pcb_smtpad"),
1087
- shape: z58.literal("circle"),
1099
+ import { z as z59 } from "zod";
1100
+ var pcb_smtpad_circle = z59.object({
1101
+ type: z59.literal("pcb_smtpad"),
1102
+ shape: z59.literal("circle"),
1088
1103
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1089
- pcb_group_id: z58.string().optional(),
1090
- subcircuit_id: z58.string().optional(),
1104
+ pcb_group_id: z59.string().optional(),
1105
+ subcircuit_id: z59.string().optional(),
1091
1106
  x: distance,
1092
1107
  y: distance,
1093
- radius: z58.number(),
1108
+ radius: z59.number(),
1094
1109
  layer: layer_ref,
1095
- port_hints: z58.array(z58.string()).optional(),
1096
- pcb_component_id: z58.string().optional(),
1097
- pcb_port_id: z58.string().optional()
1110
+ port_hints: z59.array(z59.string()).optional(),
1111
+ pcb_component_id: z59.string().optional(),
1112
+ pcb_port_id: z59.string().optional()
1098
1113
  });
1099
- var pcb_smtpad_rect = z58.object({
1100
- type: z58.literal("pcb_smtpad"),
1101
- shape: z58.literal("rect"),
1114
+ var pcb_smtpad_rect = z59.object({
1115
+ type: z59.literal("pcb_smtpad"),
1116
+ shape: z59.literal("rect"),
1102
1117
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1103
- pcb_group_id: z58.string().optional(),
1104
- subcircuit_id: z58.string().optional(),
1118
+ pcb_group_id: z59.string().optional(),
1119
+ subcircuit_id: z59.string().optional(),
1105
1120
  x: distance,
1106
1121
  y: distance,
1107
- width: z58.number(),
1108
- height: z58.number(),
1122
+ width: z59.number(),
1123
+ height: z59.number(),
1109
1124
  layer: layer_ref,
1110
- port_hints: z58.array(z58.string()).optional(),
1111
- pcb_component_id: z58.string().optional(),
1112
- pcb_port_id: z58.string().optional()
1125
+ port_hints: z59.array(z59.string()).optional(),
1126
+ pcb_component_id: z59.string().optional(),
1127
+ pcb_port_id: z59.string().optional()
1113
1128
  });
1114
- var pcb_smtpad_rotated_rect = z58.object({
1115
- type: z58.literal("pcb_smtpad"),
1116
- shape: z58.literal("rotated_rect"),
1129
+ var pcb_smtpad_rotated_rect = z59.object({
1130
+ type: z59.literal("pcb_smtpad"),
1131
+ shape: z59.literal("rotated_rect"),
1117
1132
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1118
- pcb_group_id: z58.string().optional(),
1119
- subcircuit_id: z58.string().optional(),
1133
+ pcb_group_id: z59.string().optional(),
1134
+ subcircuit_id: z59.string().optional(),
1120
1135
  x: distance,
1121
1136
  y: distance,
1122
- width: z58.number(),
1123
- height: z58.number(),
1137
+ width: z59.number(),
1138
+ height: z59.number(),
1124
1139
  ccw_rotation: rotation,
1125
1140
  layer: layer_ref,
1126
- port_hints: z58.array(z58.string()).optional(),
1127
- pcb_component_id: z58.string().optional(),
1128
- pcb_port_id: z58.string().optional()
1141
+ port_hints: z59.array(z59.string()).optional(),
1142
+ pcb_component_id: z59.string().optional(),
1143
+ pcb_port_id: z59.string().optional()
1129
1144
  });
1130
- var pcb_smtpad_pill = z58.object({
1131
- type: z58.literal("pcb_smtpad"),
1132
- shape: z58.literal("pill"),
1145
+ var pcb_smtpad_pill = z59.object({
1146
+ type: z59.literal("pcb_smtpad"),
1147
+ shape: z59.literal("pill"),
1133
1148
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1134
- pcb_group_id: z58.string().optional(),
1135
- subcircuit_id: z58.string().optional(),
1149
+ pcb_group_id: z59.string().optional(),
1150
+ subcircuit_id: z59.string().optional(),
1136
1151
  x: distance,
1137
1152
  y: distance,
1138
- width: z58.number(),
1139
- height: z58.number(),
1140
- radius: z58.number(),
1153
+ width: z59.number(),
1154
+ height: z59.number(),
1155
+ radius: z59.number(),
1141
1156
  layer: layer_ref,
1142
- port_hints: z58.array(z58.string()).optional(),
1143
- pcb_component_id: z58.string().optional(),
1144
- pcb_port_id: z58.string().optional()
1157
+ port_hints: z59.array(z59.string()).optional(),
1158
+ pcb_component_id: z59.string().optional(),
1159
+ pcb_port_id: z59.string().optional()
1145
1160
  });
1146
- var pcb_smtpad = z58.union([
1161
+ var pcb_smtpad = z59.union([
1147
1162
  pcb_smtpad_circle,
1148
1163
  pcb_smtpad_rect,
1149
1164
  pcb_smtpad_rotated_rect,
@@ -1155,79 +1170,79 @@ expectTypesMatch(true);
1155
1170
  expectTypesMatch(true);
1156
1171
 
1157
1172
  // src/pcb/pcb_solder_paste.ts
1158
- import { z as z59 } from "zod";
1159
- var pcb_solder_paste_circle = z59.object({
1160
- type: z59.literal("pcb_solder_paste"),
1161
- shape: z59.literal("circle"),
1173
+ import { z as z60 } from "zod";
1174
+ var pcb_solder_paste_circle = z60.object({
1175
+ type: z60.literal("pcb_solder_paste"),
1176
+ shape: z60.literal("circle"),
1162
1177
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
1163
- pcb_group_id: z59.string().optional(),
1164
- subcircuit_id: z59.string().optional(),
1178
+ pcb_group_id: z60.string().optional(),
1179
+ subcircuit_id: z60.string().optional(),
1165
1180
  x: distance,
1166
1181
  y: distance,
1167
- radius: z59.number(),
1182
+ radius: z60.number(),
1168
1183
  layer: layer_ref,
1169
- pcb_component_id: z59.string().optional(),
1170
- pcb_smtpad_id: z59.string().optional()
1184
+ pcb_component_id: z60.string().optional(),
1185
+ pcb_smtpad_id: z60.string().optional()
1171
1186
  });
1172
- var pcb_solder_paste_rect = z59.object({
1173
- type: z59.literal("pcb_solder_paste"),
1174
- shape: z59.literal("rect"),
1187
+ var pcb_solder_paste_rect = z60.object({
1188
+ type: z60.literal("pcb_solder_paste"),
1189
+ shape: z60.literal("rect"),
1175
1190
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
1176
- pcb_group_id: z59.string().optional(),
1177
- subcircuit_id: z59.string().optional(),
1191
+ pcb_group_id: z60.string().optional(),
1192
+ subcircuit_id: z60.string().optional(),
1178
1193
  x: distance,
1179
1194
  y: distance,
1180
- width: z59.number(),
1181
- height: z59.number(),
1195
+ width: z60.number(),
1196
+ height: z60.number(),
1182
1197
  layer: layer_ref,
1183
- pcb_component_id: z59.string().optional(),
1184
- pcb_smtpad_id: z59.string().optional()
1198
+ pcb_component_id: z60.string().optional(),
1199
+ pcb_smtpad_id: z60.string().optional()
1185
1200
  });
1186
- var pcb_solder_paste_pill = z59.object({
1187
- type: z59.literal("pcb_solder_paste"),
1188
- shape: z59.literal("pill"),
1201
+ var pcb_solder_paste_pill = z60.object({
1202
+ type: z60.literal("pcb_solder_paste"),
1203
+ shape: z60.literal("pill"),
1189
1204
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
1190
- pcb_group_id: z59.string().optional(),
1191
- subcircuit_id: z59.string().optional(),
1205
+ pcb_group_id: z60.string().optional(),
1206
+ subcircuit_id: z60.string().optional(),
1192
1207
  x: distance,
1193
1208
  y: distance,
1194
- width: z59.number(),
1195
- height: z59.number(),
1196
- radius: z59.number(),
1209
+ width: z60.number(),
1210
+ height: z60.number(),
1211
+ radius: z60.number(),
1197
1212
  layer: layer_ref,
1198
- pcb_component_id: z59.string().optional(),
1199
- pcb_smtpad_id: z59.string().optional()
1213
+ pcb_component_id: z60.string().optional(),
1214
+ pcb_smtpad_id: z60.string().optional()
1200
1215
  });
1201
- var pcb_solder_paste_rotated_rect = z59.object({
1202
- type: z59.literal("pcb_solder_paste"),
1203
- shape: z59.literal("rotated_rect"),
1216
+ var pcb_solder_paste_rotated_rect = z60.object({
1217
+ type: z60.literal("pcb_solder_paste"),
1218
+ shape: z60.literal("rotated_rect"),
1204
1219
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
1205
- pcb_group_id: z59.string().optional(),
1206
- subcircuit_id: z59.string().optional(),
1220
+ pcb_group_id: z60.string().optional(),
1221
+ subcircuit_id: z60.string().optional(),
1207
1222
  x: distance,
1208
1223
  y: distance,
1209
- width: z59.number(),
1210
- height: z59.number(),
1224
+ width: z60.number(),
1225
+ height: z60.number(),
1211
1226
  ccw_rotation: distance,
1212
1227
  layer: layer_ref,
1213
- pcb_component_id: z59.string().optional(),
1214
- pcb_smtpad_id: z59.string().optional()
1228
+ pcb_component_id: z60.string().optional(),
1229
+ pcb_smtpad_id: z60.string().optional()
1215
1230
  });
1216
- var pcb_solder_paste_oval = z59.object({
1217
- type: z59.literal("pcb_solder_paste"),
1218
- shape: z59.literal("oval"),
1231
+ var pcb_solder_paste_oval = z60.object({
1232
+ type: z60.literal("pcb_solder_paste"),
1233
+ shape: z60.literal("oval"),
1219
1234
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
1220
- pcb_group_id: z59.string().optional(),
1221
- subcircuit_id: z59.string().optional(),
1235
+ pcb_group_id: z60.string().optional(),
1236
+ subcircuit_id: z60.string().optional(),
1222
1237
  x: distance,
1223
1238
  y: distance,
1224
- width: z59.number(),
1225
- height: z59.number(),
1239
+ width: z60.number(),
1240
+ height: z60.number(),
1226
1241
  layer: layer_ref,
1227
- pcb_component_id: z59.string().optional(),
1228
- pcb_smtpad_id: z59.string().optional()
1242
+ pcb_component_id: z60.string().optional(),
1243
+ pcb_smtpad_id: z60.string().optional()
1229
1244
  });
1230
- var pcb_solder_paste = z59.union([
1245
+ var pcb_solder_paste = z60.union([
1231
1246
  pcb_solder_paste_circle,
1232
1247
  pcb_solder_paste_rect,
1233
1248
  pcb_solder_paste_pill,
@@ -1243,95 +1258,95 @@ expectTypesMatch(
1243
1258
  expectTypesMatch(true);
1244
1259
 
1245
1260
  // src/pcb/pcb_text.ts
1246
- import { z as z60 } from "zod";
1247
- var pcb_text = z60.object({
1248
- type: z60.literal("pcb_text"),
1261
+ import { z as z61 } from "zod";
1262
+ var pcb_text = z61.object({
1263
+ type: z61.literal("pcb_text"),
1249
1264
  pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
1250
- pcb_group_id: z60.string().optional(),
1251
- subcircuit_id: z60.string().optional(),
1252
- text: z60.string(),
1265
+ pcb_group_id: z61.string().optional(),
1266
+ subcircuit_id: z61.string().optional(),
1267
+ text: z61.string(),
1253
1268
  center: point,
1254
1269
  layer: layer_ref,
1255
1270
  width: length,
1256
1271
  height: length,
1257
- lines: z60.number(),
1272
+ lines: z61.number(),
1258
1273
  // @ts-ignore
1259
- align: z60.enum(["bottom-left"])
1274
+ align: z61.enum(["bottom-left"])
1260
1275
  }).describe("Defines text on the PCB");
1261
1276
  expectTypesMatch(true);
1262
1277
 
1263
1278
  // src/pcb/pcb_trace.ts
1264
- import { z as z61 } from "zod";
1265
- var pcb_trace_route_point_wire = z61.object({
1266
- route_type: z61.literal("wire"),
1279
+ import { z as z62 } from "zod";
1280
+ var pcb_trace_route_point_wire = z62.object({
1281
+ route_type: z62.literal("wire"),
1267
1282
  x: distance,
1268
1283
  y: distance,
1269
1284
  width: distance,
1270
- start_pcb_port_id: z61.string().optional(),
1271
- end_pcb_port_id: z61.string().optional(),
1285
+ start_pcb_port_id: z62.string().optional(),
1286
+ end_pcb_port_id: z62.string().optional(),
1272
1287
  layer: layer_ref
1273
1288
  });
1274
- var pcb_trace_route_point_via = z61.object({
1275
- route_type: z61.literal("via"),
1289
+ var pcb_trace_route_point_via = z62.object({
1290
+ route_type: z62.literal("via"),
1276
1291
  x: distance,
1277
1292
  y: distance,
1278
1293
  hole_diameter: distance.optional(),
1279
1294
  outer_diameter: distance.optional(),
1280
- from_layer: z61.string(),
1281
- to_layer: z61.string()
1295
+ from_layer: z62.string(),
1296
+ to_layer: z62.string()
1282
1297
  });
1283
- var pcb_trace_route_point = z61.union([
1298
+ var pcb_trace_route_point = z62.union([
1284
1299
  pcb_trace_route_point_wire,
1285
1300
  pcb_trace_route_point_via
1286
1301
  ]);
1287
- var pcb_trace = z61.object({
1288
- type: z61.literal("pcb_trace"),
1289
- source_trace_id: z61.string().optional(),
1290
- pcb_component_id: z61.string().optional(),
1302
+ var pcb_trace = z62.object({
1303
+ type: z62.literal("pcb_trace"),
1304
+ source_trace_id: z62.string().optional(),
1305
+ pcb_component_id: z62.string().optional(),
1291
1306
  pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
1292
- pcb_group_id: z61.string().optional(),
1293
- subcircuit_id: z61.string().optional(),
1294
- route_thickness_mode: z61.enum(["constant", "interpolated"]).default("constant").optional(),
1295
- route_order_index: z61.number().optional(),
1296
- should_round_corners: z61.boolean().optional(),
1297
- trace_length: z61.number().optional(),
1298
- route: z61.array(pcb_trace_route_point)
1307
+ pcb_group_id: z62.string().optional(),
1308
+ subcircuit_id: z62.string().optional(),
1309
+ route_thickness_mode: z62.enum(["constant", "interpolated"]).default("constant").optional(),
1310
+ route_order_index: z62.number().optional(),
1311
+ should_round_corners: z62.boolean().optional(),
1312
+ trace_length: z62.number().optional(),
1313
+ route: z62.array(pcb_trace_route_point)
1299
1314
  }).describe("Defines a trace on the PCB");
1300
1315
  expectTypesMatch(true);
1301
1316
  expectTypesMatch(true);
1302
1317
 
1303
1318
  // src/pcb/pcb_trace_error.ts
1304
- import { z as z62 } from "zod";
1305
- var pcb_trace_error = z62.object({
1306
- type: z62.literal("pcb_trace_error"),
1319
+ import { z as z63 } from "zod";
1320
+ var pcb_trace_error = z63.object({
1321
+ type: z63.literal("pcb_trace_error"),
1307
1322
  pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
1308
- error_type: z62.literal("pcb_trace_error"),
1309
- message: z62.string(),
1323
+ error_type: z63.literal("pcb_trace_error"),
1324
+ message: z63.string(),
1310
1325
  center: point.optional(),
1311
- pcb_trace_id: z62.string(),
1312
- source_trace_id: z62.string(),
1313
- pcb_component_ids: z62.array(z62.string()),
1314
- pcb_port_ids: z62.array(z62.string())
1326
+ pcb_trace_id: z63.string(),
1327
+ source_trace_id: z63.string(),
1328
+ pcb_component_ids: z63.array(z63.string()),
1329
+ pcb_port_ids: z63.array(z63.string())
1315
1330
  }).describe("Defines a trace error on the PCB");
1316
1331
  expectTypesMatch(true);
1317
1332
 
1318
1333
  // src/pcb/pcb_port_not_matched_error.ts
1319
- import { z as z63 } from "zod";
1320
- var pcb_port_not_matched_error = z63.object({
1321
- type: z63.literal("pcb_port_not_matched_error"),
1334
+ import { z as z64 } from "zod";
1335
+ var pcb_port_not_matched_error = z64.object({
1336
+ type: z64.literal("pcb_port_not_matched_error"),
1322
1337
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
1323
- message: z63.string(),
1324
- pcb_component_ids: z63.array(z63.string())
1338
+ message: z64.string(),
1339
+ pcb_component_ids: z64.array(z64.string())
1325
1340
  }).describe("Defines a trace error on the PCB where a port is not matched");
1326
1341
  expectTypesMatch(true);
1327
1342
 
1328
1343
  // src/pcb/pcb_via.ts
1329
- import { z as z64 } from "zod";
1330
- var pcb_via = z64.object({
1331
- type: z64.literal("pcb_via"),
1344
+ import { z as z65 } from "zod";
1345
+ var pcb_via = z65.object({
1346
+ type: z65.literal("pcb_via"),
1332
1347
  pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
1333
- pcb_group_id: z64.string().optional(),
1334
- subcircuit_id: z64.string().optional(),
1348
+ pcb_group_id: z65.string().optional(),
1349
+ subcircuit_id: z65.string().optional(),
1335
1350
  x: distance,
1336
1351
  y: distance,
1337
1352
  outer_diameter: distance.default("0.6mm"),
@@ -1340,56 +1355,56 @@ var pcb_via = z64.object({
1340
1355
  from_layer: layer_ref.optional(),
1341
1356
  /** @deprecated */
1342
1357
  to_layer: layer_ref.optional(),
1343
- layers: z64.array(layer_ref),
1344
- pcb_trace_id: z64.string().optional()
1358
+ layers: z65.array(layer_ref),
1359
+ pcb_trace_id: z65.string().optional()
1345
1360
  }).describe("Defines a via on the PCB");
1346
1361
  expectTypesMatch(true);
1347
1362
 
1348
1363
  // src/pcb/pcb_board.ts
1349
- import { z as z65 } from "zod";
1350
- var pcb_board = z65.object({
1351
- type: z65.literal("pcb_board"),
1364
+ import { z as z66 } from "zod";
1365
+ var pcb_board = z66.object({
1366
+ type: z66.literal("pcb_board"),
1352
1367
  pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
1353
- is_subcircuit: z65.boolean().optional(),
1354
- subcircuit_id: z65.string().optional(),
1368
+ is_subcircuit: z66.boolean().optional(),
1369
+ subcircuit_id: z66.string().optional(),
1355
1370
  width: length,
1356
1371
  height: length,
1357
1372
  center: point,
1358
1373
  thickness: length.optional().default(1.4),
1359
- num_layers: z65.number().optional().default(4),
1360
- outline: z65.array(point).optional(),
1361
- material: z65.enum(["fr4", "fr1"]).default("fr4")
1374
+ num_layers: z66.number().optional().default(4),
1375
+ outline: z66.array(point).optional(),
1376
+ material: z66.enum(["fr4", "fr1"]).default("fr4")
1362
1377
  }).describe("Defines the board outline of the PCB");
1363
1378
  expectTypesMatch(true);
1364
1379
 
1365
1380
  // src/pcb/pcb_placement_error.ts
1366
- import { z as z66 } from "zod";
1367
- var pcb_placement_error = z66.object({
1368
- type: z66.literal("pcb_placement_error"),
1381
+ import { z as z67 } from "zod";
1382
+ var pcb_placement_error = z67.object({
1383
+ type: z67.literal("pcb_placement_error"),
1369
1384
  pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
1370
- message: z66.string()
1385
+ message: z67.string()
1371
1386
  }).describe("Defines a placement error on the PCB");
1372
1387
  expectTypesMatch(true);
1373
1388
 
1374
1389
  // src/pcb/pcb_trace_hint.ts
1375
- import { z as z67 } from "zod";
1376
- var pcb_trace_hint = z67.object({
1377
- type: z67.literal("pcb_trace_hint"),
1390
+ import { z as z68 } from "zod";
1391
+ var pcb_trace_hint = z68.object({
1392
+ type: z68.literal("pcb_trace_hint"),
1378
1393
  pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
1379
- pcb_port_id: z67.string(),
1380
- pcb_component_id: z67.string(),
1381
- route: z67.array(route_hint_point)
1394
+ pcb_port_id: z68.string(),
1395
+ pcb_component_id: z68.string(),
1396
+ route: z68.array(route_hint_point)
1382
1397
  }).describe("A hint that can be used during generation of a PCB trace");
1383
1398
  expectTypesMatch(true);
1384
1399
 
1385
1400
  // src/pcb/pcb_silkscreen_line.ts
1386
- import { z as z68 } from "zod";
1387
- var pcb_silkscreen_line = z68.object({
1388
- type: z68.literal("pcb_silkscreen_line"),
1401
+ import { z as z69 } from "zod";
1402
+ var pcb_silkscreen_line = z69.object({
1403
+ type: z69.literal("pcb_silkscreen_line"),
1389
1404
  pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
1390
- pcb_component_id: z68.string(),
1391
- pcb_group_id: z68.string().optional(),
1392
- subcircuit_id: z68.string().optional(),
1405
+ pcb_component_id: z69.string(),
1406
+ pcb_group_id: z69.string().optional(),
1407
+ subcircuit_id: z69.string().optional(),
1393
1408
  stroke_width: distance.default("0.1mm"),
1394
1409
  x1: distance,
1395
1410
  y1: distance,
@@ -1400,67 +1415,67 @@ var pcb_silkscreen_line = z68.object({
1400
1415
  expectTypesMatch(true);
1401
1416
 
1402
1417
  // src/pcb/pcb_silkscreen_path.ts
1403
- import { z as z69 } from "zod";
1404
- var pcb_silkscreen_path = z69.object({
1405
- type: z69.literal("pcb_silkscreen_path"),
1418
+ import { z as z70 } from "zod";
1419
+ var pcb_silkscreen_path = z70.object({
1420
+ type: z70.literal("pcb_silkscreen_path"),
1406
1421
  pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
1407
- pcb_component_id: z69.string(),
1408
- pcb_group_id: z69.string().optional(),
1409
- subcircuit_id: z69.string().optional(),
1422
+ pcb_component_id: z70.string(),
1423
+ pcb_group_id: z70.string().optional(),
1424
+ subcircuit_id: z70.string().optional(),
1410
1425
  layer: visible_layer,
1411
- route: z69.array(point),
1426
+ route: z70.array(point),
1412
1427
  stroke_width: length
1413
1428
  }).describe("Defines a silkscreen path on the PCB");
1414
1429
  expectTypesMatch(true);
1415
1430
 
1416
1431
  // src/pcb/pcb_silkscreen_text.ts
1417
- import { z as z70 } from "zod";
1418
- var pcb_silkscreen_text = z70.object({
1419
- type: z70.literal("pcb_silkscreen_text"),
1432
+ import { z as z71 } from "zod";
1433
+ var pcb_silkscreen_text = z71.object({
1434
+ type: z71.literal("pcb_silkscreen_text"),
1420
1435
  pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
1421
- pcb_group_id: z70.string().optional(),
1422
- subcircuit_id: z70.string().optional(),
1423
- font: z70.literal("tscircuit2024").default("tscircuit2024"),
1436
+ pcb_group_id: z71.string().optional(),
1437
+ subcircuit_id: z71.string().optional(),
1438
+ font: z71.literal("tscircuit2024").default("tscircuit2024"),
1424
1439
  font_size: distance.default("0.2mm"),
1425
- pcb_component_id: z70.string(),
1426
- text: z70.string(),
1427
- ccw_rotation: z70.number().optional(),
1440
+ pcb_component_id: z71.string(),
1441
+ text: z71.string(),
1442
+ ccw_rotation: z71.number().optional(),
1428
1443
  layer: layer_ref,
1429
- is_mirrored: z70.boolean().default(false).optional(),
1444
+ is_mirrored: z71.boolean().default(false).optional(),
1430
1445
  anchor_position: point.default({ x: 0, y: 0 }),
1431
1446
  anchor_alignment: ninePointAnchor.default("center")
1432
1447
  }).describe("Defines silkscreen text on the PCB");
1433
1448
  expectTypesMatch(true);
1434
1449
 
1435
1450
  // src/pcb/pcb_silkscreen_rect.ts
1436
- import { z as z71 } from "zod";
1437
- var pcb_silkscreen_rect = z71.object({
1438
- type: z71.literal("pcb_silkscreen_rect"),
1451
+ import { z as z72 } from "zod";
1452
+ var pcb_silkscreen_rect = z72.object({
1453
+ type: z72.literal("pcb_silkscreen_rect"),
1439
1454
  pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
1440
- pcb_component_id: z71.string(),
1441
- pcb_group_id: z71.string().optional(),
1442
- subcircuit_id: z71.string().optional(),
1455
+ pcb_component_id: z72.string(),
1456
+ pcb_group_id: z72.string().optional(),
1457
+ subcircuit_id: z72.string().optional(),
1443
1458
  center: point,
1444
1459
  width: length,
1445
1460
  height: length,
1446
1461
  layer: layer_ref,
1447
1462
  stroke_width: length.default("1mm"),
1448
- is_filled: z71.boolean().default(true).optional(),
1449
- has_stroke: z71.boolean().optional(),
1450
- is_stroke_dashed: z71.boolean().optional()
1463
+ is_filled: z72.boolean().default(true).optional(),
1464
+ has_stroke: z72.boolean().optional(),
1465
+ is_stroke_dashed: z72.boolean().optional()
1451
1466
  }).describe("Defines a silkscreen rect on the PCB");
1452
1467
  expectTypesMatch(true);
1453
1468
 
1454
1469
  // src/pcb/pcb_silkscreen_circle.ts
1455
- import { z as z72 } from "zod";
1456
- var pcb_silkscreen_circle = z72.object({
1457
- type: z72.literal("pcb_silkscreen_circle"),
1470
+ import { z as z73 } from "zod";
1471
+ var pcb_silkscreen_circle = z73.object({
1472
+ type: z73.literal("pcb_silkscreen_circle"),
1458
1473
  pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
1459
1474
  "pcb_silkscreen_circle"
1460
1475
  ),
1461
- pcb_component_id: z72.string(),
1462
- pcb_group_id: z72.string().optional(),
1463
- subcircuit_id: z72.string().optional(),
1476
+ pcb_component_id: z73.string(),
1477
+ pcb_group_id: z73.string().optional(),
1478
+ subcircuit_id: z73.string().optional(),
1464
1479
  center: point,
1465
1480
  radius: length,
1466
1481
  layer: visible_layer,
@@ -1469,13 +1484,13 @@ var pcb_silkscreen_circle = z72.object({
1469
1484
  expectTypesMatch(true);
1470
1485
 
1471
1486
  // src/pcb/pcb_silkscreen_oval.ts
1472
- import { z as z73 } from "zod";
1473
- var pcb_silkscreen_oval = z73.object({
1474
- type: z73.literal("pcb_silkscreen_oval"),
1487
+ import { z as z74 } from "zod";
1488
+ var pcb_silkscreen_oval = z74.object({
1489
+ type: z74.literal("pcb_silkscreen_oval"),
1475
1490
  pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
1476
- pcb_component_id: z73.string(),
1477
- pcb_group_id: z73.string().optional(),
1478
- subcircuit_id: z73.string().optional(),
1491
+ pcb_component_id: z74.string(),
1492
+ pcb_group_id: z74.string().optional(),
1493
+ subcircuit_id: z74.string().optional(),
1479
1494
  center: point,
1480
1495
  radius_x: distance,
1481
1496
  radius_y: distance,
@@ -1484,86 +1499,86 @@ var pcb_silkscreen_oval = z73.object({
1484
1499
  expectTypesMatch(true);
1485
1500
 
1486
1501
  // src/pcb/pcb_fabrication_note_text.ts
1487
- import { z as z74 } from "zod";
1488
- var pcb_fabrication_note_text = z74.object({
1489
- type: z74.literal("pcb_fabrication_note_text"),
1502
+ import { z as z75 } from "zod";
1503
+ var pcb_fabrication_note_text = z75.object({
1504
+ type: z75.literal("pcb_fabrication_note_text"),
1490
1505
  pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
1491
1506
  "pcb_fabrication_note_text"
1492
1507
  ),
1493
- subcircuit_id: z74.string().optional(),
1494
- pcb_group_id: z74.string().optional(),
1495
- font: z74.literal("tscircuit2024").default("tscircuit2024"),
1508
+ subcircuit_id: z75.string().optional(),
1509
+ pcb_group_id: z75.string().optional(),
1510
+ font: z75.literal("tscircuit2024").default("tscircuit2024"),
1496
1511
  font_size: distance.default("1mm"),
1497
- pcb_component_id: z74.string(),
1498
- text: z74.string(),
1512
+ pcb_component_id: z75.string(),
1513
+ text: z75.string(),
1499
1514
  layer: visible_layer,
1500
1515
  anchor_position: point.default({ x: 0, y: 0 }),
1501
- anchor_alignment: z74.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
1502
- color: z74.string().optional()
1516
+ anchor_alignment: z75.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
1517
+ color: z75.string().optional()
1503
1518
  }).describe(
1504
1519
  "Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
1505
1520
  );
1506
1521
  expectTypesMatch(true);
1507
1522
 
1508
1523
  // src/pcb/pcb_fabrication_note_path.ts
1509
- import { z as z75 } from "zod";
1510
- var pcb_fabrication_note_path = z75.object({
1511
- type: z75.literal("pcb_fabrication_note_path"),
1524
+ import { z as z76 } from "zod";
1525
+ var pcb_fabrication_note_path = z76.object({
1526
+ type: z76.literal("pcb_fabrication_note_path"),
1512
1527
  pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
1513
1528
  "pcb_fabrication_note_path"
1514
1529
  ),
1515
- pcb_component_id: z75.string(),
1516
- subcircuit_id: z75.string().optional(),
1530
+ pcb_component_id: z76.string(),
1531
+ subcircuit_id: z76.string().optional(),
1517
1532
  layer: layer_ref,
1518
- route: z75.array(point),
1533
+ route: z76.array(point),
1519
1534
  stroke_width: length,
1520
- color: z75.string().optional()
1535
+ color: z76.string().optional()
1521
1536
  }).describe(
1522
1537
  "Defines a fabrication path on the PCB for fabricators or assemblers"
1523
1538
  );
1524
1539
  expectTypesMatch(true);
1525
1540
 
1526
1541
  // src/pcb/pcb_keepout.ts
1527
- import { z as z76 } from "zod";
1528
- var pcb_keepout = z76.object({
1529
- type: z76.literal("pcb_keepout"),
1530
- shape: z76.literal("rect"),
1531
- pcb_group_id: z76.string().optional(),
1532
- subcircuit_id: z76.string().optional(),
1542
+ import { z as z77 } from "zod";
1543
+ var pcb_keepout = z77.object({
1544
+ type: z77.literal("pcb_keepout"),
1545
+ shape: z77.literal("rect"),
1546
+ pcb_group_id: z77.string().optional(),
1547
+ subcircuit_id: z77.string().optional(),
1533
1548
  center: point,
1534
1549
  width: distance,
1535
1550
  height: distance,
1536
- pcb_keepout_id: z76.string(),
1537
- layers: z76.array(z76.string()),
1551
+ pcb_keepout_id: z77.string(),
1552
+ layers: z77.array(z77.string()),
1538
1553
  // Specify layers where the keepout applies
1539
- description: z76.string().optional()
1554
+ description: z77.string().optional()
1540
1555
  // Optional description of the keepout
1541
1556
  }).or(
1542
- z76.object({
1543
- type: z76.literal("pcb_keepout"),
1544
- shape: z76.literal("circle"),
1545
- pcb_group_id: z76.string().optional(),
1546
- subcircuit_id: z76.string().optional(),
1557
+ z77.object({
1558
+ type: z77.literal("pcb_keepout"),
1559
+ shape: z77.literal("circle"),
1560
+ pcb_group_id: z77.string().optional(),
1561
+ subcircuit_id: z77.string().optional(),
1547
1562
  center: point,
1548
1563
  radius: distance,
1549
- pcb_keepout_id: z76.string(),
1550
- layers: z76.array(z76.string()),
1564
+ pcb_keepout_id: z77.string(),
1565
+ layers: z77.array(z77.string()),
1551
1566
  // Specify layers where the keepout applies
1552
- description: z76.string().optional()
1567
+ description: z77.string().optional()
1553
1568
  // Optional description of the keepout
1554
1569
  })
1555
1570
  );
1556
1571
 
1557
1572
  // src/pcb/pcb_cutout.ts
1558
- import { z as z77 } from "zod";
1559
- var pcb_cutout_base = z77.object({
1560
- type: z77.literal("pcb_cutout"),
1573
+ import { z as z78 } from "zod";
1574
+ var pcb_cutout_base = z78.object({
1575
+ type: z78.literal("pcb_cutout"),
1561
1576
  pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
1562
- pcb_group_id: z77.string().optional(),
1563
- subcircuit_id: z77.string().optional()
1577
+ pcb_group_id: z78.string().optional(),
1578
+ subcircuit_id: z78.string().optional()
1564
1579
  });
1565
1580
  var pcb_cutout_rect = pcb_cutout_base.extend({
1566
- shape: z77.literal("rect"),
1581
+ shape: z78.literal("rect"),
1567
1582
  center: point,
1568
1583
  width: length,
1569
1584
  height: length,
@@ -1571,17 +1586,17 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
1571
1586
  });
1572
1587
  expectTypesMatch(true);
1573
1588
  var pcb_cutout_circle = pcb_cutout_base.extend({
1574
- shape: z77.literal("circle"),
1589
+ shape: z78.literal("circle"),
1575
1590
  center: point,
1576
1591
  radius: length
1577
1592
  });
1578
1593
  expectTypesMatch(true);
1579
1594
  var pcb_cutout_polygon = pcb_cutout_base.extend({
1580
- shape: z77.literal("polygon"),
1581
- points: z77.array(point)
1595
+ shape: z78.literal("polygon"),
1596
+ points: z78.array(point)
1582
1597
  });
1583
1598
  expectTypesMatch(true);
1584
- var pcb_cutout = z77.discriminatedUnion("shape", [
1599
+ var pcb_cutout = z78.discriminatedUnion("shape", [
1585
1600
  pcb_cutout_rect,
1586
1601
  pcb_cutout_circle,
1587
1602
  pcb_cutout_polygon
@@ -1589,87 +1604,87 @@ var pcb_cutout = z77.discriminatedUnion("shape", [
1589
1604
  expectTypesMatch(true);
1590
1605
 
1591
1606
  // src/pcb/pcb_missing_footprint_error.ts
1592
- import { z as z78 } from "zod";
1593
- var pcb_missing_footprint_error = z78.object({
1594
- type: z78.literal("pcb_missing_footprint_error"),
1607
+ import { z as z79 } from "zod";
1608
+ var pcb_missing_footprint_error = z79.object({
1609
+ type: z79.literal("pcb_missing_footprint_error"),
1595
1610
  pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
1596
1611
  "pcb_missing_footprint_error"
1597
1612
  ),
1598
- pcb_group_id: z78.string().optional(),
1599
- subcircuit_id: z78.string().optional(),
1600
- error_type: z78.literal("pcb_missing_footprint_error"),
1601
- source_component_id: z78.string(),
1602
- message: z78.string()
1613
+ pcb_group_id: z79.string().optional(),
1614
+ subcircuit_id: z79.string().optional(),
1615
+ error_type: z79.literal("pcb_missing_footprint_error"),
1616
+ source_component_id: z79.string(),
1617
+ message: z79.string()
1603
1618
  }).describe("Defines a missing footprint error on the PCB");
1604
1619
  expectTypesMatch(
1605
1620
  true
1606
1621
  );
1607
1622
 
1608
1623
  // src/pcb/pcb_group.ts
1609
- import { z as z79 } from "zod";
1610
- var pcb_group = z79.object({
1611
- type: z79.literal("pcb_group"),
1624
+ import { z as z80 } from "zod";
1625
+ var pcb_group = z80.object({
1626
+ type: z80.literal("pcb_group"),
1612
1627
  pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
1613
- source_group_id: z79.string(),
1614
- is_subcircuit: z79.boolean().optional(),
1615
- subcircuit_id: z79.string().optional(),
1628
+ source_group_id: z80.string(),
1629
+ is_subcircuit: z80.boolean().optional(),
1630
+ subcircuit_id: z80.string().optional(),
1616
1631
  width: length,
1617
1632
  height: length,
1618
1633
  center: point,
1619
- pcb_component_ids: z79.array(z79.string()),
1620
- name: z79.string().optional(),
1621
- description: z79.string().optional()
1634
+ pcb_component_ids: z80.array(z80.string()),
1635
+ name: z80.string().optional(),
1636
+ description: z80.string().optional()
1622
1637
  }).describe("Defines a group of components on the PCB");
1623
1638
  expectTypesMatch(true);
1624
1639
 
1625
1640
  // src/pcb/pcb_autorouting_error.ts
1626
- import { z as z80 } from "zod";
1627
- var pcb_autorouting_error = z80.object({
1628
- type: z80.literal("pcb_autorouting_error"),
1641
+ import { z as z81 } from "zod";
1642
+ var pcb_autorouting_error = z81.object({
1643
+ type: z81.literal("pcb_autorouting_error"),
1629
1644
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
1630
- message: z80.string()
1645
+ message: z81.string()
1631
1646
  }).describe("The autorouting has failed to route a portion of the board");
1632
1647
  expectTypesMatch(true);
1633
1648
 
1634
1649
  // src/pcb/pcb_manual_edit_conflict_warning.ts
1635
- import { z as z81 } from "zod";
1636
- var pcb_manual_edit_conflict_warning = z81.object({
1637
- type: z81.literal("pcb_manual_edit_conflict_warning"),
1650
+ import { z as z82 } from "zod";
1651
+ var pcb_manual_edit_conflict_warning = z82.object({
1652
+ type: z82.literal("pcb_manual_edit_conflict_warning"),
1638
1653
  pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
1639
1654
  "pcb_manual_edit_conflict_warning"
1640
1655
  ),
1641
- message: z81.string(),
1642
- pcb_component_id: z81.string(),
1643
- pcb_group_id: z81.string().optional(),
1644
- subcircuit_id: z81.string().optional(),
1645
- source_component_id: z81.string()
1656
+ message: z82.string(),
1657
+ pcb_component_id: z82.string(),
1658
+ pcb_group_id: z82.string().optional(),
1659
+ subcircuit_id: z82.string().optional(),
1660
+ source_component_id: z82.string()
1646
1661
  }).describe(
1647
1662
  "Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
1648
1663
  );
1649
1664
  expectTypesMatch(true);
1650
1665
 
1651
1666
  // src/cad/cad_component.ts
1652
- import { z as z82 } from "zod";
1653
- var cad_component = z82.object({
1654
- type: z82.literal("cad_component"),
1655
- cad_component_id: z82.string(),
1656
- pcb_component_id: z82.string(),
1657
- source_component_id: z82.string(),
1667
+ import { z as z83 } from "zod";
1668
+ var cad_component = z83.object({
1669
+ type: z83.literal("cad_component"),
1670
+ cad_component_id: z83.string(),
1671
+ pcb_component_id: z83.string(),
1672
+ source_component_id: z83.string(),
1658
1673
  position: point3,
1659
1674
  rotation: point3.optional(),
1660
1675
  size: point3.optional(),
1661
1676
  layer: layer_ref.optional(),
1662
1677
  // These are all ways to generate/load the 3d model
1663
- footprinter_string: z82.string().optional(),
1664
- model_obj_url: z82.string().optional(),
1665
- model_stl_url: z82.string().optional(),
1666
- model_3mf_url: z82.string().optional(),
1667
- model_jscad: z82.any().optional()
1678
+ footprinter_string: z83.string().optional(),
1679
+ model_obj_url: z83.string().optional(),
1680
+ model_stl_url: z83.string().optional(),
1681
+ model_3mf_url: z83.string().optional(),
1682
+ model_jscad: z83.any().optional()
1668
1683
  }).describe("Defines a component on the PCB");
1669
1684
 
1670
1685
  // src/any_circuit_element.ts
1671
- import { z as z83 } from "zod";
1672
- var any_circuit_element = z83.union([
1686
+ import { z as z84 } from "zod";
1687
+ var any_circuit_element = z84.union([
1673
1688
  source_trace,
1674
1689
  source_port,
1675
1690
  any_source_component,
@@ -1729,6 +1744,7 @@ var any_circuit_element = z83.union([
1729
1744
  schematic_trace,
1730
1745
  schematic_path,
1731
1746
  schematic_error,
1747
+ schematic_layout_error,
1732
1748
  schematic_net_label,
1733
1749
  schematic_debug_object,
1734
1750
  schematic_voltage_probe,
@@ -1813,6 +1829,7 @@ export {
1813
1829
  schematic_debug_rect,
1814
1830
  schematic_error,
1815
1831
  schematic_group,
1832
+ schematic_layout_error,
1816
1833
  schematic_line,
1817
1834
  schematic_manual_edit_conflict_warning,
1818
1835
  schematic_net_label,