easyeda 0.0.229 → 0.0.231

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.
@@ -835,6 +835,7 @@ __export(dist_exports, {
835
835
  pcb_courtyard_rect: () => pcb_courtyard_rect,
836
836
  pcb_cutout: () => pcb_cutout,
837
837
  pcb_cutout_circle: () => pcb_cutout_circle,
838
+ pcb_cutout_path: () => pcb_cutout_path,
838
839
  pcb_cutout_polygon: () => pcb_cutout_polygon,
839
840
  pcb_cutout_rect: () => pcb_cutout_rect,
840
841
  pcb_fabrication_note_dimension: () => pcb_fabrication_note_dimension,
@@ -847,8 +848,10 @@ __export(dist_exports, {
847
848
  pcb_group: () => pcb_group,
848
849
  pcb_hole: () => pcb_hole,
849
850
  pcb_hole_circle_or_square_shape: () => pcb_hole_circle_or_square_shape,
851
+ pcb_hole_circle_shape: () => pcb_hole_circle_shape,
850
852
  pcb_hole_oval_shape: () => pcb_hole_oval_shape,
851
853
  pcb_hole_pill_shape: () => pcb_hole_pill_shape,
854
+ pcb_hole_rect_shape: () => pcb_hole_rect_shape,
852
855
  pcb_hole_rotated_pill_shape: () => pcb_hole_rotated_pill_shape,
853
856
  pcb_keepout: () => pcb_keepout,
854
857
  pcb_manual_edit_conflict_warning: () => pcb_manual_edit_conflict_warning,
@@ -929,6 +932,7 @@ __export(dist_exports, {
929
932
  simulation_experiment: () => simulation_experiment,
930
933
  simulation_switch: () => simulation_switch,
931
934
  simulation_transient_voltage_graph: () => simulation_transient_voltage_graph,
935
+ simulation_unknown_experiment_error: () => simulation_unknown_experiment_error,
932
936
  simulation_voltage_probe: () => simulation_voltage_probe,
933
937
  simulation_voltage_source: () => simulation_voltage_source,
934
938
  size: () => size,
@@ -936,11 +940,13 @@ __export(dist_exports, {
936
940
  source_component_base: () => source_component_base,
937
941
  source_failed_to_create_component_error: () => source_failed_to_create_component_error,
938
942
  source_group: () => source_group,
943
+ source_interconnect: () => source_interconnect,
939
944
  source_manually_placed_via: () => source_manually_placed_via,
940
945
  source_missing_property_error: () => source_missing_property_error,
941
946
  source_net: () => source_net,
942
947
  source_pcb_ground_plane: () => source_pcb_ground_plane,
943
948
  source_pin_missing_trace_warning: () => source_pin_missing_trace_warning,
949
+ source_pin_must_be_connected_error: () => source_pin_must_be_connected_error,
944
950
  source_port: () => source_port,
945
951
  source_project_metadata: () => source_project_metadata,
946
952
  source_property_ignored_warning: () => source_property_ignored_warning,
@@ -963,6 +969,7 @@ __export(dist_exports, {
963
969
  source_simple_switch: () => source_simple_switch,
964
970
  source_simple_test_point: () => source_simple_test_point,
965
971
  source_simple_transistor: () => source_simple_transistor,
972
+ source_simple_voltage_probe: () => source_simple_voltage_probe,
966
973
  source_trace: () => source_trace,
967
974
  source_trace_not_connected_error: () => source_trace_not_connected_error,
968
975
  supplier_name: () => supplier_name,
@@ -988,7 +995,7 @@ import { z as z12 } from "zod";
988
995
  import { z as z13 } from "zod";
989
996
  import { z as z14 } from "zod";
990
997
  import { z as z15 } from "zod";
991
- import { z as z35 } from "zod";
998
+ import { z as z37 } from "zod";
992
999
  import { z as z16 } from "zod";
993
1000
  import { z as z17 } from "zod";
994
1001
  import { z as z18 } from "zod";
@@ -1008,16 +1015,16 @@ import { z as z31 } from "zod";
1008
1015
  import { z as z32 } from "zod";
1009
1016
  import { z as z33 } from "zod";
1010
1017
  import { z as z34 } from "zod";
1018
+ import { z as z35 } from "zod";
1011
1019
  import { z as z36 } from "zod";
1012
- import { z as z37 } from "zod";
1013
1020
  import { z as z38 } from "zod";
1014
1021
  import { z as z39 } from "zod";
1015
1022
  import { z as z40 } from "zod";
1016
1023
  import { z as z41 } from "zod";
1017
- import { z as z43 } from "zod";
1018
1024
  import { z as z42 } from "zod";
1019
- import { z as z44 } from "zod";
1025
+ import { z as z43 } from "zod";
1020
1026
  import { z as z45 } from "zod";
1027
+ import { z as z44 } from "zod";
1021
1028
  import { z as z46 } from "zod";
1022
1029
  import { z as z47 } from "zod";
1023
1030
  import { z as z48 } from "zod";
@@ -1025,11 +1032,11 @@ import { z as z49 } from "zod";
1025
1032
  import { z as z50 } from "zod";
1026
1033
  import { z as z51 } from "zod";
1027
1034
  import { z as z52 } from "zod";
1028
- import { z as z54 } from "zod";
1029
1035
  import { z as z53 } from "zod";
1036
+ import { z as z54 } from "zod";
1030
1037
  import { z as z55 } from "zod";
1031
- import { z as z56 } from "zod";
1032
1038
  import { z as z57 } from "zod";
1039
+ import { z as z56 } from "zod";
1033
1040
  import { z as z58 } from "zod";
1034
1041
  import { z as z59 } from "zod";
1035
1042
  import { z as z60 } from "zod";
@@ -1102,6 +1109,10 @@ import { z as z126 } from "zod";
1102
1109
  import { z as z127 } from "zod";
1103
1110
  import { z as z128 } from "zod";
1104
1111
  import { z as z129 } from "zod";
1112
+ import { z as z130 } from "zod";
1113
+ import { z as z131 } from "zod";
1114
+ import { z as z132 } from "zod";
1115
+ import { z as z133 } from "zod";
1105
1116
  var unitMappings = {
1106
1117
  Hz: {
1107
1118
  baseUnit: "Hz",
@@ -1616,7 +1627,17 @@ var source_pin_missing_trace_warning = z34.object({
1616
1627
  "Warning emitted when a source component pin is missing a trace connection"
1617
1628
  );
1618
1629
  expectTypesMatch(true);
1619
- var any_source_component = z35.union([
1630
+ var source_simple_voltage_probe = source_component_base.extend({
1631
+ ftype: z35.literal("simple_voltage_probe")
1632
+ });
1633
+ expectTypesMatch(
1634
+ true
1635
+ );
1636
+ var source_interconnect = source_component_base.extend({
1637
+ ftype: z36.literal("interconnect")
1638
+ });
1639
+ expectTypesMatch(true);
1640
+ var any_source_component = z37.union([
1620
1641
  source_simple_resistor,
1621
1642
  source_simple_capacitor,
1622
1643
  source_simple_diode,
@@ -1637,6 +1658,8 @@ var any_source_component = z35.union([
1637
1658
  source_simple_test_point,
1638
1659
  source_simple_mosfet,
1639
1660
  source_simple_fuse,
1661
+ source_simple_voltage_probe,
1662
+ source_interconnect,
1640
1663
  source_project_metadata,
1641
1664
  source_missing_property_error,
1642
1665
  source_failed_to_create_component_error,
@@ -1645,70 +1668,71 @@ var any_source_component = z35.union([
1645
1668
  source_pin_missing_trace_warning
1646
1669
  ]);
1647
1670
  expectTypesMatch(true);
1648
- var source_port = z36.object({
1649
- type: z36.literal("source_port"),
1650
- pin_number: z36.number().optional(),
1651
- port_hints: z36.array(z36.string()).optional(),
1652
- name: z36.string(),
1653
- source_port_id: z36.string(),
1654
- source_component_id: z36.string().optional(),
1655
- source_group_id: z36.string().optional(),
1656
- subcircuit_id: z36.string().optional(),
1657
- subcircuit_connectivity_map_key: z36.string().optional()
1671
+ var source_port = z38.object({
1672
+ type: z38.literal("source_port"),
1673
+ pin_number: z38.number().optional(),
1674
+ port_hints: z38.array(z38.string()).optional(),
1675
+ name: z38.string(),
1676
+ source_port_id: z38.string(),
1677
+ source_component_id: z38.string().optional(),
1678
+ source_group_id: z38.string().optional(),
1679
+ subcircuit_id: z38.string().optional(),
1680
+ subcircuit_connectivity_map_key: z38.string().optional(),
1681
+ must_be_connected: z38.boolean().optional()
1658
1682
  });
1659
1683
  expectTypesMatch(true);
1660
- var source_trace = z37.object({
1661
- type: z37.literal("source_trace"),
1662
- source_trace_id: z37.string(),
1663
- connected_source_port_ids: z37.array(z37.string()),
1664
- connected_source_net_ids: z37.array(z37.string()),
1665
- subcircuit_id: z37.string().optional(),
1666
- subcircuit_connectivity_map_key: z37.string().optional(),
1667
- max_length: z37.number().optional(),
1668
- min_trace_thickness: z37.number().optional(),
1669
- display_name: z37.string().optional()
1684
+ var source_trace = z39.object({
1685
+ type: z39.literal("source_trace"),
1686
+ source_trace_id: z39.string(),
1687
+ connected_source_port_ids: z39.array(z39.string()),
1688
+ connected_source_net_ids: z39.array(z39.string()),
1689
+ subcircuit_id: z39.string().optional(),
1690
+ subcircuit_connectivity_map_key: z39.string().optional(),
1691
+ max_length: z39.number().optional(),
1692
+ min_trace_thickness: z39.number().optional(),
1693
+ display_name: z39.string().optional()
1670
1694
  });
1671
1695
  expectTypesMatch(true);
1672
- var source_group = z38.object({
1673
- type: z38.literal("source_group"),
1674
- source_group_id: z38.string(),
1675
- subcircuit_id: z38.string().optional(),
1676
- parent_subcircuit_id: z38.string().optional(),
1677
- parent_source_group_id: z38.string().optional(),
1678
- is_subcircuit: z38.boolean().optional(),
1679
- show_as_schematic_box: z38.boolean().optional(),
1680
- name: z38.string().optional(),
1681
- was_automatically_named: z38.boolean().optional()
1696
+ var source_group = z40.object({
1697
+ type: z40.literal("source_group"),
1698
+ source_group_id: z40.string(),
1699
+ subcircuit_id: z40.string().optional(),
1700
+ parent_subcircuit_id: z40.string().optional(),
1701
+ parent_source_group_id: z40.string().optional(),
1702
+ is_subcircuit: z40.boolean().optional(),
1703
+ show_as_schematic_box: z40.boolean().optional(),
1704
+ name: z40.string().optional(),
1705
+ was_automatically_named: z40.boolean().optional()
1682
1706
  });
1683
1707
  expectTypesMatch(true);
1684
- var source_net = z39.object({
1685
- type: z39.literal("source_net"),
1686
- source_net_id: z39.string(),
1687
- name: z39.string(),
1688
- member_source_group_ids: z39.array(z39.string()),
1689
- is_power: z39.boolean().optional(),
1690
- is_ground: z39.boolean().optional(),
1691
- is_digital_signal: z39.boolean().optional(),
1692
- is_analog_signal: z39.boolean().optional(),
1693
- is_positive_voltage_source: z39.boolean().optional(),
1694
- trace_width: z39.number().optional(),
1695
- subcircuit_id: z39.string().optional(),
1696
- subcircuit_connectivity_map_key: z39.string().optional()
1708
+ var source_net = z41.object({
1709
+ type: z41.literal("source_net"),
1710
+ source_net_id: z41.string(),
1711
+ name: z41.string(),
1712
+ member_source_group_ids: z41.array(z41.string()),
1713
+ is_power: z41.boolean().optional(),
1714
+ is_ground: z41.boolean().optional(),
1715
+ is_digital_signal: z41.boolean().optional(),
1716
+ is_analog_signal: z41.boolean().optional(),
1717
+ is_positive_voltage_source: z41.boolean().optional(),
1718
+ trace_width: z41.number().optional(),
1719
+ subcircuit_id: z41.string().optional(),
1720
+ subcircuit_connectivity_map_key: z41.string().optional()
1697
1721
  });
1698
1722
  expectTypesMatch(true);
1699
- var source_board = z40.object({
1700
- type: z40.literal("source_board"),
1701
- source_board_id: z40.string(),
1702
- source_group_id: z40.string(),
1703
- title: z40.string().optional()
1723
+ var source_board = z42.object({
1724
+ type: z42.literal("source_board"),
1725
+ source_board_id: z42.string(),
1726
+ source_group_id: z42.string(),
1727
+ title: z42.string().optional()
1704
1728
  }).describe("Defines a board in the source domain");
1705
1729
  expectTypesMatch(true);
1706
- var source_pcb_ground_plane = z41.object({
1707
- type: z41.literal("source_pcb_ground_plane"),
1708
- source_pcb_ground_plane_id: z41.string(),
1709
- source_group_id: z41.string(),
1710
- source_net_id: z41.string(),
1711
- subcircuit_id: z41.string().optional()
1730
+ var source_pcb_ground_plane = z43.object({
1731
+ type: z43.literal("source_pcb_ground_plane"),
1732
+ source_pcb_ground_plane_id: z43.string(),
1733
+ source_group_id: z43.string(),
1734
+ source_net_id: z43.string(),
1735
+ subcircuit_id: z43.string().optional()
1712
1736
  }).describe("Defines a ground plane in the source domain");
1713
1737
  expectTypesMatch(true);
1714
1738
  var all_layers = [
@@ -1721,9 +1745,9 @@ var all_layers = [
1721
1745
  "inner5",
1722
1746
  "inner6"
1723
1747
  ];
1724
- var layer_string = z42.enum(all_layers);
1748
+ var layer_string = z44.enum(all_layers);
1725
1749
  var layer_ref = layer_string.or(
1726
- z42.object({
1750
+ z44.object({
1727
1751
  name: layer_string
1728
1752
  })
1729
1753
  ).transform((layer) => {
@@ -1733,201 +1757,215 @@ var layer_ref = layer_string.or(
1733
1757
  return layer.name;
1734
1758
  });
1735
1759
  expectTypesMatch(true);
1736
- var visible_layer = z42.enum(["top", "bottom"]);
1737
- var source_manually_placed_via = z43.object({
1738
- type: z43.literal("source_manually_placed_via"),
1739
- source_manually_placed_via_id: z43.string(),
1740
- source_group_id: z43.string(),
1741
- source_net_id: z43.string(),
1742
- subcircuit_id: z43.string().optional(),
1743
- source_trace_id: z43.string().optional()
1760
+ var visible_layer = z44.enum(["top", "bottom"]);
1761
+ var source_manually_placed_via = z45.object({
1762
+ type: z45.literal("source_manually_placed_via"),
1763
+ source_manually_placed_via_id: z45.string(),
1764
+ source_group_id: z45.string(),
1765
+ source_net_id: z45.string(),
1766
+ subcircuit_id: z45.string().optional(),
1767
+ source_trace_id: z45.string().optional()
1744
1768
  }).describe("Defines a via that is manually placed in the source domain");
1745
1769
  expectTypesMatch(true);
1746
- var unknown_error_finding_part = z44.object({
1747
- type: z44.literal("unknown_error_finding_part"),
1770
+ var source_pin_must_be_connected_error = z46.object({
1771
+ type: z46.literal("source_pin_must_be_connected_error"),
1772
+ source_pin_must_be_connected_error_id: getZodPrefixedIdWithDefault(
1773
+ "source_pin_must_be_connected_error"
1774
+ ),
1775
+ error_type: z46.literal("source_pin_must_be_connected_error").default("source_pin_must_be_connected_error"),
1776
+ message: z46.string(),
1777
+ source_component_id: z46.string(),
1778
+ source_port_id: z46.string(),
1779
+ subcircuit_id: z46.string().optional()
1780
+ }).describe(
1781
+ "Error emitted when a pin with mustBeConnected attribute is not connected to any trace"
1782
+ );
1783
+ expectTypesMatch(true);
1784
+ var unknown_error_finding_part = z47.object({
1785
+ type: z47.literal("unknown_error_finding_part"),
1748
1786
  unknown_error_finding_part_id: getZodPrefixedIdWithDefault(
1749
1787
  "unknown_error_finding_part"
1750
1788
  ),
1751
- error_type: z44.literal("unknown_error_finding_part").default("unknown_error_finding_part"),
1752
- message: z44.string(),
1753
- source_component_id: z44.string().optional(),
1754
- subcircuit_id: z44.string().optional()
1789
+ error_type: z47.literal("unknown_error_finding_part").default("unknown_error_finding_part"),
1790
+ message: z47.string(),
1791
+ source_component_id: z47.string().optional(),
1792
+ subcircuit_id: z47.string().optional()
1755
1793
  }).describe(
1756
1794
  "Error emitted when an unexpected error occurs while finding a part"
1757
1795
  );
1758
1796
  expectTypesMatch(true);
1759
- var schematic_box = z45.object({
1760
- type: z45.literal("schematic_box"),
1761
- schematic_component_id: z45.string().optional(),
1797
+ var schematic_box = z48.object({
1798
+ type: z48.literal("schematic_box"),
1799
+ schematic_component_id: z48.string().optional(),
1762
1800
  width: distance,
1763
1801
  height: distance,
1764
- is_dashed: z45.boolean().default(false),
1802
+ is_dashed: z48.boolean().default(false),
1765
1803
  x: distance,
1766
1804
  y: distance,
1767
- subcircuit_id: z45.string().optional()
1805
+ subcircuit_id: z48.string().optional()
1768
1806
  }).describe("Draws a box on the schematic");
1769
1807
  expectTypesMatch(true);
1770
- var schematic_path = z46.object({
1771
- type: z46.literal("schematic_path"),
1772
- schematic_component_id: z46.string(),
1773
- fill_color: z46.enum(["red", "blue"]).optional(),
1774
- is_filled: z46.boolean().optional(),
1775
- points: z46.array(point),
1776
- subcircuit_id: z46.string().optional()
1808
+ var schematic_path = z49.object({
1809
+ type: z49.literal("schematic_path"),
1810
+ schematic_component_id: z49.string(),
1811
+ fill_color: z49.enum(["red", "blue"]).optional(),
1812
+ is_filled: z49.boolean().optional(),
1813
+ points: z49.array(point),
1814
+ subcircuit_id: z49.string().optional()
1777
1815
  });
1778
1816
  expectTypesMatch(true);
1779
- var schematic_pin_styles = z47.record(
1780
- z47.object({
1817
+ var schematic_pin_styles = z50.record(
1818
+ z50.object({
1781
1819
  left_margin: length.optional(),
1782
1820
  right_margin: length.optional(),
1783
1821
  top_margin: length.optional(),
1784
1822
  bottom_margin: length.optional()
1785
1823
  })
1786
1824
  );
1787
- var schematic_component_port_arrangement_by_size = z47.object({
1788
- left_size: z47.number(),
1789
- right_size: z47.number(),
1790
- top_size: z47.number().optional(),
1791
- bottom_size: z47.number().optional()
1825
+ var schematic_component_port_arrangement_by_size = z50.object({
1826
+ left_size: z50.number(),
1827
+ right_size: z50.number(),
1828
+ top_size: z50.number().optional(),
1829
+ bottom_size: z50.number().optional()
1792
1830
  });
1793
1831
  expectTypesMatch(true);
1794
- var schematic_component_port_arrangement_by_sides = z47.object({
1795
- left_side: z47.object({
1796
- pins: z47.array(z47.number()),
1832
+ var schematic_component_port_arrangement_by_sides = z50.object({
1833
+ left_side: z50.object({
1834
+ pins: z50.array(z50.number()),
1797
1835
  // @ts-ignore
1798
- direction: z47.enum(["top-to-bottom", "bottom-to-top"]).optional()
1836
+ direction: z50.enum(["top-to-bottom", "bottom-to-top"]).optional()
1799
1837
  }).optional(),
1800
- right_side: z47.object({
1801
- pins: z47.array(z47.number()),
1838
+ right_side: z50.object({
1839
+ pins: z50.array(z50.number()),
1802
1840
  // @ts-ignore
1803
- direction: z47.enum(["top-to-bottom", "bottom-to-top"]).optional()
1841
+ direction: z50.enum(["top-to-bottom", "bottom-to-top"]).optional()
1804
1842
  }).optional(),
1805
- top_side: z47.object({
1806
- pins: z47.array(z47.number()),
1843
+ top_side: z50.object({
1844
+ pins: z50.array(z50.number()),
1807
1845
  // @ts-ignore
1808
- direction: z47.enum(["left-to-right", "right-to-left"]).optional()
1846
+ direction: z50.enum(["left-to-right", "right-to-left"]).optional()
1809
1847
  }).optional(),
1810
- bottom_side: z47.object({
1811
- pins: z47.array(z47.number()),
1848
+ bottom_side: z50.object({
1849
+ pins: z50.array(z50.number()),
1812
1850
  // @ts-ignore
1813
- direction: z47.enum(["left-to-right", "right-to-left"]).optional()
1851
+ direction: z50.enum(["left-to-right", "right-to-left"]).optional()
1814
1852
  }).optional()
1815
1853
  });
1816
1854
  expectTypesMatch(true);
1817
- var port_arrangement = z47.union([
1855
+ var port_arrangement = z50.union([
1818
1856
  schematic_component_port_arrangement_by_size,
1819
1857
  schematic_component_port_arrangement_by_sides
1820
1858
  ]);
1821
- var schematic_component = z47.object({
1822
- type: z47.literal("schematic_component"),
1859
+ var schematic_component = z50.object({
1860
+ type: z50.literal("schematic_component"),
1823
1861
  size,
1824
1862
  center: point,
1825
- source_component_id: z47.string().optional(),
1826
- schematic_component_id: z47.string(),
1863
+ source_component_id: z50.string().optional(),
1864
+ schematic_component_id: z50.string(),
1827
1865
  pin_spacing: length.optional(),
1828
1866
  pin_styles: schematic_pin_styles.optional(),
1829
1867
  box_width: length.optional(),
1830
- symbol_name: z47.string().optional(),
1868
+ symbol_name: z50.string().optional(),
1831
1869
  port_arrangement: port_arrangement.optional(),
1832
- port_labels: z47.record(z47.string()).optional(),
1833
- symbol_display_value: z47.string().optional(),
1834
- subcircuit_id: z47.string().optional(),
1835
- schematic_group_id: z47.string().optional(),
1836
- is_schematic_group: z47.boolean().optional(),
1837
- source_group_id: z47.string().optional(),
1838
- is_box_with_pins: z47.boolean().optional().default(true)
1870
+ port_labels: z50.record(z50.string()).optional(),
1871
+ symbol_display_value: z50.string().optional(),
1872
+ subcircuit_id: z50.string().optional(),
1873
+ schematic_group_id: z50.string().optional(),
1874
+ is_schematic_group: z50.boolean().optional(),
1875
+ source_group_id: z50.string().optional(),
1876
+ is_box_with_pins: z50.boolean().optional().default(true)
1839
1877
  });
1840
1878
  expectTypesMatch(true);
1841
- var schematic_line = z48.object({
1842
- type: z48.literal("schematic_line"),
1879
+ var schematic_line = z51.object({
1880
+ type: z51.literal("schematic_line"),
1843
1881
  schematic_line_id: getZodPrefixedIdWithDefault("schematic_line"),
1844
- schematic_component_id: z48.string(),
1882
+ schematic_component_id: z51.string(),
1845
1883
  x1: distance,
1846
1884
  y1: distance,
1847
1885
  x2: distance,
1848
1886
  y2: distance,
1849
1887
  stroke_width: distance.nullable().optional(),
1850
- color: z48.string().default("#000000"),
1851
- is_dashed: z48.boolean().default(false),
1852
- subcircuit_id: z48.string().optional()
1888
+ color: z51.string().default("#000000"),
1889
+ is_dashed: z51.boolean().default(false),
1890
+ subcircuit_id: z51.string().optional()
1853
1891
  }).describe("Draws a styled line on the schematic");
1854
1892
  expectTypesMatch(true);
1855
- var schematic_rect = z49.object({
1856
- type: z49.literal("schematic_rect"),
1893
+ var schematic_rect = z52.object({
1894
+ type: z52.literal("schematic_rect"),
1857
1895
  schematic_rect_id: getZodPrefixedIdWithDefault("schematic_rect"),
1858
- schematic_component_id: z49.string(),
1896
+ schematic_component_id: z52.string(),
1859
1897
  center: point,
1860
1898
  width: distance,
1861
1899
  height: distance,
1862
1900
  rotation: rotation.default(0),
1863
1901
  stroke_width: distance.nullable().optional(),
1864
- color: z49.string().default("#000000"),
1865
- is_filled: z49.boolean().default(false),
1866
- fill_color: z49.string().optional(),
1867
- is_dashed: z49.boolean().default(false),
1868
- subcircuit_id: z49.string().optional()
1902
+ color: z52.string().default("#000000"),
1903
+ is_filled: z52.boolean().default(false),
1904
+ fill_color: z52.string().optional(),
1905
+ is_dashed: z52.boolean().default(false),
1906
+ subcircuit_id: z52.string().optional()
1869
1907
  }).describe("Draws a styled rectangle on the schematic");
1870
1908
  expectTypesMatch(true);
1871
- var schematic_circle = z50.object({
1872
- type: z50.literal("schematic_circle"),
1909
+ var schematic_circle = z53.object({
1910
+ type: z53.literal("schematic_circle"),
1873
1911
  schematic_circle_id: getZodPrefixedIdWithDefault("schematic_circle"),
1874
- schematic_component_id: z50.string(),
1912
+ schematic_component_id: z53.string(),
1875
1913
  center: point,
1876
1914
  radius: distance,
1877
1915
  stroke_width: distance.nullable().optional(),
1878
- color: z50.string().default("#000000"),
1879
- is_filled: z50.boolean().default(false),
1880
- fill_color: z50.string().optional(),
1881
- is_dashed: z50.boolean().default(false),
1882
- subcircuit_id: z50.string().optional()
1916
+ color: z53.string().default("#000000"),
1917
+ is_filled: z53.boolean().default(false),
1918
+ fill_color: z53.string().optional(),
1919
+ is_dashed: z53.boolean().default(false),
1920
+ subcircuit_id: z53.string().optional()
1883
1921
  }).describe("Draws a styled circle on the schematic");
1884
1922
  expectTypesMatch(true);
1885
- var schematic_arc = z51.object({
1886
- type: z51.literal("schematic_arc"),
1923
+ var schematic_arc = z54.object({
1924
+ type: z54.literal("schematic_arc"),
1887
1925
  schematic_arc_id: getZodPrefixedIdWithDefault("schematic_arc"),
1888
- schematic_component_id: z51.string(),
1926
+ schematic_component_id: z54.string(),
1889
1927
  center: point,
1890
1928
  radius: distance,
1891
1929
  start_angle_degrees: rotation,
1892
1930
  end_angle_degrees: rotation,
1893
- direction: z51.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
1931
+ direction: z54.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
1894
1932
  stroke_width: distance.nullable().optional(),
1895
- color: z51.string().default("#000000"),
1896
- is_dashed: z51.boolean().default(false),
1897
- subcircuit_id: z51.string().optional()
1933
+ color: z54.string().default("#000000"),
1934
+ is_dashed: z54.boolean().default(false),
1935
+ subcircuit_id: z54.string().optional()
1898
1936
  }).describe("Draws a styled arc on the schematic");
1899
1937
  expectTypesMatch(true);
1900
- var schematic_trace = z52.object({
1901
- type: z52.literal("schematic_trace"),
1902
- schematic_trace_id: z52.string(),
1903
- source_trace_id: z52.string().optional(),
1904
- junctions: z52.array(
1905
- z52.object({
1906
- x: z52.number(),
1907
- y: z52.number()
1938
+ var schematic_trace = z55.object({
1939
+ type: z55.literal("schematic_trace"),
1940
+ schematic_trace_id: z55.string(),
1941
+ source_trace_id: z55.string().optional(),
1942
+ junctions: z55.array(
1943
+ z55.object({
1944
+ x: z55.number(),
1945
+ y: z55.number()
1908
1946
  })
1909
1947
  ),
1910
- edges: z52.array(
1911
- z52.object({
1912
- from: z52.object({
1913
- x: z52.number(),
1914
- y: z52.number()
1948
+ edges: z55.array(
1949
+ z55.object({
1950
+ from: z55.object({
1951
+ x: z55.number(),
1952
+ y: z55.number()
1915
1953
  }),
1916
- to: z52.object({
1917
- x: z52.number(),
1918
- y: z52.number()
1954
+ to: z55.object({
1955
+ x: z55.number(),
1956
+ y: z55.number()
1919
1957
  }),
1920
- is_crossing: z52.boolean().optional(),
1921
- from_schematic_port_id: z52.string().optional(),
1922
- to_schematic_port_id: z52.string().optional()
1958
+ is_crossing: z55.boolean().optional(),
1959
+ from_schematic_port_id: z55.string().optional(),
1960
+ to_schematic_port_id: z55.string().optional()
1923
1961
  })
1924
1962
  ),
1925
- subcircuit_id: z52.string().optional(),
1963
+ subcircuit_id: z55.string().optional(),
1926
1964
  // TODO: make required in a future release
1927
- subcircuit_connectivity_map_key: z52.string().optional()
1965
+ subcircuit_connectivity_map_key: z55.string().optional()
1928
1966
  });
1929
1967
  expectTypesMatch(true);
1930
- var fivePointAnchor = z53.enum([
1968
+ var fivePointAnchor = z56.enum([
1931
1969
  "center",
1932
1970
  "left",
1933
1971
  "right",
@@ -1935,398 +1973,481 @@ var fivePointAnchor = z53.enum([
1935
1973
  "bottom"
1936
1974
  ]);
1937
1975
  expectTypesMatch(true);
1938
- var schematic_text = z54.object({
1939
- type: z54.literal("schematic_text"),
1940
- schematic_component_id: z54.string().optional(),
1941
- schematic_text_id: z54.string(),
1942
- text: z54.string(),
1943
- font_size: z54.number().default(0.18),
1944
- position: z54.object({
1976
+ var schematic_text = z57.object({
1977
+ type: z57.literal("schematic_text"),
1978
+ schematic_component_id: z57.string().optional(),
1979
+ schematic_text_id: z57.string(),
1980
+ text: z57.string(),
1981
+ font_size: z57.number().default(0.18),
1982
+ position: z57.object({
1945
1983
  x: distance,
1946
1984
  y: distance
1947
1985
  }),
1948
- rotation: z54.number().default(0),
1949
- anchor: z54.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
1950
- color: z54.string().default("#000000"),
1951
- subcircuit_id: z54.string().optional()
1986
+ rotation: z57.number().default(0),
1987
+ anchor: z57.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
1988
+ color: z57.string().default("#000000"),
1989
+ subcircuit_id: z57.string().optional()
1952
1990
  });
1953
1991
  expectTypesMatch(true);
1954
- var schematic_port = z55.object({
1955
- type: z55.literal("schematic_port"),
1956
- schematic_port_id: z55.string(),
1957
- source_port_id: z55.string(),
1958
- schematic_component_id: z55.string().optional(),
1992
+ var schematic_port = z58.object({
1993
+ type: z58.literal("schematic_port"),
1994
+ schematic_port_id: z58.string(),
1995
+ source_port_id: z58.string(),
1996
+ schematic_component_id: z58.string().optional(),
1959
1997
  center: point,
1960
- facing_direction: z55.enum(["up", "down", "left", "right"]).optional(),
1961
- distance_from_component_edge: z55.number().optional(),
1962
- side_of_component: z55.enum(["top", "bottom", "left", "right"]).optional(),
1963
- true_ccw_index: z55.number().optional(),
1964
- pin_number: z55.number().optional(),
1965
- display_pin_label: z55.string().optional(),
1966
- subcircuit_id: z55.string().optional(),
1967
- is_connected: z55.boolean().optional(),
1968
- has_input_arrow: z55.boolean().optional(),
1969
- has_output_arrow: z55.boolean().optional()
1998
+ facing_direction: z58.enum(["up", "down", "left", "right"]).optional(),
1999
+ distance_from_component_edge: z58.number().optional(),
2000
+ side_of_component: z58.enum(["top", "bottom", "left", "right"]).optional(),
2001
+ true_ccw_index: z58.number().optional(),
2002
+ pin_number: z58.number().optional(),
2003
+ display_pin_label: z58.string().optional(),
2004
+ subcircuit_id: z58.string().optional(),
2005
+ is_connected: z58.boolean().optional(),
2006
+ has_input_arrow: z58.boolean().optional(),
2007
+ has_output_arrow: z58.boolean().optional()
1970
2008
  }).describe("Defines a port on a schematic component");
1971
2009
  expectTypesMatch(true);
1972
- var schematic_net_label = z56.object({
1973
- type: z56.literal("schematic_net_label"),
2010
+ var schematic_net_label = z59.object({
2011
+ type: z59.literal("schematic_net_label"),
1974
2012
  schematic_net_label_id: getZodPrefixedIdWithDefault("schematic_net_label"),
1975
- schematic_trace_id: z56.string().optional(),
1976
- source_trace_id: z56.string().optional(),
1977
- source_net_id: z56.string(),
2013
+ schematic_trace_id: z59.string().optional(),
2014
+ source_trace_id: z59.string().optional(),
2015
+ source_net_id: z59.string(),
1978
2016
  center: point,
1979
2017
  anchor_position: point.optional(),
1980
- anchor_side: z56.enum(["top", "bottom", "left", "right"]),
1981
- text: z56.string(),
1982
- symbol_name: z56.string().optional(),
1983
- is_movable: z56.boolean().optional(),
1984
- subcircuit_id: z56.string().optional()
2018
+ anchor_side: z59.enum(["top", "bottom", "left", "right"]),
2019
+ text: z59.string(),
2020
+ symbol_name: z59.string().optional(),
2021
+ is_movable: z59.boolean().optional(),
2022
+ subcircuit_id: z59.string().optional()
1985
2023
  });
1986
2024
  expectTypesMatch(true);
1987
- var schematic_error = z57.object({
1988
- type: z57.literal("schematic_error"),
1989
- schematic_error_id: z57.string(),
2025
+ var schematic_error = z60.object({
2026
+ type: z60.literal("schematic_error"),
2027
+ schematic_error_id: z60.string(),
1990
2028
  // eventually each error type should be broken out into a dir of files
1991
- error_type: z57.literal("schematic_port_not_found").default("schematic_port_not_found"),
1992
- message: z57.string(),
1993
- subcircuit_id: z57.string().optional()
2029
+ error_type: z60.literal("schematic_port_not_found").default("schematic_port_not_found"),
2030
+ message: z60.string(),
2031
+ subcircuit_id: z60.string().optional()
1994
2032
  }).describe("Defines a schematic error on the schematic");
1995
2033
  expectTypesMatch(true);
1996
- var schematic_layout_error = z58.object({
1997
- type: z58.literal("schematic_layout_error"),
2034
+ var schematic_layout_error = z61.object({
2035
+ type: z61.literal("schematic_layout_error"),
1998
2036
  schematic_layout_error_id: getZodPrefixedIdWithDefault(
1999
2037
  "schematic_layout_error"
2000
2038
  ),
2001
- error_type: z58.literal("schematic_layout_error").default("schematic_layout_error"),
2002
- message: z58.string(),
2003
- source_group_id: z58.string(),
2004
- schematic_group_id: z58.string(),
2005
- subcircuit_id: z58.string().optional()
2039
+ error_type: z61.literal("schematic_layout_error").default("schematic_layout_error"),
2040
+ message: z61.string(),
2041
+ source_group_id: z61.string(),
2042
+ schematic_group_id: z61.string(),
2043
+ subcircuit_id: z61.string().optional()
2006
2044
  }).describe("Error emitted when schematic layout fails for a group");
2007
2045
  expectTypesMatch(true);
2008
- var schematic_debug_object_base = z59.object({
2009
- type: z59.literal("schematic_debug_object"),
2010
- label: z59.string().optional(),
2011
- subcircuit_id: z59.string().optional()
2046
+ var schematic_debug_object_base = z62.object({
2047
+ type: z62.literal("schematic_debug_object"),
2048
+ label: z62.string().optional(),
2049
+ subcircuit_id: z62.string().optional()
2012
2050
  });
2013
2051
  var schematic_debug_rect = schematic_debug_object_base.extend({
2014
- shape: z59.literal("rect"),
2052
+ shape: z62.literal("rect"),
2015
2053
  center: point,
2016
2054
  size
2017
2055
  });
2018
2056
  var schematic_debug_line = schematic_debug_object_base.extend({
2019
- shape: z59.literal("line"),
2057
+ shape: z62.literal("line"),
2020
2058
  start: point,
2021
2059
  end: point
2022
2060
  });
2023
2061
  var schematic_debug_point = schematic_debug_object_base.extend({
2024
- shape: z59.literal("point"),
2062
+ shape: z62.literal("point"),
2025
2063
  center: point
2026
2064
  });
2027
- var schematic_debug_object = z59.discriminatedUnion("shape", [
2065
+ var schematic_debug_object = z62.discriminatedUnion("shape", [
2028
2066
  schematic_debug_rect,
2029
2067
  schematic_debug_line,
2030
2068
  schematic_debug_point
2031
2069
  ]);
2032
2070
  expectTypesMatch(true);
2033
- var schematic_voltage_probe = z60.object({
2034
- type: z60.literal("schematic_voltage_probe"),
2035
- schematic_voltage_probe_id: z60.string(),
2071
+ var schematic_voltage_probe = z63.object({
2072
+ type: z63.literal("schematic_voltage_probe"),
2073
+ schematic_voltage_probe_id: z63.string(),
2074
+ source_component_id: z63.string().optional(),
2075
+ name: z63.string().optional(),
2036
2076
  position: point,
2037
- schematic_trace_id: z60.string(),
2077
+ schematic_trace_id: z63.string(),
2038
2078
  voltage: voltage.optional(),
2039
- subcircuit_id: z60.string().optional()
2079
+ subcircuit_id: z63.string().optional(),
2080
+ color: z63.string().optional()
2040
2081
  }).describe("Defines a voltage probe measurement point on a schematic trace");
2041
2082
  expectTypesMatch(true);
2042
- var schematic_manual_edit_conflict_warning = z61.object({
2043
- type: z61.literal("schematic_manual_edit_conflict_warning"),
2083
+ var schematic_manual_edit_conflict_warning = z64.object({
2084
+ type: z64.literal("schematic_manual_edit_conflict_warning"),
2044
2085
  schematic_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
2045
2086
  "schematic_manual_edit_conflict_warning"
2046
2087
  ),
2047
- warning_type: z61.literal("schematic_manual_edit_conflict_warning").default("schematic_manual_edit_conflict_warning"),
2048
- message: z61.string(),
2049
- schematic_component_id: z61.string(),
2050
- schematic_group_id: z61.string().optional(),
2051
- subcircuit_id: z61.string().optional(),
2052
- source_component_id: z61.string()
2088
+ warning_type: z64.literal("schematic_manual_edit_conflict_warning").default("schematic_manual_edit_conflict_warning"),
2089
+ message: z64.string(),
2090
+ schematic_component_id: z64.string(),
2091
+ schematic_group_id: z64.string().optional(),
2092
+ subcircuit_id: z64.string().optional(),
2093
+ source_component_id: z64.string()
2053
2094
  }).describe(
2054
2095
  "Warning emitted when a component has both manual placement and explicit schX/schY coordinates"
2055
2096
  );
2056
2097
  expectTypesMatch(true);
2057
- var schematic_group = z62.object({
2058
- type: z62.literal("schematic_group"),
2098
+ var schematic_group = z65.object({
2099
+ type: z65.literal("schematic_group"),
2059
2100
  schematic_group_id: getZodPrefixedIdWithDefault("schematic_group"),
2060
- source_group_id: z62.string(),
2061
- is_subcircuit: z62.boolean().optional(),
2062
- subcircuit_id: z62.string().optional(),
2101
+ source_group_id: z65.string(),
2102
+ is_subcircuit: z65.boolean().optional(),
2103
+ subcircuit_id: z65.string().optional(),
2063
2104
  width: length,
2064
2105
  height: length,
2065
2106
  center: point,
2066
- schematic_component_ids: z62.array(z62.string()),
2067
- show_as_schematic_box: z62.boolean().optional(),
2068
- name: z62.string().optional(),
2069
- description: z62.string().optional()
2107
+ schematic_component_ids: z65.array(z65.string()),
2108
+ show_as_schematic_box: z65.boolean().optional(),
2109
+ name: z65.string().optional(),
2110
+ description: z65.string().optional()
2070
2111
  }).describe("Defines a group of components on the schematic");
2071
2112
  expectTypesMatch(true);
2072
- var schematic_table = z63.object({
2073
- type: z63.literal("schematic_table"),
2113
+ var schematic_table = z66.object({
2114
+ type: z66.literal("schematic_table"),
2074
2115
  schematic_table_id: getZodPrefixedIdWithDefault("schematic_table"),
2075
2116
  anchor_position: point,
2076
- column_widths: z63.array(distance),
2077
- row_heights: z63.array(distance),
2117
+ column_widths: z66.array(distance),
2118
+ row_heights: z66.array(distance),
2078
2119
  cell_padding: distance.optional(),
2079
2120
  border_width: distance.optional(),
2080
- subcircuit_id: z63.string().optional(),
2081
- schematic_component_id: z63.string().optional(),
2121
+ subcircuit_id: z66.string().optional(),
2122
+ schematic_component_id: z66.string().optional(),
2082
2123
  anchor: ninePointAnchor.optional()
2083
2124
  }).describe("Defines a table on the schematic");
2084
2125
  expectTypesMatch(true);
2085
- var schematic_table_cell = z64.object({
2086
- type: z64.literal("schematic_table_cell"),
2126
+ var schematic_table_cell = z67.object({
2127
+ type: z67.literal("schematic_table_cell"),
2087
2128
  schematic_table_cell_id: getZodPrefixedIdWithDefault(
2088
2129
  "schematic_table_cell"
2089
2130
  ),
2090
- schematic_table_id: z64.string(),
2091
- start_row_index: z64.number(),
2092
- end_row_index: z64.number(),
2093
- start_column_index: z64.number(),
2094
- end_column_index: z64.number(),
2095
- text: z64.string().optional(),
2131
+ schematic_table_id: z67.string(),
2132
+ start_row_index: z67.number(),
2133
+ end_row_index: z67.number(),
2134
+ start_column_index: z67.number(),
2135
+ end_column_index: z67.number(),
2136
+ text: z67.string().optional(),
2096
2137
  center: point,
2097
2138
  width: distance,
2098
2139
  height: distance,
2099
- horizontal_align: z64.enum(["left", "center", "right"]).optional(),
2100
- vertical_align: z64.enum(["top", "middle", "bottom"]).optional(),
2140
+ horizontal_align: z67.enum(["left", "center", "right"]).optional(),
2141
+ vertical_align: z67.enum(["top", "middle", "bottom"]).optional(),
2101
2142
  font_size: distance.optional(),
2102
- subcircuit_id: z64.string().optional()
2143
+ subcircuit_id: z67.string().optional()
2103
2144
  }).describe("Defines a cell within a schematic_table");
2104
2145
  expectTypesMatch(true);
2105
- var schematic_sheet = z65.object({
2106
- type: z65.literal("schematic_sheet"),
2146
+ var schematic_sheet = z68.object({
2147
+ type: z68.literal("schematic_sheet"),
2107
2148
  schematic_sheet_id: getZodPrefixedIdWithDefault("schematic_sheet"),
2108
- name: z65.string().optional(),
2109
- subcircuit_id: z65.string().optional()
2149
+ name: z68.string().optional(),
2150
+ subcircuit_id: z68.string().optional()
2110
2151
  }).describe(
2111
2152
  "Defines a schematic sheet or page that components can be placed on"
2112
2153
  );
2113
2154
  expectTypesMatch(true);
2114
- var point_with_bulge = z66.object({
2155
+ var point_with_bulge = z69.object({
2115
2156
  x: distance,
2116
2157
  y: distance,
2117
- bulge: z66.number().optional()
2158
+ bulge: z69.number().optional()
2118
2159
  });
2119
2160
  expectTypesMatch(true);
2120
- var ring = z66.object({
2121
- vertices: z66.array(point_with_bulge)
2161
+ var ring = z69.object({
2162
+ vertices: z69.array(point_with_bulge)
2122
2163
  });
2123
2164
  expectTypesMatch(true);
2124
- var brep_shape = z66.object({
2165
+ var brep_shape = z69.object({
2125
2166
  outer_ring: ring,
2126
- inner_rings: z66.array(ring).default([])
2167
+ inner_rings: z69.array(ring).default([])
2127
2168
  });
2128
2169
  expectTypesMatch(true);
2129
- var pcb_route_hint = z67.object({
2170
+ var pcb_route_hint = z70.object({
2130
2171
  x: distance,
2131
2172
  y: distance,
2132
- via: z67.boolean().optional(),
2173
+ via: z70.boolean().optional(),
2133
2174
  via_to_layer: layer_ref.optional()
2134
2175
  });
2135
- var pcb_route_hints = z67.array(pcb_route_hint);
2176
+ var pcb_route_hints = z70.array(pcb_route_hint);
2136
2177
  expectTypesMatch(true);
2137
2178
  expectTypesMatch(true);
2138
- var route_hint_point = z68.object({
2179
+ var route_hint_point = z71.object({
2139
2180
  x: distance,
2140
2181
  y: distance,
2141
- via: z68.boolean().optional(),
2182
+ via: z71.boolean().optional(),
2142
2183
  to_layer: layer_ref.optional(),
2143
2184
  trace_width: distance.optional()
2144
2185
  });
2145
2186
  expectTypesMatch(true);
2146
- var pcb_component = z69.object({
2147
- type: z69.literal("pcb_component"),
2187
+ var pcb_component = z72.object({
2188
+ type: z72.literal("pcb_component"),
2148
2189
  pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
2149
- source_component_id: z69.string(),
2190
+ source_component_id: z72.string(),
2150
2191
  center: point,
2151
2192
  layer: layer_ref,
2152
2193
  rotation,
2153
2194
  width: length,
2154
2195
  height: length,
2155
- do_not_place: z69.boolean().optional(),
2156
- subcircuit_id: z69.string().optional(),
2157
- pcb_group_id: z69.string().optional(),
2158
- obstructs_within_bounds: z69.boolean().default(true).describe(
2196
+ do_not_place: z72.boolean().optional(),
2197
+ subcircuit_id: z72.string().optional(),
2198
+ pcb_group_id: z72.string().optional(),
2199
+ position_mode: z72.enum(["packed", "relative_to_group_anchor", "none"]).optional(),
2200
+ positioned_relative_to_pcb_group_id: z72.string().optional(),
2201
+ obstructs_within_bounds: z72.boolean().default(true).describe(
2159
2202
  "Does this component take up all the space within its bounds on a layer. This is generally true except for when separated pin headers are being represented by a single component (in which case, chips can be placed between the pin headers) or for tall modules where chips fit underneath"
2160
2203
  )
2161
2204
  }).describe("Defines a component on the PCB");
2162
2205
  expectTypesMatch(true);
2163
- var pcb_hole_circle_or_square = z70.object({
2164
- type: z70.literal("pcb_hole"),
2206
+ var pcb_hole_circle = z73.object({
2207
+ type: z73.literal("pcb_hole"),
2208
+ pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
2209
+ pcb_group_id: z73.string().optional(),
2210
+ subcircuit_id: z73.string().optional(),
2211
+ hole_shape: z73.literal("circle"),
2212
+ hole_diameter: z73.number(),
2213
+ x: distance,
2214
+ y: distance,
2215
+ is_covered_with_solder_mask: z73.boolean().optional(),
2216
+ soldermask_margin: z73.number().optional()
2217
+ });
2218
+ var pcb_hole_circle_shape = pcb_hole_circle.describe(
2219
+ "Defines a circular hole on the PCB"
2220
+ );
2221
+ expectTypesMatch(true);
2222
+ var pcb_hole_rect = z73.object({
2223
+ type: z73.literal("pcb_hole"),
2165
2224
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
2166
- pcb_group_id: z70.string().optional(),
2167
- subcircuit_id: z70.string().optional(),
2168
- hole_shape: z70.enum(["circle", "square"]),
2169
- hole_diameter: z70.number(),
2225
+ pcb_group_id: z73.string().optional(),
2226
+ subcircuit_id: z73.string().optional(),
2227
+ hole_shape: z73.literal("rect"),
2228
+ hole_width: z73.number(),
2229
+ hole_height: z73.number(),
2170
2230
  x: distance,
2171
- y: distance
2231
+ y: distance,
2232
+ is_covered_with_solder_mask: z73.boolean().optional(),
2233
+ soldermask_margin: z73.number().optional()
2234
+ });
2235
+ var pcb_hole_rect_shape = pcb_hole_rect.describe(
2236
+ "Defines a rectangular (square-capable) hole on the PCB. Use equal width/height for square."
2237
+ );
2238
+ expectTypesMatch(true);
2239
+ var pcb_hole_circle_or_square = z73.object({
2240
+ type: z73.literal("pcb_hole"),
2241
+ pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
2242
+ pcb_group_id: z73.string().optional(),
2243
+ subcircuit_id: z73.string().optional(),
2244
+ hole_shape: z73.enum(["circle", "square"]),
2245
+ hole_diameter: z73.number(),
2246
+ x: distance,
2247
+ y: distance,
2248
+ is_covered_with_solder_mask: z73.boolean().optional(),
2249
+ soldermask_margin: z73.number().optional()
2172
2250
  });
2173
2251
  var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
2174
2252
  "Defines a circular or square hole on the PCB"
2175
2253
  );
2176
2254
  expectTypesMatch(true);
2177
- var pcb_hole_oval = z70.object({
2178
- type: z70.literal("pcb_hole"),
2255
+ var pcb_hole_oval = z73.object({
2256
+ type: z73.literal("pcb_hole"),
2179
2257
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
2180
- pcb_group_id: z70.string().optional(),
2181
- subcircuit_id: z70.string().optional(),
2182
- hole_shape: z70.literal("oval"),
2183
- hole_width: z70.number(),
2184
- hole_height: z70.number(),
2258
+ pcb_group_id: z73.string().optional(),
2259
+ subcircuit_id: z73.string().optional(),
2260
+ hole_shape: z73.literal("oval"),
2261
+ hole_width: z73.number(),
2262
+ hole_height: z73.number(),
2185
2263
  x: distance,
2186
- y: distance
2264
+ y: distance,
2265
+ is_covered_with_solder_mask: z73.boolean().optional(),
2266
+ soldermask_margin: z73.number().optional()
2187
2267
  });
2188
2268
  var pcb_hole_oval_shape = pcb_hole_oval.describe(
2189
2269
  "Defines an oval hole on the PCB"
2190
2270
  );
2191
2271
  expectTypesMatch(true);
2192
- var pcb_hole_pill = z70.object({
2193
- type: z70.literal("pcb_hole"),
2272
+ var pcb_hole_pill = z73.object({
2273
+ type: z73.literal("pcb_hole"),
2194
2274
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
2195
- pcb_group_id: z70.string().optional(),
2196
- subcircuit_id: z70.string().optional(),
2197
- hole_shape: z70.literal("pill"),
2198
- hole_width: z70.number(),
2199
- hole_height: z70.number(),
2275
+ pcb_group_id: z73.string().optional(),
2276
+ subcircuit_id: z73.string().optional(),
2277
+ hole_shape: z73.literal("pill"),
2278
+ hole_width: z73.number(),
2279
+ hole_height: z73.number(),
2200
2280
  x: distance,
2201
- y: distance
2281
+ y: distance,
2282
+ is_covered_with_solder_mask: z73.boolean().optional(),
2283
+ soldermask_margin: z73.number().optional()
2202
2284
  });
2203
2285
  var pcb_hole_pill_shape = pcb_hole_pill.describe(
2204
2286
  "Defines a pill-shaped hole on the PCB"
2205
2287
  );
2206
2288
  expectTypesMatch(true);
2207
- var pcb_hole_rotated_pill = z70.object({
2208
- type: z70.literal("pcb_hole"),
2289
+ var pcb_hole_rotated_pill = z73.object({
2290
+ type: z73.literal("pcb_hole"),
2209
2291
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
2210
- pcb_group_id: z70.string().optional(),
2211
- subcircuit_id: z70.string().optional(),
2212
- hole_shape: z70.literal("rotated_pill"),
2213
- hole_width: z70.number(),
2214
- hole_height: z70.number(),
2292
+ pcb_group_id: z73.string().optional(),
2293
+ subcircuit_id: z73.string().optional(),
2294
+ hole_shape: z73.literal("rotated_pill"),
2295
+ hole_width: z73.number(),
2296
+ hole_height: z73.number(),
2215
2297
  x: distance,
2216
2298
  y: distance,
2217
- ccw_rotation: rotation
2299
+ ccw_rotation: rotation,
2300
+ is_covered_with_solder_mask: z73.boolean().optional(),
2301
+ soldermask_margin: z73.number().optional()
2218
2302
  });
2219
2303
  var pcb_hole_rotated_pill_shape = pcb_hole_rotated_pill.describe(
2220
2304
  "Defines a rotated pill-shaped hole on the PCB"
2221
2305
  );
2222
2306
  expectTypesMatch(true);
2223
- var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval).or(pcb_hole_pill).or(pcb_hole_rotated_pill);
2224
- var pcb_plated_hole_circle = z71.object({
2225
- type: z71.literal("pcb_plated_hole"),
2226
- shape: z71.literal("circle"),
2227
- pcb_group_id: z71.string().optional(),
2228
- subcircuit_id: z71.string().optional(),
2229
- outer_diameter: z71.number(),
2230
- hole_diameter: z71.number(),
2307
+ var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval).or(pcb_hole_pill).or(pcb_hole_rotated_pill).or(pcb_hole_circle).or(pcb_hole_rect);
2308
+ var pcb_plated_hole_circle = z74.object({
2309
+ type: z74.literal("pcb_plated_hole"),
2310
+ shape: z74.literal("circle"),
2311
+ pcb_group_id: z74.string().optional(),
2312
+ subcircuit_id: z74.string().optional(),
2313
+ outer_diameter: z74.number(),
2314
+ hole_diameter: z74.number(),
2231
2315
  x: distance,
2232
2316
  y: distance,
2233
- layers: z71.array(layer_ref),
2234
- port_hints: z71.array(z71.string()).optional(),
2235
- pcb_component_id: z71.string().optional(),
2236
- pcb_port_id: z71.string().optional(),
2237
- pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
2317
+ layers: z74.array(layer_ref),
2318
+ port_hints: z74.array(z74.string()).optional(),
2319
+ pcb_component_id: z74.string().optional(),
2320
+ pcb_port_id: z74.string().optional(),
2321
+ pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
2322
+ soldermask_margin: z74.number().optional()
2238
2323
  });
2239
- var pcb_plated_hole_oval = z71.object({
2240
- type: z71.literal("pcb_plated_hole"),
2241
- shape: z71.enum(["oval", "pill"]),
2242
- pcb_group_id: z71.string().optional(),
2243
- subcircuit_id: z71.string().optional(),
2244
- outer_width: z71.number(),
2245
- outer_height: z71.number(),
2246
- hole_width: z71.number(),
2247
- hole_height: z71.number(),
2324
+ var pcb_plated_hole_oval = z74.object({
2325
+ type: z74.literal("pcb_plated_hole"),
2326
+ shape: z74.enum(["oval", "pill"]),
2327
+ pcb_group_id: z74.string().optional(),
2328
+ subcircuit_id: z74.string().optional(),
2329
+ outer_width: z74.number(),
2330
+ outer_height: z74.number(),
2331
+ hole_width: z74.number(),
2332
+ hole_height: z74.number(),
2333
+ is_covered_with_solder_mask: z74.boolean().optional(),
2248
2334
  x: distance,
2249
2335
  y: distance,
2250
2336
  ccw_rotation: rotation,
2251
- layers: z71.array(layer_ref),
2252
- port_hints: z71.array(z71.string()).optional(),
2253
- pcb_component_id: z71.string().optional(),
2254
- pcb_port_id: z71.string().optional(),
2255
- pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
2337
+ layers: z74.array(layer_ref),
2338
+ port_hints: z74.array(z74.string()).optional(),
2339
+ pcb_component_id: z74.string().optional(),
2340
+ pcb_port_id: z74.string().optional(),
2341
+ pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
2342
+ soldermask_margin: z74.number().optional()
2256
2343
  });
2257
- var pcb_circular_hole_with_rect_pad = z71.object({
2258
- type: z71.literal("pcb_plated_hole"),
2259
- shape: z71.literal("circular_hole_with_rect_pad"),
2260
- pcb_group_id: z71.string().optional(),
2261
- subcircuit_id: z71.string().optional(),
2262
- hole_shape: z71.literal("circle"),
2263
- pad_shape: z71.literal("rect"),
2264
- hole_diameter: z71.number(),
2265
- rect_pad_width: z71.number(),
2266
- rect_pad_height: z71.number(),
2267
- rect_border_radius: z71.number().optional(),
2344
+ var pcb_circular_hole_with_rect_pad = z74.object({
2345
+ type: z74.literal("pcb_plated_hole"),
2346
+ shape: z74.literal("circular_hole_with_rect_pad"),
2347
+ pcb_group_id: z74.string().optional(),
2348
+ subcircuit_id: z74.string().optional(),
2349
+ hole_shape: z74.literal("circle"),
2350
+ pad_shape: z74.literal("rect"),
2351
+ hole_diameter: z74.number(),
2352
+ rect_pad_width: z74.number(),
2353
+ rect_pad_height: z74.number(),
2354
+ rect_border_radius: z74.number().optional(),
2268
2355
  hole_offset_x: distance.default(0),
2269
2356
  hole_offset_y: distance.default(0),
2357
+ is_covered_with_solder_mask: z74.boolean().optional(),
2270
2358
  x: distance,
2271
2359
  y: distance,
2272
- layers: z71.array(layer_ref),
2273
- port_hints: z71.array(z71.string()).optional(),
2274
- pcb_component_id: z71.string().optional(),
2275
- pcb_port_id: z71.string().optional(),
2276
- pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
2360
+ layers: z74.array(layer_ref),
2361
+ port_hints: z74.array(z74.string()).optional(),
2362
+ pcb_component_id: z74.string().optional(),
2363
+ pcb_port_id: z74.string().optional(),
2364
+ pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
2365
+ soldermask_margin: z74.number().optional()
2277
2366
  });
2278
- var pcb_pill_hole_with_rect_pad = z71.object({
2279
- type: z71.literal("pcb_plated_hole"),
2280
- shape: z71.literal("pill_hole_with_rect_pad"),
2281
- pcb_group_id: z71.string().optional(),
2282
- subcircuit_id: z71.string().optional(),
2283
- hole_shape: z71.literal("pill"),
2284
- pad_shape: z71.literal("rect"),
2285
- hole_width: z71.number(),
2286
- hole_height: z71.number(),
2287
- rect_pad_width: z71.number(),
2288
- rect_pad_height: z71.number(),
2289
- rect_border_radius: z71.number().optional(),
2367
+ var pcb_pill_hole_with_rect_pad = z74.object({
2368
+ type: z74.literal("pcb_plated_hole"),
2369
+ shape: z74.literal("pill_hole_with_rect_pad"),
2370
+ pcb_group_id: z74.string().optional(),
2371
+ subcircuit_id: z74.string().optional(),
2372
+ hole_shape: z74.literal("pill"),
2373
+ pad_shape: z74.literal("rect"),
2374
+ hole_width: z74.number(),
2375
+ hole_height: z74.number(),
2376
+ rect_pad_width: z74.number(),
2377
+ rect_pad_height: z74.number(),
2378
+ rect_border_radius: z74.number().optional(),
2290
2379
  hole_offset_x: distance.default(0),
2291
2380
  hole_offset_y: distance.default(0),
2381
+ is_covered_with_solder_mask: z74.boolean().optional(),
2292
2382
  x: distance,
2293
2383
  y: distance,
2294
- layers: z71.array(layer_ref),
2295
- port_hints: z71.array(z71.string()).optional(),
2296
- pcb_component_id: z71.string().optional(),
2297
- pcb_port_id: z71.string().optional(),
2298
- pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
2384
+ layers: z74.array(layer_ref),
2385
+ port_hints: z74.array(z74.string()).optional(),
2386
+ pcb_component_id: z74.string().optional(),
2387
+ pcb_port_id: z74.string().optional(),
2388
+ pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
2389
+ soldermask_margin: z74.number().optional()
2299
2390
  });
2300
- var pcb_rotated_pill_hole_with_rect_pad = z71.object({
2301
- type: z71.literal("pcb_plated_hole"),
2302
- shape: z71.literal("rotated_pill_hole_with_rect_pad"),
2303
- pcb_group_id: z71.string().optional(),
2304
- subcircuit_id: z71.string().optional(),
2305
- hole_shape: z71.literal("rotated_pill"),
2306
- pad_shape: z71.literal("rect"),
2307
- hole_width: z71.number(),
2308
- hole_height: z71.number(),
2391
+ var pcb_rotated_pill_hole_with_rect_pad = z74.object({
2392
+ type: z74.literal("pcb_plated_hole"),
2393
+ shape: z74.literal("rotated_pill_hole_with_rect_pad"),
2394
+ pcb_group_id: z74.string().optional(),
2395
+ subcircuit_id: z74.string().optional(),
2396
+ hole_shape: z74.literal("rotated_pill"),
2397
+ pad_shape: z74.literal("rect"),
2398
+ hole_width: z74.number(),
2399
+ hole_height: z74.number(),
2309
2400
  hole_ccw_rotation: rotation,
2310
- rect_pad_width: z71.number(),
2311
- rect_pad_height: z71.number(),
2312
- rect_border_radius: z71.number().optional(),
2401
+ rect_pad_width: z74.number(),
2402
+ rect_pad_height: z74.number(),
2403
+ rect_border_radius: z74.number().optional(),
2313
2404
  rect_ccw_rotation: rotation,
2314
2405
  hole_offset_x: distance.default(0),
2315
2406
  hole_offset_y: distance.default(0),
2407
+ is_covered_with_solder_mask: z74.boolean().optional(),
2408
+ x: distance,
2409
+ y: distance,
2410
+ layers: z74.array(layer_ref),
2411
+ port_hints: z74.array(z74.string()).optional(),
2412
+ pcb_component_id: z74.string().optional(),
2413
+ pcb_port_id: z74.string().optional(),
2414
+ pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
2415
+ soldermask_margin: z74.number().optional()
2416
+ });
2417
+ var pcb_hole_with_polygon_pad = z74.object({
2418
+ type: z74.literal("pcb_plated_hole"),
2419
+ shape: z74.literal("hole_with_polygon_pad"),
2420
+ pcb_group_id: z74.string().optional(),
2421
+ subcircuit_id: z74.string().optional(),
2422
+ hole_shape: z74.enum(["circle", "oval", "pill", "rotated_pill"]),
2423
+ hole_diameter: z74.number().optional(),
2424
+ hole_width: z74.number().optional(),
2425
+ hole_height: z74.number().optional(),
2426
+ pad_outline: z74.array(
2427
+ z74.object({
2428
+ x: distance,
2429
+ y: distance
2430
+ })
2431
+ ).min(3),
2432
+ hole_offset_x: distance.default(0),
2433
+ hole_offset_y: distance.default(0),
2434
+ is_covered_with_solder_mask: z74.boolean().optional(),
2316
2435
  x: distance,
2317
2436
  y: distance,
2318
- layers: z71.array(layer_ref),
2319
- port_hints: z71.array(z71.string()).optional(),
2320
- pcb_component_id: z71.string().optional(),
2321
- pcb_port_id: z71.string().optional(),
2322
- pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
2437
+ layers: z74.array(layer_ref),
2438
+ port_hints: z74.array(z74.string()).optional(),
2439
+ pcb_component_id: z74.string().optional(),
2440
+ pcb_port_id: z74.string().optional(),
2441
+ pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
2442
+ soldermask_margin: z74.number().optional()
2323
2443
  });
2324
- var pcb_plated_hole = z71.union([
2444
+ var pcb_plated_hole = z74.union([
2325
2445
  pcb_plated_hole_circle,
2326
2446
  pcb_plated_hole_oval,
2327
2447
  pcb_circular_hole_with_rect_pad,
2328
2448
  pcb_pill_hole_with_rect_pad,
2329
- pcb_rotated_pill_hole_with_rect_pad
2449
+ pcb_rotated_pill_hole_with_rect_pad,
2450
+ pcb_hole_with_polygon_pad
2330
2451
  ]);
2331
2452
  expectTypesMatch(
2332
2453
  true
@@ -2335,120 +2456,127 @@ expectTypesMatch(true);
2335
2456
  expectTypesMatch(true);
2336
2457
  expectTypesMatch(true);
2337
2458
  expectTypesMatch(true);
2338
- var pcb_port = z72.object({
2339
- type: z72.literal("pcb_port"),
2459
+ expectTypesMatch(true);
2460
+ var pcb_port = z75.object({
2461
+ type: z75.literal("pcb_port"),
2340
2462
  pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
2341
- pcb_group_id: z72.string().optional(),
2342
- subcircuit_id: z72.string().optional(),
2343
- source_port_id: z72.string(),
2344
- pcb_component_id: z72.string().optional(),
2463
+ pcb_group_id: z75.string().optional(),
2464
+ subcircuit_id: z75.string().optional(),
2465
+ source_port_id: z75.string(),
2466
+ pcb_component_id: z75.string().optional(),
2345
2467
  x: distance,
2346
2468
  y: distance,
2347
- layers: z72.array(layer_ref),
2348
- is_board_pinout: z72.boolean().optional()
2469
+ layers: z75.array(layer_ref),
2470
+ is_board_pinout: z75.boolean().optional()
2349
2471
  }).describe("Defines a port on the PCB");
2350
2472
  expectTypesMatch(true);
2351
- var pcb_smtpad_circle = z73.object({
2352
- type: z73.literal("pcb_smtpad"),
2353
- shape: z73.literal("circle"),
2473
+ var pcb_smtpad_circle = z76.object({
2474
+ type: z76.literal("pcb_smtpad"),
2475
+ shape: z76.literal("circle"),
2354
2476
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
2355
- pcb_group_id: z73.string().optional(),
2356
- subcircuit_id: z73.string().optional(),
2477
+ pcb_group_id: z76.string().optional(),
2478
+ subcircuit_id: z76.string().optional(),
2357
2479
  x: distance,
2358
2480
  y: distance,
2359
- radius: z73.number(),
2481
+ radius: z76.number(),
2360
2482
  layer: layer_ref,
2361
- port_hints: z73.array(z73.string()).optional(),
2362
- pcb_component_id: z73.string().optional(),
2363
- pcb_port_id: z73.string().optional(),
2364
- is_covered_with_solder_mask: z73.boolean().optional()
2483
+ port_hints: z76.array(z76.string()).optional(),
2484
+ pcb_component_id: z76.string().optional(),
2485
+ pcb_port_id: z76.string().optional(),
2486
+ is_covered_with_solder_mask: z76.boolean().optional(),
2487
+ soldermask_margin: z76.number().optional()
2365
2488
  });
2366
- var pcb_smtpad_rect = z73.object({
2367
- type: z73.literal("pcb_smtpad"),
2368
- shape: z73.literal("rect"),
2489
+ var pcb_smtpad_rect = z76.object({
2490
+ type: z76.literal("pcb_smtpad"),
2491
+ shape: z76.literal("rect"),
2369
2492
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
2370
- pcb_group_id: z73.string().optional(),
2371
- subcircuit_id: z73.string().optional(),
2493
+ pcb_group_id: z76.string().optional(),
2494
+ subcircuit_id: z76.string().optional(),
2372
2495
  x: distance,
2373
2496
  y: distance,
2374
- width: z73.number(),
2375
- height: z73.number(),
2376
- rect_border_radius: z73.number().optional(),
2377
- corner_radius: z73.number().optional(),
2497
+ width: z76.number(),
2498
+ height: z76.number(),
2499
+ rect_border_radius: z76.number().optional(),
2500
+ corner_radius: z76.number().optional(),
2378
2501
  layer: layer_ref,
2379
- port_hints: z73.array(z73.string()).optional(),
2380
- pcb_component_id: z73.string().optional(),
2381
- pcb_port_id: z73.string().optional(),
2382
- is_covered_with_solder_mask: z73.boolean().optional()
2502
+ port_hints: z76.array(z76.string()).optional(),
2503
+ pcb_component_id: z76.string().optional(),
2504
+ pcb_port_id: z76.string().optional(),
2505
+ is_covered_with_solder_mask: z76.boolean().optional(),
2506
+ soldermask_margin: z76.number().optional()
2383
2507
  });
2384
- var pcb_smtpad_rotated_rect = z73.object({
2385
- type: z73.literal("pcb_smtpad"),
2386
- shape: z73.literal("rotated_rect"),
2508
+ var pcb_smtpad_rotated_rect = z76.object({
2509
+ type: z76.literal("pcb_smtpad"),
2510
+ shape: z76.literal("rotated_rect"),
2387
2511
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
2388
- pcb_group_id: z73.string().optional(),
2389
- subcircuit_id: z73.string().optional(),
2512
+ pcb_group_id: z76.string().optional(),
2513
+ subcircuit_id: z76.string().optional(),
2390
2514
  x: distance,
2391
2515
  y: distance,
2392
- width: z73.number(),
2393
- height: z73.number(),
2394
- rect_border_radius: z73.number().optional(),
2395
- corner_radius: z73.number().optional(),
2516
+ width: z76.number(),
2517
+ height: z76.number(),
2518
+ rect_border_radius: z76.number().optional(),
2519
+ corner_radius: z76.number().optional(),
2396
2520
  ccw_rotation: rotation,
2397
2521
  layer: layer_ref,
2398
- port_hints: z73.array(z73.string()).optional(),
2399
- pcb_component_id: z73.string().optional(),
2400
- pcb_port_id: z73.string().optional(),
2401
- is_covered_with_solder_mask: z73.boolean().optional()
2522
+ port_hints: z76.array(z76.string()).optional(),
2523
+ pcb_component_id: z76.string().optional(),
2524
+ pcb_port_id: z76.string().optional(),
2525
+ is_covered_with_solder_mask: z76.boolean().optional(),
2526
+ soldermask_margin: z76.number().optional()
2402
2527
  });
2403
- var pcb_smtpad_pill = z73.object({
2404
- type: z73.literal("pcb_smtpad"),
2405
- shape: z73.literal("pill"),
2528
+ var pcb_smtpad_pill = z76.object({
2529
+ type: z76.literal("pcb_smtpad"),
2530
+ shape: z76.literal("pill"),
2406
2531
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
2407
- pcb_group_id: z73.string().optional(),
2408
- subcircuit_id: z73.string().optional(),
2532
+ pcb_group_id: z76.string().optional(),
2533
+ subcircuit_id: z76.string().optional(),
2409
2534
  x: distance,
2410
2535
  y: distance,
2411
- width: z73.number(),
2412
- height: z73.number(),
2413
- radius: z73.number(),
2536
+ width: z76.number(),
2537
+ height: z76.number(),
2538
+ radius: z76.number(),
2414
2539
  layer: layer_ref,
2415
- port_hints: z73.array(z73.string()).optional(),
2416
- pcb_component_id: z73.string().optional(),
2417
- pcb_port_id: z73.string().optional(),
2418
- is_covered_with_solder_mask: z73.boolean().optional()
2540
+ port_hints: z76.array(z76.string()).optional(),
2541
+ pcb_component_id: z76.string().optional(),
2542
+ pcb_port_id: z76.string().optional(),
2543
+ is_covered_with_solder_mask: z76.boolean().optional(),
2544
+ soldermask_margin: z76.number().optional()
2419
2545
  });
2420
- var pcb_smtpad_rotated_pill = z73.object({
2421
- type: z73.literal("pcb_smtpad"),
2422
- shape: z73.literal("rotated_pill"),
2546
+ var pcb_smtpad_rotated_pill = z76.object({
2547
+ type: z76.literal("pcb_smtpad"),
2548
+ shape: z76.literal("rotated_pill"),
2423
2549
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
2424
- pcb_group_id: z73.string().optional(),
2425
- subcircuit_id: z73.string().optional(),
2550
+ pcb_group_id: z76.string().optional(),
2551
+ subcircuit_id: z76.string().optional(),
2426
2552
  x: distance,
2427
2553
  y: distance,
2428
- width: z73.number(),
2429
- height: z73.number(),
2430
- radius: z73.number(),
2554
+ width: z76.number(),
2555
+ height: z76.number(),
2556
+ radius: z76.number(),
2431
2557
  ccw_rotation: rotation,
2432
2558
  layer: layer_ref,
2433
- port_hints: z73.array(z73.string()).optional(),
2434
- pcb_component_id: z73.string().optional(),
2435
- pcb_port_id: z73.string().optional(),
2436
- is_covered_with_solder_mask: z73.boolean().optional()
2559
+ port_hints: z76.array(z76.string()).optional(),
2560
+ pcb_component_id: z76.string().optional(),
2561
+ pcb_port_id: z76.string().optional(),
2562
+ is_covered_with_solder_mask: z76.boolean().optional(),
2563
+ soldermask_margin: z76.number().optional()
2437
2564
  });
2438
- var pcb_smtpad_polygon = z73.object({
2439
- type: z73.literal("pcb_smtpad"),
2440
- shape: z73.literal("polygon"),
2565
+ var pcb_smtpad_polygon = z76.object({
2566
+ type: z76.literal("pcb_smtpad"),
2567
+ shape: z76.literal("polygon"),
2441
2568
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
2442
- pcb_group_id: z73.string().optional(),
2443
- subcircuit_id: z73.string().optional(),
2444
- points: z73.array(point),
2569
+ pcb_group_id: z76.string().optional(),
2570
+ subcircuit_id: z76.string().optional(),
2571
+ points: z76.array(point),
2445
2572
  layer: layer_ref,
2446
- port_hints: z73.array(z73.string()).optional(),
2447
- pcb_component_id: z73.string().optional(),
2448
- pcb_port_id: z73.string().optional(),
2449
- is_covered_with_solder_mask: z73.boolean().optional()
2573
+ port_hints: z76.array(z76.string()).optional(),
2574
+ pcb_component_id: z76.string().optional(),
2575
+ pcb_port_id: z76.string().optional(),
2576
+ is_covered_with_solder_mask: z76.boolean().optional(),
2577
+ soldermask_margin: z76.number().optional()
2450
2578
  });
2451
- var pcb_smtpad = z73.discriminatedUnion("shape", [
2579
+ var pcb_smtpad = z76.discriminatedUnion("shape", [
2452
2580
  pcb_smtpad_circle,
2453
2581
  pcb_smtpad_rect,
2454
2582
  pcb_smtpad_rotated_rect,
@@ -2462,78 +2590,78 @@ expectTypesMatch(true);
2462
2590
  expectTypesMatch(true);
2463
2591
  expectTypesMatch(true);
2464
2592
  expectTypesMatch(true);
2465
- var pcb_solder_paste_circle = z74.object({
2466
- type: z74.literal("pcb_solder_paste"),
2467
- shape: z74.literal("circle"),
2593
+ var pcb_solder_paste_circle = z77.object({
2594
+ type: z77.literal("pcb_solder_paste"),
2595
+ shape: z77.literal("circle"),
2468
2596
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
2469
- pcb_group_id: z74.string().optional(),
2470
- subcircuit_id: z74.string().optional(),
2597
+ pcb_group_id: z77.string().optional(),
2598
+ subcircuit_id: z77.string().optional(),
2471
2599
  x: distance,
2472
2600
  y: distance,
2473
- radius: z74.number(),
2601
+ radius: z77.number(),
2474
2602
  layer: layer_ref,
2475
- pcb_component_id: z74.string().optional(),
2476
- pcb_smtpad_id: z74.string().optional()
2603
+ pcb_component_id: z77.string().optional(),
2604
+ pcb_smtpad_id: z77.string().optional()
2477
2605
  });
2478
- var pcb_solder_paste_rect = z74.object({
2479
- type: z74.literal("pcb_solder_paste"),
2480
- shape: z74.literal("rect"),
2606
+ var pcb_solder_paste_rect = z77.object({
2607
+ type: z77.literal("pcb_solder_paste"),
2608
+ shape: z77.literal("rect"),
2481
2609
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
2482
- pcb_group_id: z74.string().optional(),
2483
- subcircuit_id: z74.string().optional(),
2610
+ pcb_group_id: z77.string().optional(),
2611
+ subcircuit_id: z77.string().optional(),
2484
2612
  x: distance,
2485
2613
  y: distance,
2486
- width: z74.number(),
2487
- height: z74.number(),
2614
+ width: z77.number(),
2615
+ height: z77.number(),
2488
2616
  layer: layer_ref,
2489
- pcb_component_id: z74.string().optional(),
2490
- pcb_smtpad_id: z74.string().optional()
2617
+ pcb_component_id: z77.string().optional(),
2618
+ pcb_smtpad_id: z77.string().optional()
2491
2619
  });
2492
- var pcb_solder_paste_pill = z74.object({
2493
- type: z74.literal("pcb_solder_paste"),
2494
- shape: z74.literal("pill"),
2620
+ var pcb_solder_paste_pill = z77.object({
2621
+ type: z77.literal("pcb_solder_paste"),
2622
+ shape: z77.literal("pill"),
2495
2623
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
2496
- pcb_group_id: z74.string().optional(),
2497
- subcircuit_id: z74.string().optional(),
2624
+ pcb_group_id: z77.string().optional(),
2625
+ subcircuit_id: z77.string().optional(),
2498
2626
  x: distance,
2499
2627
  y: distance,
2500
- width: z74.number(),
2501
- height: z74.number(),
2502
- radius: z74.number(),
2628
+ width: z77.number(),
2629
+ height: z77.number(),
2630
+ radius: z77.number(),
2503
2631
  layer: layer_ref,
2504
- pcb_component_id: z74.string().optional(),
2505
- pcb_smtpad_id: z74.string().optional()
2632
+ pcb_component_id: z77.string().optional(),
2633
+ pcb_smtpad_id: z77.string().optional()
2506
2634
  });
2507
- var pcb_solder_paste_rotated_rect = z74.object({
2508
- type: z74.literal("pcb_solder_paste"),
2509
- shape: z74.literal("rotated_rect"),
2635
+ var pcb_solder_paste_rotated_rect = z77.object({
2636
+ type: z77.literal("pcb_solder_paste"),
2637
+ shape: z77.literal("rotated_rect"),
2510
2638
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
2511
- pcb_group_id: z74.string().optional(),
2512
- subcircuit_id: z74.string().optional(),
2639
+ pcb_group_id: z77.string().optional(),
2640
+ subcircuit_id: z77.string().optional(),
2513
2641
  x: distance,
2514
2642
  y: distance,
2515
- width: z74.number(),
2516
- height: z74.number(),
2643
+ width: z77.number(),
2644
+ height: z77.number(),
2517
2645
  ccw_rotation: distance,
2518
2646
  layer: layer_ref,
2519
- pcb_component_id: z74.string().optional(),
2520
- pcb_smtpad_id: z74.string().optional()
2647
+ pcb_component_id: z77.string().optional(),
2648
+ pcb_smtpad_id: z77.string().optional()
2521
2649
  });
2522
- var pcb_solder_paste_oval = z74.object({
2523
- type: z74.literal("pcb_solder_paste"),
2524
- shape: z74.literal("oval"),
2650
+ var pcb_solder_paste_oval = z77.object({
2651
+ type: z77.literal("pcb_solder_paste"),
2652
+ shape: z77.literal("oval"),
2525
2653
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
2526
- pcb_group_id: z74.string().optional(),
2527
- subcircuit_id: z74.string().optional(),
2654
+ pcb_group_id: z77.string().optional(),
2655
+ subcircuit_id: z77.string().optional(),
2528
2656
  x: distance,
2529
2657
  y: distance,
2530
- width: z74.number(),
2531
- height: z74.number(),
2658
+ width: z77.number(),
2659
+ height: z77.number(),
2532
2660
  layer: layer_ref,
2533
- pcb_component_id: z74.string().optional(),
2534
- pcb_smtpad_id: z74.string().optional()
2661
+ pcb_component_id: z77.string().optional(),
2662
+ pcb_smtpad_id: z77.string().optional()
2535
2663
  });
2536
- var pcb_solder_paste = z74.union([
2664
+ var pcb_solder_paste = z77.union([
2537
2665
  pcb_solder_paste_circle,
2538
2666
  pcb_solder_paste_rect,
2539
2667
  pcb_solder_paste_pill,
@@ -2547,123 +2675,124 @@ expectTypesMatch(
2547
2675
  true
2548
2676
  );
2549
2677
  expectTypesMatch(true);
2550
- var pcb_text = z75.object({
2551
- type: z75.literal("pcb_text"),
2678
+ var pcb_text = z78.object({
2679
+ type: z78.literal("pcb_text"),
2552
2680
  pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
2553
- pcb_group_id: z75.string().optional(),
2554
- subcircuit_id: z75.string().optional(),
2555
- text: z75.string(),
2681
+ pcb_group_id: z78.string().optional(),
2682
+ subcircuit_id: z78.string().optional(),
2683
+ text: z78.string(),
2556
2684
  center: point,
2557
2685
  layer: layer_ref,
2558
2686
  width: length,
2559
2687
  height: length,
2560
- lines: z75.number(),
2688
+ lines: z78.number(),
2561
2689
  // @ts-ignore
2562
- align: z75.enum(["bottom-left"])
2690
+ align: z78.enum(["bottom-left"])
2563
2691
  }).describe("Defines text on the PCB");
2564
2692
  expectTypesMatch(true);
2565
- var pcb_trace_route_point_wire = z76.object({
2566
- route_type: z76.literal("wire"),
2693
+ var pcb_trace_route_point_wire = z79.object({
2694
+ route_type: z79.literal("wire"),
2567
2695
  x: distance,
2568
2696
  y: distance,
2569
2697
  width: distance,
2570
- start_pcb_port_id: z76.string().optional(),
2571
- end_pcb_port_id: z76.string().optional(),
2698
+ start_pcb_port_id: z79.string().optional(),
2699
+ end_pcb_port_id: z79.string().optional(),
2572
2700
  layer: layer_ref
2573
2701
  });
2574
- var pcb_trace_route_point_via = z76.object({
2575
- route_type: z76.literal("via"),
2702
+ var pcb_trace_route_point_via = z79.object({
2703
+ route_type: z79.literal("via"),
2576
2704
  x: distance,
2577
2705
  y: distance,
2578
2706
  hole_diameter: distance.optional(),
2579
2707
  outer_diameter: distance.optional(),
2580
- from_layer: z76.string(),
2581
- to_layer: z76.string()
2708
+ from_layer: z79.string(),
2709
+ to_layer: z79.string()
2582
2710
  });
2583
- var pcb_trace_route_point = z76.union([
2711
+ var pcb_trace_route_point = z79.union([
2584
2712
  pcb_trace_route_point_wire,
2585
2713
  pcb_trace_route_point_via
2586
2714
  ]);
2587
- var pcb_trace = z76.object({
2588
- type: z76.literal("pcb_trace"),
2589
- source_trace_id: z76.string().optional(),
2590
- pcb_component_id: z76.string().optional(),
2715
+ var pcb_trace = z79.object({
2716
+ type: z79.literal("pcb_trace"),
2717
+ source_trace_id: z79.string().optional(),
2718
+ pcb_component_id: z79.string().optional(),
2591
2719
  pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
2592
- pcb_group_id: z76.string().optional(),
2593
- subcircuit_id: z76.string().optional(),
2594
- route_thickness_mode: z76.enum(["constant", "interpolated"]).default("constant").optional(),
2595
- route_order_index: z76.number().optional(),
2596
- should_round_corners: z76.boolean().optional(),
2597
- trace_length: z76.number().optional(),
2598
- highlight_color: z76.string().optional(),
2599
- route: z76.array(pcb_trace_route_point)
2720
+ pcb_group_id: z79.string().optional(),
2721
+ subcircuit_id: z79.string().optional(),
2722
+ route_thickness_mode: z79.enum(["constant", "interpolated"]).default("constant").optional(),
2723
+ route_order_index: z79.number().optional(),
2724
+ should_round_corners: z79.boolean().optional(),
2725
+ trace_length: z79.number().optional(),
2726
+ highlight_color: z79.string().optional(),
2727
+ route: z79.array(pcb_trace_route_point)
2600
2728
  }).describe("Defines a trace on the PCB");
2601
2729
  expectTypesMatch(true);
2602
2730
  expectTypesMatch(true);
2603
- var pcb_trace_error = z77.object({
2604
- type: z77.literal("pcb_trace_error"),
2731
+ var pcb_trace_error = z80.object({
2732
+ type: z80.literal("pcb_trace_error"),
2605
2733
  pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
2606
- error_type: z77.literal("pcb_trace_error").default("pcb_trace_error"),
2607
- message: z77.string(),
2734
+ error_type: z80.literal("pcb_trace_error").default("pcb_trace_error"),
2735
+ message: z80.string(),
2608
2736
  center: point.optional(),
2609
- pcb_trace_id: z77.string(),
2610
- source_trace_id: z77.string(),
2611
- pcb_component_ids: z77.array(z77.string()),
2612
- pcb_port_ids: z77.array(z77.string()),
2613
- subcircuit_id: z77.string().optional()
2737
+ pcb_trace_id: z80.string(),
2738
+ source_trace_id: z80.string(),
2739
+ pcb_component_ids: z80.array(z80.string()),
2740
+ pcb_port_ids: z80.array(z80.string()),
2741
+ subcircuit_id: z80.string().optional()
2614
2742
  }).describe("Defines a trace error on the PCB");
2615
2743
  expectTypesMatch(true);
2616
- var pcb_trace_missing_error = z78.object({
2617
- type: z78.literal("pcb_trace_missing_error"),
2744
+ var pcb_trace_missing_error = z81.object({
2745
+ type: z81.literal("pcb_trace_missing_error"),
2618
2746
  pcb_trace_missing_error_id: getZodPrefixedIdWithDefault(
2619
2747
  "pcb_trace_missing_error"
2620
2748
  ),
2621
- error_type: z78.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
2622
- message: z78.string(),
2749
+ error_type: z81.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
2750
+ message: z81.string(),
2623
2751
  center: point.optional(),
2624
- source_trace_id: z78.string(),
2625
- pcb_component_ids: z78.array(z78.string()),
2626
- pcb_port_ids: z78.array(z78.string()),
2627
- subcircuit_id: z78.string().optional()
2752
+ source_trace_id: z81.string(),
2753
+ pcb_component_ids: z81.array(z81.string()),
2754
+ pcb_port_ids: z81.array(z81.string()),
2755
+ subcircuit_id: z81.string().optional()
2628
2756
  }).describe(
2629
2757
  "Defines an error when a source trace has no corresponding PCB trace"
2630
2758
  );
2631
2759
  expectTypesMatch(true);
2632
- var pcb_port_not_matched_error = z79.object({
2633
- type: z79.literal("pcb_port_not_matched_error"),
2760
+ var pcb_port_not_matched_error = z82.object({
2761
+ type: z82.literal("pcb_port_not_matched_error"),
2634
2762
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
2635
- error_type: z79.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
2636
- message: z79.string(),
2637
- pcb_component_ids: z79.array(z79.string()),
2638
- subcircuit_id: z79.string().optional()
2763
+ error_type: z82.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
2764
+ message: z82.string(),
2765
+ pcb_component_ids: z82.array(z82.string()),
2766
+ subcircuit_id: z82.string().optional()
2639
2767
  }).describe("Defines a trace error on the PCB where a port is not matched");
2640
2768
  expectTypesMatch(true);
2641
- var pcb_port_not_connected_error = z80.object({
2642
- type: z80.literal("pcb_port_not_connected_error"),
2769
+ var pcb_port_not_connected_error = z83.object({
2770
+ type: z83.literal("pcb_port_not_connected_error"),
2643
2771
  pcb_port_not_connected_error_id: getZodPrefixedIdWithDefault(
2644
2772
  "pcb_port_not_connected_error"
2645
2773
  ),
2646
- error_type: z80.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
2647
- message: z80.string(),
2648
- pcb_port_ids: z80.array(z80.string()),
2649
- pcb_component_ids: z80.array(z80.string()),
2650
- subcircuit_id: z80.string().optional()
2774
+ error_type: z83.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
2775
+ message: z83.string(),
2776
+ pcb_port_ids: z83.array(z83.string()),
2777
+ pcb_component_ids: z83.array(z83.string()),
2778
+ subcircuit_id: z83.string().optional()
2651
2779
  }).describe("Defines an error when a pcb port is not connected to any trace");
2652
2780
  expectTypesMatch(
2653
2781
  true
2654
2782
  );
2655
- var pcb_net = z81.object({
2656
- type: z81.literal("pcb_net"),
2783
+ var pcb_net = z84.object({
2784
+ type: z84.literal("pcb_net"),
2657
2785
  pcb_net_id: getZodPrefixedIdWithDefault("pcb_net"),
2658
- source_net_id: z81.string().optional(),
2659
- highlight_color: z81.string().optional()
2786
+ source_net_id: z84.string().optional(),
2787
+ highlight_color: z84.string().optional()
2660
2788
  }).describe("Defines a net on the PCB");
2661
2789
  expectTypesMatch(true);
2662
- var pcb_via = z82.object({
2663
- type: z82.literal("pcb_via"),
2790
+ var pcb_via = z85.object({
2791
+ type: z85.literal("pcb_via"),
2664
2792
  pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
2665
- pcb_group_id: z82.string().optional(),
2666
- subcircuit_id: z82.string().optional(),
2793
+ pcb_group_id: z85.string().optional(),
2794
+ subcircuit_id: z85.string().optional(),
2795
+ subcircuit_connectivity_map_key: z85.string().optional(),
2667
2796
  x: distance,
2668
2797
  y: distance,
2669
2798
  outer_diameter: distance.default("0.6mm"),
@@ -2672,56 +2801,61 @@ var pcb_via = z82.object({
2672
2801
  from_layer: layer_ref.optional(),
2673
2802
  /** @deprecated */
2674
2803
  to_layer: layer_ref.optional(),
2675
- layers: z82.array(layer_ref),
2676
- pcb_trace_id: z82.string().optional()
2804
+ layers: z85.array(layer_ref),
2805
+ pcb_trace_id: z85.string().optional(),
2806
+ net_is_assignable: z85.boolean().optional(),
2807
+ net_assigned: z85.boolean().optional(),
2808
+ is_tented: z85.boolean().optional()
2677
2809
  }).describe("Defines a via on the PCB");
2678
2810
  expectTypesMatch(true);
2679
- var pcb_board = z83.object({
2680
- type: z83.literal("pcb_board"),
2811
+ var pcb_board = z86.object({
2812
+ type: z86.literal("pcb_board"),
2681
2813
  pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
2682
- pcb_panel_id: z83.string().optional(),
2683
- is_subcircuit: z83.boolean().optional(),
2684
- subcircuit_id: z83.string().optional(),
2685
- width: length,
2686
- height: length,
2814
+ pcb_panel_id: z86.string().optional(),
2815
+ is_subcircuit: z86.boolean().optional(),
2816
+ subcircuit_id: z86.string().optional(),
2817
+ width: length.optional(),
2818
+ height: length.optional(),
2687
2819
  center: point,
2688
2820
  thickness: length.optional().default(1.4),
2689
- num_layers: z83.number().optional().default(4),
2690
- outline: z83.array(point).optional(),
2691
- material: z83.enum(["fr4", "fr1"]).default("fr4")
2821
+ num_layers: z86.number().optional().default(4),
2822
+ outline: z86.array(point).optional(),
2823
+ shape: z86.enum(["rect", "polygon"]).optional(),
2824
+ material: z86.enum(["fr4", "fr1"]).default("fr4")
2692
2825
  }).describe("Defines the board outline of the PCB");
2693
2826
  expectTypesMatch(true);
2694
- var pcb_panel = z84.object({
2695
- type: z84.literal("pcb_panel"),
2827
+ var pcb_panel = z87.object({
2828
+ type: z87.literal("pcb_panel"),
2696
2829
  pcb_panel_id: getZodPrefixedIdWithDefault("pcb_panel"),
2697
2830
  width: length,
2698
2831
  height: length,
2699
- covered_with_solder_mask: z84.boolean().optional().default(true)
2832
+ center: point,
2833
+ covered_with_solder_mask: z87.boolean().optional().default(true)
2700
2834
  }).describe("Defines a PCB panel that can contain multiple boards");
2701
2835
  expectTypesMatch(true);
2702
- var pcb_placement_error = z85.object({
2703
- type: z85.literal("pcb_placement_error"),
2836
+ var pcb_placement_error = z88.object({
2837
+ type: z88.literal("pcb_placement_error"),
2704
2838
  pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
2705
- error_type: z85.literal("pcb_placement_error").default("pcb_placement_error"),
2706
- message: z85.string(),
2707
- subcircuit_id: z85.string().optional()
2839
+ error_type: z88.literal("pcb_placement_error").default("pcb_placement_error"),
2840
+ message: z88.string(),
2841
+ subcircuit_id: z88.string().optional()
2708
2842
  }).describe("Defines a placement error on the PCB");
2709
2843
  expectTypesMatch(true);
2710
- var pcb_trace_hint = z86.object({
2711
- type: z86.literal("pcb_trace_hint"),
2844
+ var pcb_trace_hint = z89.object({
2845
+ type: z89.literal("pcb_trace_hint"),
2712
2846
  pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
2713
- pcb_port_id: z86.string(),
2714
- pcb_component_id: z86.string(),
2715
- route: z86.array(route_hint_point),
2716
- subcircuit_id: z86.string().optional()
2847
+ pcb_port_id: z89.string(),
2848
+ pcb_component_id: z89.string(),
2849
+ route: z89.array(route_hint_point),
2850
+ subcircuit_id: z89.string().optional()
2717
2851
  }).describe("A hint that can be used during generation of a PCB trace");
2718
2852
  expectTypesMatch(true);
2719
- var pcb_silkscreen_line = z87.object({
2720
- type: z87.literal("pcb_silkscreen_line"),
2853
+ var pcb_silkscreen_line = z90.object({
2854
+ type: z90.literal("pcb_silkscreen_line"),
2721
2855
  pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
2722
- pcb_component_id: z87.string(),
2723
- pcb_group_id: z87.string().optional(),
2724
- subcircuit_id: z87.string().optional(),
2856
+ pcb_component_id: z90.string(),
2857
+ pcb_group_id: z90.string().optional(),
2858
+ subcircuit_id: z90.string().optional(),
2725
2859
  stroke_width: distance.default("0.1mm"),
2726
2860
  x1: distance,
2727
2861
  y1: distance,
@@ -2730,28 +2864,28 @@ var pcb_silkscreen_line = z87.object({
2730
2864
  layer: visible_layer
2731
2865
  }).describe("Defines a silkscreen line on the PCB");
2732
2866
  expectTypesMatch(true);
2733
- var pcb_silkscreen_path = z88.object({
2734
- type: z88.literal("pcb_silkscreen_path"),
2867
+ var pcb_silkscreen_path = z91.object({
2868
+ type: z91.literal("pcb_silkscreen_path"),
2735
2869
  pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
2736
- pcb_component_id: z88.string(),
2737
- pcb_group_id: z88.string().optional(),
2738
- subcircuit_id: z88.string().optional(),
2870
+ pcb_component_id: z91.string(),
2871
+ pcb_group_id: z91.string().optional(),
2872
+ subcircuit_id: z91.string().optional(),
2739
2873
  layer: visible_layer,
2740
- route: z88.array(point),
2874
+ route: z91.array(point),
2741
2875
  stroke_width: length
2742
2876
  }).describe("Defines a silkscreen path on the PCB");
2743
2877
  expectTypesMatch(true);
2744
- var pcb_silkscreen_text = z89.object({
2745
- type: z89.literal("pcb_silkscreen_text"),
2878
+ var pcb_silkscreen_text = z92.object({
2879
+ type: z92.literal("pcb_silkscreen_text"),
2746
2880
  pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
2747
- pcb_group_id: z89.string().optional(),
2748
- subcircuit_id: z89.string().optional(),
2749
- font: z89.literal("tscircuit2024").default("tscircuit2024"),
2881
+ pcb_group_id: z92.string().optional(),
2882
+ subcircuit_id: z92.string().optional(),
2883
+ font: z92.literal("tscircuit2024").default("tscircuit2024"),
2750
2884
  font_size: distance.default("0.2mm"),
2751
- pcb_component_id: z89.string(),
2752
- text: z89.string(),
2753
- is_knockout: z89.boolean().default(false).optional(),
2754
- knockout_padding: z89.object({
2885
+ pcb_component_id: z92.string(),
2886
+ text: z92.string(),
2887
+ is_knockout: z92.boolean().default(false).optional(),
2888
+ knockout_padding: z92.object({
2755
2889
  left: length,
2756
2890
  top: length,
2757
2891
  bottom: length,
@@ -2762,24 +2896,24 @@ var pcb_silkscreen_text = z89.object({
2762
2896
  bottom: "0.2mm",
2763
2897
  right: "0.2mm"
2764
2898
  }).optional(),
2765
- ccw_rotation: z89.number().optional(),
2899
+ ccw_rotation: z92.number().optional(),
2766
2900
  layer: layer_ref,
2767
- is_mirrored: z89.boolean().default(false).optional(),
2901
+ is_mirrored: z92.boolean().default(false).optional(),
2768
2902
  anchor_position: point.default({ x: 0, y: 0 }),
2769
2903
  anchor_alignment: ninePointAnchor.default("center")
2770
2904
  }).describe("Defines silkscreen text on the PCB");
2771
2905
  expectTypesMatch(true);
2772
- var pcb_copper_text = z90.object({
2773
- type: z90.literal("pcb_copper_text"),
2906
+ var pcb_copper_text = z93.object({
2907
+ type: z93.literal("pcb_copper_text"),
2774
2908
  pcb_copper_text_id: getZodPrefixedIdWithDefault("pcb_copper_text"),
2775
- pcb_group_id: z90.string().optional(),
2776
- subcircuit_id: z90.string().optional(),
2777
- font: z90.literal("tscircuit2024").default("tscircuit2024"),
2909
+ pcb_group_id: z93.string().optional(),
2910
+ subcircuit_id: z93.string().optional(),
2911
+ font: z93.literal("tscircuit2024").default("tscircuit2024"),
2778
2912
  font_size: distance.default("0.2mm"),
2779
- pcb_component_id: z90.string(),
2780
- text: z90.string(),
2781
- is_knockout: z90.boolean().default(false).optional(),
2782
- knockout_padding: z90.object({
2913
+ pcb_component_id: z93.string(),
2914
+ text: z93.string(),
2915
+ is_knockout: z93.boolean().default(false).optional(),
2916
+ knockout_padding: z93.object({
2783
2917
  left: length,
2784
2918
  top: length,
2785
2919
  bottom: length,
@@ -2790,439 +2924,454 @@ var pcb_copper_text = z90.object({
2790
2924
  bottom: "0.2mm",
2791
2925
  right: "0.2mm"
2792
2926
  }).optional(),
2793
- ccw_rotation: z90.number().optional(),
2927
+ ccw_rotation: z93.number().optional(),
2794
2928
  layer: layer_ref,
2795
- is_mirrored: z90.boolean().default(false).optional(),
2929
+ is_mirrored: z93.boolean().default(false).optional(),
2796
2930
  anchor_position: point.default({ x: 0, y: 0 }),
2797
2931
  anchor_alignment: ninePointAnchor.default("center")
2798
2932
  }).describe("Defines copper text on the PCB");
2799
2933
  expectTypesMatch(true);
2800
- var pcb_silkscreen_rect = z91.object({
2801
- type: z91.literal("pcb_silkscreen_rect"),
2934
+ var pcb_silkscreen_rect = z94.object({
2935
+ type: z94.literal("pcb_silkscreen_rect"),
2802
2936
  pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
2803
- pcb_component_id: z91.string(),
2804
- pcb_group_id: z91.string().optional(),
2805
- subcircuit_id: z91.string().optional(),
2937
+ pcb_component_id: z94.string(),
2938
+ pcb_group_id: z94.string().optional(),
2939
+ subcircuit_id: z94.string().optional(),
2806
2940
  center: point,
2807
2941
  width: length,
2808
2942
  height: length,
2809
2943
  layer: layer_ref,
2810
2944
  stroke_width: length.default("1mm"),
2811
2945
  corner_radius: length.optional(),
2812
- is_filled: z91.boolean().default(true).optional(),
2813
- has_stroke: z91.boolean().optional(),
2814
- is_stroke_dashed: z91.boolean().optional()
2946
+ is_filled: z94.boolean().default(true).optional(),
2947
+ has_stroke: z94.boolean().optional(),
2948
+ is_stroke_dashed: z94.boolean().optional()
2815
2949
  }).describe("Defines a silkscreen rect on the PCB");
2816
2950
  expectTypesMatch(true);
2817
- var pcb_silkscreen_circle = z92.object({
2818
- type: z92.literal("pcb_silkscreen_circle"),
2951
+ var pcb_silkscreen_circle = z95.object({
2952
+ type: z95.literal("pcb_silkscreen_circle"),
2819
2953
  pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
2820
2954
  "pcb_silkscreen_circle"
2821
2955
  ),
2822
- pcb_component_id: z92.string(),
2823
- pcb_group_id: z92.string().optional(),
2824
- subcircuit_id: z92.string().optional(),
2956
+ pcb_component_id: z95.string(),
2957
+ pcb_group_id: z95.string().optional(),
2958
+ subcircuit_id: z95.string().optional(),
2825
2959
  center: point,
2826
2960
  radius: length,
2827
2961
  layer: visible_layer,
2828
2962
  stroke_width: length.default("1mm")
2829
2963
  }).describe("Defines a silkscreen circle on the PCB");
2830
2964
  expectTypesMatch(true);
2831
- var pcb_silkscreen_oval = z93.object({
2832
- type: z93.literal("pcb_silkscreen_oval"),
2965
+ var pcb_silkscreen_oval = z96.object({
2966
+ type: z96.literal("pcb_silkscreen_oval"),
2833
2967
  pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
2834
- pcb_component_id: z93.string(),
2835
- pcb_group_id: z93.string().optional(),
2836
- subcircuit_id: z93.string().optional(),
2968
+ pcb_component_id: z96.string(),
2969
+ pcb_group_id: z96.string().optional(),
2970
+ subcircuit_id: z96.string().optional(),
2837
2971
  center: point,
2838
2972
  radius_x: distance,
2839
2973
  radius_y: distance,
2840
2974
  layer: visible_layer
2841
2975
  }).describe("Defines a silkscreen oval on the PCB");
2842
2976
  expectTypesMatch(true);
2843
- var pcb_fabrication_note_text = z94.object({
2844
- type: z94.literal("pcb_fabrication_note_text"),
2977
+ var pcb_fabrication_note_text = z97.object({
2978
+ type: z97.literal("pcb_fabrication_note_text"),
2845
2979
  pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
2846
2980
  "pcb_fabrication_note_text"
2847
2981
  ),
2848
- subcircuit_id: z94.string().optional(),
2849
- pcb_group_id: z94.string().optional(),
2850
- font: z94.literal("tscircuit2024").default("tscircuit2024"),
2982
+ subcircuit_id: z97.string().optional(),
2983
+ pcb_group_id: z97.string().optional(),
2984
+ font: z97.literal("tscircuit2024").default("tscircuit2024"),
2851
2985
  font_size: distance.default("1mm"),
2852
- pcb_component_id: z94.string(),
2853
- text: z94.string(),
2986
+ pcb_component_id: z97.string(),
2987
+ text: z97.string(),
2854
2988
  layer: visible_layer,
2855
2989
  anchor_position: point.default({ x: 0, y: 0 }),
2856
- anchor_alignment: z94.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2857
- color: z94.string().optional()
2990
+ anchor_alignment: z97.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2991
+ color: z97.string().optional()
2858
2992
  }).describe(
2859
2993
  "Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
2860
2994
  );
2861
2995
  expectTypesMatch(true);
2862
- var pcb_fabrication_note_path = z95.object({
2863
- type: z95.literal("pcb_fabrication_note_path"),
2996
+ var pcb_fabrication_note_path = z98.object({
2997
+ type: z98.literal("pcb_fabrication_note_path"),
2864
2998
  pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
2865
2999
  "pcb_fabrication_note_path"
2866
3000
  ),
2867
- pcb_component_id: z95.string(),
2868
- subcircuit_id: z95.string().optional(),
3001
+ pcb_component_id: z98.string(),
3002
+ subcircuit_id: z98.string().optional(),
2869
3003
  layer: layer_ref,
2870
- route: z95.array(point),
3004
+ route: z98.array(point),
2871
3005
  stroke_width: length,
2872
- color: z95.string().optional()
3006
+ color: z98.string().optional()
2873
3007
  }).describe(
2874
3008
  "Defines a fabrication path on the PCB for fabricators or assemblers"
2875
3009
  );
2876
3010
  expectTypesMatch(true);
2877
- var pcb_fabrication_note_rect = z96.object({
2878
- type: z96.literal("pcb_fabrication_note_rect"),
3011
+ var pcb_fabrication_note_rect = z99.object({
3012
+ type: z99.literal("pcb_fabrication_note_rect"),
2879
3013
  pcb_fabrication_note_rect_id: getZodPrefixedIdWithDefault(
2880
3014
  "pcb_fabrication_note_rect"
2881
3015
  ),
2882
- pcb_component_id: z96.string(),
2883
- pcb_group_id: z96.string().optional(),
2884
- subcircuit_id: z96.string().optional(),
3016
+ pcb_component_id: z99.string(),
3017
+ pcb_group_id: z99.string().optional(),
3018
+ subcircuit_id: z99.string().optional(),
2885
3019
  center: point,
2886
3020
  width: length,
2887
3021
  height: length,
2888
3022
  layer: visible_layer,
2889
3023
  stroke_width: length.default("0.1mm"),
2890
3024
  corner_radius: length.optional(),
2891
- is_filled: z96.boolean().optional(),
2892
- has_stroke: z96.boolean().optional(),
2893
- is_stroke_dashed: z96.boolean().optional(),
2894
- color: z96.string().optional()
3025
+ is_filled: z99.boolean().optional(),
3026
+ has_stroke: z99.boolean().optional(),
3027
+ is_stroke_dashed: z99.boolean().optional(),
3028
+ color: z99.string().optional()
2895
3029
  }).describe("Defines a fabrication note rectangle on the PCB");
2896
3030
  expectTypesMatch(true);
2897
- var pcb_fabrication_note_dimension = z97.object({
2898
- type: z97.literal("pcb_fabrication_note_dimension"),
3031
+ var pcb_fabrication_note_dimension = z100.object({
3032
+ type: z100.literal("pcb_fabrication_note_dimension"),
2899
3033
  pcb_fabrication_note_dimension_id: getZodPrefixedIdWithDefault(
2900
3034
  "pcb_fabrication_note_dimension"
2901
3035
  ),
2902
- pcb_component_id: z97.string(),
2903
- pcb_group_id: z97.string().optional(),
2904
- subcircuit_id: z97.string().optional(),
3036
+ pcb_component_id: z100.string(),
3037
+ pcb_group_id: z100.string().optional(),
3038
+ subcircuit_id: z100.string().optional(),
2905
3039
  layer: visible_layer,
2906
3040
  from: point,
2907
3041
  to: point,
2908
- text: z97.string().optional(),
2909
- text_ccw_rotation: z97.number().optional(),
3042
+ text: z100.string().optional(),
3043
+ text_ccw_rotation: z100.number().optional(),
2910
3044
  offset: length.optional(),
2911
3045
  offset_distance: length.optional(),
2912
- offset_direction: z97.object({
2913
- x: z97.number(),
2914
- y: z97.number()
3046
+ offset_direction: z100.object({
3047
+ x: z100.number(),
3048
+ y: z100.number()
2915
3049
  }).optional(),
2916
- font: z97.literal("tscircuit2024").default("tscircuit2024"),
3050
+ font: z100.literal("tscircuit2024").default("tscircuit2024"),
2917
3051
  font_size: length.default("1mm"),
2918
- color: z97.string().optional(),
3052
+ color: z100.string().optional(),
2919
3053
  arrow_size: length.default("1mm")
2920
3054
  }).describe("Defines a measurement annotation within PCB fabrication notes");
2921
3055
  expectTypesMatch(true);
2922
- var pcb_note_text = z98.object({
2923
- type: z98.literal("pcb_note_text"),
3056
+ var pcb_note_text = z101.object({
3057
+ type: z101.literal("pcb_note_text"),
2924
3058
  pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
2925
- pcb_component_id: z98.string().optional(),
2926
- pcb_group_id: z98.string().optional(),
2927
- subcircuit_id: z98.string().optional(),
2928
- name: z98.string().optional(),
2929
- font: z98.literal("tscircuit2024").default("tscircuit2024"),
3059
+ pcb_component_id: z101.string().optional(),
3060
+ pcb_group_id: z101.string().optional(),
3061
+ subcircuit_id: z101.string().optional(),
3062
+ name: z101.string().optional(),
3063
+ font: z101.literal("tscircuit2024").default("tscircuit2024"),
2930
3064
  font_size: distance.default("1mm"),
2931
- text: z98.string().optional(),
3065
+ text: z101.string().optional(),
2932
3066
  anchor_position: point.default({ x: 0, y: 0 }),
2933
- anchor_alignment: z98.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2934
- color: z98.string().optional()
3067
+ anchor_alignment: z101.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
3068
+ color: z101.string().optional()
2935
3069
  }).describe("Defines a documentation note in text on the PCB");
2936
3070
  expectTypesMatch(true);
2937
- var pcb_note_rect = z99.object({
2938
- type: z99.literal("pcb_note_rect"),
3071
+ var pcb_note_rect = z102.object({
3072
+ type: z102.literal("pcb_note_rect"),
2939
3073
  pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
2940
- pcb_component_id: z99.string().optional(),
2941
- pcb_group_id: z99.string().optional(),
2942
- subcircuit_id: z99.string().optional(),
2943
- name: z99.string().optional(),
2944
- text: z99.string().optional(),
3074
+ pcb_component_id: z102.string().optional(),
3075
+ pcb_group_id: z102.string().optional(),
3076
+ subcircuit_id: z102.string().optional(),
3077
+ name: z102.string().optional(),
3078
+ text: z102.string().optional(),
2945
3079
  center: point,
2946
3080
  width: length,
2947
3081
  height: length,
2948
3082
  stroke_width: length.default("0.1mm"),
2949
3083
  corner_radius: length.optional(),
2950
- is_filled: z99.boolean().optional(),
2951
- has_stroke: z99.boolean().optional(),
2952
- is_stroke_dashed: z99.boolean().optional(),
2953
- color: z99.string().optional()
3084
+ is_filled: z102.boolean().optional(),
3085
+ has_stroke: z102.boolean().optional(),
3086
+ is_stroke_dashed: z102.boolean().optional(),
3087
+ color: z102.string().optional()
2954
3088
  }).describe("Defines a rectangular documentation note on the PCB");
2955
3089
  expectTypesMatch(true);
2956
- var pcb_note_path = z100.object({
2957
- type: z100.literal("pcb_note_path"),
3090
+ var pcb_note_path = z103.object({
3091
+ type: z103.literal("pcb_note_path"),
2958
3092
  pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
2959
- pcb_component_id: z100.string().optional(),
2960
- pcb_group_id: z100.string().optional(),
2961
- subcircuit_id: z100.string().optional(),
2962
- name: z100.string().optional(),
2963
- text: z100.string().optional(),
2964
- route: z100.array(point),
3093
+ pcb_component_id: z103.string().optional(),
3094
+ pcb_group_id: z103.string().optional(),
3095
+ subcircuit_id: z103.string().optional(),
3096
+ name: z103.string().optional(),
3097
+ text: z103.string().optional(),
3098
+ route: z103.array(point),
2965
3099
  stroke_width: length.default("0.1mm"),
2966
- color: z100.string().optional()
3100
+ color: z103.string().optional()
2967
3101
  }).describe("Defines a polyline documentation note on the PCB");
2968
3102
  expectTypesMatch(true);
2969
- var pcb_note_line = z101.object({
2970
- type: z101.literal("pcb_note_line"),
3103
+ var pcb_note_line = z104.object({
3104
+ type: z104.literal("pcb_note_line"),
2971
3105
  pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
2972
- pcb_component_id: z101.string().optional(),
2973
- pcb_group_id: z101.string().optional(),
2974
- subcircuit_id: z101.string().optional(),
2975
- name: z101.string().optional(),
2976
- text: z101.string().optional(),
3106
+ pcb_component_id: z104.string().optional(),
3107
+ pcb_group_id: z104.string().optional(),
3108
+ subcircuit_id: z104.string().optional(),
3109
+ name: z104.string().optional(),
3110
+ text: z104.string().optional(),
2977
3111
  x1: distance,
2978
3112
  y1: distance,
2979
3113
  x2: distance,
2980
3114
  y2: distance,
2981
3115
  stroke_width: distance.default("0.1mm"),
2982
- color: z101.string().optional(),
2983
- is_dashed: z101.boolean().optional()
3116
+ color: z104.string().optional(),
3117
+ is_dashed: z104.boolean().optional()
2984
3118
  }).describe("Defines a straight documentation note line on the PCB");
2985
3119
  expectTypesMatch(true);
2986
- var pcb_note_dimension = z102.object({
2987
- type: z102.literal("pcb_note_dimension"),
3120
+ var pcb_note_dimension = z105.object({
3121
+ type: z105.literal("pcb_note_dimension"),
2988
3122
  pcb_note_dimension_id: getZodPrefixedIdWithDefault("pcb_note_dimension"),
2989
- pcb_component_id: z102.string().optional(),
2990
- pcb_group_id: z102.string().optional(),
2991
- subcircuit_id: z102.string().optional(),
2992
- name: z102.string().optional(),
3123
+ pcb_component_id: z105.string().optional(),
3124
+ pcb_group_id: z105.string().optional(),
3125
+ subcircuit_id: z105.string().optional(),
3126
+ name: z105.string().optional(),
2993
3127
  from: point,
2994
3128
  to: point,
2995
- text: z102.string().optional(),
2996
- text_ccw_rotation: z102.number().optional(),
3129
+ text: z105.string().optional(),
3130
+ text_ccw_rotation: z105.number().optional(),
2997
3131
  offset_distance: length.optional(),
2998
- offset_direction: z102.object({
2999
- x: z102.number(),
3000
- y: z102.number()
3132
+ offset_direction: z105.object({
3133
+ x: z105.number(),
3134
+ y: z105.number()
3001
3135
  }).optional(),
3002
- font: z102.literal("tscircuit2024").default("tscircuit2024"),
3136
+ font: z105.literal("tscircuit2024").default("tscircuit2024"),
3003
3137
  font_size: length.default("1mm"),
3004
- color: z102.string().optional(),
3138
+ color: z105.string().optional(),
3005
3139
  arrow_size: length.default("1mm")
3006
3140
  }).describe("Defines a measurement annotation within PCB documentation notes");
3007
3141
  expectTypesMatch(true);
3008
- var pcb_footprint_overlap_error = z103.object({
3009
- type: z103.literal("pcb_footprint_overlap_error"),
3142
+ var pcb_footprint_overlap_error = z106.object({
3143
+ type: z106.literal("pcb_footprint_overlap_error"),
3010
3144
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
3011
- error_type: z103.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
3012
- message: z103.string(),
3013
- pcb_smtpad_ids: z103.array(z103.string()).optional(),
3014
- pcb_plated_hole_ids: z103.array(z103.string()).optional(),
3015
- pcb_hole_ids: z103.array(z103.string()).optional(),
3016
- pcb_keepout_ids: z103.array(z103.string()).optional()
3145
+ error_type: z106.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
3146
+ message: z106.string(),
3147
+ pcb_smtpad_ids: z106.array(z106.string()).optional(),
3148
+ pcb_plated_hole_ids: z106.array(z106.string()).optional(),
3149
+ pcb_hole_ids: z106.array(z106.string()).optional(),
3150
+ pcb_keepout_ids: z106.array(z106.string()).optional()
3017
3151
  }).describe("Error emitted when a pcb footprint overlaps with another element");
3018
3152
  expectTypesMatch(
3019
3153
  true
3020
3154
  );
3021
- var pcb_keepout = z104.object({
3022
- type: z104.literal("pcb_keepout"),
3023
- shape: z104.literal("rect"),
3024
- pcb_group_id: z104.string().optional(),
3025
- subcircuit_id: z104.string().optional(),
3155
+ var pcb_keepout = z107.object({
3156
+ type: z107.literal("pcb_keepout"),
3157
+ shape: z107.literal("rect"),
3158
+ pcb_group_id: z107.string().optional(),
3159
+ subcircuit_id: z107.string().optional(),
3026
3160
  center: point,
3027
3161
  width: distance,
3028
3162
  height: distance,
3029
- pcb_keepout_id: z104.string(),
3030
- layers: z104.array(z104.string()),
3163
+ pcb_keepout_id: z107.string(),
3164
+ layers: z107.array(z107.string()),
3031
3165
  // Specify layers where the keepout applies
3032
- description: z104.string().optional()
3166
+ description: z107.string().optional()
3033
3167
  // Optional description of the keepout
3034
3168
  }).or(
3035
- z104.object({
3036
- type: z104.literal("pcb_keepout"),
3037
- shape: z104.literal("circle"),
3038
- pcb_group_id: z104.string().optional(),
3039
- subcircuit_id: z104.string().optional(),
3169
+ z107.object({
3170
+ type: z107.literal("pcb_keepout"),
3171
+ shape: z107.literal("circle"),
3172
+ pcb_group_id: z107.string().optional(),
3173
+ subcircuit_id: z107.string().optional(),
3040
3174
  center: point,
3041
3175
  radius: distance,
3042
- pcb_keepout_id: z104.string(),
3043
- layers: z104.array(z104.string()),
3176
+ pcb_keepout_id: z107.string(),
3177
+ layers: z107.array(z107.string()),
3044
3178
  // Specify layers where the keepout applies
3045
- description: z104.string().optional()
3179
+ description: z107.string().optional()
3046
3180
  // Optional description of the keepout
3047
3181
  })
3048
3182
  );
3049
3183
  expectTypesMatch(true);
3050
- var pcb_cutout_base = z105.object({
3051
- type: z105.literal("pcb_cutout"),
3184
+ var pcb_cutout_base = z108.object({
3185
+ type: z108.literal("pcb_cutout"),
3052
3186
  pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
3053
- pcb_group_id: z105.string().optional(),
3054
- subcircuit_id: z105.string().optional()
3187
+ pcb_group_id: z108.string().optional(),
3188
+ subcircuit_id: z108.string().optional(),
3189
+ pcb_board_id: z108.string().optional(),
3190
+ pcb_panel_id: z108.string().optional()
3055
3191
  });
3056
3192
  var pcb_cutout_rect = pcb_cutout_base.extend({
3057
- shape: z105.literal("rect"),
3193
+ shape: z108.literal("rect"),
3058
3194
  center: point,
3059
3195
  width: length,
3060
3196
  height: length,
3061
- rotation: rotation.optional()
3197
+ rotation: rotation.optional(),
3198
+ corner_radius: length.optional()
3062
3199
  });
3063
3200
  expectTypesMatch(true);
3064
3201
  var pcb_cutout_circle = pcb_cutout_base.extend({
3065
- shape: z105.literal("circle"),
3202
+ shape: z108.literal("circle"),
3066
3203
  center: point,
3067
3204
  radius: length
3068
3205
  });
3069
3206
  expectTypesMatch(true);
3070
3207
  var pcb_cutout_polygon = pcb_cutout_base.extend({
3071
- shape: z105.literal("polygon"),
3072
- points: z105.array(point)
3208
+ shape: z108.literal("polygon"),
3209
+ points: z108.array(point)
3210
+ });
3211
+ expectTypesMatch(true);
3212
+ var pcb_cutout_path = pcb_cutout_base.extend({
3213
+ shape: z108.literal("path"),
3214
+ route: z108.array(point),
3215
+ slot_width: length,
3216
+ slot_length: length.optional(),
3217
+ space_between_slots: length.optional(),
3218
+ slot_corner_radius: length.optional()
3073
3219
  });
3074
3220
  expectTypesMatch(true);
3075
- var pcb_cutout = z105.discriminatedUnion("shape", [
3221
+ var pcb_cutout = z108.discriminatedUnion("shape", [
3076
3222
  pcb_cutout_rect,
3077
3223
  pcb_cutout_circle,
3078
- pcb_cutout_polygon
3224
+ pcb_cutout_polygon,
3225
+ pcb_cutout_path
3079
3226
  ]).describe("Defines a cutout on the PCB, removing board material.");
3080
3227
  expectTypesMatch(true);
3081
- var pcb_missing_footprint_error = z106.object({
3082
- type: z106.literal("pcb_missing_footprint_error"),
3228
+ var pcb_missing_footprint_error = z109.object({
3229
+ type: z109.literal("pcb_missing_footprint_error"),
3083
3230
  pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
3084
3231
  "pcb_missing_footprint_error"
3085
3232
  ),
3086
- pcb_group_id: z106.string().optional(),
3087
- subcircuit_id: z106.string().optional(),
3088
- error_type: z106.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
3089
- source_component_id: z106.string(),
3090
- message: z106.string()
3233
+ pcb_group_id: z109.string().optional(),
3234
+ subcircuit_id: z109.string().optional(),
3235
+ error_type: z109.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
3236
+ source_component_id: z109.string(),
3237
+ message: z109.string()
3091
3238
  }).describe("Defines a missing footprint error on the PCB");
3092
3239
  expectTypesMatch(
3093
3240
  true
3094
3241
  );
3095
- var external_footprint_load_error = z107.object({
3096
- type: z107.literal("external_footprint_load_error"),
3242
+ var external_footprint_load_error = z110.object({
3243
+ type: z110.literal("external_footprint_load_error"),
3097
3244
  external_footprint_load_error_id: getZodPrefixedIdWithDefault(
3098
3245
  "external_footprint_load_error"
3099
3246
  ),
3100
- pcb_component_id: z107.string(),
3101
- source_component_id: z107.string(),
3102
- pcb_group_id: z107.string().optional(),
3103
- subcircuit_id: z107.string().optional(),
3104
- footprinter_string: z107.string().optional(),
3105
- error_type: z107.literal("external_footprint_load_error").default("external_footprint_load_error"),
3106
- message: z107.string()
3247
+ pcb_component_id: z110.string(),
3248
+ source_component_id: z110.string(),
3249
+ pcb_group_id: z110.string().optional(),
3250
+ subcircuit_id: z110.string().optional(),
3251
+ footprinter_string: z110.string().optional(),
3252
+ error_type: z110.literal("external_footprint_load_error").default("external_footprint_load_error"),
3253
+ message: z110.string()
3107
3254
  }).describe("Defines an error when an external footprint fails to load");
3108
3255
  expectTypesMatch(true);
3109
- var circuit_json_footprint_load_error = z108.object({
3110
- type: z108.literal("circuit_json_footprint_load_error"),
3256
+ var circuit_json_footprint_load_error = z111.object({
3257
+ type: z111.literal("circuit_json_footprint_load_error"),
3111
3258
  circuit_json_footprint_load_error_id: getZodPrefixedIdWithDefault(
3112
3259
  "circuit_json_footprint_load_error"
3113
3260
  ),
3114
- pcb_component_id: z108.string(),
3115
- source_component_id: z108.string(),
3116
- pcb_group_id: z108.string().optional(),
3117
- subcircuit_id: z108.string().optional(),
3118
- error_type: z108.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
3119
- message: z108.string(),
3120
- circuit_json: z108.array(z108.any()).optional()
3261
+ pcb_component_id: z111.string(),
3262
+ source_component_id: z111.string(),
3263
+ pcb_group_id: z111.string().optional(),
3264
+ subcircuit_id: z111.string().optional(),
3265
+ error_type: z111.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
3266
+ message: z111.string(),
3267
+ circuit_json: z111.array(z111.any()).optional()
3121
3268
  }).describe("Defines an error when a circuit JSON footprint fails to load");
3122
3269
  expectTypesMatch(true);
3123
- var pcb_group = z109.object({
3124
- type: z109.literal("pcb_group"),
3270
+ var pcb_group = z112.object({
3271
+ type: z112.literal("pcb_group"),
3125
3272
  pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
3126
- source_group_id: z109.string(),
3127
- is_subcircuit: z109.boolean().optional(),
3128
- subcircuit_id: z109.string().optional(),
3273
+ source_group_id: z112.string(),
3274
+ is_subcircuit: z112.boolean().optional(),
3275
+ subcircuit_id: z112.string().optional(),
3129
3276
  width: length.optional(),
3130
3277
  height: length.optional(),
3131
3278
  center: point,
3132
- outline: z109.array(point).optional(),
3279
+ outline: z112.array(point).optional(),
3133
3280
  anchor_position: point.optional(),
3134
- anchor_alignment: z109.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).optional(),
3135
- pcb_component_ids: z109.array(z109.string()),
3136
- name: z109.string().optional(),
3137
- description: z109.string().optional(),
3138
- layout_mode: z109.string().optional(),
3139
- autorouter_configuration: z109.object({
3281
+ anchor_alignment: z112.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).optional(),
3282
+ pcb_component_ids: z112.array(z112.string()),
3283
+ child_layout_mode: z112.enum(["packed", "none"]).optional(),
3284
+ name: z112.string().optional(),
3285
+ description: z112.string().optional(),
3286
+ layout_mode: z112.string().optional(),
3287
+ autorouter_configuration: z112.object({
3140
3288
  trace_clearance: length
3141
3289
  }).optional(),
3142
- autorouter_used_string: z109.string().optional()
3290
+ autorouter_used_string: z112.string().optional()
3143
3291
  }).describe("Defines a group of components on the PCB");
3144
3292
  expectTypesMatch(true);
3145
- var pcb_autorouting_error = z110.object({
3146
- type: z110.literal("pcb_autorouting_error"),
3293
+ var pcb_autorouting_error = z113.object({
3294
+ type: z113.literal("pcb_autorouting_error"),
3147
3295
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
3148
- error_type: z110.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
3149
- message: z110.string(),
3150
- subcircuit_id: z110.string().optional()
3296
+ error_type: z113.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
3297
+ message: z113.string(),
3298
+ subcircuit_id: z113.string().optional()
3151
3299
  }).describe("The autorouting has failed to route a portion of the board");
3152
3300
  expectTypesMatch(true);
3153
- var pcb_manual_edit_conflict_warning = z111.object({
3154
- type: z111.literal("pcb_manual_edit_conflict_warning"),
3301
+ var pcb_manual_edit_conflict_warning = z114.object({
3302
+ type: z114.literal("pcb_manual_edit_conflict_warning"),
3155
3303
  pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
3156
3304
  "pcb_manual_edit_conflict_warning"
3157
3305
  ),
3158
- warning_type: z111.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
3159
- message: z111.string(),
3160
- pcb_component_id: z111.string(),
3161
- pcb_group_id: z111.string().optional(),
3162
- subcircuit_id: z111.string().optional(),
3163
- source_component_id: z111.string()
3306
+ warning_type: z114.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
3307
+ message: z114.string(),
3308
+ pcb_component_id: z114.string(),
3309
+ pcb_group_id: z114.string().optional(),
3310
+ subcircuit_id: z114.string().optional(),
3311
+ source_component_id: z114.string()
3164
3312
  }).describe(
3165
3313
  "Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
3166
3314
  );
3167
3315
  expectTypesMatch(true);
3168
- var pcb_breakout_point = z112.object({
3169
- type: z112.literal("pcb_breakout_point"),
3316
+ var pcb_breakout_point = z115.object({
3317
+ type: z115.literal("pcb_breakout_point"),
3170
3318
  pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
3171
- pcb_group_id: z112.string(),
3172
- subcircuit_id: z112.string().optional(),
3173
- source_trace_id: z112.string().optional(),
3174
- source_port_id: z112.string().optional(),
3175
- source_net_id: z112.string().optional(),
3319
+ pcb_group_id: z115.string(),
3320
+ subcircuit_id: z115.string().optional(),
3321
+ source_trace_id: z115.string().optional(),
3322
+ source_port_id: z115.string().optional(),
3323
+ source_net_id: z115.string().optional(),
3176
3324
  x: distance,
3177
3325
  y: distance
3178
3326
  }).describe(
3179
3327
  "Defines a routing target within a pcb_group for a source_trace or source_net"
3180
3328
  );
3181
3329
  expectTypesMatch(true);
3182
- var pcb_ground_plane = z113.object({
3183
- type: z113.literal("pcb_ground_plane"),
3330
+ var pcb_ground_plane = z116.object({
3331
+ type: z116.literal("pcb_ground_plane"),
3184
3332
  pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
3185
- source_pcb_ground_plane_id: z113.string(),
3186
- source_net_id: z113.string(),
3187
- pcb_group_id: z113.string().optional(),
3188
- subcircuit_id: z113.string().optional()
3333
+ source_pcb_ground_plane_id: z116.string(),
3334
+ source_net_id: z116.string(),
3335
+ pcb_group_id: z116.string().optional(),
3336
+ subcircuit_id: z116.string().optional()
3189
3337
  }).describe("Defines a ground plane on the PCB");
3190
3338
  expectTypesMatch(true);
3191
- var pcb_ground_plane_region = z114.object({
3192
- type: z114.literal("pcb_ground_plane_region"),
3339
+ var pcb_ground_plane_region = z117.object({
3340
+ type: z117.literal("pcb_ground_plane_region"),
3193
3341
  pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
3194
3342
  "pcb_ground_plane_region"
3195
3343
  ),
3196
- pcb_ground_plane_id: z114.string(),
3197
- pcb_group_id: z114.string().optional(),
3198
- subcircuit_id: z114.string().optional(),
3344
+ pcb_ground_plane_id: z117.string(),
3345
+ pcb_group_id: z117.string().optional(),
3346
+ subcircuit_id: z117.string().optional(),
3199
3347
  layer: layer_ref,
3200
- points: z114.array(point)
3348
+ points: z117.array(point)
3201
3349
  }).describe("Defines a polygon region of a ground plane");
3202
3350
  expectTypesMatch(true);
3203
- var pcb_thermal_spoke = z115.object({
3204
- type: z115.literal("pcb_thermal_spoke"),
3351
+ var pcb_thermal_spoke = z118.object({
3352
+ type: z118.literal("pcb_thermal_spoke"),
3205
3353
  pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
3206
- pcb_ground_plane_id: z115.string(),
3207
- shape: z115.string(),
3208
- spoke_count: z115.number(),
3354
+ pcb_ground_plane_id: z118.string(),
3355
+ shape: z118.string(),
3356
+ spoke_count: z118.number(),
3209
3357
  spoke_thickness: distance,
3210
3358
  spoke_inner_diameter: distance,
3211
3359
  spoke_outer_diameter: distance,
3212
- pcb_plated_hole_id: z115.string().optional(),
3213
- subcircuit_id: z115.string().optional()
3360
+ pcb_plated_hole_id: z118.string().optional(),
3361
+ subcircuit_id: z118.string().optional()
3214
3362
  }).describe("Pattern for connecting a ground plane to a plated hole");
3215
3363
  expectTypesMatch(true);
3216
- var pcb_copper_pour_base = z116.object({
3217
- type: z116.literal("pcb_copper_pour"),
3364
+ var pcb_copper_pour_base = z119.object({
3365
+ type: z119.literal("pcb_copper_pour"),
3218
3366
  pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
3219
- pcb_group_id: z116.string().optional(),
3220
- subcircuit_id: z116.string().optional(),
3367
+ pcb_group_id: z119.string().optional(),
3368
+ subcircuit_id: z119.string().optional(),
3221
3369
  layer: layer_ref,
3222
- source_net_id: z116.string().optional()
3370
+ source_net_id: z119.string().optional(),
3371
+ covered_with_solder_mask: z119.boolean().optional().default(true)
3223
3372
  });
3224
3373
  var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
3225
- shape: z116.literal("rect"),
3374
+ shape: z119.literal("rect"),
3226
3375
  center: point,
3227
3376
  width: length,
3228
3377
  height: length,
@@ -3230,140 +3379,141 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
3230
3379
  });
3231
3380
  expectTypesMatch(true);
3232
3381
  var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
3233
- shape: z116.literal("brep"),
3382
+ shape: z119.literal("brep"),
3234
3383
  brep_shape
3235
3384
  });
3236
3385
  expectTypesMatch(true);
3237
3386
  var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
3238
- shape: z116.literal("polygon"),
3239
- points: z116.array(point)
3387
+ shape: z119.literal("polygon"),
3388
+ points: z119.array(point)
3240
3389
  });
3241
3390
  expectTypesMatch(true);
3242
- var pcb_copper_pour = z116.discriminatedUnion("shape", [
3391
+ var pcb_copper_pour = z119.discriminatedUnion("shape", [
3243
3392
  pcb_copper_pour_rect,
3244
3393
  pcb_copper_pour_brep,
3245
3394
  pcb_copper_pour_polygon
3246
3395
  ]).describe("Defines a copper pour on the PCB.");
3247
3396
  expectTypesMatch(true);
3248
- var pcb_component_outside_board_error = z117.object({
3249
- type: z117.literal("pcb_component_outside_board_error"),
3397
+ var pcb_component_outside_board_error = z120.object({
3398
+ type: z120.literal("pcb_component_outside_board_error"),
3250
3399
  pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
3251
3400
  "pcb_component_outside_board_error"
3252
3401
  ),
3253
- error_type: z117.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
3254
- message: z117.string(),
3255
- pcb_component_id: z117.string(),
3256
- pcb_board_id: z117.string(),
3402
+ error_type: z120.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
3403
+ message: z120.string(),
3404
+ pcb_component_id: z120.string(),
3405
+ pcb_board_id: z120.string(),
3257
3406
  component_center: point,
3258
- component_bounds: z117.object({
3259
- min_x: z117.number(),
3260
- max_x: z117.number(),
3261
- min_y: z117.number(),
3262
- max_y: z117.number()
3407
+ component_bounds: z120.object({
3408
+ min_x: z120.number(),
3409
+ max_x: z120.number(),
3410
+ min_y: z120.number(),
3411
+ max_y: z120.number()
3263
3412
  }),
3264
- subcircuit_id: z117.string().optional(),
3265
- source_component_id: z117.string().optional()
3413
+ subcircuit_id: z120.string().optional(),
3414
+ source_component_id: z120.string().optional()
3266
3415
  }).describe(
3267
3416
  "Error emitted when a PCB component is placed outside the board boundaries"
3268
3417
  );
3269
3418
  expectTypesMatch(true);
3270
- var pcb_component_invalid_layer_error = z118.object({
3271
- type: z118.literal("pcb_component_invalid_layer_error"),
3419
+ var pcb_component_invalid_layer_error = z121.object({
3420
+ type: z121.literal("pcb_component_invalid_layer_error"),
3272
3421
  pcb_component_invalid_layer_error_id: getZodPrefixedIdWithDefault(
3273
3422
  "pcb_component_invalid_layer_error"
3274
3423
  ),
3275
- error_type: z118.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
3276
- message: z118.string(),
3277
- pcb_component_id: z118.string().optional(),
3278
- source_component_id: z118.string(),
3424
+ error_type: z121.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
3425
+ message: z121.string(),
3426
+ pcb_component_id: z121.string().optional(),
3427
+ source_component_id: z121.string(),
3279
3428
  layer: layer_ref,
3280
- subcircuit_id: z118.string().optional()
3429
+ subcircuit_id: z121.string().optional()
3281
3430
  }).describe(
3282
3431
  "Error emitted when a component is placed on an invalid layer (components can only be on 'top' or 'bottom' layers)"
3283
3432
  );
3284
3433
  expectTypesMatch(true);
3285
- var pcb_via_clearance_error = z119.object({
3286
- type: z119.literal("pcb_via_clearance_error"),
3434
+ var pcb_via_clearance_error = z122.object({
3435
+ type: z122.literal("pcb_via_clearance_error"),
3287
3436
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
3288
- error_type: z119.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
3289
- message: z119.string(),
3290
- pcb_via_ids: z119.array(z119.string()).min(2),
3437
+ error_type: z122.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
3438
+ message: z122.string(),
3439
+ pcb_via_ids: z122.array(z122.string()).min(2),
3291
3440
  minimum_clearance: distance.optional(),
3292
3441
  actual_clearance: distance.optional(),
3293
- pcb_center: z119.object({
3294
- x: z119.number().optional(),
3295
- y: z119.number().optional()
3442
+ pcb_center: z122.object({
3443
+ x: z122.number().optional(),
3444
+ y: z122.number().optional()
3296
3445
  }).optional(),
3297
- subcircuit_id: z119.string().optional()
3446
+ subcircuit_id: z122.string().optional()
3298
3447
  }).describe("Error emitted when vias are closer than the allowed clearance");
3299
3448
  expectTypesMatch(true);
3300
- var pcb_courtyard_rect = z120.object({
3301
- type: z120.literal("pcb_courtyard_rect"),
3449
+ var pcb_courtyard_rect = z123.object({
3450
+ type: z123.literal("pcb_courtyard_rect"),
3302
3451
  pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
3303
- pcb_component_id: z120.string(),
3304
- pcb_group_id: z120.string().optional(),
3305
- subcircuit_id: z120.string().optional(),
3452
+ pcb_component_id: z123.string(),
3453
+ pcb_group_id: z123.string().optional(),
3454
+ subcircuit_id: z123.string().optional(),
3306
3455
  center: point,
3307
3456
  width: length,
3308
3457
  height: length,
3309
3458
  layer: visible_layer,
3310
- color: z120.string().optional()
3459
+ color: z123.string().optional()
3311
3460
  }).describe("Defines a courtyard rectangle on the PCB");
3312
3461
  expectTypesMatch(true);
3313
- var pcb_courtyard_outline = z121.object({
3314
- type: z121.literal("pcb_courtyard_outline"),
3462
+ var pcb_courtyard_outline = z124.object({
3463
+ type: z124.literal("pcb_courtyard_outline"),
3315
3464
  pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
3316
3465
  "pcb_courtyard_outline"
3317
3466
  ),
3318
- pcb_component_id: z121.string(),
3319
- pcb_group_id: z121.string().optional(),
3320
- subcircuit_id: z121.string().optional(),
3467
+ pcb_component_id: z124.string(),
3468
+ pcb_group_id: z124.string().optional(),
3469
+ subcircuit_id: z124.string().optional(),
3321
3470
  layer: visible_layer,
3322
- outline: z121.array(point).min(2),
3471
+ outline: z124.array(point).min(2),
3323
3472
  stroke_width: length.default("0.1mm"),
3324
- is_closed: z121.boolean().optional(),
3325
- is_stroke_dashed: z121.boolean().optional(),
3326
- color: z121.string().optional()
3473
+ is_closed: z124.boolean().optional(),
3474
+ is_stroke_dashed: z124.boolean().optional(),
3475
+ color: z124.string().optional()
3327
3476
  }).describe("Defines a courtyard outline on the PCB");
3328
3477
  expectTypesMatch(true);
3329
- var pcb_courtyard_polygon = z122.object({
3330
- type: z122.literal("pcb_courtyard_polygon"),
3478
+ var pcb_courtyard_polygon = z125.object({
3479
+ type: z125.literal("pcb_courtyard_polygon"),
3331
3480
  pcb_courtyard_polygon_id: getZodPrefixedIdWithDefault(
3332
3481
  "pcb_courtyard_polygon"
3333
3482
  ),
3334
- pcb_component_id: z122.string(),
3335
- pcb_group_id: z122.string().optional(),
3336
- subcircuit_id: z122.string().optional(),
3483
+ pcb_component_id: z125.string(),
3484
+ pcb_group_id: z125.string().optional(),
3485
+ subcircuit_id: z125.string().optional(),
3337
3486
  layer: visible_layer,
3338
- points: z122.array(point).min(3),
3339
- color: z122.string().optional()
3487
+ points: z125.array(point).min(3),
3488
+ color: z125.string().optional()
3340
3489
  }).describe("Defines a courtyard polygon on the PCB");
3341
3490
  expectTypesMatch(true);
3342
- var cad_component = z123.object({
3343
- type: z123.literal("cad_component"),
3344
- cad_component_id: z123.string(),
3345
- pcb_component_id: z123.string(),
3346
- source_component_id: z123.string(),
3491
+ var cad_component = z126.object({
3492
+ type: z126.literal("cad_component"),
3493
+ cad_component_id: z126.string(),
3494
+ pcb_component_id: z126.string(),
3495
+ source_component_id: z126.string(),
3347
3496
  position: point3,
3348
3497
  rotation: point3.optional(),
3349
3498
  size: point3.optional(),
3350
3499
  layer: layer_ref.optional(),
3351
- subcircuit_id: z123.string().optional(),
3500
+ subcircuit_id: z126.string().optional(),
3352
3501
  // These are all ways to generate/load the 3d model
3353
- footprinter_string: z123.string().optional(),
3354
- model_obj_url: z123.string().optional(),
3355
- model_stl_url: z123.string().optional(),
3356
- model_3mf_url: z123.string().optional(),
3357
- model_gltf_url: z123.string().optional(),
3358
- model_glb_url: z123.string().optional(),
3359
- model_step_url: z123.string().optional(),
3360
- model_wrl_url: z123.string().optional(),
3361
- model_unit_to_mm_scale_factor: z123.number().optional(),
3362
- model_jscad: z123.any().optional()
3502
+ footprinter_string: z126.string().optional(),
3503
+ model_obj_url: z126.string().optional(),
3504
+ model_stl_url: z126.string().optional(),
3505
+ model_3mf_url: z126.string().optional(),
3506
+ model_gltf_url: z126.string().optional(),
3507
+ model_glb_url: z126.string().optional(),
3508
+ model_step_url: z126.string().optional(),
3509
+ model_wrl_url: z126.string().optional(),
3510
+ model_unit_to_mm_scale_factor: z126.number().optional(),
3511
+ model_jscad: z126.any().optional(),
3512
+ show_as_translucent_model: z126.boolean().optional()
3363
3513
  }).describe("Defines a component on the PCB");
3364
3514
  expectTypesMatch(true);
3365
- var wave_shape = z124.enum(["sinewave", "square", "triangle", "sawtooth"]);
3366
- var percentage = z124.union([z124.string(), z124.number()]).transform((val) => {
3515
+ var wave_shape = z127.enum(["sinewave", "square", "triangle", "sawtooth"]);
3516
+ var percentage = z127.union([z127.string(), z127.number()]).transform((val) => {
3367
3517
  if (typeof val === "string") {
3368
3518
  if (val.endsWith("%")) {
3369
3519
  return parseFloat(val.slice(0, -1)) / 100;
@@ -3372,30 +3522,30 @@ var percentage = z124.union([z124.string(), z124.number()]).transform((val) => {
3372
3522
  }
3373
3523
  return val;
3374
3524
  }).pipe(
3375
- z124.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3525
+ z127.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3376
3526
  );
3377
- var simulation_dc_voltage_source = z124.object({
3378
- type: z124.literal("simulation_voltage_source"),
3527
+ var simulation_dc_voltage_source = z127.object({
3528
+ type: z127.literal("simulation_voltage_source"),
3379
3529
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
3380
3530
  "simulation_voltage_source"
3381
3531
  ),
3382
- is_dc_source: z124.literal(true).optional().default(true),
3383
- positive_source_port_id: z124.string().optional(),
3384
- negative_source_port_id: z124.string().optional(),
3385
- positive_source_net_id: z124.string().optional(),
3386
- negative_source_net_id: z124.string().optional(),
3532
+ is_dc_source: z127.literal(true).optional().default(true),
3533
+ positive_source_port_id: z127.string().optional(),
3534
+ negative_source_port_id: z127.string().optional(),
3535
+ positive_source_net_id: z127.string().optional(),
3536
+ negative_source_net_id: z127.string().optional(),
3387
3537
  voltage
3388
3538
  }).describe("Defines a DC voltage source for simulation");
3389
- var simulation_ac_voltage_source = z124.object({
3390
- type: z124.literal("simulation_voltage_source"),
3539
+ var simulation_ac_voltage_source = z127.object({
3540
+ type: z127.literal("simulation_voltage_source"),
3391
3541
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
3392
3542
  "simulation_voltage_source"
3393
3543
  ),
3394
- is_dc_source: z124.literal(false),
3395
- terminal1_source_port_id: z124.string().optional(),
3396
- terminal2_source_port_id: z124.string().optional(),
3397
- terminal1_source_net_id: z124.string().optional(),
3398
- terminal2_source_net_id: z124.string().optional(),
3544
+ is_dc_source: z127.literal(false),
3545
+ terminal1_source_port_id: z127.string().optional(),
3546
+ terminal2_source_port_id: z127.string().optional(),
3547
+ terminal1_source_net_id: z127.string().optional(),
3548
+ terminal2_source_net_id: z127.string().optional(),
3399
3549
  voltage: voltage.optional(),
3400
3550
  frequency: frequency.optional(),
3401
3551
  peak_to_peak_voltage: voltage.optional(),
@@ -3403,74 +3553,117 @@ var simulation_ac_voltage_source = z124.object({
3403
3553
  phase: rotation.optional(),
3404
3554
  duty_cycle: percentage.optional()
3405
3555
  }).describe("Defines an AC voltage source for simulation");
3406
- var simulation_voltage_source = z124.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
3556
+ var simulation_voltage_source = z127.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
3407
3557
  expectTypesMatch(true);
3408
3558
  expectTypesMatch(true);
3409
3559
  expectTypesMatch(true);
3410
- var experiment_type = z125.union([
3411
- z125.literal("spice_dc_sweep"),
3412
- z125.literal("spice_dc_operating_point"),
3413
- z125.literal("spice_transient_analysis"),
3414
- z125.literal("spice_ac_analysis")
3560
+ var experiment_type = z128.union([
3561
+ z128.literal("spice_dc_sweep"),
3562
+ z128.literal("spice_dc_operating_point"),
3563
+ z128.literal("spice_transient_analysis"),
3564
+ z128.literal("spice_ac_analysis")
3415
3565
  ]);
3416
- var simulation_experiment = z125.object({
3417
- type: z125.literal("simulation_experiment"),
3566
+ var simulation_experiment = z128.object({
3567
+ type: z128.literal("simulation_experiment"),
3418
3568
  simulation_experiment_id: getZodPrefixedIdWithDefault(
3419
3569
  "simulation_experiment"
3420
3570
  ),
3421
- name: z125.string(),
3571
+ name: z128.string(),
3422
3572
  experiment_type,
3423
3573
  time_per_step: duration_ms.optional(),
3424
3574
  start_time_ms: ms.optional(),
3425
3575
  end_time_ms: ms.optional()
3426
3576
  }).describe("Defines a simulation experiment configuration");
3427
3577
  expectTypesMatch(true);
3428
- var simulation_transient_voltage_graph = z126.object({
3429
- type: z126.literal("simulation_transient_voltage_graph"),
3578
+ var simulation_transient_voltage_graph = z129.object({
3579
+ type: z129.literal("simulation_transient_voltage_graph"),
3430
3580
  simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
3431
3581
  "simulation_transient_voltage_graph"
3432
3582
  ),
3433
- simulation_experiment_id: z126.string(),
3434
- timestamps_ms: z126.array(z126.number()).optional(),
3435
- voltage_levels: z126.array(z126.number()),
3436
- schematic_voltage_probe_id: z126.string().optional(),
3437
- simulation_voltage_probe_id: z126.string().optional(),
3438
- subcircuit_connectivity_map_key: z126.string().optional(),
3583
+ simulation_experiment_id: z129.string(),
3584
+ timestamps_ms: z129.array(z129.number()).optional(),
3585
+ voltage_levels: z129.array(z129.number()),
3586
+ source_component_id: z129.string().optional(),
3587
+ subcircuit_connectivity_map_key: z129.string().optional(),
3439
3588
  time_per_step: duration_ms,
3440
3589
  start_time_ms: ms,
3441
3590
  end_time_ms: ms,
3442
- name: z126.string().optional()
3591
+ name: z129.string().optional(),
3592
+ color: z129.string().optional()
3443
3593
  }).describe("Stores voltage measurements over time for a simulation");
3444
3594
  expectTypesMatch(true);
3445
- var simulation_switch = z127.object({
3446
- type: z127.literal("simulation_switch"),
3595
+ var simulation_switch = z130.object({
3596
+ type: z130.literal("simulation_switch"),
3447
3597
  simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
3448
- source_component_id: z127.string().optional(),
3598
+ source_component_id: z130.string().optional(),
3449
3599
  closes_at: ms.optional(),
3450
3600
  opens_at: ms.optional(),
3451
- starts_closed: z127.boolean().optional(),
3601
+ starts_closed: z130.boolean().optional(),
3452
3602
  switching_frequency: frequency.optional()
3453
3603
  }).describe("Defines a switch for simulation timing control");
3454
3604
  expectTypesMatch(true);
3455
- var simulation_voltage_probe = z128.object({
3456
- type: z128.literal("simulation_voltage_probe"),
3605
+ var simulation_voltage_probe = z131.object({
3606
+ type: z131.literal("simulation_voltage_probe"),
3457
3607
  simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
3458
3608
  "simulation_voltage_probe"
3459
3609
  ),
3460
- source_port_id: z128.string().optional(),
3461
- source_net_id: z128.string().optional(),
3462
- name: z128.string().optional(),
3463
- subcircuit_id: z128.string().optional()
3610
+ source_component_id: z131.string().optional(),
3611
+ name: z131.string().optional(),
3612
+ signal_input_source_port_id: z131.string().optional(),
3613
+ signal_input_source_net_id: z131.string().optional(),
3614
+ reference_input_source_port_id: z131.string().optional(),
3615
+ reference_input_source_net_id: z131.string().optional(),
3616
+ subcircuit_id: z131.string().optional(),
3617
+ color: z131.string().optional()
3464
3618
  }).describe(
3465
- "Defines a voltage probe for simulation, connected to a port or a net"
3466
- ).refine(
3467
- (data) => Boolean(data.source_port_id) !== Boolean(data.source_net_id),
3468
- {
3469
- message: "Exactly one of source_port_id or source_net_id must be provided to simulation_voltage_probe"
3619
+ "Defines a voltage probe for simulation. If a reference input is not provided, it measures against ground. If a reference input is provided, it measures the differential voltage between two points."
3620
+ ).superRefine((data, ctx) => {
3621
+ const is_differential = data.reference_input_source_port_id || data.reference_input_source_net_id;
3622
+ if (is_differential) {
3623
+ const has_ports = !!data.signal_input_source_port_id || !!data.reference_input_source_port_id;
3624
+ const has_nets = !!data.signal_input_source_net_id || !!data.reference_input_source_net_id;
3625
+ if (has_ports && has_nets) {
3626
+ ctx.addIssue({
3627
+ code: z131.ZodIssueCode.custom,
3628
+ message: "Cannot mix port and net connections in a differential probe."
3629
+ });
3630
+ } else if (has_ports) {
3631
+ if (!data.signal_input_source_port_id || !data.reference_input_source_port_id) {
3632
+ ctx.addIssue({
3633
+ code: z131.ZodIssueCode.custom,
3634
+ message: "Differential port probe requires both signal_input_source_port_id and reference_input_source_port_id."
3635
+ });
3636
+ }
3637
+ } else if (has_nets) {
3638
+ if (!data.signal_input_source_net_id || !data.reference_input_source_net_id) {
3639
+ ctx.addIssue({
3640
+ code: z131.ZodIssueCode.custom,
3641
+ message: "Differential net probe requires both signal_input_source_net_id and reference_input_source_net_id."
3642
+ });
3643
+ }
3644
+ }
3645
+ } else {
3646
+ if (!!data.signal_input_source_port_id === !!data.signal_input_source_net_id) {
3647
+ ctx.addIssue({
3648
+ code: z131.ZodIssueCode.custom,
3649
+ message: "A voltage probe must have exactly one of signal_input_source_port_id or signal_input_source_net_id."
3650
+ });
3651
+ }
3470
3652
  }
3471
- );
3653
+ });
3654
+ expectTypesMatch(true);
3655
+ var simulation_unknown_experiment_error = z132.object({
3656
+ type: z132.literal("simulation_unknown_experiment_error"),
3657
+ simulation_unknown_experiment_error_id: getZodPrefixedIdWithDefault(
3658
+ "simulation_unknown_experiment_error"
3659
+ ),
3660
+ error_type: z132.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
3661
+ message: z132.string(),
3662
+ simulation_experiment_id: z132.string().optional(),
3663
+ subcircuit_id: z132.string().optional()
3664
+ }).describe("An unknown error occurred during the simulation experiment.");
3472
3665
  expectTypesMatch(true);
3473
- var any_circuit_element = z129.union([
3666
+ var any_circuit_element = z133.union([
3474
3667
  source_trace,
3475
3668
  source_port,
3476
3669
  any_source_component,
@@ -3499,6 +3692,7 @@ var any_circuit_element = z129.union([
3499
3692
  source_project_metadata,
3500
3693
  source_trace_not_connected_error,
3501
3694
  source_pin_missing_trace_warning,
3695
+ source_pin_must_be_connected_error,
3502
3696
  unknown_error_finding_part,
3503
3697
  pcb_component,
3504
3698
  pcb_hole,
@@ -3579,7 +3773,8 @@ var any_circuit_element = z129.union([
3579
3773
  simulation_experiment,
3580
3774
  simulation_transient_voltage_graph,
3581
3775
  simulation_switch,
3582
- simulation_voltage_probe
3776
+ simulation_voltage_probe,
3777
+ simulation_unknown_experiment_error
3583
3778
  ]);
3584
3779
  var any_soup_element = any_circuit_element;
3585
3780
  expectTypesMatch(true);
@@ -5811,10 +6006,10 @@ var re = e({ primitives: [...Object.values(sh), ...Object.values(mh), { type: "t
5811
6006
  var Zp = E(re);
5812
6007
  var { paths: nh, texts: zg, bounds: Qp, refblocks: Kp, circles: fh } = gt;
5813
6008
  var ta = e({ primitives: [...Object.values(nh), ...Object.values(fh), { type: "text", text: "{REF}", x: 0, y: 0.2594553499999995 }], ports: [{ ...Kp.left1, labels: ["1"] }, { ...Kp.right1, labels: ["2"] }], center: { x: Qp.centerX, y: Qp.centerY } }).rotateRightFacingSymbol("up").labelPort("left1", ["1"]).labelPort("right1", ["2"]).changeTextAnchor("{REF}", "middle_right").build();
5814
- var z130 = { paths: { path27: { type: "path", points: [{ x: 0.55, y: 0.02 }, { x: 0.07, y: 0.02 }], color: "primary", fill: false }, path28: { type: "path", points: [{ x: -0.09, y: 0.02 }, { x: -0.55, y: 0.02 }], color: "primary", fill: false }, path29: { type: "path", points: [{ x: 0.07, y: 0.28 }, { x: 0.07, y: -0.25 }], color: "primary", fill: false }, path30: { type: "path", points: [{ x: -0.09, y: 0.28 }, { x: -0.09, y: -0.25 }], color: "primary", fill: false } }, texts: { top1: { type: "text", text: "{REF}", x: -0.01, y: 0.42 }, bottom1: { type: "text", text: "{VAL}", x: 0, y: -0.42 } }, refblocks: { left1: { x: -0.55, y: 0.02 }, right1: { x: 0.55, y: 0.02 } }, bounds: { minX: -0.58, maxX: 0.58, minY: -0.42, maxY: 0.42, width: 1.16, height: 0.84, centerX: 0, centerY: 0 }, circles: {} };
5815
- var { paths: ch, texts: Cg, bounds: oe, refblocks: ea, circles: dh } = z130;
6009
+ var z134 = { paths: { path27: { type: "path", points: [{ x: 0.55, y: 0.02 }, { x: 0.07, y: 0.02 }], color: "primary", fill: false }, path28: { type: "path", points: [{ x: -0.09, y: 0.02 }, { x: -0.55, y: 0.02 }], color: "primary", fill: false }, path29: { type: "path", points: [{ x: 0.07, y: 0.28 }, { x: 0.07, y: -0.25 }], color: "primary", fill: false }, path30: { type: "path", points: [{ x: -0.09, y: 0.28 }, { x: -0.09, y: -0.25 }], color: "primary", fill: false } }, texts: { top1: { type: "text", text: "{REF}", x: -0.01, y: 0.42 }, bottom1: { type: "text", text: "{VAL}", x: 0, y: -0.42 } }, refblocks: { left1: { x: -0.55, y: 0.02 }, right1: { x: 0.55, y: 0.02 } }, bounds: { minX: -0.58, maxX: 0.58, minY: -0.42, maxY: 0.42, width: 1.16, height: 0.84, centerX: 0, centerY: 0 }, circles: {} };
6010
+ var { paths: ch, texts: Cg, bounds: oe, refblocks: ea, circles: dh } = z134;
5816
6011
  var ra = e({ primitives: [...Object.values(ch), ...Object.values(dh), { type: "text", text: "{REF}", x: -0.2, y: 0.115 }, { type: "text", text: "{VAL}", x: 0.2, y: 0.115 }], ports: [{ ...ea.left1, labels: ["1"] }, { ...ea.right1, labels: ["2"] }], size: { width: oe.width, height: oe.height }, center: { x: oe.centerX, y: oe.centerY } }).changeTextAnchor("{VAL}", "top_left").rotateRightFacingSymbol("down").labelPort("left1", ["1", "pos"]).labelPort("right1", ["2", "neg"]).changeTextAnchor("{REF}", "bottom_left").build();
5817
- var oa = e(z130).changeTextAnchor("{VAL}", "middle_top").rotateRightFacingSymbol("right").labelPort("left1", ["2", "neg"]).labelPort("right1", ["1", "pos"]).changeTextAnchor("{REF}", "middle_bottom").build();
6012
+ var oa = e(z134).changeTextAnchor("{VAL}", "middle_top").rotateRightFacingSymbol("right").labelPort("left1", ["2", "neg"]).labelPort("right1", ["1", "pos"]).changeTextAnchor("{REF}", "middle_bottom").build();
5818
6013
  var O = { paths: { "path27-5": { type: "path", points: [{ x: 0.45, y: 0.02 }, { x: 0, y: 0.02 }], color: "primary", fill: false }, "path28-5": { type: "path", points: [{ x: -0.09, y: 0.02 }, { x: -0.54, y: 0.02 }], color: "primary", fill: false }, "path30-7": { type: "path", points: [{ x: 0, y: 0.28 }, { x: 0, y: -0.25 }], color: "primary", fill: false }, path8704: { type: "path", points: [{ x: -0.14, y: -0.24 }, { x: -0.14, y: -0.24 }, { x: -0.14, y: -0.24 }, { x: -0.14, y: -0.24 }, { x: -0.14, y: -0.24 }, { x: -0.14, y: -0.24 }, { x: -0.14, y: -0.24 }, { x: -0.14, y: -0.24 }, { x: -0.14, y: -0.24 }, { x: -0.14, y: -0.23 }, { x: -0.14, y: -0.23 }, { x: -0.14, y: -0.23 }, { x: -0.14, y: -0.23 }, { x: -0.13, y: -0.23 }, { x: -0.13, y: -0.23 }, { x: -0.13, y: -0.23 }, { x: -0.13, y: -0.23 }, { x: -0.13, y: -0.22 }, { x: -0.13, y: -0.22 }, { x: -0.13, y: -0.22 }, { x: -0.13, y: -0.22 }, { x: -0.13, y: -0.22 }, { x: -0.13, y: -0.22 }, { x: -0.13, y: -0.22 }, { x: -0.13, y: -0.22 }, { x: -0.13, y: -0.21 }, { x: -0.13, y: -0.21 }, { x: -0.13, y: -0.21 }, { x: -0.12, y: -0.21 }, { x: -0.12, y: -0.21 }, { x: -0.12, y: -0.21 }, { x: -0.12, y: -0.21 }, { x: -0.12, y: -0.21 }, { x: -0.12, y: -0.2 }, { x: -0.12, y: -0.2 }, { x: -0.12, y: -0.2 }, { x: -0.12, y: -0.2 }, { x: -0.12, y: -0.2 }, { x: -0.12, y: -0.2 }, { x: -0.12, y: -0.2 }, { x: -0.12, y: -0.2 }, { x: -0.12, y: -0.19 }, { x: -0.12, y: -0.19 }, { x: -0.12, y: -0.19 }, { x: -0.12, y: -0.19 }, { x: -0.11, y: -0.19 }, { x: -0.11, y: -0.19 }, { x: -0.11, y: -0.19 }, { x: -0.11, y: -0.18 }, { x: -0.11, y: -0.18 }, { x: -0.11, y: -0.18 }, { x: -0.11, y: -0.18 }, { x: -0.11, y: -0.18 }, { x: -0.11, y: -0.18 }, { x: -0.11, y: -0.18 }, { x: -0.11, y: -0.18 }, { x: -0.11, y: -0.17 }, { x: -0.11, y: -0.17 }, { x: -0.11, y: -0.17 }, { x: -0.11, y: -0.17 }, { x: -0.11, y: -0.17 }, { x: -0.11, y: -0.17 }, { x: -0.11, y: -0.17 }, { x: -0.11, y: -0.17 }, { x: -0.1, y: -0.16 }, { x: -0.1, y: -0.16 }, { x: -0.1, y: -0.16 }, { x: -0.1, y: -0.16 }, { x: -0.1, y: -0.16 }, { x: -0.1, y: -0.16 }, { x: -0.1, y: -0.16 }, { x: -0.1, y: -0.16 }, { x: -0.1, y: -0.15 }, { x: -0.1, y: -0.15 }, { x: -0.1, y: -0.15 }, { x: -0.1, y: -0.15 }, { x: -0.1, y: -0.15 }, { x: -0.1, y: -0.15 }, { x: -0.1, y: -0.15 }, { x: -0.1, y: -0.14 }, { x: -0.1, y: -0.14 }, { x: -0.1, y: -0.14 }, { x: -0.1, y: -0.14 }, { x: -0.1, y: -0.14 }, { x: -0.1, y: -0.14 }, { x: -0.1, y: -0.14 }, { x: -0.09, y: -0.14 }, { x: -0.09, y: -0.13 }, { x: -0.09, y: -0.13 }, { x: -0.09, y: -0.13 }, { x: -0.09, y: -0.13 }, { x: -0.09, y: -0.13 }, { x: -0.09, y: -0.13 }, { x: -0.09, y: -0.13 }, { x: -0.09, y: -0.13 }, { x: -0.09, y: -0.12 }, { x: -0.09, y: -0.12 }, { x: -0.09, y: -0.12 }, { x: -0.09, y: -0.12 }, { x: -0.09, y: -0.12 }, { x: -0.09, y: -0.12 }, { x: -0.09, y: -0.12 }, { x: -0.09, y: -0.12 }, { x: -0.09, y: -0.11 }, { x: -0.09, y: -0.11 }, { x: -0.09, y: -0.11 }, { x: -0.09, y: -0.11 }, { x: -0.09, y: -0.11 }, { x: -0.09, y: -0.11 }, { x: -0.09, y: -0.1 }, { x: -0.09, y: -0.1 }, { x: -0.09, y: -0.1 }, { x: -0.09, y: -0.1 }, { x: -0.09, y: -0.1 }, { x: -0.09, y: -0.1 }, { x: -0.08, y: -0.09 }, { x: -0.08, y: -0.09 }, { x: -0.08, y: -0.09 }, { x: -0.08, y: -0.09 }, { x: -0.08, y: -0.09 }, { x: -0.08, y: -0.09 }, { x: -0.08, y: -0.08 }, { x: -0.08, y: -0.08 }, { x: -0.08, y: -0.08 }, { x: -0.08, y: -0.08 }, { x: -0.08, y: -0.08 }, { x: -0.08, y: -0.08 }, { x: -0.08, y: -0.07 }, { x: -0.08, y: -0.07 }, { x: -0.08, y: -0.07 }, { x: -0.08, y: -0.07 }, { x: -0.08, y: -0.07 }, { x: -0.08, y: -0.07 }, { x: -0.08, y: -0.06 }, { x: -0.08, y: -0.06 }, { x: -0.08, y: -0.06 }, { x: -0.08, y: -0.06 }, { x: -0.08, y: -0.06 }, { x: -0.08, y: -0.05 }, { x: -0.08, y: -0.05 }, { x: -0.08, y: -0.05 }, { x: -0.08, y: -0.05 }, { x: -0.08, y: -0.05 }, { x: -0.08, y: -0.05 }, { x: -0.08, y: -0.04 }, { x: -0.08, y: -0.04 }, { x: -0.08, y: -0.04 }, { x: -0.08, y: -0.04 }, { x: -0.08, y: -0.04 }, { x: -0.08, y: -0.04 }, { x: -0.08, y: -0.03 }, { x: -0.08, y: -0.03 }, { x: -0.08, y: -0.03 }, { x: -0.08, y: -0.03 }, { x: -0.08, y: -0.03 }, { x: -0.08, y: -0.03 }, { x: -0.08, y: -0.02 }, { x: -0.08, y: -0.02 }, { x: -0.08, y: -0.02 }, { x: -0.08, y: -0.02 }, { x: -0.08, y: -0.02 }, { x: -0.08, y: -0.02 }, { x: -0.08, y: -0.01 }, { x: -0.08, y: -0.01 }, { x: -0.08, y: -0.01 }, { x: -0.08, y: -0.01 }, { x: -0.08, y: -0.01 }, { x: -0.08, y: 0 }, { x: -0.08, y: 0 }, { x: -0.08, y: 0 }, { x: -0.08, y: 0 }, { x: -0.08, y: 0 }, { x: -0.08, y: 0 }, { x: -0.08, y: 0.01 }, { x: -0.07, y: 0.01 }, { x: -0.07, y: 0.01 }, { x: -0.07, y: 0.01 }, { x: -0.07, y: 0.01 }, { x: -0.07, y: 0.01 }, { x: -0.08, y: 0.02 }, { x: -0.08, y: 0.02 }, { x: -0.08, y: 0.02 }, { x: -0.08, y: 0.02 }, { x: -0.08, y: 0.02 }, { x: -0.08, y: 0.02 }, { x: -0.08, y: 0.03 }, { x: -0.08, y: 0.03 }, { x: -0.08, y: 0.03 }, { x: -0.08, y: 0.03 }, { x: -0.08, y: 0.03 }, { x: -0.08, y: 0.03 }, { x: -0.08, y: 0.04 }, { x: -0.08, y: 0.04 }, { x: -0.08, y: 0.04 }, { x: -0.08, y: 0.04 }, { x: -0.08, y: 0.04 }, { x: -0.08, y: 0.05 }, { x: -0.08, y: 0.05 }, { x: -0.08, y: 0.05 }, { x: -0.08, y: 0.05 }, { x: -0.08, y: 0.05 }, { x: -0.08, y: 0.05 }, { x: -0.08, y: 0.06 }, { x: -0.08, y: 0.06 }, { x: -0.08, y: 0.06 }, { x: -0.08, y: 0.06 }, { x: -0.08, y: 0.06 }, { x: -0.08, y: 0.06 }, { x: -0.08, y: 0.06 }, { x: -0.08, y: 0.06 }, { x: -0.08, y: 0.07 }, { x: -0.08, y: 0.07 }, { x: -0.08, y: 0.07 }, { x: -0.08, y: 0.07 }, { x: -0.08, y: 0.07 }, { x: -0.08, y: 0.07 }, { x: -0.08, y: 0.07 }, { x: -0.08, y: 0.08 }, { x: -0.08, y: 0.08 }, { x: -0.08, y: 0.08 }, { x: -0.08, y: 0.08 }, { x: -0.08, y: 0.08 }, { x: -0.08, y: 0.08 }, { x: -0.08, y: 0.09 }, { x: -0.08, y: 0.09 }, { x: -0.08, y: 0.09 }, { x: -0.08, y: 0.09 }, { x: -0.08, y: 0.09 }, { x: -0.08, y: 0.09 }, { x: -0.08, y: 0.09 }, { x: -0.08, y: 0.1 }, { x: -0.08, y: 0.1 }, { x: -0.08, y: 0.1 }, { x: -0.08, y: 0.1 }, { x: -0.08, y: 0.1 }, { x: -0.08, y: 0.1 }, { x: -0.08, y: 0.1 }, { x: -0.08, y: 0.11 }, { x: -0.08, y: 0.11 }, { x: -0.08, y: 0.11 }, { x: -0.08, y: 0.11 }, { x: -0.08, y: 0.11 }, { x: -0.08, y: 0.11 }, { x: -0.08, y: 0.11 }, { x: -0.08, y: 0.12 }, { x: -0.08, y: 0.12 }, { x: -0.08, y: 0.12 }, { x: -0.08, y: 0.12 }, { x: -0.09, y: 0.12 }, { x: -0.09, y: 0.12 }, { x: -0.09, y: 0.12 }, { x: -0.09, y: 0.13 }, { x: -0.09, y: 0.13 }, { x: -0.09, y: 0.13 }, { x: -0.09, y: 0.13 }, { x: -0.09, y: 0.13 }, { x: -0.09, y: 0.13 }, { x: -0.09, y: 0.14 }, { x: -0.09, y: 0.14 }, { x: -0.09, y: 0.14 }, { x: -0.09, y: 0.14 }, { x: -0.09, y: 0.14 }, { x: -0.09, y: 0.14 }, { x: -0.09, y: 0.14 }, { x: -0.09, y: 0.15 }, { x: -0.09, y: 0.15 }, { x: -0.09, y: 0.15 }, { x: -0.09, y: 0.15 }, { x: -0.09, y: 0.15 }, { x: -0.09, y: 0.15 }, { x: -0.09, y: 0.15 }, { x: -0.09, y: 0.16 }, { x: -0.09, y: 0.16 }, { x: -0.09, y: 0.16 }, { x: -0.09, y: 0.16 }, { x: -0.09, y: 0.16 }, { x: -0.09, y: 0.16 }, { x: -0.09, y: 0.16 }, { x: -0.09, y: 0.17 }, { x: -0.09, y: 0.17 }, { x: -0.1, y: 0.17 }, { x: -0.1, y: 0.17 }, { x: -0.1, y: 0.17 }, { x: -0.1, y: 0.17 }, { x: -0.1, y: 0.17 }, { x: -0.1, y: 0.18 }, { x: -0.1, y: 0.18 }, { x: -0.1, y: 0.18 }, { x: -0.1, y: 0.18 }, { x: -0.1, y: 0.18 }, { x: -0.1, y: 0.18 }, { x: -0.1, y: 0.18 }, { x: -0.1, y: 0.19 }, { x: -0.1, y: 0.19 }, { x: -0.1, y: 0.19 }, { x: -0.1, y: 0.19 }, { x: -0.1, y: 0.19 }, { x: -0.1, y: 0.19 }, { x: -0.1, y: 0.19 }, { x: -0.1, y: 0.2 }, { x: -0.1, y: 0.2 }, { x: -0.1, y: 0.2 }, { x: -0.1, y: 0.2 }, { x: -0.1, y: 0.2 }, { x: -0.1, y: 0.2 }, { x: -0.11, y: 0.2 }, { x: -0.11, y: 0.2 }, { x: -0.11, y: 0.2 }, { x: -0.11, y: 0.21 }, { x: -0.11, y: 0.21 }, { x: -0.11, y: 0.21 }, { x: -0.11, y: 0.21 }, { x: -0.11, y: 0.21 }, { x: -0.11, y: 0.21 }, { x: -0.11, y: 0.21 }, { x: -0.11, y: 0.21 }, { x: -0.11, y: 0.21 }, { x: -0.11, y: 0.21 }, { x: -0.11, y: 0.21 }, { x: -0.11, y: 0.21 }, { x: -0.11, y: 0.21 }, { x: -0.11, y: 0.22 }, { x: -0.11, y: 0.22 }, { x: -0.11, y: 0.22 }, { x: -0.11, y: 0.22 }, { x: -0.11, y: 0.22 }, { x: -0.11, y: 0.22 }, { x: -0.11, y: 0.22 }, { x: -0.11, y: 0.22 }, { x: -0.11, y: 0.22 }, { x: -0.11, y: 0.22 }, { x: -0.11, y: 0.22 }, { x: -0.11, y: 0.22 }, { x: -0.11, y: 0.23 }, { x: -0.11, y: 0.23 }, { x: -0.11, y: 0.23 }, { x: -0.11, y: 0.23 }, { x: -0.12, y: 0.23 }, { x: -0.12, y: 0.23 }, { x: -0.12, y: 0.23 }, { x: -0.12, y: 0.23 }, { x: -0.12, y: 0.23 }, { x: -0.12, y: 0.23 }, { x: -0.12, y: 0.23 }, { x: -0.12, y: 0.23 }, { x: -0.12, y: 0.24 }, { x: -0.12, y: 0.24 }, { x: -0.12, y: 0.24 }, { x: -0.12, y: 0.24 }, { x: -0.12, y: 0.24 }, { x: -0.12, y: 0.24 }, { x: -0.12, y: 0.24 }, { x: -0.12, y: 0.24 }, { x: -0.12, y: 0.24 }, { x: -0.12, y: 0.24 }, { x: -0.12, y: 0.24 }, { x: -0.12, y: 0.24 }, { x: -0.12, y: 0.25 }, { x: -0.12, y: 0.25 }, { x: -0.12, y: 0.25 }, { x: -0.12, y: 0.25 }, { x: -0.12, y: 0.25 }, { x: -0.12, y: 0.25 }, { x: -0.13, y: 0.25 }, { x: -0.13, y: 0.25 }, { x: -0.13, y: 0.25 }, { x: -0.13, y: 0.25 }, { x: -0.13, y: 0.25 }, { x: -0.13, y: 0.25 }, { x: -0.13, y: 0.25 }, { x: -0.13, y: 0.26 }, { x: -0.13, y: 0.26 }, { x: -0.13, y: 0.26 }, { x: -0.13, y: 0.26 }, { x: -0.13, y: 0.26 }, { x: -0.13, y: 0.26 }, { x: -0.13, y: 0.26 }, { x: -0.13, y: 0.26 }, { x: -0.13, y: 0.26 }, { x: -0.13, y: 0.26 }, { x: -0.13, y: 0.26 }, { x: -0.13, y: 0.26 }, { x: -0.13, y: 0.26 }, { x: -0.13, y: 0.27 }, { x: -0.13, y: 0.27 }, { x: -0.13, y: 0.27 }, { x: -0.13, y: 0.27 }, { x: -0.14, y: 0.27 }, { x: -0.14, y: 0.27 }, { x: -0.14, y: 0.27 }, { x: -0.14, y: 0.27 }, { x: -0.14, y: 0.27 }, { x: -0.14, y: 0.27 }, { x: -0.14, y: 0.27 }, { x: -0.14, y: 0.27 }, { x: -0.14, y: 0.27 }, { x: -0.14, y: 0.28 }, { x: -0.14, y: 0.28 }, { x: -0.14, y: 0.28 }, { x: -0.14, y: 0.28 }, { x: -0.14, y: 0.28 }, { x: -0.14, y: 0.28 }, { x: -0.14, y: 0.28 }, { x: -0.14, y: 0.28 }, { x: -0.14, y: 0.28 }], color: "primary", fill: false }, "rect1577-4": { type: "path", points: [{ x: 0.26, y: 0.25 }, { x: 0.12, y: 0.25 }, { x: 0.12, y: 0.25 }, { x: 0.26, y: 0.25 }], color: "primary", fill: true }, "rect1577-4-7": { type: "path", points: [{ x: 0.2, y: 0.32 }, { x: 0.2, y: 0.18 }, { x: 0.19, y: 0.18 }, { x: 0.19, y: 0.32 }], color: "primary", fill: true } }, texts: { top1: { type: "text", text: "{REF}", x: -0.01, y: 0.42 }, bottom1: { type: "text", text: "{VAL}", x: 0, y: -0.42 } }, refblocks: { left1: { x: -0.54, y: 0.02 }, right1: { x: 0.45, y: 0.02 } }, bounds: { minX: -0.58, maxX: 0.58, minY: -0.42, maxY: 0.42, width: 1.16, height: 0.84, centerX: 0, centerY: 0 }, circles: {} };
5819
6014
  var { paths: _h, texts: Wg, bounds: ie, refblocks: ia, circles: gh } = O;
5820
6015
  var la = e({ primitives: [...Object.values(_h), ...Object.values(gh), { type: "text", text: "{REF}", x: 0.1, y: -0.2094553499999995 }, { type: "text", text: "{VAL}", x: -0.2, y: -0.2094553499999995 }], ports: [{ ...ia.left1, labels: ["2", "neg"] }, { ...ia.right1, labels: ["1", "pos"] }], size: { width: ie.width, height: ie.height }, center: { x: ie.centerX, y: ie.centerY } }).changeTextAnchor("{VAL}", "top_left").rotateRightFacingSymbol("up").changeTextAnchor("{REF}", "bottom_left").build();
@@ -5823,8 +6018,8 @@ var { paths: uh, texts: r3, bounds: le, refblocks: aa, circles: vh } = O;
5823
6018
  var ya = e({ primitives: [...Object.values(uh), ...Object.values(vh), { type: "text", text: "{REF}", x: 0, y: -0.4094553499999995 }, { type: "text", text: "{VAL}", x: -0, y: 0.4094553499999995 }], ports: [{ ...aa.left1, labels: ["2", "neg"] }, { ...aa.right1, labels: ["1", "pos"] }], size: { width: le.width, height: le.height }, center: { x: le.centerX, y: le.centerY } }).changeTextAnchor("{VAL}", "middle_bottom").rotateRightFacingSymbol("left").changeTextAnchor("{REF}", "middle_bottom").build();
5824
6019
  var { paths: wh, texts: p3, bounds: pe, refblocks: xa, circles: Ah } = O;
5825
6020
  var sa = e({ primitives: [...Object.values(wh), ...Object.values(Ah), { type: "text", text: "{REF}", x: -0.2, y: 0.2094553499999995 }, { type: "text", text: "{VAL}", x: 0.3, y: 0.2094553499999995 }], ports: [{ ...xa.left1, labels: ["2", "neg"] }, { ...xa.right1, labels: ["1", "pos"] }], size: { width: pe.width, height: pe.height }, center: { x: pe.centerX, y: pe.centerY } }).changeTextAnchor("{VAL}", "top_left").rotateRightFacingSymbol("down").changeTextAnchor("{REF}", "bottom_left").build();
5826
- var ma = e(z130).rotateRightFacingSymbol("right").changeTextAnchor("{VAL}", "middle_top").labelPort("left1", ["1", "pos"]).labelPort("right1", ["2", "neg"]).changeTextAnchor("{REF}", "middle_bottom").build();
5827
- var { paths: Ph, texts: f3, bounds: ae, refblocks: na, circles: Sh } = z130;
6021
+ var ma = e(z134).rotateRightFacingSymbol("right").changeTextAnchor("{VAL}", "middle_top").labelPort("left1", ["1", "pos"]).labelPort("right1", ["2", "neg"]).changeTextAnchor("{REF}", "middle_bottom").build();
6022
+ var { paths: Ph, texts: f3, bounds: ae, refblocks: na, circles: Sh } = z134;
5828
6023
  var fa = e({ primitives: [...Object.values(Ph), ...Object.values(Sh), { type: "text", text: "{REF}", x: 0.2, y: -0.095 }, { type: "text", text: "{VAL}", x: -0.2, y: -0.095 }], ports: [{ ...na.left1, labels: ["1"] }, { ...na.right1, labels: ["2"] }], size: { width: ae.width, height: ae.height }, center: { x: ae.centerX, y: ae.centerY } }).changeTextAnchor("{VAL}", "top_left").rotateRightFacingSymbol("up").labelPort("left1", ["1", "pos"]).labelPort("right1", ["2", "neg"]).changeTextAnchor("{REF}", "bottom_left").build();
5829
6024
  var A = { paths: { path11: { type: "path", points: [{ x: -0.54, y: 0.03 }, { x: -0.3, y: 0.03 }], color: "primary", fill: false }, path12: { type: "path", points: [{ x: 0.29, y: 0.03 }, { x: 0.54, y: 0.03 }], color: "primary", fill: false }, path2: { type: "path", points: [{ x: 0.29, y: 0.29 }, { x: 0.29, y: -0.23 }], color: "primary", fill: false } }, texts: { top1: { type: "text", text: "{REF}", x: -0.02, y: 0.37 }, bottom1: { type: "text", text: "{VAL}", x: -0.01, y: -0.37 } }, refblocks: { left1: { x: -0.54, y: 0.03 }, right1: { x: 0.54, y: 0.03 } }, bounds: { minX: -0.57, maxX: 0.57, minY: -0.37, maxY: 0.37, width: 1.14, height: 0.74, centerX: 0, centerY: 0 }, circles: { path1: { type: "circle", x: 0, y: 0.04, radius: 0.29, color: "primary", fill: false } } };
5830
6025
  var { paths: Rh, texts: _3, bounds: ye, refblocks: ha, circles: Th } = A;
@@ -7718,4 +7913,4 @@ svgson/dist/svgson.umd.js:
7718
7913
  * @license MIT
7719
7914
  *)
7720
7915
  */
7721
- //# sourceMappingURL=chunk-6S7LH5YP.js.map
7916
+ //# sourceMappingURL=chunk-U5UUPCU3.js.map