circuit-json 0.0.466 → 0.0.468
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -0
- package/dist/index.d.mts +146 -14
- package/dist/index.mjs +1277 -1243
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -517,9 +517,20 @@ expectTypesMatch(true);
|
|
|
517
517
|
|
|
518
518
|
// src/source/source_simple_connector.ts
|
|
519
519
|
import { z as z32 } from "zod";
|
|
520
|
+
var source_simple_connector_standards = [
|
|
521
|
+
"usb_c",
|
|
522
|
+
"m2",
|
|
523
|
+
"jst_sh",
|
|
524
|
+
"jst_gh",
|
|
525
|
+
"jst_zh",
|
|
526
|
+
"jst_ph",
|
|
527
|
+
"jst_xh",
|
|
528
|
+
"jst_vh"
|
|
529
|
+
];
|
|
520
530
|
var source_simple_connector = source_component_base.extend({
|
|
521
531
|
ftype: z32.literal("simple_connector"),
|
|
522
|
-
standard: z32.enum(
|
|
532
|
+
standard: z32.enum(source_simple_connector_standards).optional(),
|
|
533
|
+
pin_count: z32.number().int().positive().optional()
|
|
523
534
|
});
|
|
524
535
|
expectTypesMatch(true);
|
|
525
536
|
|
|
@@ -1530,121 +1541,141 @@ var schematic_component_overlap_warning = z90.object({
|
|
|
1530
1541
|
);
|
|
1531
1542
|
expectTypesMatch(true);
|
|
1532
1543
|
|
|
1533
|
-
// src/schematic/
|
|
1544
|
+
// src/schematic/schematic_component_styling_warning.ts
|
|
1534
1545
|
import { z as z91 } from "zod";
|
|
1535
|
-
var
|
|
1536
|
-
type: z91.literal("
|
|
1546
|
+
var schematic_component_styling_warning = z91.object({
|
|
1547
|
+
type: z91.literal("schematic_component_styling_warning"),
|
|
1548
|
+
schematic_component_styling_warning_id: getZodPrefixedIdWithDefault(
|
|
1549
|
+
"schematic_component_styling_warning"
|
|
1550
|
+
),
|
|
1551
|
+
warning_type: z91.literal("schematic_component_styling_warning").default("schematic_component_styling_warning"),
|
|
1552
|
+
message: z91.string(),
|
|
1553
|
+
schematic_component_id: z91.string(),
|
|
1554
|
+
styling_issue_type: z91.string(),
|
|
1555
|
+
schematic_port_ids: z91.array(z91.string()).optional(),
|
|
1556
|
+
source_component_id: z91.string().optional(),
|
|
1557
|
+
schematic_sheet_id: z91.string().optional(),
|
|
1558
|
+
subcircuit_id: z91.string().optional()
|
|
1559
|
+
}).describe(
|
|
1560
|
+
"Warning emitted when a schematic component has a visual styling issue"
|
|
1561
|
+
);
|
|
1562
|
+
expectTypesMatch(true);
|
|
1563
|
+
|
|
1564
|
+
// src/schematic/schematic_element_outside_sheet_warning.ts
|
|
1565
|
+
import { z as z92 } from "zod";
|
|
1566
|
+
var schematic_element_outside_sheet_warning = z92.object({
|
|
1567
|
+
type: z92.literal("schematic_element_outside_sheet_warning"),
|
|
1537
1568
|
schematic_element_outside_sheet_warning_id: getZodPrefixedIdWithDefault(
|
|
1538
1569
|
"schematic_element_outside_sheet_warning"
|
|
1539
1570
|
),
|
|
1540
|
-
warning_type:
|
|
1541
|
-
message:
|
|
1542
|
-
schematic_sheet_id:
|
|
1543
|
-
schematic_element_type:
|
|
1571
|
+
warning_type: z92.literal("schematic_element_outside_sheet_warning").default("schematic_element_outside_sheet_warning"),
|
|
1572
|
+
message: z92.string(),
|
|
1573
|
+
schematic_sheet_id: z92.string(),
|
|
1574
|
+
schematic_element_type: z92.enum([
|
|
1544
1575
|
"schematic_component",
|
|
1545
1576
|
"schematic_net_label",
|
|
1546
1577
|
"schematic_trace"
|
|
1547
1578
|
]),
|
|
1548
|
-
schematic_element_id:
|
|
1579
|
+
schematic_element_id: z92.string()
|
|
1549
1580
|
}).describe(
|
|
1550
1581
|
"Warning emitted when a schematic component, net label, or trace extends outside its schematic sheet"
|
|
1551
1582
|
);
|
|
1552
1583
|
expectTypesMatch(true);
|
|
1553
1584
|
|
|
1554
1585
|
// src/schematic/schematic_group.ts
|
|
1555
|
-
import { z as
|
|
1556
|
-
var schematic_group =
|
|
1557
|
-
type:
|
|
1586
|
+
import { z as z93 } from "zod";
|
|
1587
|
+
var schematic_group = z93.object({
|
|
1588
|
+
type: z93.literal("schematic_group"),
|
|
1558
1589
|
schematic_group_id: getZodPrefixedIdWithDefault("schematic_group"),
|
|
1559
|
-
schematic_sheet_id:
|
|
1560
|
-
source_group_id:
|
|
1561
|
-
is_subcircuit:
|
|
1562
|
-
subcircuit_id:
|
|
1590
|
+
schematic_sheet_id: z93.string().optional(),
|
|
1591
|
+
source_group_id: z93.string(),
|
|
1592
|
+
is_subcircuit: z93.boolean().optional(),
|
|
1593
|
+
subcircuit_id: z93.string().optional(),
|
|
1563
1594
|
width: length,
|
|
1564
1595
|
height: length,
|
|
1565
1596
|
center: point,
|
|
1566
|
-
schematic_component_ids:
|
|
1567
|
-
show_as_schematic_box:
|
|
1568
|
-
name:
|
|
1569
|
-
description:
|
|
1597
|
+
schematic_component_ids: z93.array(z93.string()),
|
|
1598
|
+
show_as_schematic_box: z93.boolean().optional(),
|
|
1599
|
+
name: z93.string().optional(),
|
|
1600
|
+
description: z93.string().optional()
|
|
1570
1601
|
}).describe("Defines a group of components on the schematic");
|
|
1571
1602
|
expectTypesMatch(true);
|
|
1572
1603
|
|
|
1573
1604
|
// src/schematic/schematic_table.ts
|
|
1574
|
-
import { z as
|
|
1575
|
-
var schematic_table =
|
|
1576
|
-
type:
|
|
1605
|
+
import { z as z94 } from "zod";
|
|
1606
|
+
var schematic_table = z94.object({
|
|
1607
|
+
type: z94.literal("schematic_table"),
|
|
1577
1608
|
schematic_table_id: getZodPrefixedIdWithDefault("schematic_table"),
|
|
1578
|
-
schematic_sheet_id:
|
|
1609
|
+
schematic_sheet_id: z94.string().optional(),
|
|
1579
1610
|
anchor_position: point,
|
|
1580
|
-
column_widths:
|
|
1581
|
-
row_heights:
|
|
1611
|
+
column_widths: z94.array(distance),
|
|
1612
|
+
row_heights: z94.array(distance),
|
|
1582
1613
|
cell_padding: distance.optional(),
|
|
1583
1614
|
border_width: distance.optional(),
|
|
1584
|
-
subcircuit_id:
|
|
1585
|
-
schematic_component_id:
|
|
1615
|
+
subcircuit_id: z94.string().optional(),
|
|
1616
|
+
schematic_component_id: z94.string().optional(),
|
|
1586
1617
|
anchor: ninePointAnchor.optional()
|
|
1587
1618
|
}).describe("Defines a table on the schematic");
|
|
1588
1619
|
expectTypesMatch(true);
|
|
1589
1620
|
|
|
1590
1621
|
// src/schematic/schematic_table_cell.ts
|
|
1591
|
-
import { z as
|
|
1592
|
-
var schematic_table_cell =
|
|
1593
|
-
type:
|
|
1622
|
+
import { z as z95 } from "zod";
|
|
1623
|
+
var schematic_table_cell = z95.object({
|
|
1624
|
+
type: z95.literal("schematic_table_cell"),
|
|
1594
1625
|
schematic_table_cell_id: getZodPrefixedIdWithDefault(
|
|
1595
1626
|
"schematic_table_cell"
|
|
1596
1627
|
),
|
|
1597
|
-
schematic_sheet_id:
|
|
1598
|
-
schematic_table_id:
|
|
1599
|
-
start_row_index:
|
|
1600
|
-
end_row_index:
|
|
1601
|
-
start_column_index:
|
|
1602
|
-
end_column_index:
|
|
1603
|
-
text:
|
|
1628
|
+
schematic_sheet_id: z95.string().optional(),
|
|
1629
|
+
schematic_table_id: z95.string(),
|
|
1630
|
+
start_row_index: z95.number(),
|
|
1631
|
+
end_row_index: z95.number(),
|
|
1632
|
+
start_column_index: z95.number(),
|
|
1633
|
+
end_column_index: z95.number(),
|
|
1634
|
+
text: z95.string().optional(),
|
|
1604
1635
|
center: point,
|
|
1605
1636
|
width: distance,
|
|
1606
1637
|
height: distance,
|
|
1607
|
-
horizontal_align:
|
|
1608
|
-
vertical_align:
|
|
1638
|
+
horizontal_align: z95.enum(["left", "center", "right"]).optional(),
|
|
1639
|
+
vertical_align: z95.enum(["top", "middle", "bottom"]).optional(),
|
|
1609
1640
|
font_size: distance.optional(),
|
|
1610
|
-
subcircuit_id:
|
|
1641
|
+
subcircuit_id: z95.string().optional()
|
|
1611
1642
|
}).describe("Defines a cell within a schematic_table");
|
|
1612
1643
|
expectTypesMatch(true);
|
|
1613
1644
|
|
|
1614
1645
|
// src/schematic/schematic_sheet.ts
|
|
1615
|
-
import { z as
|
|
1616
|
-
var schematic_sheet =
|
|
1617
|
-
type:
|
|
1646
|
+
import { z as z96 } from "zod";
|
|
1647
|
+
var schematic_sheet = z96.object({
|
|
1648
|
+
type: z96.literal("schematic_sheet"),
|
|
1618
1649
|
schematic_sheet_id: getZodPrefixedIdWithDefault("schematic_sheet"),
|
|
1619
|
-
name:
|
|
1620
|
-
sheet_index:
|
|
1621
|
-
subcircuit_id:
|
|
1622
|
-
outline_color:
|
|
1650
|
+
name: z96.string().optional(),
|
|
1651
|
+
sheet_index: z96.number().optional(),
|
|
1652
|
+
subcircuit_id: z96.string().optional(),
|
|
1653
|
+
outline_color: z96.string().optional()
|
|
1623
1654
|
}).describe(
|
|
1624
1655
|
"Defines a schematic sheet or page that components can be placed on"
|
|
1625
1656
|
);
|
|
1626
1657
|
expectTypesMatch(true);
|
|
1627
1658
|
|
|
1628
1659
|
// src/pcb/properties/brep.ts
|
|
1629
|
-
import { z as
|
|
1630
|
-
var point_with_bulge =
|
|
1660
|
+
import { z as z97 } from "zod";
|
|
1661
|
+
var point_with_bulge = z97.object({
|
|
1631
1662
|
x: distance,
|
|
1632
1663
|
y: distance,
|
|
1633
|
-
bulge:
|
|
1664
|
+
bulge: z97.number().optional()
|
|
1634
1665
|
});
|
|
1635
1666
|
expectTypesMatch(true);
|
|
1636
|
-
var ring =
|
|
1637
|
-
vertices:
|
|
1667
|
+
var ring = z97.object({
|
|
1668
|
+
vertices: z97.array(point_with_bulge)
|
|
1638
1669
|
});
|
|
1639
1670
|
expectTypesMatch(true);
|
|
1640
|
-
var brep_shape =
|
|
1671
|
+
var brep_shape = z97.object({
|
|
1641
1672
|
outer_ring: ring,
|
|
1642
|
-
inner_rings:
|
|
1673
|
+
inner_rings: z97.array(ring).default([])
|
|
1643
1674
|
});
|
|
1644
1675
|
expectTypesMatch(true);
|
|
1645
1676
|
|
|
1646
1677
|
// src/pcb/properties/insertion_direction.ts
|
|
1647
|
-
import { z as
|
|
1678
|
+
import { z as z98 } from "zod";
|
|
1648
1679
|
var insertionDirectionToCanonical = {
|
|
1649
1680
|
from_left: "from_left",
|
|
1650
1681
|
from_right: "from_right",
|
|
@@ -1671,7 +1702,7 @@ var insertionDirectionToVector = {
|
|
|
1671
1702
|
from_above: { x: 0, y: 0, z: 1 },
|
|
1672
1703
|
from_below: { x: 0, y: 0, z: -1 }
|
|
1673
1704
|
};
|
|
1674
|
-
var insertion_direction =
|
|
1705
|
+
var insertion_direction = z98.enum([
|
|
1675
1706
|
"from_left",
|
|
1676
1707
|
"from_right",
|
|
1677
1708
|
"from_top",
|
|
@@ -1696,8 +1727,8 @@ expectTypesMatch(
|
|
|
1696
1727
|
);
|
|
1697
1728
|
|
|
1698
1729
|
// src/pcb/properties/pcb_pin1_location.ts
|
|
1699
|
-
import { z as
|
|
1700
|
-
var pcb_pin1_location =
|
|
1730
|
+
import { z as z99 } from "zod";
|
|
1731
|
+
var pcb_pin1_location = z99.enum([
|
|
1701
1732
|
"leftside_top",
|
|
1702
1733
|
"leftside_bottom",
|
|
1703
1734
|
"rightside_top",
|
|
@@ -1734,31 +1765,31 @@ var getRotationBetweenPcbPin1Locations = (from, to) => {
|
|
|
1734
1765
|
};
|
|
1735
1766
|
|
|
1736
1767
|
// src/pcb/properties/pcb_route_hints.ts
|
|
1737
|
-
import { z as
|
|
1738
|
-
var pcb_route_hint =
|
|
1768
|
+
import { z as z100 } from "zod";
|
|
1769
|
+
var pcb_route_hint = z100.object({
|
|
1739
1770
|
x: distance,
|
|
1740
1771
|
y: distance,
|
|
1741
|
-
via:
|
|
1772
|
+
via: z100.boolean().optional(),
|
|
1742
1773
|
via_to_layer: layer_ref.optional()
|
|
1743
1774
|
});
|
|
1744
|
-
var pcb_route_hints =
|
|
1775
|
+
var pcb_route_hints = z100.array(pcb_route_hint);
|
|
1745
1776
|
expectTypesMatch(true);
|
|
1746
1777
|
expectTypesMatch(true);
|
|
1747
1778
|
|
|
1748
1779
|
// src/pcb/properties/route_hint_point.ts
|
|
1749
|
-
import { z as
|
|
1750
|
-
var route_hint_point =
|
|
1780
|
+
import { z as z101 } from "zod";
|
|
1781
|
+
var route_hint_point = z101.object({
|
|
1751
1782
|
x: distance,
|
|
1752
1783
|
y: distance,
|
|
1753
|
-
via:
|
|
1784
|
+
via: z101.boolean().optional(),
|
|
1754
1785
|
to_layer: layer_ref.optional(),
|
|
1755
1786
|
trace_width: distance.optional()
|
|
1756
1787
|
});
|
|
1757
1788
|
expectTypesMatch(true);
|
|
1758
1789
|
|
|
1759
1790
|
// src/pcb/properties/manufacturing_drc_properties.ts
|
|
1760
|
-
import { z as
|
|
1761
|
-
var manufacturing_drc_properties =
|
|
1791
|
+
import { z as z102 } from "zod";
|
|
1792
|
+
var manufacturing_drc_properties = z102.object({
|
|
1762
1793
|
min_trace_width: length.optional(),
|
|
1763
1794
|
min_board_edge_clearance: length.optional(),
|
|
1764
1795
|
min_via_hole_edge_to_via_hole_edge_clearance: length.optional(),
|
|
@@ -1773,27 +1804,27 @@ var manufacturing_drc_properties = z101.object({
|
|
|
1773
1804
|
});
|
|
1774
1805
|
|
|
1775
1806
|
// src/pcb/pcb_component.ts
|
|
1776
|
-
import { z as
|
|
1777
|
-
var pcb_component =
|
|
1778
|
-
type:
|
|
1807
|
+
import { z as z103 } from "zod";
|
|
1808
|
+
var pcb_component = z103.object({
|
|
1809
|
+
type: z103.literal("pcb_component"),
|
|
1779
1810
|
pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
|
|
1780
|
-
source_component_id:
|
|
1811
|
+
source_component_id: z103.string(),
|
|
1781
1812
|
center: point,
|
|
1782
1813
|
layer: layer_ref,
|
|
1783
1814
|
rotation,
|
|
1784
|
-
display_offset_x:
|
|
1815
|
+
display_offset_x: z103.string().optional().describe(
|
|
1785
1816
|
"How to display the x offset for this part, usually corresponding with how the user specified it"
|
|
1786
1817
|
),
|
|
1787
|
-
display_offset_y:
|
|
1818
|
+
display_offset_y: z103.string().optional().describe(
|
|
1788
1819
|
"How to display the y offset for this part, usually corresponding with how the user specified it"
|
|
1789
1820
|
),
|
|
1790
1821
|
width: length,
|
|
1791
1822
|
height: length,
|
|
1792
|
-
do_not_place:
|
|
1793
|
-
is_allowed_to_be_off_board:
|
|
1794
|
-
subcircuit_id:
|
|
1795
|
-
pcb_group_id:
|
|
1796
|
-
position_mode:
|
|
1823
|
+
do_not_place: z103.boolean().optional(),
|
|
1824
|
+
is_allowed_to_be_off_board: z103.boolean().optional(),
|
|
1825
|
+
subcircuit_id: z103.string().optional(),
|
|
1826
|
+
pcb_group_id: z103.string().optional(),
|
|
1827
|
+
position_mode: z103.enum([
|
|
1797
1828
|
"packed",
|
|
1798
1829
|
"relative_to_group_anchor",
|
|
1799
1830
|
"relative_to_another_component",
|
|
@@ -1801,129 +1832,129 @@ var pcb_component = z102.object({
|
|
|
1801
1832
|
]).optional(),
|
|
1802
1833
|
anchor_position: point.optional(),
|
|
1803
1834
|
anchor_alignment: ninePointAnchor.optional(),
|
|
1804
|
-
positioned_relative_to_pcb_group_id:
|
|
1805
|
-
positioned_relative_to_pcb_board_id:
|
|
1835
|
+
positioned_relative_to_pcb_group_id: z103.string().optional(),
|
|
1836
|
+
positioned_relative_to_pcb_board_id: z103.string().optional(),
|
|
1806
1837
|
cable_insertion_center: point.optional(),
|
|
1807
1838
|
insertion_direction: insertion_direction.optional(),
|
|
1808
1839
|
pin1_location: pcb_pin1_location.optional().describe(
|
|
1809
1840
|
"Location of pin 1 on the unrotated, top-view component footprint"
|
|
1810
1841
|
),
|
|
1811
|
-
supplier_pin1_location_map:
|
|
1842
|
+
supplier_pin1_location_map: z103.record(supplier_name, pcb_pin1_location).optional().describe(
|
|
1812
1843
|
"Pin 1 location for each supplier's unrotated, top-view footprint"
|
|
1813
1844
|
),
|
|
1814
|
-
metadata:
|
|
1845
|
+
metadata: z103.object({
|
|
1815
1846
|
kicad_footprint: kicadFootprintMetadata.optional()
|
|
1816
1847
|
}).optional(),
|
|
1817
|
-
obstructs_within_bounds:
|
|
1848
|
+
obstructs_within_bounds: z103.boolean().default(true).describe(
|
|
1818
1849
|
"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"
|
|
1819
1850
|
)
|
|
1820
1851
|
}).describe("Defines a component on the PCB");
|
|
1821
1852
|
expectTypesMatch(true);
|
|
1822
1853
|
|
|
1823
1854
|
// src/pcb/pcb_hole.ts
|
|
1824
|
-
import { z as
|
|
1825
|
-
var pcb_hole_circle =
|
|
1826
|
-
type:
|
|
1855
|
+
import { z as z104 } from "zod";
|
|
1856
|
+
var pcb_hole_circle = z104.object({
|
|
1857
|
+
type: z104.literal("pcb_hole"),
|
|
1827
1858
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1828
|
-
pcb_group_id:
|
|
1829
|
-
subcircuit_id:
|
|
1830
|
-
pcb_component_id:
|
|
1831
|
-
hole_shape:
|
|
1832
|
-
hole_diameter:
|
|
1859
|
+
pcb_group_id: z104.string().optional(),
|
|
1860
|
+
subcircuit_id: z104.string().optional(),
|
|
1861
|
+
pcb_component_id: z104.string().optional(),
|
|
1862
|
+
hole_shape: z104.literal("circle"),
|
|
1863
|
+
hole_diameter: z104.number(),
|
|
1833
1864
|
x: distance,
|
|
1834
1865
|
y: distance,
|
|
1835
|
-
is_covered_with_solder_mask:
|
|
1836
|
-
soldermask_margin:
|
|
1866
|
+
is_covered_with_solder_mask: z104.boolean().optional(),
|
|
1867
|
+
soldermask_margin: z104.number().optional()
|
|
1837
1868
|
});
|
|
1838
1869
|
var pcb_hole_circle_shape = pcb_hole_circle.describe(
|
|
1839
1870
|
"Defines a circular hole on the PCB"
|
|
1840
1871
|
);
|
|
1841
1872
|
expectTypesMatch(true);
|
|
1842
|
-
var pcb_hole_rect =
|
|
1843
|
-
type:
|
|
1873
|
+
var pcb_hole_rect = z104.object({
|
|
1874
|
+
type: z104.literal("pcb_hole"),
|
|
1844
1875
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1845
|
-
pcb_group_id:
|
|
1846
|
-
subcircuit_id:
|
|
1847
|
-
pcb_component_id:
|
|
1848
|
-
hole_shape:
|
|
1849
|
-
hole_width:
|
|
1850
|
-
hole_height:
|
|
1876
|
+
pcb_group_id: z104.string().optional(),
|
|
1877
|
+
subcircuit_id: z104.string().optional(),
|
|
1878
|
+
pcb_component_id: z104.string().optional(),
|
|
1879
|
+
hole_shape: z104.literal("rect"),
|
|
1880
|
+
hole_width: z104.number(),
|
|
1881
|
+
hole_height: z104.number(),
|
|
1851
1882
|
x: distance,
|
|
1852
1883
|
y: distance,
|
|
1853
|
-
is_covered_with_solder_mask:
|
|
1854
|
-
soldermask_margin:
|
|
1884
|
+
is_covered_with_solder_mask: z104.boolean().optional(),
|
|
1885
|
+
soldermask_margin: z104.number().optional()
|
|
1855
1886
|
});
|
|
1856
1887
|
var pcb_hole_rect_shape = pcb_hole_rect.describe(
|
|
1857
1888
|
"Defines a rectangular (square-capable) hole on the PCB. Use equal width/height for square."
|
|
1858
1889
|
);
|
|
1859
1890
|
expectTypesMatch(true);
|
|
1860
|
-
var pcb_hole_circle_or_square =
|
|
1861
|
-
type:
|
|
1891
|
+
var pcb_hole_circle_or_square = z104.object({
|
|
1892
|
+
type: z104.literal("pcb_hole"),
|
|
1862
1893
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1863
|
-
pcb_group_id:
|
|
1864
|
-
subcircuit_id:
|
|
1865
|
-
pcb_component_id:
|
|
1866
|
-
hole_shape:
|
|
1867
|
-
hole_diameter:
|
|
1894
|
+
pcb_group_id: z104.string().optional(),
|
|
1895
|
+
subcircuit_id: z104.string().optional(),
|
|
1896
|
+
pcb_component_id: z104.string().optional(),
|
|
1897
|
+
hole_shape: z104.enum(["circle", "square"]),
|
|
1898
|
+
hole_diameter: z104.number(),
|
|
1868
1899
|
x: distance,
|
|
1869
1900
|
y: distance,
|
|
1870
|
-
is_covered_with_solder_mask:
|
|
1871
|
-
soldermask_margin:
|
|
1901
|
+
is_covered_with_solder_mask: z104.boolean().optional(),
|
|
1902
|
+
soldermask_margin: z104.number().optional()
|
|
1872
1903
|
});
|
|
1873
1904
|
var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
|
|
1874
1905
|
"Defines a circular or square hole on the PCB"
|
|
1875
1906
|
);
|
|
1876
1907
|
expectTypesMatch(true);
|
|
1877
|
-
var pcb_hole_oval =
|
|
1878
|
-
type:
|
|
1908
|
+
var pcb_hole_oval = z104.object({
|
|
1909
|
+
type: z104.literal("pcb_hole"),
|
|
1879
1910
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1880
|
-
pcb_group_id:
|
|
1881
|
-
subcircuit_id:
|
|
1882
|
-
pcb_component_id:
|
|
1883
|
-
hole_shape:
|
|
1884
|
-
hole_width:
|
|
1885
|
-
hole_height:
|
|
1911
|
+
pcb_group_id: z104.string().optional(),
|
|
1912
|
+
subcircuit_id: z104.string().optional(),
|
|
1913
|
+
pcb_component_id: z104.string().optional(),
|
|
1914
|
+
hole_shape: z104.literal("oval"),
|
|
1915
|
+
hole_width: z104.number(),
|
|
1916
|
+
hole_height: z104.number(),
|
|
1886
1917
|
x: distance,
|
|
1887
1918
|
y: distance,
|
|
1888
|
-
is_covered_with_solder_mask:
|
|
1889
|
-
soldermask_margin:
|
|
1919
|
+
is_covered_with_solder_mask: z104.boolean().optional(),
|
|
1920
|
+
soldermask_margin: z104.number().optional()
|
|
1890
1921
|
});
|
|
1891
1922
|
var pcb_hole_oval_shape = pcb_hole_oval.describe(
|
|
1892
1923
|
"Defines an oval hole on the PCB"
|
|
1893
1924
|
);
|
|
1894
1925
|
expectTypesMatch(true);
|
|
1895
|
-
var pcb_hole_pill =
|
|
1896
|
-
type:
|
|
1926
|
+
var pcb_hole_pill = z104.object({
|
|
1927
|
+
type: z104.literal("pcb_hole"),
|
|
1897
1928
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1898
|
-
pcb_group_id:
|
|
1899
|
-
subcircuit_id:
|
|
1900
|
-
pcb_component_id:
|
|
1901
|
-
hole_shape:
|
|
1902
|
-
hole_width:
|
|
1903
|
-
hole_height:
|
|
1929
|
+
pcb_group_id: z104.string().optional(),
|
|
1930
|
+
subcircuit_id: z104.string().optional(),
|
|
1931
|
+
pcb_component_id: z104.string().optional(),
|
|
1932
|
+
hole_shape: z104.literal("pill"),
|
|
1933
|
+
hole_width: z104.number(),
|
|
1934
|
+
hole_height: z104.number(),
|
|
1904
1935
|
x: distance,
|
|
1905
1936
|
y: distance,
|
|
1906
|
-
is_covered_with_solder_mask:
|
|
1907
|
-
soldermask_margin:
|
|
1937
|
+
is_covered_with_solder_mask: z104.boolean().optional(),
|
|
1938
|
+
soldermask_margin: z104.number().optional()
|
|
1908
1939
|
});
|
|
1909
1940
|
var pcb_hole_pill_shape = pcb_hole_pill.describe(
|
|
1910
1941
|
"Defines a pill-shaped hole on the PCB"
|
|
1911
1942
|
);
|
|
1912
1943
|
expectTypesMatch(true);
|
|
1913
|
-
var pcb_hole_rotated_pill =
|
|
1914
|
-
type:
|
|
1944
|
+
var pcb_hole_rotated_pill = z104.object({
|
|
1945
|
+
type: z104.literal("pcb_hole"),
|
|
1915
1946
|
pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
|
|
1916
|
-
pcb_group_id:
|
|
1917
|
-
subcircuit_id:
|
|
1918
|
-
pcb_component_id:
|
|
1919
|
-
hole_shape:
|
|
1920
|
-
hole_width:
|
|
1921
|
-
hole_height:
|
|
1947
|
+
pcb_group_id: z104.string().optional(),
|
|
1948
|
+
subcircuit_id: z104.string().optional(),
|
|
1949
|
+
pcb_component_id: z104.string().optional(),
|
|
1950
|
+
hole_shape: z104.literal("rotated_pill"),
|
|
1951
|
+
hole_width: z104.number(),
|
|
1952
|
+
hole_height: z104.number(),
|
|
1922
1953
|
x: distance,
|
|
1923
1954
|
y: distance,
|
|
1924
1955
|
ccw_rotation: rotation,
|
|
1925
|
-
is_covered_with_solder_mask:
|
|
1926
|
-
soldermask_margin:
|
|
1956
|
+
is_covered_with_solder_mask: z104.boolean().optional(),
|
|
1957
|
+
soldermask_margin: z104.number().optional()
|
|
1927
1958
|
});
|
|
1928
1959
|
var pcb_hole_rotated_pill_shape = pcb_hole_rotated_pill.describe(
|
|
1929
1960
|
"Defines a rotated pill-shaped hole on the PCB"
|
|
@@ -1932,147 +1963,147 @@ expectTypesMatch(true);
|
|
|
1932
1963
|
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);
|
|
1933
1964
|
|
|
1934
1965
|
// src/pcb/pcb_plated_hole.ts
|
|
1935
|
-
import { z as
|
|
1936
|
-
var pcb_plated_hole_circle =
|
|
1937
|
-
type:
|
|
1938
|
-
shape:
|
|
1939
|
-
pcb_group_id:
|
|
1940
|
-
subcircuit_id:
|
|
1941
|
-
outer_diameter:
|
|
1942
|
-
hole_diameter:
|
|
1943
|
-
is_covered_with_solder_mask:
|
|
1966
|
+
import { z as z105 } from "zod";
|
|
1967
|
+
var pcb_plated_hole_circle = z105.object({
|
|
1968
|
+
type: z105.literal("pcb_plated_hole"),
|
|
1969
|
+
shape: z105.literal("circle"),
|
|
1970
|
+
pcb_group_id: z105.string().optional(),
|
|
1971
|
+
subcircuit_id: z105.string().optional(),
|
|
1972
|
+
outer_diameter: z105.number(),
|
|
1973
|
+
hole_diameter: z105.number(),
|
|
1974
|
+
is_covered_with_solder_mask: z105.boolean().optional(),
|
|
1944
1975
|
x: distance,
|
|
1945
1976
|
y: distance,
|
|
1946
|
-
layers:
|
|
1947
|
-
port_hints:
|
|
1948
|
-
pcb_component_id:
|
|
1949
|
-
pcb_port_id:
|
|
1977
|
+
layers: z105.array(layer_ref),
|
|
1978
|
+
port_hints: z105.array(z105.string()).optional(),
|
|
1979
|
+
pcb_component_id: z105.string().optional(),
|
|
1980
|
+
pcb_port_id: z105.string().optional(),
|
|
1950
1981
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1951
|
-
soldermask_margin:
|
|
1982
|
+
soldermask_margin: z105.number().optional()
|
|
1952
1983
|
});
|
|
1953
|
-
var pcb_plated_hole_oval =
|
|
1954
|
-
type:
|
|
1955
|
-
shape:
|
|
1956
|
-
pcb_group_id:
|
|
1957
|
-
subcircuit_id:
|
|
1958
|
-
outer_width:
|
|
1959
|
-
outer_height:
|
|
1960
|
-
hole_width:
|
|
1961
|
-
hole_height:
|
|
1962
|
-
is_covered_with_solder_mask:
|
|
1984
|
+
var pcb_plated_hole_oval = z105.object({
|
|
1985
|
+
type: z105.literal("pcb_plated_hole"),
|
|
1986
|
+
shape: z105.enum(["oval", "pill"]),
|
|
1987
|
+
pcb_group_id: z105.string().optional(),
|
|
1988
|
+
subcircuit_id: z105.string().optional(),
|
|
1989
|
+
outer_width: z105.number(),
|
|
1990
|
+
outer_height: z105.number(),
|
|
1991
|
+
hole_width: z105.number(),
|
|
1992
|
+
hole_height: z105.number(),
|
|
1993
|
+
is_covered_with_solder_mask: z105.boolean().optional(),
|
|
1963
1994
|
x: distance,
|
|
1964
1995
|
y: distance,
|
|
1965
1996
|
ccw_rotation: rotation,
|
|
1966
|
-
layers:
|
|
1967
|
-
port_hints:
|
|
1968
|
-
pcb_component_id:
|
|
1969
|
-
pcb_port_id:
|
|
1997
|
+
layers: z105.array(layer_ref),
|
|
1998
|
+
port_hints: z105.array(z105.string()).optional(),
|
|
1999
|
+
pcb_component_id: z105.string().optional(),
|
|
2000
|
+
pcb_port_id: z105.string().optional(),
|
|
1970
2001
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1971
|
-
soldermask_margin:
|
|
2002
|
+
soldermask_margin: z105.number().optional()
|
|
1972
2003
|
});
|
|
1973
|
-
var pcb_circular_hole_with_rect_pad =
|
|
1974
|
-
type:
|
|
1975
|
-
shape:
|
|
1976
|
-
pcb_group_id:
|
|
1977
|
-
subcircuit_id:
|
|
1978
|
-
hole_shape:
|
|
1979
|
-
pad_shape:
|
|
1980
|
-
hole_diameter:
|
|
1981
|
-
rect_pad_width:
|
|
1982
|
-
rect_pad_height:
|
|
1983
|
-
rect_border_radius:
|
|
2004
|
+
var pcb_circular_hole_with_rect_pad = z105.object({
|
|
2005
|
+
type: z105.literal("pcb_plated_hole"),
|
|
2006
|
+
shape: z105.literal("circular_hole_with_rect_pad"),
|
|
2007
|
+
pcb_group_id: z105.string().optional(),
|
|
2008
|
+
subcircuit_id: z105.string().optional(),
|
|
2009
|
+
hole_shape: z105.literal("circle"),
|
|
2010
|
+
pad_shape: z105.literal("rect"),
|
|
2011
|
+
hole_diameter: z105.number(),
|
|
2012
|
+
rect_pad_width: z105.number(),
|
|
2013
|
+
rect_pad_height: z105.number(),
|
|
2014
|
+
rect_border_radius: z105.number().optional(),
|
|
1984
2015
|
hole_offset_x: distance.default(0),
|
|
1985
2016
|
hole_offset_y: distance.default(0),
|
|
1986
|
-
is_covered_with_solder_mask:
|
|
2017
|
+
is_covered_with_solder_mask: z105.boolean().optional(),
|
|
1987
2018
|
x: distance,
|
|
1988
2019
|
y: distance,
|
|
1989
|
-
layers:
|
|
1990
|
-
port_hints:
|
|
1991
|
-
pcb_component_id:
|
|
1992
|
-
pcb_port_id:
|
|
2020
|
+
layers: z105.array(layer_ref),
|
|
2021
|
+
port_hints: z105.array(z105.string()).optional(),
|
|
2022
|
+
pcb_component_id: z105.string().optional(),
|
|
2023
|
+
pcb_port_id: z105.string().optional(),
|
|
1993
2024
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
1994
|
-
soldermask_margin:
|
|
2025
|
+
soldermask_margin: z105.number().optional(),
|
|
1995
2026
|
rect_ccw_rotation: rotation.optional()
|
|
1996
2027
|
});
|
|
1997
|
-
var pcb_pill_hole_with_rect_pad =
|
|
1998
|
-
type:
|
|
1999
|
-
shape:
|
|
2000
|
-
pcb_group_id:
|
|
2001
|
-
subcircuit_id:
|
|
2002
|
-
hole_shape:
|
|
2003
|
-
pad_shape:
|
|
2004
|
-
hole_width:
|
|
2005
|
-
hole_height:
|
|
2006
|
-
rect_pad_width:
|
|
2007
|
-
rect_pad_height:
|
|
2008
|
-
rect_border_radius:
|
|
2028
|
+
var pcb_pill_hole_with_rect_pad = z105.object({
|
|
2029
|
+
type: z105.literal("pcb_plated_hole"),
|
|
2030
|
+
shape: z105.literal("pill_hole_with_rect_pad"),
|
|
2031
|
+
pcb_group_id: z105.string().optional(),
|
|
2032
|
+
subcircuit_id: z105.string().optional(),
|
|
2033
|
+
hole_shape: z105.literal("pill"),
|
|
2034
|
+
pad_shape: z105.literal("rect"),
|
|
2035
|
+
hole_width: z105.number(),
|
|
2036
|
+
hole_height: z105.number(),
|
|
2037
|
+
rect_pad_width: z105.number(),
|
|
2038
|
+
rect_pad_height: z105.number(),
|
|
2039
|
+
rect_border_radius: z105.number().optional(),
|
|
2009
2040
|
hole_offset_x: distance.default(0),
|
|
2010
2041
|
hole_offset_y: distance.default(0),
|
|
2011
|
-
is_covered_with_solder_mask:
|
|
2042
|
+
is_covered_with_solder_mask: z105.boolean().optional(),
|
|
2012
2043
|
x: distance,
|
|
2013
2044
|
y: distance,
|
|
2014
|
-
layers:
|
|
2015
|
-
port_hints:
|
|
2016
|
-
pcb_component_id:
|
|
2017
|
-
pcb_port_id:
|
|
2045
|
+
layers: z105.array(layer_ref),
|
|
2046
|
+
port_hints: z105.array(z105.string()).optional(),
|
|
2047
|
+
pcb_component_id: z105.string().optional(),
|
|
2048
|
+
pcb_port_id: z105.string().optional(),
|
|
2018
2049
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
2019
|
-
soldermask_margin:
|
|
2050
|
+
soldermask_margin: z105.number().optional()
|
|
2020
2051
|
});
|
|
2021
|
-
var pcb_rotated_pill_hole_with_rect_pad =
|
|
2022
|
-
type:
|
|
2023
|
-
shape:
|
|
2024
|
-
pcb_group_id:
|
|
2025
|
-
subcircuit_id:
|
|
2026
|
-
hole_shape:
|
|
2027
|
-
pad_shape:
|
|
2028
|
-
hole_width:
|
|
2029
|
-
hole_height:
|
|
2052
|
+
var pcb_rotated_pill_hole_with_rect_pad = z105.object({
|
|
2053
|
+
type: z105.literal("pcb_plated_hole"),
|
|
2054
|
+
shape: z105.literal("rotated_pill_hole_with_rect_pad"),
|
|
2055
|
+
pcb_group_id: z105.string().optional(),
|
|
2056
|
+
subcircuit_id: z105.string().optional(),
|
|
2057
|
+
hole_shape: z105.literal("rotated_pill"),
|
|
2058
|
+
pad_shape: z105.literal("rect"),
|
|
2059
|
+
hole_width: z105.number(),
|
|
2060
|
+
hole_height: z105.number(),
|
|
2030
2061
|
hole_ccw_rotation: rotation,
|
|
2031
|
-
rect_pad_width:
|
|
2032
|
-
rect_pad_height:
|
|
2033
|
-
rect_border_radius:
|
|
2062
|
+
rect_pad_width: z105.number(),
|
|
2063
|
+
rect_pad_height: z105.number(),
|
|
2064
|
+
rect_border_radius: z105.number().optional(),
|
|
2034
2065
|
rect_ccw_rotation: rotation,
|
|
2035
2066
|
hole_offset_x: distance.default(0),
|
|
2036
2067
|
hole_offset_y: distance.default(0),
|
|
2037
|
-
is_covered_with_solder_mask:
|
|
2068
|
+
is_covered_with_solder_mask: z105.boolean().optional(),
|
|
2038
2069
|
x: distance,
|
|
2039
2070
|
y: distance,
|
|
2040
|
-
layers:
|
|
2041
|
-
port_hints:
|
|
2042
|
-
pcb_component_id:
|
|
2043
|
-
pcb_port_id:
|
|
2071
|
+
layers: z105.array(layer_ref),
|
|
2072
|
+
port_hints: z105.array(z105.string()).optional(),
|
|
2073
|
+
pcb_component_id: z105.string().optional(),
|
|
2074
|
+
pcb_port_id: z105.string().optional(),
|
|
2044
2075
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
2045
|
-
soldermask_margin:
|
|
2076
|
+
soldermask_margin: z105.number().optional()
|
|
2046
2077
|
});
|
|
2047
|
-
var pcb_hole_with_polygon_pad =
|
|
2048
|
-
type:
|
|
2049
|
-
shape:
|
|
2050
|
-
pcb_group_id:
|
|
2051
|
-
subcircuit_id:
|
|
2052
|
-
hole_shape:
|
|
2053
|
-
hole_diameter:
|
|
2054
|
-
hole_width:
|
|
2055
|
-
hole_height:
|
|
2056
|
-
pad_outline:
|
|
2057
|
-
|
|
2078
|
+
var pcb_hole_with_polygon_pad = z105.object({
|
|
2079
|
+
type: z105.literal("pcb_plated_hole"),
|
|
2080
|
+
shape: z105.literal("hole_with_polygon_pad"),
|
|
2081
|
+
pcb_group_id: z105.string().optional(),
|
|
2082
|
+
subcircuit_id: z105.string().optional(),
|
|
2083
|
+
hole_shape: z105.enum(["circle", "oval", "pill", "rotated_pill"]),
|
|
2084
|
+
hole_diameter: z105.number().optional(),
|
|
2085
|
+
hole_width: z105.number().optional(),
|
|
2086
|
+
hole_height: z105.number().optional(),
|
|
2087
|
+
pad_outline: z105.array(
|
|
2088
|
+
z105.object({
|
|
2058
2089
|
x: distance,
|
|
2059
2090
|
y: distance
|
|
2060
2091
|
})
|
|
2061
2092
|
).min(3),
|
|
2062
2093
|
hole_offset_x: distance.default(0),
|
|
2063
2094
|
hole_offset_y: distance.default(0),
|
|
2064
|
-
is_covered_with_solder_mask:
|
|
2095
|
+
is_covered_with_solder_mask: z105.boolean().optional(),
|
|
2065
2096
|
x: distance,
|
|
2066
2097
|
y: distance,
|
|
2067
|
-
layers:
|
|
2068
|
-
port_hints:
|
|
2069
|
-
pcb_component_id:
|
|
2070
|
-
pcb_port_id:
|
|
2098
|
+
layers: z105.array(layer_ref),
|
|
2099
|
+
port_hints: z105.array(z105.string()).optional(),
|
|
2100
|
+
pcb_component_id: z105.string().optional(),
|
|
2101
|
+
pcb_port_id: z105.string().optional(),
|
|
2071
2102
|
pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
|
|
2072
|
-
soldermask_margin:
|
|
2103
|
+
soldermask_margin: z105.number().optional(),
|
|
2073
2104
|
ccw_rotation: rotation.optional()
|
|
2074
2105
|
});
|
|
2075
|
-
var pcb_plated_hole =
|
|
2106
|
+
var pcb_plated_hole = z105.union([
|
|
2076
2107
|
pcb_plated_hole_circle,
|
|
2077
2108
|
pcb_plated_hole_oval,
|
|
2078
2109
|
pcb_circular_hole_with_rect_pad,
|
|
@@ -2090,144 +2121,144 @@ expectTypesMatch(true);
|
|
|
2090
2121
|
expectTypesMatch(true);
|
|
2091
2122
|
|
|
2092
2123
|
// src/pcb/pcb_port.ts
|
|
2093
|
-
import { z as
|
|
2094
|
-
var pcb_port =
|
|
2095
|
-
type:
|
|
2124
|
+
import { z as z106 } from "zod";
|
|
2125
|
+
var pcb_port = z106.object({
|
|
2126
|
+
type: z106.literal("pcb_port"),
|
|
2096
2127
|
pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
|
|
2097
|
-
pcb_group_id:
|
|
2098
|
-
subcircuit_id:
|
|
2099
|
-
source_port_id:
|
|
2100
|
-
pcb_component_id:
|
|
2128
|
+
pcb_group_id: z106.string().optional(),
|
|
2129
|
+
subcircuit_id: z106.string().optional(),
|
|
2130
|
+
source_port_id: z106.string(),
|
|
2131
|
+
pcb_component_id: z106.string().optional(),
|
|
2101
2132
|
x: distance,
|
|
2102
2133
|
y: distance,
|
|
2103
|
-
layers:
|
|
2104
|
-
is_board_pinout:
|
|
2134
|
+
layers: z106.array(layer_ref),
|
|
2135
|
+
is_board_pinout: z106.boolean().optional()
|
|
2105
2136
|
}).describe("Defines a port on the PCB");
|
|
2106
2137
|
expectTypesMatch(true);
|
|
2107
2138
|
|
|
2108
2139
|
// src/pcb/pcb_smtpad.ts
|
|
2109
|
-
import { z as
|
|
2110
|
-
var pcb_smtpad_circle =
|
|
2111
|
-
type:
|
|
2112
|
-
shape:
|
|
2140
|
+
import { z as z107 } from "zod";
|
|
2141
|
+
var pcb_smtpad_circle = z107.object({
|
|
2142
|
+
type: z107.literal("pcb_smtpad"),
|
|
2143
|
+
shape: z107.literal("circle"),
|
|
2113
2144
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
2114
|
-
pcb_group_id:
|
|
2115
|
-
subcircuit_id:
|
|
2145
|
+
pcb_group_id: z107.string().optional(),
|
|
2146
|
+
subcircuit_id: z107.string().optional(),
|
|
2116
2147
|
x: distance,
|
|
2117
2148
|
y: distance,
|
|
2118
|
-
radius:
|
|
2149
|
+
radius: z107.number(),
|
|
2119
2150
|
layer: layer_ref,
|
|
2120
|
-
port_hints:
|
|
2121
|
-
pcb_component_id:
|
|
2122
|
-
pcb_port_id:
|
|
2123
|
-
is_covered_with_solder_mask:
|
|
2124
|
-
soldermask_margin:
|
|
2125
|
-
solderpaste_margin:
|
|
2151
|
+
port_hints: z107.array(z107.string()).optional(),
|
|
2152
|
+
pcb_component_id: z107.string().optional(),
|
|
2153
|
+
pcb_port_id: z107.string().optional(),
|
|
2154
|
+
is_covered_with_solder_mask: z107.boolean().optional(),
|
|
2155
|
+
soldermask_margin: z107.number().optional(),
|
|
2156
|
+
solderpaste_margin: z107.number().optional()
|
|
2126
2157
|
});
|
|
2127
|
-
var pcb_smtpad_rect =
|
|
2128
|
-
type:
|
|
2129
|
-
shape:
|
|
2158
|
+
var pcb_smtpad_rect = z107.object({
|
|
2159
|
+
type: z107.literal("pcb_smtpad"),
|
|
2160
|
+
shape: z107.literal("rect"),
|
|
2130
2161
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
2131
|
-
pcb_group_id:
|
|
2132
|
-
subcircuit_id:
|
|
2162
|
+
pcb_group_id: z107.string().optional(),
|
|
2163
|
+
subcircuit_id: z107.string().optional(),
|
|
2133
2164
|
x: distance,
|
|
2134
2165
|
y: distance,
|
|
2135
|
-
width:
|
|
2136
|
-
height:
|
|
2137
|
-
rect_border_radius:
|
|
2138
|
-
corner_radius:
|
|
2166
|
+
width: z107.number(),
|
|
2167
|
+
height: z107.number(),
|
|
2168
|
+
rect_border_radius: z107.number().optional(),
|
|
2169
|
+
corner_radius: z107.number().optional(),
|
|
2139
2170
|
layer: layer_ref,
|
|
2140
|
-
port_hints:
|
|
2141
|
-
pcb_component_id:
|
|
2142
|
-
pcb_port_id:
|
|
2143
|
-
is_covered_with_solder_mask:
|
|
2144
|
-
soldermask_margin:
|
|
2145
|
-
soldermask_margin_left:
|
|
2146
|
-
soldermask_margin_top:
|
|
2147
|
-
soldermask_margin_right:
|
|
2148
|
-
soldermask_margin_bottom:
|
|
2149
|
-
solderpaste_margin:
|
|
2171
|
+
port_hints: z107.array(z107.string()).optional(),
|
|
2172
|
+
pcb_component_id: z107.string().optional(),
|
|
2173
|
+
pcb_port_id: z107.string().optional(),
|
|
2174
|
+
is_covered_with_solder_mask: z107.boolean().optional(),
|
|
2175
|
+
soldermask_margin: z107.number().optional(),
|
|
2176
|
+
soldermask_margin_left: z107.number().optional(),
|
|
2177
|
+
soldermask_margin_top: z107.number().optional(),
|
|
2178
|
+
soldermask_margin_right: z107.number().optional(),
|
|
2179
|
+
soldermask_margin_bottom: z107.number().optional(),
|
|
2180
|
+
solderpaste_margin: z107.number().optional()
|
|
2150
2181
|
});
|
|
2151
|
-
var pcb_smtpad_rotated_rect =
|
|
2152
|
-
type:
|
|
2153
|
-
shape:
|
|
2182
|
+
var pcb_smtpad_rotated_rect = z107.object({
|
|
2183
|
+
type: z107.literal("pcb_smtpad"),
|
|
2184
|
+
shape: z107.literal("rotated_rect"),
|
|
2154
2185
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
2155
|
-
pcb_group_id:
|
|
2156
|
-
subcircuit_id:
|
|
2186
|
+
pcb_group_id: z107.string().optional(),
|
|
2187
|
+
subcircuit_id: z107.string().optional(),
|
|
2157
2188
|
x: distance,
|
|
2158
2189
|
y: distance,
|
|
2159
|
-
width:
|
|
2160
|
-
height:
|
|
2161
|
-
rect_border_radius:
|
|
2162
|
-
corner_radius:
|
|
2190
|
+
width: z107.number(),
|
|
2191
|
+
height: z107.number(),
|
|
2192
|
+
rect_border_radius: z107.number().optional(),
|
|
2193
|
+
corner_radius: z107.number().optional(),
|
|
2163
2194
|
ccw_rotation: rotation,
|
|
2164
2195
|
layer: layer_ref,
|
|
2165
|
-
port_hints:
|
|
2166
|
-
pcb_component_id:
|
|
2167
|
-
pcb_port_id:
|
|
2168
|
-
is_covered_with_solder_mask:
|
|
2169
|
-
soldermask_margin:
|
|
2170
|
-
soldermask_margin_left:
|
|
2171
|
-
soldermask_margin_top:
|
|
2172
|
-
soldermask_margin_right:
|
|
2173
|
-
soldermask_margin_bottom:
|
|
2174
|
-
solderpaste_margin:
|
|
2196
|
+
port_hints: z107.array(z107.string()).optional(),
|
|
2197
|
+
pcb_component_id: z107.string().optional(),
|
|
2198
|
+
pcb_port_id: z107.string().optional(),
|
|
2199
|
+
is_covered_with_solder_mask: z107.boolean().optional(),
|
|
2200
|
+
soldermask_margin: z107.number().optional(),
|
|
2201
|
+
soldermask_margin_left: z107.number().optional(),
|
|
2202
|
+
soldermask_margin_top: z107.number().optional(),
|
|
2203
|
+
soldermask_margin_right: z107.number().optional(),
|
|
2204
|
+
soldermask_margin_bottom: z107.number().optional(),
|
|
2205
|
+
solderpaste_margin: z107.number().optional()
|
|
2175
2206
|
});
|
|
2176
|
-
var pcb_smtpad_pill =
|
|
2177
|
-
type:
|
|
2178
|
-
shape:
|
|
2207
|
+
var pcb_smtpad_pill = z107.object({
|
|
2208
|
+
type: z107.literal("pcb_smtpad"),
|
|
2209
|
+
shape: z107.literal("pill"),
|
|
2179
2210
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
2180
|
-
pcb_group_id:
|
|
2181
|
-
subcircuit_id:
|
|
2211
|
+
pcb_group_id: z107.string().optional(),
|
|
2212
|
+
subcircuit_id: z107.string().optional(),
|
|
2182
2213
|
x: distance,
|
|
2183
2214
|
y: distance,
|
|
2184
|
-
width:
|
|
2185
|
-
height:
|
|
2186
|
-
radius:
|
|
2215
|
+
width: z107.number(),
|
|
2216
|
+
height: z107.number(),
|
|
2217
|
+
radius: z107.number(),
|
|
2187
2218
|
layer: layer_ref,
|
|
2188
|
-
port_hints:
|
|
2189
|
-
pcb_component_id:
|
|
2190
|
-
pcb_port_id:
|
|
2191
|
-
is_covered_with_solder_mask:
|
|
2192
|
-
soldermask_margin:
|
|
2193
|
-
solderpaste_margin:
|
|
2219
|
+
port_hints: z107.array(z107.string()).optional(),
|
|
2220
|
+
pcb_component_id: z107.string().optional(),
|
|
2221
|
+
pcb_port_id: z107.string().optional(),
|
|
2222
|
+
is_covered_with_solder_mask: z107.boolean().optional(),
|
|
2223
|
+
soldermask_margin: z107.number().optional(),
|
|
2224
|
+
solderpaste_margin: z107.number().optional()
|
|
2194
2225
|
});
|
|
2195
|
-
var pcb_smtpad_rotated_pill =
|
|
2196
|
-
type:
|
|
2197
|
-
shape:
|
|
2226
|
+
var pcb_smtpad_rotated_pill = z107.object({
|
|
2227
|
+
type: z107.literal("pcb_smtpad"),
|
|
2228
|
+
shape: z107.literal("rotated_pill"),
|
|
2198
2229
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
2199
|
-
pcb_group_id:
|
|
2200
|
-
subcircuit_id:
|
|
2230
|
+
pcb_group_id: z107.string().optional(),
|
|
2231
|
+
subcircuit_id: z107.string().optional(),
|
|
2201
2232
|
x: distance,
|
|
2202
2233
|
y: distance,
|
|
2203
|
-
width:
|
|
2204
|
-
height:
|
|
2205
|
-
radius:
|
|
2234
|
+
width: z107.number(),
|
|
2235
|
+
height: z107.number(),
|
|
2236
|
+
radius: z107.number(),
|
|
2206
2237
|
ccw_rotation: rotation,
|
|
2207
2238
|
layer: layer_ref,
|
|
2208
|
-
port_hints:
|
|
2209
|
-
pcb_component_id:
|
|
2210
|
-
pcb_port_id:
|
|
2211
|
-
is_covered_with_solder_mask:
|
|
2212
|
-
soldermask_margin:
|
|
2213
|
-
solderpaste_margin:
|
|
2239
|
+
port_hints: z107.array(z107.string()).optional(),
|
|
2240
|
+
pcb_component_id: z107.string().optional(),
|
|
2241
|
+
pcb_port_id: z107.string().optional(),
|
|
2242
|
+
is_covered_with_solder_mask: z107.boolean().optional(),
|
|
2243
|
+
soldermask_margin: z107.number().optional(),
|
|
2244
|
+
solderpaste_margin: z107.number().optional()
|
|
2214
2245
|
});
|
|
2215
|
-
var pcb_smtpad_polygon =
|
|
2216
|
-
type:
|
|
2217
|
-
shape:
|
|
2246
|
+
var pcb_smtpad_polygon = z107.object({
|
|
2247
|
+
type: z107.literal("pcb_smtpad"),
|
|
2248
|
+
shape: z107.literal("polygon"),
|
|
2218
2249
|
pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
|
|
2219
|
-
pcb_group_id:
|
|
2220
|
-
subcircuit_id:
|
|
2221
|
-
points:
|
|
2250
|
+
pcb_group_id: z107.string().optional(),
|
|
2251
|
+
subcircuit_id: z107.string().optional(),
|
|
2252
|
+
points: z107.array(point),
|
|
2222
2253
|
layer: layer_ref,
|
|
2223
|
-
port_hints:
|
|
2224
|
-
pcb_component_id:
|
|
2225
|
-
pcb_port_id:
|
|
2226
|
-
is_covered_with_solder_mask:
|
|
2227
|
-
soldermask_margin:
|
|
2228
|
-
solderpaste_margin:
|
|
2254
|
+
port_hints: z107.array(z107.string()).optional(),
|
|
2255
|
+
pcb_component_id: z107.string().optional(),
|
|
2256
|
+
pcb_port_id: z107.string().optional(),
|
|
2257
|
+
is_covered_with_solder_mask: z107.boolean().optional(),
|
|
2258
|
+
soldermask_margin: z107.number().optional(),
|
|
2259
|
+
solderpaste_margin: z107.number().optional()
|
|
2229
2260
|
});
|
|
2230
|
-
var pcb_smtpad =
|
|
2261
|
+
var pcb_smtpad = z107.discriminatedUnion("shape", [
|
|
2231
2262
|
pcb_smtpad_circle,
|
|
2232
2263
|
pcb_smtpad_rect,
|
|
2233
2264
|
pcb_smtpad_rotated_rect,
|
|
@@ -2243,95 +2274,95 @@ expectTypesMatch(true);
|
|
|
2243
2274
|
expectTypesMatch(true);
|
|
2244
2275
|
|
|
2245
2276
|
// src/pcb/pcb_solder_paste.ts
|
|
2246
|
-
import { z as
|
|
2247
|
-
var pcb_solder_paste_circle =
|
|
2248
|
-
type:
|
|
2249
|
-
shape:
|
|
2277
|
+
import { z as z108 } from "zod";
|
|
2278
|
+
var pcb_solder_paste_circle = z108.object({
|
|
2279
|
+
type: z108.literal("pcb_solder_paste"),
|
|
2280
|
+
shape: z108.literal("circle"),
|
|
2250
2281
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2251
|
-
pcb_group_id:
|
|
2252
|
-
subcircuit_id:
|
|
2282
|
+
pcb_group_id: z108.string().optional(),
|
|
2283
|
+
subcircuit_id: z108.string().optional(),
|
|
2253
2284
|
x: distance,
|
|
2254
2285
|
y: distance,
|
|
2255
|
-
radius:
|
|
2286
|
+
radius: z108.number(),
|
|
2256
2287
|
layer: layer_ref,
|
|
2257
|
-
pcb_component_id:
|
|
2258
|
-
pcb_smtpad_id:
|
|
2288
|
+
pcb_component_id: z108.string().optional(),
|
|
2289
|
+
pcb_smtpad_id: z108.string().optional()
|
|
2259
2290
|
});
|
|
2260
|
-
var pcb_solder_paste_rect =
|
|
2261
|
-
type:
|
|
2262
|
-
shape:
|
|
2291
|
+
var pcb_solder_paste_rect = z108.object({
|
|
2292
|
+
type: z108.literal("pcb_solder_paste"),
|
|
2293
|
+
shape: z108.literal("rect"),
|
|
2263
2294
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2264
|
-
pcb_group_id:
|
|
2265
|
-
subcircuit_id:
|
|
2295
|
+
pcb_group_id: z108.string().optional(),
|
|
2296
|
+
subcircuit_id: z108.string().optional(),
|
|
2266
2297
|
x: distance,
|
|
2267
2298
|
y: distance,
|
|
2268
|
-
width:
|
|
2269
|
-
height:
|
|
2299
|
+
width: z108.number(),
|
|
2300
|
+
height: z108.number(),
|
|
2270
2301
|
layer: layer_ref,
|
|
2271
|
-
pcb_component_id:
|
|
2272
|
-
pcb_smtpad_id:
|
|
2302
|
+
pcb_component_id: z108.string().optional(),
|
|
2303
|
+
pcb_smtpad_id: z108.string().optional()
|
|
2273
2304
|
});
|
|
2274
|
-
var pcb_solder_paste_pill =
|
|
2275
|
-
type:
|
|
2276
|
-
shape:
|
|
2305
|
+
var pcb_solder_paste_pill = z108.object({
|
|
2306
|
+
type: z108.literal("pcb_solder_paste"),
|
|
2307
|
+
shape: z108.literal("pill"),
|
|
2277
2308
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2278
|
-
pcb_group_id:
|
|
2279
|
-
subcircuit_id:
|
|
2309
|
+
pcb_group_id: z108.string().optional(),
|
|
2310
|
+
subcircuit_id: z108.string().optional(),
|
|
2280
2311
|
x: distance,
|
|
2281
2312
|
y: distance,
|
|
2282
|
-
width:
|
|
2283
|
-
height:
|
|
2284
|
-
radius:
|
|
2313
|
+
width: z108.number(),
|
|
2314
|
+
height: z108.number(),
|
|
2315
|
+
radius: z108.number(),
|
|
2285
2316
|
layer: layer_ref,
|
|
2286
|
-
pcb_component_id:
|
|
2287
|
-
pcb_smtpad_id:
|
|
2317
|
+
pcb_component_id: z108.string().optional(),
|
|
2318
|
+
pcb_smtpad_id: z108.string().optional()
|
|
2288
2319
|
});
|
|
2289
|
-
var pcb_solder_paste_rotated_rect =
|
|
2290
|
-
type:
|
|
2291
|
-
shape:
|
|
2320
|
+
var pcb_solder_paste_rotated_rect = z108.object({
|
|
2321
|
+
type: z108.literal("pcb_solder_paste"),
|
|
2322
|
+
shape: z108.literal("rotated_rect"),
|
|
2292
2323
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2293
|
-
pcb_group_id:
|
|
2294
|
-
subcircuit_id:
|
|
2324
|
+
pcb_group_id: z108.string().optional(),
|
|
2325
|
+
subcircuit_id: z108.string().optional(),
|
|
2295
2326
|
x: distance,
|
|
2296
2327
|
y: distance,
|
|
2297
|
-
width:
|
|
2298
|
-
height:
|
|
2328
|
+
width: z108.number(),
|
|
2329
|
+
height: z108.number(),
|
|
2299
2330
|
ccw_rotation: distance,
|
|
2300
2331
|
layer: layer_ref,
|
|
2301
|
-
pcb_component_id:
|
|
2302
|
-
pcb_smtpad_id:
|
|
2332
|
+
pcb_component_id: z108.string().optional(),
|
|
2333
|
+
pcb_smtpad_id: z108.string().optional()
|
|
2303
2334
|
});
|
|
2304
|
-
var pcb_solder_paste_rotated_pill =
|
|
2305
|
-
type:
|
|
2306
|
-
shape:
|
|
2335
|
+
var pcb_solder_paste_rotated_pill = z108.object({
|
|
2336
|
+
type: z108.literal("pcb_solder_paste"),
|
|
2337
|
+
shape: z108.literal("rotated_pill"),
|
|
2307
2338
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2308
|
-
pcb_group_id:
|
|
2309
|
-
subcircuit_id:
|
|
2339
|
+
pcb_group_id: z108.string().optional(),
|
|
2340
|
+
subcircuit_id: z108.string().optional(),
|
|
2310
2341
|
x: distance,
|
|
2311
2342
|
y: distance,
|
|
2312
|
-
width:
|
|
2313
|
-
height:
|
|
2314
|
-
radius:
|
|
2343
|
+
width: z108.number(),
|
|
2344
|
+
height: z108.number(),
|
|
2345
|
+
radius: z108.number(),
|
|
2315
2346
|
ccw_rotation: rotation,
|
|
2316
2347
|
layer: layer_ref,
|
|
2317
|
-
pcb_component_id:
|
|
2318
|
-
pcb_smtpad_id:
|
|
2348
|
+
pcb_component_id: z108.string().optional(),
|
|
2349
|
+
pcb_smtpad_id: z108.string().optional()
|
|
2319
2350
|
});
|
|
2320
|
-
var pcb_solder_paste_oval =
|
|
2321
|
-
type:
|
|
2322
|
-
shape:
|
|
2351
|
+
var pcb_solder_paste_oval = z108.object({
|
|
2352
|
+
type: z108.literal("pcb_solder_paste"),
|
|
2353
|
+
shape: z108.literal("oval"),
|
|
2323
2354
|
pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
|
|
2324
|
-
pcb_group_id:
|
|
2325
|
-
subcircuit_id:
|
|
2355
|
+
pcb_group_id: z108.string().optional(),
|
|
2356
|
+
subcircuit_id: z108.string().optional(),
|
|
2326
2357
|
x: distance,
|
|
2327
2358
|
y: distance,
|
|
2328
|
-
width:
|
|
2329
|
-
height:
|
|
2359
|
+
width: z108.number(),
|
|
2360
|
+
height: z108.number(),
|
|
2330
2361
|
layer: layer_ref,
|
|
2331
|
-
pcb_component_id:
|
|
2332
|
-
pcb_smtpad_id:
|
|
2362
|
+
pcb_component_id: z108.string().optional(),
|
|
2363
|
+
pcb_smtpad_id: z108.string().optional()
|
|
2333
2364
|
});
|
|
2334
|
-
var pcb_solder_paste =
|
|
2365
|
+
var pcb_solder_paste = z108.union([
|
|
2335
2366
|
pcb_solder_paste_circle,
|
|
2336
2367
|
pcb_solder_paste_rect,
|
|
2337
2368
|
pcb_solder_paste_pill,
|
|
@@ -2351,193 +2382,193 @@ expectTypesMatch(
|
|
|
2351
2382
|
expectTypesMatch(true);
|
|
2352
2383
|
|
|
2353
2384
|
// src/pcb/pcb_text.ts
|
|
2354
|
-
import { z as
|
|
2355
|
-
var pcb_text =
|
|
2356
|
-
type:
|
|
2385
|
+
import { z as z109 } from "zod";
|
|
2386
|
+
var pcb_text = z109.object({
|
|
2387
|
+
type: z109.literal("pcb_text"),
|
|
2357
2388
|
pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
|
|
2358
|
-
pcb_group_id:
|
|
2359
|
-
subcircuit_id:
|
|
2360
|
-
text:
|
|
2389
|
+
pcb_group_id: z109.string().optional(),
|
|
2390
|
+
subcircuit_id: z109.string().optional(),
|
|
2391
|
+
text: z109.string(),
|
|
2361
2392
|
center: point,
|
|
2362
2393
|
layer: layer_ref,
|
|
2363
2394
|
width: length,
|
|
2364
2395
|
height: length,
|
|
2365
|
-
lines:
|
|
2396
|
+
lines: z109.number(),
|
|
2366
2397
|
// @ts-ignore
|
|
2367
|
-
align:
|
|
2398
|
+
align: z109.enum(["bottom-left"])
|
|
2368
2399
|
}).describe("Defines text on the PCB");
|
|
2369
2400
|
expectTypesMatch(true);
|
|
2370
2401
|
|
|
2371
2402
|
// src/pcb/pcb_trace.ts
|
|
2372
|
-
import { z as
|
|
2373
|
-
var pcb_trace_route_point_wire =
|
|
2374
|
-
route_type:
|
|
2403
|
+
import { z as z110 } from "zod";
|
|
2404
|
+
var pcb_trace_route_point_wire = z110.object({
|
|
2405
|
+
route_type: z110.literal("wire"),
|
|
2375
2406
|
x: distance,
|
|
2376
2407
|
y: distance,
|
|
2377
2408
|
width: distance,
|
|
2378
|
-
copper_pour_id:
|
|
2379
|
-
is_inside_copper_pour:
|
|
2380
|
-
start_pcb_port_id:
|
|
2381
|
-
end_pcb_port_id:
|
|
2409
|
+
copper_pour_id: z110.string().optional(),
|
|
2410
|
+
is_inside_copper_pour: z110.boolean().optional(),
|
|
2411
|
+
start_pcb_port_id: z110.string().optional(),
|
|
2412
|
+
end_pcb_port_id: z110.string().optional(),
|
|
2382
2413
|
layer: layer_ref
|
|
2383
2414
|
});
|
|
2384
|
-
var pcb_trace_route_point_via =
|
|
2385
|
-
route_type:
|
|
2415
|
+
var pcb_trace_route_point_via = z110.object({
|
|
2416
|
+
route_type: z110.literal("via"),
|
|
2386
2417
|
x: distance,
|
|
2387
2418
|
y: distance,
|
|
2388
|
-
copper_pour_id:
|
|
2389
|
-
is_inside_copper_pour:
|
|
2419
|
+
copper_pour_id: z110.string().optional(),
|
|
2420
|
+
is_inside_copper_pour: z110.boolean().optional(),
|
|
2390
2421
|
hole_diameter: distance.optional(),
|
|
2391
2422
|
outer_diameter: distance.optional(),
|
|
2392
2423
|
from_layer: layer_ref,
|
|
2393
2424
|
to_layer: layer_ref
|
|
2394
2425
|
});
|
|
2395
|
-
var pcb_trace_route_point_through_pad =
|
|
2396
|
-
route_type:
|
|
2426
|
+
var pcb_trace_route_point_through_pad = z110.object({
|
|
2427
|
+
route_type: z110.literal("through_pad"),
|
|
2397
2428
|
start: point,
|
|
2398
2429
|
end: point,
|
|
2399
2430
|
width: distance,
|
|
2400
2431
|
start_layer: layer_ref,
|
|
2401
2432
|
end_layer: layer_ref,
|
|
2402
|
-
pcb_smtpad_id:
|
|
2403
|
-
pcb_plated_hole_id:
|
|
2433
|
+
pcb_smtpad_id: z110.string().optional(),
|
|
2434
|
+
pcb_plated_hole_id: z110.string().optional()
|
|
2404
2435
|
});
|
|
2405
|
-
var pcb_trace_route_point =
|
|
2436
|
+
var pcb_trace_route_point = z110.union([
|
|
2406
2437
|
pcb_trace_route_point_wire,
|
|
2407
2438
|
pcb_trace_route_point_via,
|
|
2408
2439
|
pcb_trace_route_point_through_pad
|
|
2409
2440
|
]);
|
|
2410
|
-
var pcb_trace =
|
|
2411
|
-
type:
|
|
2412
|
-
source_trace_id:
|
|
2413
|
-
pcb_component_id:
|
|
2441
|
+
var pcb_trace = z110.object({
|
|
2442
|
+
type: z110.literal("pcb_trace"),
|
|
2443
|
+
source_trace_id: z110.string().optional(),
|
|
2444
|
+
pcb_component_id: z110.string().optional(),
|
|
2414
2445
|
pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
|
|
2415
|
-
pcb_group_id:
|
|
2416
|
-
subcircuit_id:
|
|
2417
|
-
route_thickness_mode:
|
|
2418
|
-
route_order_index:
|
|
2419
|
-
should_round_corners:
|
|
2420
|
-
trace_length:
|
|
2421
|
-
highlight_color:
|
|
2422
|
-
route:
|
|
2446
|
+
pcb_group_id: z110.string().optional(),
|
|
2447
|
+
subcircuit_id: z110.string().optional(),
|
|
2448
|
+
route_thickness_mode: z110.enum(["constant", "interpolated"]).default("constant").optional(),
|
|
2449
|
+
route_order_index: z110.number().optional(),
|
|
2450
|
+
should_round_corners: z110.boolean().optional(),
|
|
2451
|
+
trace_length: z110.number().optional(),
|
|
2452
|
+
highlight_color: z110.string().optional(),
|
|
2453
|
+
route: z110.array(pcb_trace_route_point)
|
|
2423
2454
|
}).describe("Defines a trace on the PCB");
|
|
2424
2455
|
expectTypesMatch(true);
|
|
2425
2456
|
expectTypesMatch(true);
|
|
2426
2457
|
|
|
2427
2458
|
// src/pcb/pcb_trace_warning.ts
|
|
2428
|
-
import { z as
|
|
2429
|
-
var pcb_trace_warning =
|
|
2430
|
-
type:
|
|
2459
|
+
import { z as z111 } from "zod";
|
|
2460
|
+
var pcb_trace_warning = z111.object({
|
|
2461
|
+
type: z111.literal("pcb_trace_warning"),
|
|
2431
2462
|
pcb_trace_warning_id: getZodPrefixedIdWithDefault("pcb_trace_warning"),
|
|
2432
|
-
warning_type:
|
|
2433
|
-
message:
|
|
2463
|
+
warning_type: z111.literal("pcb_trace_warning").default("pcb_trace_warning"),
|
|
2464
|
+
message: z111.string(),
|
|
2434
2465
|
center: point.optional(),
|
|
2435
|
-
pcb_trace_id:
|
|
2436
|
-
source_trace_id:
|
|
2437
|
-
pcb_component_ids:
|
|
2438
|
-
pcb_port_ids:
|
|
2439
|
-
subcircuit_id:
|
|
2466
|
+
pcb_trace_id: z111.string(),
|
|
2467
|
+
source_trace_id: z111.string(),
|
|
2468
|
+
pcb_component_ids: z111.array(z111.string()),
|
|
2469
|
+
pcb_port_ids: z111.array(z111.string()),
|
|
2470
|
+
subcircuit_id: z111.string().optional()
|
|
2440
2471
|
}).describe("Defines a trace warning on the PCB");
|
|
2441
2472
|
expectTypesMatch(true);
|
|
2442
2473
|
|
|
2443
2474
|
// src/pcb/pcb_trace_too_long_warning.ts
|
|
2444
|
-
import { z as
|
|
2445
|
-
var pcb_trace_too_long_warning =
|
|
2446
|
-
type:
|
|
2475
|
+
import { z as z112 } from "zod";
|
|
2476
|
+
var pcb_trace_too_long_warning = z112.object({
|
|
2477
|
+
type: z112.literal("pcb_trace_too_long_warning"),
|
|
2447
2478
|
pcb_trace_too_long_warning_id: getZodPrefixedIdWithDefault(
|
|
2448
2479
|
"pcb_trace_too_long_warning"
|
|
2449
2480
|
),
|
|
2450
|
-
warning_type:
|
|
2451
|
-
message:
|
|
2452
|
-
pcb_trace_id:
|
|
2453
|
-
source_net_id:
|
|
2454
|
-
source_trace_id:
|
|
2481
|
+
warning_type: z112.literal("pcb_trace_too_long_warning").default("pcb_trace_too_long_warning"),
|
|
2482
|
+
message: z112.string(),
|
|
2483
|
+
pcb_trace_id: z112.string(),
|
|
2484
|
+
source_net_id: z112.string().optional(),
|
|
2485
|
+
source_trace_id: z112.string().optional(),
|
|
2455
2486
|
actual_trace_length: distance,
|
|
2456
2487
|
maximum_trace_length: distance,
|
|
2457
|
-
subcircuit_id:
|
|
2488
|
+
subcircuit_id: z112.string().optional()
|
|
2458
2489
|
}).describe(
|
|
2459
2490
|
"Warning emitted when a PCB trace is longer than its maximum allowed length"
|
|
2460
2491
|
);
|
|
2461
2492
|
expectTypesMatch(true);
|
|
2462
2493
|
|
|
2463
2494
|
// src/pcb/pcb_trace_error.ts
|
|
2464
|
-
import { z as
|
|
2495
|
+
import { z as z113 } from "zod";
|
|
2465
2496
|
var pcb_trace_error = base_circuit_json_error.extend({
|
|
2466
|
-
type:
|
|
2497
|
+
type: z113.literal("pcb_trace_error"),
|
|
2467
2498
|
pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
|
|
2468
|
-
error_type:
|
|
2499
|
+
error_type: z113.literal("pcb_trace_error").default("pcb_trace_error"),
|
|
2469
2500
|
center: point.optional(),
|
|
2470
|
-
pcb_trace_id:
|
|
2471
|
-
source_trace_id:
|
|
2472
|
-
pcb_component_ids:
|
|
2473
|
-
pcb_port_ids:
|
|
2474
|
-
subcircuit_id:
|
|
2501
|
+
pcb_trace_id: z113.string(),
|
|
2502
|
+
source_trace_id: z113.string(),
|
|
2503
|
+
pcb_component_ids: z113.array(z113.string()),
|
|
2504
|
+
pcb_port_ids: z113.array(z113.string()),
|
|
2505
|
+
subcircuit_id: z113.string().optional()
|
|
2475
2506
|
}).describe("Defines a trace error on the PCB");
|
|
2476
2507
|
expectTypesMatch(true);
|
|
2477
2508
|
|
|
2478
2509
|
// src/pcb/pcb_trace_missing_error.ts
|
|
2479
|
-
import { z as
|
|
2510
|
+
import { z as z114 } from "zod";
|
|
2480
2511
|
var pcb_trace_missing_error = base_circuit_json_error.extend({
|
|
2481
|
-
type:
|
|
2512
|
+
type: z114.literal("pcb_trace_missing_error"),
|
|
2482
2513
|
pcb_trace_missing_error_id: getZodPrefixedIdWithDefault(
|
|
2483
2514
|
"pcb_trace_missing_error"
|
|
2484
2515
|
),
|
|
2485
|
-
error_type:
|
|
2516
|
+
error_type: z114.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
|
|
2486
2517
|
center: point.optional(),
|
|
2487
|
-
source_trace_id:
|
|
2488
|
-
pcb_component_ids:
|
|
2489
|
-
pcb_port_ids:
|
|
2490
|
-
subcircuit_id:
|
|
2518
|
+
source_trace_id: z114.string(),
|
|
2519
|
+
pcb_component_ids: z114.array(z114.string()),
|
|
2520
|
+
pcb_port_ids: z114.array(z114.string()),
|
|
2521
|
+
subcircuit_id: z114.string().optional()
|
|
2491
2522
|
}).describe(
|
|
2492
2523
|
"Defines an error when a source trace has no corresponding PCB trace"
|
|
2493
2524
|
);
|
|
2494
2525
|
expectTypesMatch(true);
|
|
2495
2526
|
|
|
2496
2527
|
// src/pcb/pcb_port_not_matched_error.ts
|
|
2497
|
-
import { z as
|
|
2528
|
+
import { z as z115 } from "zod";
|
|
2498
2529
|
var pcb_port_not_matched_error = base_circuit_json_error.extend({
|
|
2499
|
-
type:
|
|
2530
|
+
type: z115.literal("pcb_port_not_matched_error"),
|
|
2500
2531
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
2501
|
-
error_type:
|
|
2502
|
-
pcb_component_ids:
|
|
2503
|
-
subcircuit_id:
|
|
2532
|
+
error_type: z115.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
|
|
2533
|
+
pcb_component_ids: z115.array(z115.string()),
|
|
2534
|
+
subcircuit_id: z115.string().optional()
|
|
2504
2535
|
}).describe("Defines a trace error on the PCB where a port is not matched");
|
|
2505
2536
|
expectTypesMatch(true);
|
|
2506
2537
|
|
|
2507
2538
|
// src/pcb/pcb_port_not_connected_error.ts
|
|
2508
|
-
import { z as
|
|
2539
|
+
import { z as z116 } from "zod";
|
|
2509
2540
|
var pcb_port_not_connected_error = base_circuit_json_error.extend({
|
|
2510
|
-
type:
|
|
2541
|
+
type: z116.literal("pcb_port_not_connected_error"),
|
|
2511
2542
|
pcb_port_not_connected_error_id: getZodPrefixedIdWithDefault(
|
|
2512
2543
|
"pcb_port_not_connected_error"
|
|
2513
2544
|
),
|
|
2514
|
-
error_type:
|
|
2515
|
-
pcb_port_ids:
|
|
2516
|
-
pcb_component_ids:
|
|
2517
|
-
subcircuit_id:
|
|
2545
|
+
error_type: z116.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
|
|
2546
|
+
pcb_port_ids: z116.array(z116.string()),
|
|
2547
|
+
pcb_component_ids: z116.array(z116.string()),
|
|
2548
|
+
subcircuit_id: z116.string().optional()
|
|
2518
2549
|
}).describe("Defines an error when a pcb port is not connected to any trace");
|
|
2519
2550
|
expectTypesMatch(
|
|
2520
2551
|
true
|
|
2521
2552
|
);
|
|
2522
2553
|
|
|
2523
2554
|
// src/pcb/pcb_net.ts
|
|
2524
|
-
import { z as
|
|
2525
|
-
var pcb_net =
|
|
2526
|
-
type:
|
|
2555
|
+
import { z as z117 } from "zod";
|
|
2556
|
+
var pcb_net = z117.object({
|
|
2557
|
+
type: z117.literal("pcb_net"),
|
|
2527
2558
|
pcb_net_id: getZodPrefixedIdWithDefault("pcb_net"),
|
|
2528
|
-
source_net_id:
|
|
2529
|
-
highlight_color:
|
|
2559
|
+
source_net_id: z117.string().optional(),
|
|
2560
|
+
highlight_color: z117.string().optional()
|
|
2530
2561
|
}).describe("Defines a net on the PCB");
|
|
2531
2562
|
expectTypesMatch(true);
|
|
2532
2563
|
|
|
2533
2564
|
// src/pcb/pcb_via.ts
|
|
2534
|
-
import { z as
|
|
2535
|
-
var pcb_via =
|
|
2536
|
-
type:
|
|
2565
|
+
import { z as z118 } from "zod";
|
|
2566
|
+
var pcb_via = z118.object({
|
|
2567
|
+
type: z118.literal("pcb_via"),
|
|
2537
2568
|
pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
|
|
2538
|
-
pcb_group_id:
|
|
2539
|
-
subcircuit_id:
|
|
2540
|
-
subcircuit_connectivity_map_key:
|
|
2569
|
+
pcb_group_id: z118.string().optional(),
|
|
2570
|
+
subcircuit_id: z118.string().optional(),
|
|
2571
|
+
subcircuit_connectivity_map_key: z118.string().optional(),
|
|
2541
2572
|
x: distance,
|
|
2542
2573
|
y: distance,
|
|
2543
2574
|
outer_diameter: distance.default("0.6mm"),
|
|
@@ -2546,117 +2577,117 @@ var pcb_via = z117.object({
|
|
|
2546
2577
|
from_layer: layer_ref.optional(),
|
|
2547
2578
|
/** @deprecated */
|
|
2548
2579
|
to_layer: layer_ref.optional(),
|
|
2549
|
-
layers:
|
|
2550
|
-
pcb_trace_id:
|
|
2551
|
-
source_trace_id:
|
|
2552
|
-
source_net_id:
|
|
2553
|
-
net_is_assignable:
|
|
2554
|
-
net_assigned:
|
|
2555
|
-
is_tented:
|
|
2580
|
+
layers: z118.array(layer_ref),
|
|
2581
|
+
pcb_trace_id: z118.string().optional(),
|
|
2582
|
+
source_trace_id: z118.string().optional(),
|
|
2583
|
+
source_net_id: z118.string().min(1).optional(),
|
|
2584
|
+
net_is_assignable: z118.boolean().optional(),
|
|
2585
|
+
net_assigned: z118.boolean().optional(),
|
|
2586
|
+
is_tented: z118.boolean().optional()
|
|
2556
2587
|
}).describe("Defines a via on the PCB");
|
|
2557
2588
|
expectTypesMatch(true);
|
|
2558
2589
|
|
|
2559
2590
|
// src/pcb/pcb_board.ts
|
|
2560
|
-
import { z as
|
|
2561
|
-
var pcb_board =
|
|
2562
|
-
type:
|
|
2591
|
+
import { z as z119 } from "zod";
|
|
2592
|
+
var pcb_board = z119.object({
|
|
2593
|
+
type: z119.literal("pcb_board"),
|
|
2563
2594
|
pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
|
|
2564
|
-
pcb_panel_id:
|
|
2565
|
-
carrier_pcb_board_id:
|
|
2566
|
-
is_subcircuit:
|
|
2567
|
-
subcircuit_id:
|
|
2568
|
-
is_mounted_to_carrier_board:
|
|
2569
|
-
is_via_in_pad_allowed:
|
|
2595
|
+
pcb_panel_id: z119.string().optional(),
|
|
2596
|
+
carrier_pcb_board_id: z119.string().optional(),
|
|
2597
|
+
is_subcircuit: z119.boolean().optional(),
|
|
2598
|
+
subcircuit_id: z119.string().optional(),
|
|
2599
|
+
is_mounted_to_carrier_board: z119.boolean().optional(),
|
|
2600
|
+
is_via_in_pad_allowed: z119.boolean().optional(),
|
|
2570
2601
|
width: length.optional(),
|
|
2571
2602
|
height: length.optional(),
|
|
2572
2603
|
center: point,
|
|
2573
|
-
display_offset_x:
|
|
2604
|
+
display_offset_x: z119.string().optional().describe(
|
|
2574
2605
|
"How to display the x offset for this board, usually corresponding with how the user specified it"
|
|
2575
2606
|
),
|
|
2576
|
-
display_offset_y:
|
|
2607
|
+
display_offset_y: z119.string().optional().describe(
|
|
2577
2608
|
"How to display the y offset for this board, usually corresponding with how the user specified it"
|
|
2578
2609
|
),
|
|
2579
2610
|
thickness: length.optional().default(1.4),
|
|
2580
|
-
num_layers:
|
|
2581
|
-
outline:
|
|
2582
|
-
shape:
|
|
2583
|
-
material:
|
|
2584
|
-
solder_mask_color:
|
|
2585
|
-
silkscreen_color:
|
|
2611
|
+
num_layers: z119.number().optional().default(4),
|
|
2612
|
+
outline: z119.array(point).optional(),
|
|
2613
|
+
shape: z119.enum(["rect", "polygon"]).optional(),
|
|
2614
|
+
material: z119.enum(["fr4", "fr1"]).default("fr4"),
|
|
2615
|
+
solder_mask_color: z119.string().optional(),
|
|
2616
|
+
silkscreen_color: z119.string().optional(),
|
|
2586
2617
|
anchor_position: point.optional(),
|
|
2587
2618
|
anchor_alignment: ninePointAnchor.optional(),
|
|
2588
|
-
position_mode:
|
|
2619
|
+
position_mode: z119.enum(["relative_to_panel_anchor", "none"]).optional()
|
|
2589
2620
|
}).merge(manufacturing_drc_properties).describe("Defines the board outline of the PCB");
|
|
2590
2621
|
expectTypesMatch(true);
|
|
2591
2622
|
|
|
2592
2623
|
// src/pcb/pcb_panel.ts
|
|
2593
|
-
import { z as
|
|
2594
|
-
var pcb_panel =
|
|
2595
|
-
type:
|
|
2624
|
+
import { z as z120 } from "zod";
|
|
2625
|
+
var pcb_panel = z120.object({
|
|
2626
|
+
type: z120.literal("pcb_panel"),
|
|
2596
2627
|
pcb_panel_id: getZodPrefixedIdWithDefault("pcb_panel"),
|
|
2597
2628
|
width: length,
|
|
2598
2629
|
height: length,
|
|
2599
2630
|
center: point,
|
|
2600
2631
|
thickness: length.optional().default(1.4),
|
|
2601
|
-
covered_with_solder_mask:
|
|
2632
|
+
covered_with_solder_mask: z120.boolean().optional().default(true)
|
|
2602
2633
|
}).describe("Defines a PCB panel that can contain multiple boards");
|
|
2603
2634
|
expectTypesMatch(true);
|
|
2604
2635
|
|
|
2605
2636
|
// src/pcb/pcb_placement_error.ts
|
|
2606
|
-
import { z as
|
|
2637
|
+
import { z as z121 } from "zod";
|
|
2607
2638
|
var pcb_placement_error = base_circuit_json_error.extend({
|
|
2608
|
-
type:
|
|
2639
|
+
type: z121.literal("pcb_placement_error"),
|
|
2609
2640
|
pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
|
|
2610
|
-
error_type:
|
|
2611
|
-
subcircuit_id:
|
|
2641
|
+
error_type: z121.literal("pcb_placement_error").default("pcb_placement_error"),
|
|
2642
|
+
subcircuit_id: z121.string().optional()
|
|
2612
2643
|
}).describe("Defines a placement error on the PCB");
|
|
2613
2644
|
expectTypesMatch(true);
|
|
2614
2645
|
|
|
2615
2646
|
// src/pcb/pcb_packing_error.ts
|
|
2616
|
-
import { z as
|
|
2647
|
+
import { z as z122 } from "zod";
|
|
2617
2648
|
var pcb_packing_error = base_circuit_json_error.extend({
|
|
2618
|
-
type:
|
|
2649
|
+
type: z122.literal("pcb_packing_error"),
|
|
2619
2650
|
pcb_packing_error_id: getZodPrefixedIdWithDefault("pcb_packing_error"),
|
|
2620
|
-
error_type:
|
|
2621
|
-
pcb_group_id:
|
|
2622
|
-
subcircuit_id:
|
|
2651
|
+
error_type: z122.literal("pcb_packing_error").default("pcb_packing_error"),
|
|
2652
|
+
pcb_group_id: z122.string().optional(),
|
|
2653
|
+
subcircuit_id: z122.string().optional()
|
|
2623
2654
|
}).describe("Defines a failure to pack PCB components within layout bounds");
|
|
2624
2655
|
expectTypesMatch(true);
|
|
2625
2656
|
|
|
2626
2657
|
// src/pcb/pcb_panelization_placement_error.ts
|
|
2627
|
-
import { z as
|
|
2658
|
+
import { z as z123 } from "zod";
|
|
2628
2659
|
var pcb_panelization_placement_error = base_circuit_json_error.extend({
|
|
2629
|
-
type:
|
|
2660
|
+
type: z123.literal("pcb_panelization_placement_error"),
|
|
2630
2661
|
pcb_panelization_placement_error_id: getZodPrefixedIdWithDefault(
|
|
2631
2662
|
"pcb_panelization_placement_error"
|
|
2632
2663
|
),
|
|
2633
|
-
error_type:
|
|
2634
|
-
pcb_panel_id:
|
|
2635
|
-
pcb_board_id:
|
|
2636
|
-
subcircuit_id:
|
|
2664
|
+
error_type: z123.literal("pcb_panelization_placement_error").default("pcb_panelization_placement_error"),
|
|
2665
|
+
pcb_panel_id: z123.string().optional(),
|
|
2666
|
+
pcb_board_id: z123.string().optional(),
|
|
2667
|
+
subcircuit_id: z123.string().optional()
|
|
2637
2668
|
}).describe("Defines a panelization placement error on the PCB");
|
|
2638
2669
|
expectTypesMatch(true);
|
|
2639
2670
|
|
|
2640
2671
|
// src/pcb/pcb_trace_hint.ts
|
|
2641
|
-
import { z as
|
|
2642
|
-
var pcb_trace_hint =
|
|
2643
|
-
type:
|
|
2672
|
+
import { z as z124 } from "zod";
|
|
2673
|
+
var pcb_trace_hint = z124.object({
|
|
2674
|
+
type: z124.literal("pcb_trace_hint"),
|
|
2644
2675
|
pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
|
|
2645
|
-
pcb_port_id:
|
|
2646
|
-
pcb_component_id:
|
|
2647
|
-
route:
|
|
2648
|
-
subcircuit_id:
|
|
2676
|
+
pcb_port_id: z124.string(),
|
|
2677
|
+
pcb_component_id: z124.string(),
|
|
2678
|
+
route: z124.array(route_hint_point),
|
|
2679
|
+
subcircuit_id: z124.string().optional()
|
|
2649
2680
|
}).describe("A hint that can be used during generation of a PCB trace");
|
|
2650
2681
|
expectTypesMatch(true);
|
|
2651
2682
|
|
|
2652
2683
|
// src/pcb/pcb_silkscreen_line.ts
|
|
2653
|
-
import { z as
|
|
2654
|
-
var pcb_silkscreen_line =
|
|
2655
|
-
type:
|
|
2684
|
+
import { z as z125 } from "zod";
|
|
2685
|
+
var pcb_silkscreen_line = z125.object({
|
|
2686
|
+
type: z125.literal("pcb_silkscreen_line"),
|
|
2656
2687
|
pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
|
|
2657
|
-
pcb_component_id:
|
|
2658
|
-
pcb_group_id:
|
|
2659
|
-
subcircuit_id:
|
|
2688
|
+
pcb_component_id: z125.string(),
|
|
2689
|
+
pcb_group_id: z125.string().optional(),
|
|
2690
|
+
subcircuit_id: z125.string().optional(),
|
|
2660
2691
|
stroke_width: distance.default("0.1mm"),
|
|
2661
2692
|
x1: distance,
|
|
2662
2693
|
y1: distance,
|
|
@@ -2667,32 +2698,32 @@ var pcb_silkscreen_line = z124.object({
|
|
|
2667
2698
|
expectTypesMatch(true);
|
|
2668
2699
|
|
|
2669
2700
|
// src/pcb/pcb_silkscreen_path.ts
|
|
2670
|
-
import { z as
|
|
2671
|
-
var pcb_silkscreen_path =
|
|
2672
|
-
type:
|
|
2701
|
+
import { z as z126 } from "zod";
|
|
2702
|
+
var pcb_silkscreen_path = z126.object({
|
|
2703
|
+
type: z126.literal("pcb_silkscreen_path"),
|
|
2673
2704
|
pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
|
|
2674
|
-
pcb_component_id:
|
|
2675
|
-
pcb_group_id:
|
|
2676
|
-
subcircuit_id:
|
|
2705
|
+
pcb_component_id: z126.string(),
|
|
2706
|
+
pcb_group_id: z126.string().optional(),
|
|
2707
|
+
subcircuit_id: z126.string().optional(),
|
|
2677
2708
|
layer: visible_layer,
|
|
2678
|
-
route:
|
|
2709
|
+
route: z126.array(point),
|
|
2679
2710
|
stroke_width: length
|
|
2680
2711
|
}).describe("Defines a silkscreen path on the PCB");
|
|
2681
2712
|
expectTypesMatch(true);
|
|
2682
2713
|
|
|
2683
2714
|
// src/pcb/pcb_silkscreen_text.ts
|
|
2684
|
-
import { z as
|
|
2685
|
-
var pcb_silkscreen_text =
|
|
2686
|
-
type:
|
|
2715
|
+
import { z as z127 } from "zod";
|
|
2716
|
+
var pcb_silkscreen_text = z127.object({
|
|
2717
|
+
type: z127.literal("pcb_silkscreen_text"),
|
|
2687
2718
|
pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
|
|
2688
|
-
pcb_group_id:
|
|
2689
|
-
subcircuit_id:
|
|
2690
|
-
font:
|
|
2719
|
+
pcb_group_id: z127.string().optional(),
|
|
2720
|
+
subcircuit_id: z127.string().optional(),
|
|
2721
|
+
font: z127.literal("tscircuit2024").default("tscircuit2024"),
|
|
2691
2722
|
font_size: distance.default("0.2mm"),
|
|
2692
|
-
pcb_component_id:
|
|
2693
|
-
text:
|
|
2694
|
-
is_knockout:
|
|
2695
|
-
knockout_padding:
|
|
2723
|
+
pcb_component_id: z127.string(),
|
|
2724
|
+
text: z127.string(),
|
|
2725
|
+
is_knockout: z127.boolean().default(false).optional(),
|
|
2726
|
+
knockout_padding: z127.object({
|
|
2696
2727
|
left: length,
|
|
2697
2728
|
top: length,
|
|
2698
2729
|
bottom: length,
|
|
@@ -2703,27 +2734,27 @@ var pcb_silkscreen_text = z126.object({
|
|
|
2703
2734
|
bottom: "0.2mm",
|
|
2704
2735
|
right: "0.2mm"
|
|
2705
2736
|
}).optional(),
|
|
2706
|
-
ccw_rotation:
|
|
2737
|
+
ccw_rotation: z127.number().optional(),
|
|
2707
2738
|
layer: layer_ref,
|
|
2708
|
-
is_mirrored:
|
|
2739
|
+
is_mirrored: z127.boolean().default(false).optional(),
|
|
2709
2740
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2710
2741
|
anchor_alignment: ninePointAnchor.default("center")
|
|
2711
2742
|
}).describe("Defines silkscreen text on the PCB");
|
|
2712
2743
|
expectTypesMatch(true);
|
|
2713
2744
|
|
|
2714
2745
|
// src/pcb/pcb_copper_text.ts
|
|
2715
|
-
import { z as
|
|
2716
|
-
var pcb_copper_text =
|
|
2717
|
-
type:
|
|
2746
|
+
import { z as z128 } from "zod";
|
|
2747
|
+
var pcb_copper_text = z128.object({
|
|
2748
|
+
type: z128.literal("pcb_copper_text"),
|
|
2718
2749
|
pcb_copper_text_id: getZodPrefixedIdWithDefault("pcb_copper_text"),
|
|
2719
|
-
pcb_group_id:
|
|
2720
|
-
subcircuit_id:
|
|
2721
|
-
font:
|
|
2750
|
+
pcb_group_id: z128.string().optional(),
|
|
2751
|
+
subcircuit_id: z128.string().optional(),
|
|
2752
|
+
font: z128.literal("tscircuit2024").default("tscircuit2024"),
|
|
2722
2753
|
font_size: distance.default("0.2mm"),
|
|
2723
|
-
pcb_component_id:
|
|
2724
|
-
text:
|
|
2725
|
-
is_knockout:
|
|
2726
|
-
knockout_padding:
|
|
2754
|
+
pcb_component_id: z128.string(),
|
|
2755
|
+
text: z128.string(),
|
|
2756
|
+
is_knockout: z128.boolean().default(false).optional(),
|
|
2757
|
+
knockout_padding: z128.object({
|
|
2727
2758
|
left: length,
|
|
2728
2759
|
top: length,
|
|
2729
2760
|
bottom: length,
|
|
@@ -2734,61 +2765,61 @@ var pcb_copper_text = z127.object({
|
|
|
2734
2765
|
bottom: "0.2mm",
|
|
2735
2766
|
right: "0.2mm"
|
|
2736
2767
|
}).optional(),
|
|
2737
|
-
ccw_rotation:
|
|
2768
|
+
ccw_rotation: z128.number().optional(),
|
|
2738
2769
|
layer: layer_ref,
|
|
2739
|
-
is_mirrored:
|
|
2770
|
+
is_mirrored: z128.boolean().default(false).optional(),
|
|
2740
2771
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2741
2772
|
anchor_alignment: ninePointAnchor.default("center")
|
|
2742
2773
|
}).describe("Defines copper text on the PCB");
|
|
2743
2774
|
expectTypesMatch(true);
|
|
2744
2775
|
|
|
2745
2776
|
// src/pcb/pcb_silkscreen_rect.ts
|
|
2746
|
-
import { z as
|
|
2747
|
-
var pcb_silkscreen_rect =
|
|
2748
|
-
type:
|
|
2777
|
+
import { z as z129 } from "zod";
|
|
2778
|
+
var pcb_silkscreen_rect = z129.object({
|
|
2779
|
+
type: z129.literal("pcb_silkscreen_rect"),
|
|
2749
2780
|
pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
|
|
2750
|
-
pcb_component_id:
|
|
2751
|
-
pcb_group_id:
|
|
2752
|
-
subcircuit_id:
|
|
2781
|
+
pcb_component_id: z129.string(),
|
|
2782
|
+
pcb_group_id: z129.string().optional(),
|
|
2783
|
+
subcircuit_id: z129.string().optional(),
|
|
2753
2784
|
center: point,
|
|
2754
2785
|
width: length,
|
|
2755
2786
|
height: length,
|
|
2756
2787
|
layer: layer_ref,
|
|
2757
2788
|
stroke_width: length.default("1mm"),
|
|
2758
2789
|
corner_radius: length.optional(),
|
|
2759
|
-
is_filled:
|
|
2760
|
-
has_stroke:
|
|
2761
|
-
is_stroke_dashed:
|
|
2762
|
-
ccw_rotation:
|
|
2790
|
+
is_filled: z129.boolean().default(true).optional(),
|
|
2791
|
+
has_stroke: z129.boolean().optional(),
|
|
2792
|
+
is_stroke_dashed: z129.boolean().optional(),
|
|
2793
|
+
ccw_rotation: z129.number().optional()
|
|
2763
2794
|
}).describe("Defines a silkscreen rect on the PCB");
|
|
2764
2795
|
expectTypesMatch(true);
|
|
2765
2796
|
|
|
2766
2797
|
// src/pcb/pcb_silkscreen_circle.ts
|
|
2767
|
-
import { z as
|
|
2768
|
-
var pcb_silkscreen_circle =
|
|
2769
|
-
type:
|
|
2798
|
+
import { z as z130 } from "zod";
|
|
2799
|
+
var pcb_silkscreen_circle = z130.object({
|
|
2800
|
+
type: z130.literal("pcb_silkscreen_circle"),
|
|
2770
2801
|
pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
|
|
2771
2802
|
"pcb_silkscreen_circle"
|
|
2772
2803
|
),
|
|
2773
|
-
pcb_component_id:
|
|
2774
|
-
pcb_group_id:
|
|
2775
|
-
subcircuit_id:
|
|
2804
|
+
pcb_component_id: z130.string(),
|
|
2805
|
+
pcb_group_id: z130.string().optional(),
|
|
2806
|
+
subcircuit_id: z130.string().optional(),
|
|
2776
2807
|
center: point,
|
|
2777
2808
|
radius: length,
|
|
2778
2809
|
layer: visible_layer,
|
|
2779
2810
|
stroke_width: length.default("1mm"),
|
|
2780
|
-
is_filled:
|
|
2811
|
+
is_filled: z130.boolean().optional()
|
|
2781
2812
|
}).describe("Defines a silkscreen circle on the PCB");
|
|
2782
2813
|
expectTypesMatch(true);
|
|
2783
2814
|
|
|
2784
2815
|
// src/pcb/pcb_silkscreen_oval.ts
|
|
2785
|
-
import { z as
|
|
2786
|
-
var pcb_silkscreen_oval =
|
|
2787
|
-
type:
|
|
2816
|
+
import { z as z131 } from "zod";
|
|
2817
|
+
var pcb_silkscreen_oval = z131.object({
|
|
2818
|
+
type: z131.literal("pcb_silkscreen_oval"),
|
|
2788
2819
|
pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
|
|
2789
|
-
pcb_component_id:
|
|
2790
|
-
pcb_group_id:
|
|
2791
|
-
subcircuit_id:
|
|
2820
|
+
pcb_component_id: z131.string(),
|
|
2821
|
+
pcb_group_id: z131.string().optional(),
|
|
2822
|
+
subcircuit_id: z131.string().optional(),
|
|
2792
2823
|
center: point,
|
|
2793
2824
|
radius_x: distance,
|
|
2794
2825
|
radius_y: distance,
|
|
@@ -2798,265 +2829,265 @@ var pcb_silkscreen_oval = z130.object({
|
|
|
2798
2829
|
expectTypesMatch(true);
|
|
2799
2830
|
|
|
2800
2831
|
// src/pcb/pcb_silkscreen_graphic.ts
|
|
2801
|
-
import { z as
|
|
2802
|
-
var pcb_silkscreen_graphic_base =
|
|
2803
|
-
type:
|
|
2832
|
+
import { z as z132 } from "zod";
|
|
2833
|
+
var pcb_silkscreen_graphic_base = z132.object({
|
|
2834
|
+
type: z132.literal("pcb_silkscreen_graphic"),
|
|
2804
2835
|
pcb_silkscreen_graphic_id: getZodPrefixedIdWithDefault(
|
|
2805
2836
|
"pcb_silkscreen_graphic"
|
|
2806
2837
|
),
|
|
2807
|
-
pcb_component_id:
|
|
2808
|
-
pcb_group_id:
|
|
2809
|
-
subcircuit_id:
|
|
2838
|
+
pcb_component_id: z132.string(),
|
|
2839
|
+
pcb_group_id: z132.string().optional(),
|
|
2840
|
+
subcircuit_id: z132.string().optional(),
|
|
2810
2841
|
layer: visible_layer,
|
|
2811
2842
|
image_asset: asset.optional()
|
|
2812
2843
|
});
|
|
2813
2844
|
var pcb_silkscreen_graphic_brep = pcb_silkscreen_graphic_base.extend({
|
|
2814
|
-
shape:
|
|
2845
|
+
shape: z132.literal("brep"),
|
|
2815
2846
|
brep_shape
|
|
2816
2847
|
}).describe("Defines a BRep silkscreen graphic on the PCB");
|
|
2817
2848
|
expectTypesMatch(
|
|
2818
2849
|
true
|
|
2819
2850
|
);
|
|
2820
|
-
var pcb_silkscreen_graphic =
|
|
2851
|
+
var pcb_silkscreen_graphic = z132.discriminatedUnion("shape", [pcb_silkscreen_graphic_brep]).describe("Defines a silkscreen graphic on the PCB");
|
|
2821
2852
|
expectTypesMatch(true);
|
|
2822
2853
|
|
|
2823
2854
|
// src/pcb/pcb_silkscreen_pill.ts
|
|
2824
|
-
import { z as
|
|
2825
|
-
var pcb_silkscreen_pill =
|
|
2826
|
-
type:
|
|
2855
|
+
import { z as z133 } from "zod";
|
|
2856
|
+
var pcb_silkscreen_pill = z133.object({
|
|
2857
|
+
type: z133.literal("pcb_silkscreen_pill"),
|
|
2827
2858
|
pcb_silkscreen_pill_id: getZodPrefixedIdWithDefault("pcb_silkscreen_pill"),
|
|
2828
|
-
pcb_component_id:
|
|
2829
|
-
pcb_group_id:
|
|
2830
|
-
subcircuit_id:
|
|
2859
|
+
pcb_component_id: z133.string(),
|
|
2860
|
+
pcb_group_id: z133.string().optional(),
|
|
2861
|
+
subcircuit_id: z133.string().optional(),
|
|
2831
2862
|
center: point,
|
|
2832
2863
|
width: length,
|
|
2833
2864
|
height: length,
|
|
2834
2865
|
layer: layer_ref,
|
|
2835
|
-
ccw_rotation:
|
|
2866
|
+
ccw_rotation: z133.number().optional()
|
|
2836
2867
|
}).describe("Defines a silkscreen pill on the PCB");
|
|
2837
2868
|
expectTypesMatch(true);
|
|
2838
2869
|
|
|
2839
2870
|
// src/pcb/pcb_fabrication_note_text.ts
|
|
2840
|
-
import { z as
|
|
2841
|
-
var pcb_fabrication_note_text =
|
|
2842
|
-
type:
|
|
2871
|
+
import { z as z134 } from "zod";
|
|
2872
|
+
var pcb_fabrication_note_text = z134.object({
|
|
2873
|
+
type: z134.literal("pcb_fabrication_note_text"),
|
|
2843
2874
|
pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
|
|
2844
2875
|
"pcb_fabrication_note_text"
|
|
2845
2876
|
),
|
|
2846
|
-
subcircuit_id:
|
|
2847
|
-
pcb_group_id:
|
|
2848
|
-
font:
|
|
2877
|
+
subcircuit_id: z134.string().optional(),
|
|
2878
|
+
pcb_group_id: z134.string().optional(),
|
|
2879
|
+
font: z134.literal("tscircuit2024").default("tscircuit2024"),
|
|
2849
2880
|
font_size: distance.default("1mm"),
|
|
2850
|
-
pcb_component_id:
|
|
2851
|
-
text:
|
|
2852
|
-
ccw_rotation:
|
|
2881
|
+
pcb_component_id: z134.string(),
|
|
2882
|
+
text: z134.string(),
|
|
2883
|
+
ccw_rotation: z134.number().optional(),
|
|
2853
2884
|
layer: visible_layer,
|
|
2854
2885
|
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2855
|
-
anchor_alignment:
|
|
2856
|
-
color:
|
|
2886
|
+
anchor_alignment: z134.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
2887
|
+
color: z134.string().optional()
|
|
2857
2888
|
}).describe(
|
|
2858
2889
|
"Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
|
|
2859
2890
|
);
|
|
2860
2891
|
expectTypesMatch(true);
|
|
2861
2892
|
|
|
2862
2893
|
// src/pcb/pcb_fabrication_note_path.ts
|
|
2863
|
-
import { z as
|
|
2864
|
-
var pcb_fabrication_note_path =
|
|
2865
|
-
type:
|
|
2894
|
+
import { z as z135 } from "zod";
|
|
2895
|
+
var pcb_fabrication_note_path = z135.object({
|
|
2896
|
+
type: z135.literal("pcb_fabrication_note_path"),
|
|
2866
2897
|
pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
|
|
2867
2898
|
"pcb_fabrication_note_path"
|
|
2868
2899
|
),
|
|
2869
|
-
pcb_component_id:
|
|
2870
|
-
subcircuit_id:
|
|
2900
|
+
pcb_component_id: z135.string(),
|
|
2901
|
+
subcircuit_id: z135.string().optional(),
|
|
2871
2902
|
layer: layer_ref,
|
|
2872
|
-
route:
|
|
2903
|
+
route: z135.array(point),
|
|
2873
2904
|
stroke_width: length,
|
|
2874
|
-
color:
|
|
2905
|
+
color: z135.string().optional()
|
|
2875
2906
|
}).describe(
|
|
2876
2907
|
"Defines a fabrication path on the PCB for fabricators or assemblers"
|
|
2877
2908
|
);
|
|
2878
2909
|
expectTypesMatch(true);
|
|
2879
2910
|
|
|
2880
2911
|
// src/pcb/pcb_fabrication_note_rect.ts
|
|
2881
|
-
import { z as
|
|
2882
|
-
var pcb_fabrication_note_rect =
|
|
2883
|
-
type:
|
|
2912
|
+
import { z as z136 } from "zod";
|
|
2913
|
+
var pcb_fabrication_note_rect = z136.object({
|
|
2914
|
+
type: z136.literal("pcb_fabrication_note_rect"),
|
|
2884
2915
|
pcb_fabrication_note_rect_id: getZodPrefixedIdWithDefault(
|
|
2885
2916
|
"pcb_fabrication_note_rect"
|
|
2886
2917
|
),
|
|
2887
|
-
pcb_component_id:
|
|
2888
|
-
pcb_group_id:
|
|
2889
|
-
subcircuit_id:
|
|
2918
|
+
pcb_component_id: z136.string(),
|
|
2919
|
+
pcb_group_id: z136.string().optional(),
|
|
2920
|
+
subcircuit_id: z136.string().optional(),
|
|
2890
2921
|
center: point,
|
|
2891
2922
|
width: length,
|
|
2892
2923
|
height: length,
|
|
2893
2924
|
layer: visible_layer,
|
|
2894
2925
|
stroke_width: length.default("0.1mm"),
|
|
2895
2926
|
corner_radius: length.optional(),
|
|
2896
|
-
is_filled:
|
|
2897
|
-
has_stroke:
|
|
2898
|
-
is_stroke_dashed:
|
|
2899
|
-
color:
|
|
2927
|
+
is_filled: z136.boolean().optional(),
|
|
2928
|
+
has_stroke: z136.boolean().optional(),
|
|
2929
|
+
is_stroke_dashed: z136.boolean().optional(),
|
|
2930
|
+
color: z136.string().optional()
|
|
2900
2931
|
}).describe("Defines a fabrication note rectangle on the PCB");
|
|
2901
2932
|
expectTypesMatch(true);
|
|
2902
2933
|
|
|
2903
2934
|
// src/pcb/pcb_fabrication_note_dimension.ts
|
|
2904
|
-
import { z as
|
|
2905
|
-
var pcb_fabrication_note_dimension =
|
|
2906
|
-
type:
|
|
2935
|
+
import { z as z137 } from "zod";
|
|
2936
|
+
var pcb_fabrication_note_dimension = z137.object({
|
|
2937
|
+
type: z137.literal("pcb_fabrication_note_dimension"),
|
|
2907
2938
|
pcb_fabrication_note_dimension_id: getZodPrefixedIdWithDefault(
|
|
2908
2939
|
"pcb_fabrication_note_dimension"
|
|
2909
2940
|
),
|
|
2910
|
-
pcb_component_id:
|
|
2911
|
-
pcb_group_id:
|
|
2912
|
-
subcircuit_id:
|
|
2941
|
+
pcb_component_id: z137.string(),
|
|
2942
|
+
pcb_group_id: z137.string().optional(),
|
|
2943
|
+
subcircuit_id: z137.string().optional(),
|
|
2913
2944
|
layer: visible_layer,
|
|
2914
2945
|
from: point,
|
|
2915
2946
|
to: point,
|
|
2916
|
-
text:
|
|
2917
|
-
text_ccw_rotation:
|
|
2947
|
+
text: z137.string().optional(),
|
|
2948
|
+
text_ccw_rotation: z137.number().optional(),
|
|
2918
2949
|
offset: length.optional(),
|
|
2919
2950
|
offset_distance: length.optional(),
|
|
2920
|
-
offset_direction:
|
|
2921
|
-
x:
|
|
2922
|
-
y:
|
|
2951
|
+
offset_direction: z137.object({
|
|
2952
|
+
x: z137.number(),
|
|
2953
|
+
y: z137.number()
|
|
2923
2954
|
}).optional(),
|
|
2924
|
-
font:
|
|
2955
|
+
font: z137.literal("tscircuit2024").default("tscircuit2024"),
|
|
2925
2956
|
font_size: length.default("1mm"),
|
|
2926
|
-
color:
|
|
2957
|
+
color: z137.string().optional(),
|
|
2927
2958
|
arrow_size: length.default("1mm")
|
|
2928
2959
|
}).describe("Defines a measurement annotation within PCB fabrication notes");
|
|
2929
2960
|
expectTypesMatch(true);
|
|
2930
2961
|
|
|
2931
2962
|
// src/pcb/pcb_note_text.ts
|
|
2932
|
-
import { z as z137 } from "zod";
|
|
2933
|
-
var pcb_note_text = z137.object({
|
|
2934
|
-
type: z137.literal("pcb_note_text"),
|
|
2935
|
-
pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
|
|
2936
|
-
pcb_component_id: z137.string().optional(),
|
|
2937
|
-
pcb_group_id: z137.string().optional(),
|
|
2938
|
-
subcircuit_id: z137.string().optional(),
|
|
2939
|
-
name: z137.string().optional(),
|
|
2940
|
-
font: z137.literal("tscircuit2024").default("tscircuit2024"),
|
|
2941
|
-
font_size: distance.default("1mm"),
|
|
2942
|
-
text: z137.string().optional(),
|
|
2943
|
-
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2944
|
-
anchor_alignment: z137.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
2945
|
-
layer: visible_layer.default("top"),
|
|
2946
|
-
is_mirrored_from_top_view: z137.boolean().optional(),
|
|
2947
|
-
color: z137.string().optional()
|
|
2948
|
-
}).describe("Defines a documentation note in text on the PCB");
|
|
2949
|
-
expectTypesMatch(true);
|
|
2950
|
-
|
|
2951
|
-
// src/pcb/pcb_note_rect.ts
|
|
2952
2963
|
import { z as z138 } from "zod";
|
|
2953
|
-
var
|
|
2954
|
-
type: z138.literal("
|
|
2955
|
-
|
|
2964
|
+
var pcb_note_text = z138.object({
|
|
2965
|
+
type: z138.literal("pcb_note_text"),
|
|
2966
|
+
pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
|
|
2956
2967
|
pcb_component_id: z138.string().optional(),
|
|
2957
2968
|
pcb_group_id: z138.string().optional(),
|
|
2958
2969
|
subcircuit_id: z138.string().optional(),
|
|
2959
2970
|
name: z138.string().optional(),
|
|
2971
|
+
font: z138.literal("tscircuit2024").default("tscircuit2024"),
|
|
2972
|
+
font_size: distance.default("1mm"),
|
|
2960
2973
|
text: z138.string().optional(),
|
|
2961
|
-
|
|
2962
|
-
|
|
2963
|
-
height: length,
|
|
2974
|
+
anchor_position: point.default({ x: 0, y: 0 }),
|
|
2975
|
+
anchor_alignment: z138.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
|
|
2964
2976
|
layer: visible_layer.default("top"),
|
|
2965
|
-
|
|
2966
|
-
corner_radius: length.optional(),
|
|
2967
|
-
is_filled: z138.boolean().optional(),
|
|
2968
|
-
has_stroke: z138.boolean().optional(),
|
|
2969
|
-
is_stroke_dashed: z138.boolean().optional(),
|
|
2977
|
+
is_mirrored_from_top_view: z138.boolean().optional(),
|
|
2970
2978
|
color: z138.string().optional()
|
|
2971
|
-
}).describe("Defines a
|
|
2979
|
+
}).describe("Defines a documentation note in text on the PCB");
|
|
2972
2980
|
expectTypesMatch(true);
|
|
2973
2981
|
|
|
2974
|
-
// src/pcb/
|
|
2982
|
+
// src/pcb/pcb_note_rect.ts
|
|
2975
2983
|
import { z as z139 } from "zod";
|
|
2976
|
-
var
|
|
2977
|
-
type: z139.literal("
|
|
2978
|
-
|
|
2984
|
+
var pcb_note_rect = z139.object({
|
|
2985
|
+
type: z139.literal("pcb_note_rect"),
|
|
2986
|
+
pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
|
|
2979
2987
|
pcb_component_id: z139.string().optional(),
|
|
2980
2988
|
pcb_group_id: z139.string().optional(),
|
|
2981
2989
|
subcircuit_id: z139.string().optional(),
|
|
2982
2990
|
name: z139.string().optional(),
|
|
2983
2991
|
text: z139.string().optional(),
|
|
2984
|
-
|
|
2992
|
+
center: point,
|
|
2993
|
+
width: length,
|
|
2994
|
+
height: length,
|
|
2985
2995
|
layer: visible_layer.default("top"),
|
|
2986
2996
|
stroke_width: length.default("0.1mm"),
|
|
2997
|
+
corner_radius: length.optional(),
|
|
2998
|
+
is_filled: z139.boolean().optional(),
|
|
2999
|
+
has_stroke: z139.boolean().optional(),
|
|
3000
|
+
is_stroke_dashed: z139.boolean().optional(),
|
|
2987
3001
|
color: z139.string().optional()
|
|
2988
|
-
}).describe("Defines a
|
|
3002
|
+
}).describe("Defines a rectangular documentation note on the PCB");
|
|
2989
3003
|
expectTypesMatch(true);
|
|
2990
3004
|
|
|
2991
|
-
// src/pcb/
|
|
3005
|
+
// src/pcb/pcb_note_path.ts
|
|
2992
3006
|
import { z as z140 } from "zod";
|
|
2993
|
-
var
|
|
2994
|
-
type: z140.literal("
|
|
2995
|
-
|
|
3007
|
+
var pcb_note_path = z140.object({
|
|
3008
|
+
type: z140.literal("pcb_note_path"),
|
|
3009
|
+
pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
|
|
2996
3010
|
pcb_component_id: z140.string().optional(),
|
|
2997
3011
|
pcb_group_id: z140.string().optional(),
|
|
2998
3012
|
subcircuit_id: z140.string().optional(),
|
|
2999
3013
|
name: z140.string().optional(),
|
|
3000
3014
|
text: z140.string().optional(),
|
|
3015
|
+
route: z140.array(point),
|
|
3016
|
+
layer: visible_layer.default("top"),
|
|
3017
|
+
stroke_width: length.default("0.1mm"),
|
|
3018
|
+
color: z140.string().optional()
|
|
3019
|
+
}).describe("Defines a polyline documentation note on the PCB");
|
|
3020
|
+
expectTypesMatch(true);
|
|
3021
|
+
|
|
3022
|
+
// src/pcb/pcb_note_line.ts
|
|
3023
|
+
import { z as z141 } from "zod";
|
|
3024
|
+
var pcb_note_line = z141.object({
|
|
3025
|
+
type: z141.literal("pcb_note_line"),
|
|
3026
|
+
pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
|
|
3027
|
+
pcb_component_id: z141.string().optional(),
|
|
3028
|
+
pcb_group_id: z141.string().optional(),
|
|
3029
|
+
subcircuit_id: z141.string().optional(),
|
|
3030
|
+
name: z141.string().optional(),
|
|
3031
|
+
text: z141.string().optional(),
|
|
3001
3032
|
x1: distance,
|
|
3002
3033
|
y1: distance,
|
|
3003
3034
|
x2: distance,
|
|
3004
3035
|
y2: distance,
|
|
3005
3036
|
layer: visible_layer.default("top"),
|
|
3006
3037
|
stroke_width: distance.default("0.1mm"),
|
|
3007
|
-
color:
|
|
3008
|
-
is_dashed:
|
|
3038
|
+
color: z141.string().optional(),
|
|
3039
|
+
is_dashed: z141.boolean().optional()
|
|
3009
3040
|
}).describe("Defines a straight documentation note line on the PCB");
|
|
3010
3041
|
expectTypesMatch(true);
|
|
3011
3042
|
|
|
3012
3043
|
// src/pcb/pcb_note_dimension.ts
|
|
3013
|
-
import { z as
|
|
3014
|
-
var pcb_note_dimension =
|
|
3015
|
-
type:
|
|
3044
|
+
import { z as z142 } from "zod";
|
|
3045
|
+
var pcb_note_dimension = z142.object({
|
|
3046
|
+
type: z142.literal("pcb_note_dimension"),
|
|
3016
3047
|
pcb_note_dimension_id: getZodPrefixedIdWithDefault("pcb_note_dimension"),
|
|
3017
|
-
pcb_component_id:
|
|
3018
|
-
pcb_group_id:
|
|
3019
|
-
subcircuit_id:
|
|
3020
|
-
name:
|
|
3048
|
+
pcb_component_id: z142.string().optional(),
|
|
3049
|
+
pcb_group_id: z142.string().optional(),
|
|
3050
|
+
subcircuit_id: z142.string().optional(),
|
|
3051
|
+
name: z142.string().optional(),
|
|
3021
3052
|
from: point,
|
|
3022
3053
|
to: point,
|
|
3023
|
-
text:
|
|
3024
|
-
text_ccw_rotation:
|
|
3054
|
+
text: z142.string().optional(),
|
|
3055
|
+
text_ccw_rotation: z142.number().optional(),
|
|
3025
3056
|
offset_distance: length.optional(),
|
|
3026
|
-
offset_direction:
|
|
3027
|
-
x:
|
|
3028
|
-
y:
|
|
3057
|
+
offset_direction: z142.object({
|
|
3058
|
+
x: z142.number(),
|
|
3059
|
+
y: z142.number()
|
|
3029
3060
|
}).optional(),
|
|
3030
|
-
font:
|
|
3061
|
+
font: z142.literal("tscircuit2024").default("tscircuit2024"),
|
|
3031
3062
|
font_size: length.default("1mm"),
|
|
3032
3063
|
layer: visible_layer.default("top"),
|
|
3033
|
-
color:
|
|
3064
|
+
color: z142.string().optional(),
|
|
3034
3065
|
arrow_size: length.default("1mm")
|
|
3035
3066
|
}).describe("Defines a measurement annotation within PCB documentation notes");
|
|
3036
3067
|
expectTypesMatch(true);
|
|
3037
3068
|
|
|
3038
3069
|
// src/pcb/pcb_footprint_overlap_error.ts
|
|
3039
|
-
import { z as
|
|
3070
|
+
import { z as z143 } from "zod";
|
|
3040
3071
|
var pcb_footprint_overlap_error = base_circuit_json_error.extend({
|
|
3041
|
-
type:
|
|
3072
|
+
type: z143.literal("pcb_footprint_overlap_error"),
|
|
3042
3073
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
3043
|
-
error_type:
|
|
3044
|
-
pcb_smtpad_ids:
|
|
3045
|
-
pcb_plated_hole_ids:
|
|
3046
|
-
pcb_hole_ids:
|
|
3047
|
-
pcb_keepout_ids:
|
|
3074
|
+
error_type: z143.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
|
|
3075
|
+
pcb_smtpad_ids: z143.array(z143.string()).optional(),
|
|
3076
|
+
pcb_plated_hole_ids: z143.array(z143.string()).optional(),
|
|
3077
|
+
pcb_hole_ids: z143.array(z143.string()).optional(),
|
|
3078
|
+
pcb_keepout_ids: z143.array(z143.string()).optional()
|
|
3048
3079
|
}).describe("Error emitted when a pcb footprint overlaps with another element");
|
|
3049
3080
|
expectTypesMatch(
|
|
3050
3081
|
true
|
|
3051
3082
|
);
|
|
3052
3083
|
|
|
3053
3084
|
// src/pcb/pcb_courtyard_overlap_error.ts
|
|
3054
|
-
import { z as
|
|
3085
|
+
import { z as z144 } from "zod";
|
|
3055
3086
|
var pcb_courtyard_overlap_error = base_circuit_json_error.extend({
|
|
3056
|
-
type:
|
|
3087
|
+
type: z144.literal("pcb_courtyard_overlap_error"),
|
|
3057
3088
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
3058
|
-
error_type:
|
|
3059
|
-
pcb_component_ids:
|
|
3089
|
+
error_type: z144.literal("pcb_courtyard_overlap_error").default("pcb_courtyard_overlap_error"),
|
|
3090
|
+
pcb_component_ids: z144.tuple([z144.string(), z144.string()])
|
|
3060
3091
|
}).describe(
|
|
3061
3092
|
"Error emitted when the courtyard (CrtYd) of one PCB component overlaps with the courtyard of another"
|
|
3062
3093
|
);
|
|
@@ -3065,51 +3096,51 @@ expectTypesMatch(
|
|
|
3065
3096
|
);
|
|
3066
3097
|
|
|
3067
3098
|
// src/pcb/pcb_keepout.ts
|
|
3068
|
-
import { z as
|
|
3069
|
-
var pcb_keepout =
|
|
3070
|
-
type:
|
|
3071
|
-
shape:
|
|
3072
|
-
pcb_group_id:
|
|
3073
|
-
subcircuit_id:
|
|
3099
|
+
import { z as z145 } from "zod";
|
|
3100
|
+
var pcb_keepout = z145.object({
|
|
3101
|
+
type: z145.literal("pcb_keepout"),
|
|
3102
|
+
shape: z145.literal("rect"),
|
|
3103
|
+
pcb_group_id: z145.string().optional(),
|
|
3104
|
+
subcircuit_id: z145.string().optional(),
|
|
3074
3105
|
center: point,
|
|
3075
3106
|
width: distance,
|
|
3076
3107
|
height: distance,
|
|
3077
|
-
pcb_keepout_id:
|
|
3078
|
-
layers:
|
|
3108
|
+
pcb_keepout_id: z145.string(),
|
|
3109
|
+
layers: z145.array(z145.string()),
|
|
3079
3110
|
// Specify layers where the keepout applies
|
|
3080
|
-
description:
|
|
3111
|
+
description: z145.string().optional(),
|
|
3081
3112
|
// Optional description of the keepout
|
|
3082
|
-
excluded_pcb_component_ids:
|
|
3113
|
+
excluded_pcb_component_ids: z145.array(z145.string()).optional()
|
|
3083
3114
|
}).or(
|
|
3084
|
-
|
|
3085
|
-
type:
|
|
3086
|
-
shape:
|
|
3087
|
-
pcb_group_id:
|
|
3088
|
-
subcircuit_id:
|
|
3115
|
+
z145.object({
|
|
3116
|
+
type: z145.literal("pcb_keepout"),
|
|
3117
|
+
shape: z145.literal("circle"),
|
|
3118
|
+
pcb_group_id: z145.string().optional(),
|
|
3119
|
+
subcircuit_id: z145.string().optional(),
|
|
3089
3120
|
center: point,
|
|
3090
3121
|
radius: distance,
|
|
3091
|
-
pcb_keepout_id:
|
|
3092
|
-
layers:
|
|
3122
|
+
pcb_keepout_id: z145.string(),
|
|
3123
|
+
layers: z145.array(z145.string()),
|
|
3093
3124
|
// Specify layers where the keepout applies
|
|
3094
|
-
description:
|
|
3125
|
+
description: z145.string().optional(),
|
|
3095
3126
|
// Optional description of the keepout
|
|
3096
|
-
excluded_pcb_component_ids:
|
|
3127
|
+
excluded_pcb_component_ids: z145.array(z145.string()).optional()
|
|
3097
3128
|
})
|
|
3098
3129
|
);
|
|
3099
3130
|
expectTypesMatch(true);
|
|
3100
3131
|
|
|
3101
3132
|
// src/pcb/pcb_cutout.ts
|
|
3102
|
-
import { z as
|
|
3103
|
-
var pcb_cutout_base =
|
|
3104
|
-
type:
|
|
3133
|
+
import { z as z146 } from "zod";
|
|
3134
|
+
var pcb_cutout_base = z146.object({
|
|
3135
|
+
type: z146.literal("pcb_cutout"),
|
|
3105
3136
|
pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
|
|
3106
|
-
pcb_group_id:
|
|
3107
|
-
subcircuit_id:
|
|
3108
|
-
pcb_board_id:
|
|
3109
|
-
pcb_panel_id:
|
|
3137
|
+
pcb_group_id: z146.string().optional(),
|
|
3138
|
+
subcircuit_id: z146.string().optional(),
|
|
3139
|
+
pcb_board_id: z146.string().optional(),
|
|
3140
|
+
pcb_panel_id: z146.string().optional()
|
|
3110
3141
|
});
|
|
3111
3142
|
var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
3112
|
-
shape:
|
|
3143
|
+
shape: z146.literal("rect"),
|
|
3113
3144
|
center: point,
|
|
3114
3145
|
width: length,
|
|
3115
3146
|
height: length,
|
|
@@ -3118,26 +3149,26 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
|
|
|
3118
3149
|
});
|
|
3119
3150
|
expectTypesMatch(true);
|
|
3120
3151
|
var pcb_cutout_circle = pcb_cutout_base.extend({
|
|
3121
|
-
shape:
|
|
3152
|
+
shape: z146.literal("circle"),
|
|
3122
3153
|
center: point,
|
|
3123
3154
|
radius: length
|
|
3124
3155
|
});
|
|
3125
3156
|
expectTypesMatch(true);
|
|
3126
3157
|
var pcb_cutout_polygon = pcb_cutout_base.extend({
|
|
3127
|
-
shape:
|
|
3128
|
-
points:
|
|
3158
|
+
shape: z146.literal("polygon"),
|
|
3159
|
+
points: z146.array(point)
|
|
3129
3160
|
});
|
|
3130
3161
|
expectTypesMatch(true);
|
|
3131
3162
|
var pcb_cutout_path = pcb_cutout_base.extend({
|
|
3132
|
-
shape:
|
|
3133
|
-
route:
|
|
3163
|
+
shape: z146.literal("path"),
|
|
3164
|
+
route: z146.array(point),
|
|
3134
3165
|
slot_width: length,
|
|
3135
3166
|
slot_length: length.optional(),
|
|
3136
3167
|
space_between_slots: length.optional(),
|
|
3137
3168
|
slot_corner_radius: length.optional()
|
|
3138
3169
|
});
|
|
3139
3170
|
expectTypesMatch(true);
|
|
3140
|
-
var pcb_cutout =
|
|
3171
|
+
var pcb_cutout = z146.discriminatedUnion("shape", [
|
|
3141
3172
|
pcb_cutout_rect,
|
|
3142
3173
|
pcb_cutout_circle,
|
|
3143
3174
|
pcb_cutout_polygon,
|
|
@@ -3146,169 +3177,169 @@ var pcb_cutout = z145.discriminatedUnion("shape", [
|
|
|
3146
3177
|
expectTypesMatch(true);
|
|
3147
3178
|
|
|
3148
3179
|
// src/pcb/pcb_missing_footprint_error.ts
|
|
3149
|
-
import { z as
|
|
3180
|
+
import { z as z147 } from "zod";
|
|
3150
3181
|
var pcb_missing_footprint_error = base_circuit_json_error.extend({
|
|
3151
|
-
type:
|
|
3182
|
+
type: z147.literal("pcb_missing_footprint_error"),
|
|
3152
3183
|
pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
|
|
3153
3184
|
"pcb_missing_footprint_error"
|
|
3154
3185
|
),
|
|
3155
|
-
pcb_group_id:
|
|
3156
|
-
subcircuit_id:
|
|
3157
|
-
error_type:
|
|
3158
|
-
source_component_id:
|
|
3186
|
+
pcb_group_id: z147.string().optional(),
|
|
3187
|
+
subcircuit_id: z147.string().optional(),
|
|
3188
|
+
error_type: z147.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
|
|
3189
|
+
source_component_id: z147.string()
|
|
3159
3190
|
}).describe("Defines a missing footprint error on the PCB");
|
|
3160
3191
|
expectTypesMatch(
|
|
3161
3192
|
true
|
|
3162
3193
|
);
|
|
3163
3194
|
|
|
3164
3195
|
// src/pcb/external_footprint_load_error.ts
|
|
3165
|
-
import { z as
|
|
3196
|
+
import { z as z148 } from "zod";
|
|
3166
3197
|
var external_footprint_load_error = base_circuit_json_error.extend({
|
|
3167
|
-
type:
|
|
3198
|
+
type: z148.literal("external_footprint_load_error"),
|
|
3168
3199
|
external_footprint_load_error_id: getZodPrefixedIdWithDefault(
|
|
3169
3200
|
"external_footprint_load_error"
|
|
3170
3201
|
),
|
|
3171
|
-
pcb_component_id:
|
|
3172
|
-
source_component_id:
|
|
3173
|
-
pcb_group_id:
|
|
3174
|
-
subcircuit_id:
|
|
3175
|
-
footprinter_string:
|
|
3176
|
-
error_type:
|
|
3202
|
+
pcb_component_id: z148.string(),
|
|
3203
|
+
source_component_id: z148.string(),
|
|
3204
|
+
pcb_group_id: z148.string().optional(),
|
|
3205
|
+
subcircuit_id: z148.string().optional(),
|
|
3206
|
+
footprinter_string: z148.string().optional(),
|
|
3207
|
+
error_type: z148.literal("external_footprint_load_error").default("external_footprint_load_error")
|
|
3177
3208
|
}).describe("Defines an error when an external footprint fails to load");
|
|
3178
3209
|
expectTypesMatch(true);
|
|
3179
3210
|
|
|
3180
3211
|
// src/pcb/circuit_json_footprint_load_error.ts
|
|
3181
|
-
import { z as
|
|
3212
|
+
import { z as z149 } from "zod";
|
|
3182
3213
|
var circuit_json_footprint_load_error = base_circuit_json_error.extend({
|
|
3183
|
-
type:
|
|
3214
|
+
type: z149.literal("circuit_json_footprint_load_error"),
|
|
3184
3215
|
circuit_json_footprint_load_error_id: getZodPrefixedIdWithDefault(
|
|
3185
3216
|
"circuit_json_footprint_load_error"
|
|
3186
3217
|
),
|
|
3187
|
-
pcb_component_id:
|
|
3188
|
-
source_component_id:
|
|
3189
|
-
pcb_group_id:
|
|
3190
|
-
subcircuit_id:
|
|
3191
|
-
error_type:
|
|
3192
|
-
circuit_json:
|
|
3218
|
+
pcb_component_id: z149.string(),
|
|
3219
|
+
source_component_id: z149.string(),
|
|
3220
|
+
pcb_group_id: z149.string().optional(),
|
|
3221
|
+
subcircuit_id: z149.string().optional(),
|
|
3222
|
+
error_type: z149.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
|
|
3223
|
+
circuit_json: z149.array(z149.any()).optional()
|
|
3193
3224
|
}).describe("Defines an error when a circuit JSON footprint fails to load");
|
|
3194
3225
|
expectTypesMatch(true);
|
|
3195
3226
|
|
|
3196
3227
|
// src/pcb/pcb_group.ts
|
|
3197
|
-
import { z as
|
|
3198
|
-
var pcb_group =
|
|
3199
|
-
type:
|
|
3228
|
+
import { z as z150 } from "zod";
|
|
3229
|
+
var pcb_group = z150.object({
|
|
3230
|
+
type: z150.literal("pcb_group"),
|
|
3200
3231
|
pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
|
|
3201
|
-
source_group_id:
|
|
3202
|
-
is_subcircuit:
|
|
3203
|
-
subcircuit_id:
|
|
3232
|
+
source_group_id: z150.string(),
|
|
3233
|
+
is_subcircuit: z150.boolean().optional(),
|
|
3234
|
+
subcircuit_id: z150.string().optional(),
|
|
3204
3235
|
width: length.optional(),
|
|
3205
3236
|
height: length.optional(),
|
|
3206
3237
|
center: point,
|
|
3207
|
-
display_offset_x:
|
|
3238
|
+
display_offset_x: z150.string().optional().describe(
|
|
3208
3239
|
"How to display the x offset for this group, usually corresponding with how the user specified it"
|
|
3209
3240
|
),
|
|
3210
|
-
display_offset_y:
|
|
3241
|
+
display_offset_y: z150.string().optional().describe(
|
|
3211
3242
|
"How to display the y offset for this group, usually corresponding with how the user specified it"
|
|
3212
3243
|
),
|
|
3213
|
-
outline:
|
|
3244
|
+
outline: z150.array(point).optional(),
|
|
3214
3245
|
anchor_position: point.optional(),
|
|
3215
3246
|
anchor_alignment: ninePointAnchor.default("center"),
|
|
3216
|
-
position_mode:
|
|
3217
|
-
positioned_relative_to_pcb_group_id:
|
|
3218
|
-
positioned_relative_to_pcb_board_id:
|
|
3219
|
-
pcb_component_ids:
|
|
3220
|
-
child_layout_mode:
|
|
3221
|
-
name:
|
|
3222
|
-
description:
|
|
3223
|
-
layout_mode:
|
|
3224
|
-
autorouter_configuration:
|
|
3247
|
+
position_mode: z150.enum(["packed", "relative_to_group_anchor", "none"]).optional(),
|
|
3248
|
+
positioned_relative_to_pcb_group_id: z150.string().optional(),
|
|
3249
|
+
positioned_relative_to_pcb_board_id: z150.string().optional(),
|
|
3250
|
+
pcb_component_ids: z150.array(z150.string()),
|
|
3251
|
+
child_layout_mode: z150.enum(["packed", "none"]).optional(),
|
|
3252
|
+
name: z150.string().optional(),
|
|
3253
|
+
description: z150.string().optional(),
|
|
3254
|
+
layout_mode: z150.string().optional(),
|
|
3255
|
+
autorouter_configuration: z150.object({
|
|
3225
3256
|
trace_clearance: length
|
|
3226
3257
|
}).optional(),
|
|
3227
|
-
autorouter_used_string:
|
|
3258
|
+
autorouter_used_string: z150.string().optional()
|
|
3228
3259
|
}).describe("Defines a group of components on the PCB");
|
|
3229
3260
|
expectTypesMatch(true);
|
|
3230
3261
|
|
|
3231
3262
|
// src/pcb/pcb_autorouting_error.ts
|
|
3232
|
-
import { z as
|
|
3263
|
+
import { z as z151 } from "zod";
|
|
3233
3264
|
var pcb_autorouting_error = base_circuit_json_error.extend({
|
|
3234
|
-
type:
|
|
3265
|
+
type: z151.literal("pcb_autorouting_error"),
|
|
3235
3266
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
|
|
3236
|
-
error_type:
|
|
3237
|
-
subcircuit_id:
|
|
3267
|
+
error_type: z151.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
|
|
3268
|
+
subcircuit_id: z151.string().optional()
|
|
3238
3269
|
}).describe("The autorouting has failed to route a portion of the board");
|
|
3239
3270
|
expectTypesMatch(true);
|
|
3240
3271
|
|
|
3241
3272
|
// src/pcb/pcb_manual_edit_conflict_warning.ts
|
|
3242
|
-
import { z as
|
|
3243
|
-
var pcb_manual_edit_conflict_warning =
|
|
3244
|
-
type:
|
|
3273
|
+
import { z as z152 } from "zod";
|
|
3274
|
+
var pcb_manual_edit_conflict_warning = z152.object({
|
|
3275
|
+
type: z152.literal("pcb_manual_edit_conflict_warning"),
|
|
3245
3276
|
pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
|
|
3246
3277
|
"pcb_manual_edit_conflict_warning"
|
|
3247
3278
|
),
|
|
3248
|
-
warning_type:
|
|
3249
|
-
message:
|
|
3250
|
-
pcb_component_id:
|
|
3251
|
-
pcb_group_id:
|
|
3252
|
-
subcircuit_id:
|
|
3253
|
-
source_component_id:
|
|
3279
|
+
warning_type: z152.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
|
|
3280
|
+
message: z152.string(),
|
|
3281
|
+
pcb_component_id: z152.string(),
|
|
3282
|
+
pcb_group_id: z152.string().optional(),
|
|
3283
|
+
subcircuit_id: z152.string().optional(),
|
|
3284
|
+
source_component_id: z152.string()
|
|
3254
3285
|
}).describe(
|
|
3255
3286
|
"Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
|
|
3256
3287
|
);
|
|
3257
3288
|
expectTypesMatch(true);
|
|
3258
3289
|
|
|
3259
3290
|
// src/pcb/pcb_connector_not_in_accessible_orientation_warning.ts
|
|
3260
|
-
import { z as
|
|
3261
|
-
var connectorOrientationDirection =
|
|
3262
|
-
var pcb_connector_not_in_accessible_orientation_warning =
|
|
3263
|
-
type:
|
|
3291
|
+
import { z as z153 } from "zod";
|
|
3292
|
+
var connectorOrientationDirection = z153.enum(["x-", "x+", "y+", "y-"]);
|
|
3293
|
+
var pcb_connector_not_in_accessible_orientation_warning = z153.object({
|
|
3294
|
+
type: z153.literal("pcb_connector_not_in_accessible_orientation_warning"),
|
|
3264
3295
|
pcb_connector_not_in_accessible_orientation_warning_id: getZodPrefixedIdWithDefault(
|
|
3265
3296
|
"pcb_connector_not_in_accessible_orientation_warning"
|
|
3266
3297
|
),
|
|
3267
|
-
warning_type:
|
|
3268
|
-
message:
|
|
3269
|
-
pcb_component_id:
|
|
3270
|
-
source_component_id:
|
|
3271
|
-
pcb_board_id:
|
|
3298
|
+
warning_type: z153.literal("pcb_connector_not_in_accessible_orientation_warning").default("pcb_connector_not_in_accessible_orientation_warning"),
|
|
3299
|
+
message: z153.string(),
|
|
3300
|
+
pcb_component_id: z153.string(),
|
|
3301
|
+
source_component_id: z153.string().optional(),
|
|
3302
|
+
pcb_board_id: z153.string().optional(),
|
|
3272
3303
|
facing_direction: connectorOrientationDirection,
|
|
3273
3304
|
recommended_facing_direction: connectorOrientationDirection,
|
|
3274
|
-
subcircuit_id:
|
|
3305
|
+
subcircuit_id: z153.string().optional()
|
|
3275
3306
|
}).describe(
|
|
3276
3307
|
"Warning emitted when a connector PCB component is facing inward toward the board and should be reoriented to an outward-facing direction"
|
|
3277
3308
|
);
|
|
3278
3309
|
expectTypesMatch(true);
|
|
3279
3310
|
|
|
3280
3311
|
// src/pcb/supplier_footprint_mismatch_warning.ts
|
|
3281
|
-
import { z as
|
|
3282
|
-
var supplier_footprint_mismatch_warning =
|
|
3283
|
-
type:
|
|
3312
|
+
import { z as z154 } from "zod";
|
|
3313
|
+
var supplier_footprint_mismatch_warning = z154.object({
|
|
3314
|
+
type: z154.literal("supplier_footprint_mismatch_warning"),
|
|
3284
3315
|
supplier_footprint_mismatch_warning_id: getZodPrefixedIdWithDefault(
|
|
3285
3316
|
"supplier_footprint_mismatch_warning"
|
|
3286
3317
|
),
|
|
3287
|
-
warning_type:
|
|
3288
|
-
message:
|
|
3289
|
-
source_component_id:
|
|
3290
|
-
pcb_component_id:
|
|
3291
|
-
pcb_group_id:
|
|
3292
|
-
subcircuit_id:
|
|
3318
|
+
warning_type: z154.literal("supplier_footprint_mismatch_warning").default("supplier_footprint_mismatch_warning"),
|
|
3319
|
+
message: z154.string(),
|
|
3320
|
+
source_component_id: z154.string(),
|
|
3321
|
+
pcb_component_id: z154.string().optional(),
|
|
3322
|
+
pcb_group_id: z154.string().optional(),
|
|
3323
|
+
subcircuit_id: z154.string().optional(),
|
|
3293
3324
|
supplier_name: supplier_name.optional(),
|
|
3294
|
-
supplier_part_number:
|
|
3295
|
-
supplier_footprint_url:
|
|
3296
|
-
footprint_copper_intersection_over_union:
|
|
3325
|
+
supplier_part_number: z154.string().optional(),
|
|
3326
|
+
supplier_footprint_url: z154.string().optional(),
|
|
3327
|
+
footprint_copper_intersection_over_union: z154.number()
|
|
3297
3328
|
}).describe(
|
|
3298
3329
|
"Warning emitted when a supplier part footprint does not match the expected footprint"
|
|
3299
3330
|
);
|
|
3300
3331
|
expectTypesMatch(true);
|
|
3301
3332
|
|
|
3302
3333
|
// src/pcb/pcb_breakout_point.ts
|
|
3303
|
-
import { z as
|
|
3304
|
-
var pcb_breakout_point =
|
|
3305
|
-
type:
|
|
3334
|
+
import { z as z155 } from "zod";
|
|
3335
|
+
var pcb_breakout_point = z155.object({
|
|
3336
|
+
type: z155.literal("pcb_breakout_point"),
|
|
3306
3337
|
pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
|
|
3307
|
-
pcb_group_id:
|
|
3308
|
-
subcircuit_id:
|
|
3309
|
-
source_trace_id:
|
|
3310
|
-
source_port_id:
|
|
3311
|
-
source_net_id:
|
|
3338
|
+
pcb_group_id: z155.string(),
|
|
3339
|
+
subcircuit_id: z155.string().optional(),
|
|
3340
|
+
source_trace_id: z155.string().optional(),
|
|
3341
|
+
source_port_id: z155.string().optional(),
|
|
3342
|
+
source_net_id: z155.string().optional(),
|
|
3312
3343
|
x: distance,
|
|
3313
3344
|
y: distance
|
|
3314
3345
|
}).describe(
|
|
@@ -3317,61 +3348,61 @@ var pcb_breakout_point = z154.object({
|
|
|
3317
3348
|
expectTypesMatch(true);
|
|
3318
3349
|
|
|
3319
3350
|
// src/pcb/pcb_ground_plane.ts
|
|
3320
|
-
import { z as
|
|
3321
|
-
var pcb_ground_plane =
|
|
3322
|
-
type:
|
|
3351
|
+
import { z as z156 } from "zod";
|
|
3352
|
+
var pcb_ground_plane = z156.object({
|
|
3353
|
+
type: z156.literal("pcb_ground_plane"),
|
|
3323
3354
|
pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
|
|
3324
|
-
source_pcb_ground_plane_id:
|
|
3325
|
-
source_net_id:
|
|
3326
|
-
pcb_group_id:
|
|
3327
|
-
subcircuit_id:
|
|
3355
|
+
source_pcb_ground_plane_id: z156.string(),
|
|
3356
|
+
source_net_id: z156.string(),
|
|
3357
|
+
pcb_group_id: z156.string().optional(),
|
|
3358
|
+
subcircuit_id: z156.string().optional()
|
|
3328
3359
|
}).describe("Defines a ground plane on the PCB");
|
|
3329
3360
|
expectTypesMatch(true);
|
|
3330
3361
|
|
|
3331
3362
|
// src/pcb/pcb_ground_plane_region.ts
|
|
3332
|
-
import { z as
|
|
3333
|
-
var pcb_ground_plane_region =
|
|
3334
|
-
type:
|
|
3363
|
+
import { z as z157 } from "zod";
|
|
3364
|
+
var pcb_ground_plane_region = z157.object({
|
|
3365
|
+
type: z157.literal("pcb_ground_plane_region"),
|
|
3335
3366
|
pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
|
|
3336
3367
|
"pcb_ground_plane_region"
|
|
3337
3368
|
),
|
|
3338
|
-
pcb_ground_plane_id:
|
|
3339
|
-
pcb_group_id:
|
|
3340
|
-
subcircuit_id:
|
|
3369
|
+
pcb_ground_plane_id: z157.string(),
|
|
3370
|
+
pcb_group_id: z157.string().optional(),
|
|
3371
|
+
subcircuit_id: z157.string().optional(),
|
|
3341
3372
|
layer: layer_ref,
|
|
3342
|
-
points:
|
|
3373
|
+
points: z157.array(point)
|
|
3343
3374
|
}).describe("Defines a polygon region of a ground plane");
|
|
3344
3375
|
expectTypesMatch(true);
|
|
3345
3376
|
|
|
3346
3377
|
// src/pcb/pcb_thermal_spoke.ts
|
|
3347
|
-
import { z as
|
|
3348
|
-
var pcb_thermal_spoke =
|
|
3349
|
-
type:
|
|
3378
|
+
import { z as z158 } from "zod";
|
|
3379
|
+
var pcb_thermal_spoke = z158.object({
|
|
3380
|
+
type: z158.literal("pcb_thermal_spoke"),
|
|
3350
3381
|
pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
|
|
3351
|
-
pcb_ground_plane_id:
|
|
3352
|
-
shape:
|
|
3353
|
-
spoke_count:
|
|
3382
|
+
pcb_ground_plane_id: z158.string(),
|
|
3383
|
+
shape: z158.string(),
|
|
3384
|
+
spoke_count: z158.number(),
|
|
3354
3385
|
spoke_thickness: distance,
|
|
3355
3386
|
spoke_inner_diameter: distance,
|
|
3356
3387
|
spoke_outer_diameter: distance,
|
|
3357
|
-
pcb_plated_hole_id:
|
|
3358
|
-
subcircuit_id:
|
|
3388
|
+
pcb_plated_hole_id: z158.string().optional(),
|
|
3389
|
+
subcircuit_id: z158.string().optional()
|
|
3359
3390
|
}).describe("Pattern for connecting a ground plane to a plated hole");
|
|
3360
3391
|
expectTypesMatch(true);
|
|
3361
3392
|
|
|
3362
3393
|
// src/pcb/pcb_copper_pour.ts
|
|
3363
|
-
import { z as
|
|
3364
|
-
var pcb_copper_pour_base =
|
|
3365
|
-
type:
|
|
3394
|
+
import { z as z159 } from "zod";
|
|
3395
|
+
var pcb_copper_pour_base = z159.object({
|
|
3396
|
+
type: z159.literal("pcb_copper_pour"),
|
|
3366
3397
|
pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
|
|
3367
|
-
pcb_group_id:
|
|
3368
|
-
subcircuit_id:
|
|
3398
|
+
pcb_group_id: z159.string().optional(),
|
|
3399
|
+
subcircuit_id: z159.string().optional(),
|
|
3369
3400
|
layer: layer_ref,
|
|
3370
|
-
source_net_id:
|
|
3371
|
-
covered_with_solder_mask:
|
|
3401
|
+
source_net_id: z159.string().optional(),
|
|
3402
|
+
covered_with_solder_mask: z159.boolean().optional().default(true)
|
|
3372
3403
|
});
|
|
3373
3404
|
var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
3374
|
-
shape:
|
|
3405
|
+
shape: z159.literal("rect"),
|
|
3375
3406
|
center: point,
|
|
3376
3407
|
width: length,
|
|
3377
3408
|
height: length,
|
|
@@ -3379,16 +3410,16 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
|
|
|
3379
3410
|
});
|
|
3380
3411
|
expectTypesMatch(true);
|
|
3381
3412
|
var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
|
|
3382
|
-
shape:
|
|
3413
|
+
shape: z159.literal("brep"),
|
|
3383
3414
|
brep_shape
|
|
3384
3415
|
});
|
|
3385
3416
|
expectTypesMatch(true);
|
|
3386
3417
|
var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
|
|
3387
|
-
shape:
|
|
3388
|
-
points:
|
|
3418
|
+
shape: z159.literal("polygon"),
|
|
3419
|
+
points: z159.array(point)
|
|
3389
3420
|
});
|
|
3390
3421
|
expectTypesMatch(true);
|
|
3391
|
-
var pcb_copper_pour =
|
|
3422
|
+
var pcb_copper_pour = z159.discriminatedUnion("shape", [
|
|
3392
3423
|
pcb_copper_pour_rect,
|
|
3393
3424
|
pcb_copper_pour_brep,
|
|
3394
3425
|
pcb_copper_pour_polygon
|
|
@@ -3396,99 +3427,99 @@ var pcb_copper_pour = z158.discriminatedUnion("shape", [
|
|
|
3396
3427
|
expectTypesMatch(true);
|
|
3397
3428
|
|
|
3398
3429
|
// src/pcb/pcb_component_outside_board_error.ts
|
|
3399
|
-
import { z as
|
|
3430
|
+
import { z as z160 } from "zod";
|
|
3400
3431
|
var pcb_component_outside_board_error = base_circuit_json_error.extend({
|
|
3401
|
-
type:
|
|
3432
|
+
type: z160.literal("pcb_component_outside_board_error"),
|
|
3402
3433
|
pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
|
|
3403
3434
|
"pcb_component_outside_board_error"
|
|
3404
3435
|
),
|
|
3405
|
-
error_type:
|
|
3406
|
-
pcb_component_id:
|
|
3407
|
-
pcb_board_id:
|
|
3436
|
+
error_type: z160.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
|
|
3437
|
+
pcb_component_id: z160.string(),
|
|
3438
|
+
pcb_board_id: z160.string(),
|
|
3408
3439
|
component_center: point,
|
|
3409
|
-
component_bounds:
|
|
3410
|
-
min_x:
|
|
3411
|
-
max_x:
|
|
3412
|
-
min_y:
|
|
3413
|
-
max_y:
|
|
3440
|
+
component_bounds: z160.object({
|
|
3441
|
+
min_x: z160.number(),
|
|
3442
|
+
max_x: z160.number(),
|
|
3443
|
+
min_y: z160.number(),
|
|
3444
|
+
max_y: z160.number()
|
|
3414
3445
|
}),
|
|
3415
|
-
subcircuit_id:
|
|
3416
|
-
source_component_id:
|
|
3446
|
+
subcircuit_id: z160.string().optional(),
|
|
3447
|
+
source_component_id: z160.string().optional()
|
|
3417
3448
|
}).describe(
|
|
3418
3449
|
"Error emitted when a PCB component is placed outside the board boundaries"
|
|
3419
3450
|
);
|
|
3420
3451
|
expectTypesMatch(true);
|
|
3421
3452
|
|
|
3422
3453
|
// src/pcb/pcb_component_not_on_board_edge_error.ts
|
|
3423
|
-
import { z as
|
|
3454
|
+
import { z as z161 } from "zod";
|
|
3424
3455
|
var pcb_component_not_on_board_edge_error = base_circuit_json_error.extend({
|
|
3425
|
-
type:
|
|
3456
|
+
type: z161.literal("pcb_component_not_on_board_edge_error"),
|
|
3426
3457
|
pcb_component_not_on_board_edge_error_id: getZodPrefixedIdWithDefault(
|
|
3427
3458
|
"pcb_component_not_on_board_edge_error"
|
|
3428
3459
|
),
|
|
3429
|
-
error_type:
|
|
3430
|
-
pcb_component_id:
|
|
3431
|
-
pcb_board_id:
|
|
3460
|
+
error_type: z161.literal("pcb_component_not_on_board_edge_error").default("pcb_component_not_on_board_edge_error"),
|
|
3461
|
+
pcb_component_id: z161.string(),
|
|
3462
|
+
pcb_board_id: z161.string(),
|
|
3432
3463
|
component_center: point,
|
|
3433
|
-
pad_to_nearest_board_edge_distance:
|
|
3434
|
-
source_component_id:
|
|
3435
|
-
subcircuit_id:
|
|
3464
|
+
pad_to_nearest_board_edge_distance: z161.number(),
|
|
3465
|
+
source_component_id: z161.string().optional(),
|
|
3466
|
+
subcircuit_id: z161.string().optional()
|
|
3436
3467
|
}).describe(
|
|
3437
3468
|
"Error emitted when a component that must be placed on the board edge is centered away from the edge"
|
|
3438
3469
|
);
|
|
3439
3470
|
expectTypesMatch(true);
|
|
3440
3471
|
|
|
3441
3472
|
// src/pcb/pcb_component_invalid_layer_error.ts
|
|
3442
|
-
import { z as
|
|
3473
|
+
import { z as z162 } from "zod";
|
|
3443
3474
|
var pcb_component_invalid_layer_error = base_circuit_json_error.extend({
|
|
3444
|
-
type:
|
|
3475
|
+
type: z162.literal("pcb_component_invalid_layer_error"),
|
|
3445
3476
|
pcb_component_invalid_layer_error_id: getZodPrefixedIdWithDefault(
|
|
3446
3477
|
"pcb_component_invalid_layer_error"
|
|
3447
3478
|
),
|
|
3448
|
-
error_type:
|
|
3449
|
-
pcb_component_id:
|
|
3450
|
-
source_component_id:
|
|
3479
|
+
error_type: z162.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
|
|
3480
|
+
pcb_component_id: z162.string().optional(),
|
|
3481
|
+
source_component_id: z162.string(),
|
|
3451
3482
|
layer: layer_ref,
|
|
3452
|
-
subcircuit_id:
|
|
3483
|
+
subcircuit_id: z162.string().optional()
|
|
3453
3484
|
}).describe(
|
|
3454
3485
|
"Error emitted when a component is placed on an invalid layer (components can only be on 'top' or 'bottom' layers)"
|
|
3455
3486
|
);
|
|
3456
3487
|
expectTypesMatch(true);
|
|
3457
3488
|
|
|
3458
3489
|
// src/pcb/pcb_via_clearance_error.ts
|
|
3459
|
-
import { z as
|
|
3490
|
+
import { z as z163 } from "zod";
|
|
3460
3491
|
var pcb_via_clearance_error = base_circuit_json_error.extend({
|
|
3461
|
-
type:
|
|
3492
|
+
type: z163.literal("pcb_via_clearance_error"),
|
|
3462
3493
|
pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
|
|
3463
|
-
error_type:
|
|
3464
|
-
pcb_via_ids:
|
|
3494
|
+
error_type: z163.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
|
|
3495
|
+
pcb_via_ids: z163.array(z163.string()).min(2),
|
|
3465
3496
|
minimum_clearance: distance.optional(),
|
|
3466
3497
|
actual_clearance: distance.optional(),
|
|
3467
|
-
pcb_center:
|
|
3468
|
-
x:
|
|
3469
|
-
y:
|
|
3498
|
+
pcb_center: z163.object({
|
|
3499
|
+
x: z163.number().optional(),
|
|
3500
|
+
y: z163.number().optional()
|
|
3470
3501
|
}).optional(),
|
|
3471
|
-
subcircuit_id:
|
|
3502
|
+
subcircuit_id: z163.string().optional()
|
|
3472
3503
|
}).describe("Error emitted when vias are closer than the allowed clearance");
|
|
3473
3504
|
expectTypesMatch(true);
|
|
3474
3505
|
|
|
3475
3506
|
// src/pcb/pcb_via_trace_clearance_error.ts
|
|
3476
|
-
import { z as
|
|
3507
|
+
import { z as z164 } from "zod";
|
|
3477
3508
|
var pcb_via_trace_clearance_error = base_circuit_json_error.extend({
|
|
3478
|
-
type:
|
|
3509
|
+
type: z164.literal("pcb_via_trace_clearance_error"),
|
|
3479
3510
|
pcb_via_trace_clearance_error_id: getZodPrefixedIdWithDefault(
|
|
3480
3511
|
"pcb_via_trace_clearance_error"
|
|
3481
3512
|
),
|
|
3482
|
-
error_type:
|
|
3483
|
-
pcb_via_id:
|
|
3484
|
-
pcb_trace_id:
|
|
3513
|
+
error_type: z164.literal("pcb_via_trace_clearance_error").default("pcb_via_trace_clearance_error"),
|
|
3514
|
+
pcb_via_id: z164.string(),
|
|
3515
|
+
pcb_trace_id: z164.string(),
|
|
3485
3516
|
minimum_clearance: distance.optional(),
|
|
3486
3517
|
actual_clearance: distance.optional(),
|
|
3487
|
-
center:
|
|
3488
|
-
x:
|
|
3489
|
-
y:
|
|
3518
|
+
center: z164.object({
|
|
3519
|
+
x: z164.number().optional(),
|
|
3520
|
+
y: z164.number().optional()
|
|
3490
3521
|
}).optional(),
|
|
3491
|
-
subcircuit_id:
|
|
3522
|
+
subcircuit_id: z164.string().optional()
|
|
3492
3523
|
}).describe(
|
|
3493
3524
|
"Error emitted when a via and trace are closer than the allowed clearance"
|
|
3494
3525
|
);
|
|
@@ -3497,41 +3528,41 @@ expectTypesMatch(
|
|
|
3497
3528
|
);
|
|
3498
3529
|
|
|
3499
3530
|
// src/pcb/pcb_pad_pad_clearance_error.ts
|
|
3500
|
-
import { z as
|
|
3531
|
+
import { z as z165 } from "zod";
|
|
3501
3532
|
var pcb_pad_pad_clearance_error = base_circuit_json_error.extend({
|
|
3502
|
-
type:
|
|
3533
|
+
type: z165.literal("pcb_pad_pad_clearance_error"),
|
|
3503
3534
|
pcb_pad_pad_clearance_error_id: getZodPrefixedIdWithDefault(
|
|
3504
3535
|
"pcb_pad_pad_clearance_error"
|
|
3505
3536
|
),
|
|
3506
|
-
error_type:
|
|
3507
|
-
pcb_pad_ids:
|
|
3537
|
+
error_type: z165.literal("pcb_pad_pad_clearance_error").default("pcb_pad_pad_clearance_error"),
|
|
3538
|
+
pcb_pad_ids: z165.array(z165.string()).min(2),
|
|
3508
3539
|
minimum_clearance: distance.optional(),
|
|
3509
3540
|
actual_clearance: distance.optional(),
|
|
3510
|
-
center:
|
|
3511
|
-
x:
|
|
3512
|
-
y:
|
|
3541
|
+
center: z165.object({
|
|
3542
|
+
x: z165.number().optional(),
|
|
3543
|
+
y: z165.number().optional()
|
|
3513
3544
|
}).optional(),
|
|
3514
|
-
subcircuit_id:
|
|
3545
|
+
subcircuit_id: z165.string().optional()
|
|
3515
3546
|
}).describe("Error emitted when pads are closer than the allowed clearance");
|
|
3516
3547
|
expectTypesMatch(true);
|
|
3517
3548
|
|
|
3518
3549
|
// src/pcb/pcb_pad_trace_clearance_error.ts
|
|
3519
|
-
import { z as
|
|
3550
|
+
import { z as z166 } from "zod";
|
|
3520
3551
|
var pcb_pad_trace_clearance_error = base_circuit_json_error.extend({
|
|
3521
|
-
type:
|
|
3552
|
+
type: z166.literal("pcb_pad_trace_clearance_error"),
|
|
3522
3553
|
pcb_pad_trace_clearance_error_id: getZodPrefixedIdWithDefault(
|
|
3523
3554
|
"pcb_pad_trace_clearance_error"
|
|
3524
3555
|
),
|
|
3525
|
-
error_type:
|
|
3526
|
-
pcb_pad_id:
|
|
3527
|
-
pcb_trace_id:
|
|
3556
|
+
error_type: z166.literal("pcb_pad_trace_clearance_error").default("pcb_pad_trace_clearance_error"),
|
|
3557
|
+
pcb_pad_id: z166.string(),
|
|
3558
|
+
pcb_trace_id: z166.string(),
|
|
3528
3559
|
minimum_clearance: distance.optional(),
|
|
3529
3560
|
actual_clearance: distance.optional(),
|
|
3530
|
-
center:
|
|
3531
|
-
x:
|
|
3532
|
-
y:
|
|
3561
|
+
center: z166.object({
|
|
3562
|
+
x: z166.number().optional(),
|
|
3563
|
+
y: z166.number().optional()
|
|
3533
3564
|
}).optional(),
|
|
3534
|
-
subcircuit_id:
|
|
3565
|
+
subcircuit_id: z166.string().optional()
|
|
3535
3566
|
}).describe(
|
|
3536
3567
|
"Error emitted when a pad and trace are closer than allowed clearance"
|
|
3537
3568
|
);
|
|
@@ -3540,89 +3571,89 @@ expectTypesMatch(
|
|
|
3540
3571
|
);
|
|
3541
3572
|
|
|
3542
3573
|
// src/pcb/pcb_courtyard_rect.ts
|
|
3543
|
-
import { z as
|
|
3544
|
-
var pcb_courtyard_rect =
|
|
3545
|
-
type:
|
|
3574
|
+
import { z as z167 } from "zod";
|
|
3575
|
+
var pcb_courtyard_rect = z167.object({
|
|
3576
|
+
type: z167.literal("pcb_courtyard_rect"),
|
|
3546
3577
|
pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
|
|
3547
|
-
pcb_component_id:
|
|
3548
|
-
pcb_group_id:
|
|
3549
|
-
subcircuit_id:
|
|
3578
|
+
pcb_component_id: z167.string(),
|
|
3579
|
+
pcb_group_id: z167.string().optional(),
|
|
3580
|
+
subcircuit_id: z167.string().optional(),
|
|
3550
3581
|
center: point,
|
|
3551
3582
|
width: length,
|
|
3552
3583
|
height: length,
|
|
3553
3584
|
layer: visible_layer,
|
|
3554
3585
|
ccw_rotation: rotation.optional(),
|
|
3555
|
-
color:
|
|
3586
|
+
color: z167.string().optional()
|
|
3556
3587
|
}).describe("Defines a courtyard rectangle on the PCB");
|
|
3557
3588
|
expectTypesMatch(true);
|
|
3558
3589
|
|
|
3559
3590
|
// src/pcb/pcb_courtyard_outline.ts
|
|
3560
|
-
import { z as
|
|
3561
|
-
var pcb_courtyard_outline =
|
|
3562
|
-
type:
|
|
3591
|
+
import { z as z168 } from "zod";
|
|
3592
|
+
var pcb_courtyard_outline = z168.object({
|
|
3593
|
+
type: z168.literal("pcb_courtyard_outline"),
|
|
3563
3594
|
pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
|
|
3564
3595
|
"pcb_courtyard_outline"
|
|
3565
3596
|
),
|
|
3566
|
-
pcb_component_id:
|
|
3567
|
-
pcb_group_id:
|
|
3568
|
-
subcircuit_id:
|
|
3597
|
+
pcb_component_id: z168.string(),
|
|
3598
|
+
pcb_group_id: z168.string().optional(),
|
|
3599
|
+
subcircuit_id: z168.string().optional(),
|
|
3569
3600
|
layer: visible_layer,
|
|
3570
|
-
outline:
|
|
3601
|
+
outline: z168.array(point).min(2)
|
|
3571
3602
|
}).describe("Defines a courtyard outline on the PCB");
|
|
3572
3603
|
expectTypesMatch(true);
|
|
3573
3604
|
|
|
3574
3605
|
// src/pcb/pcb_courtyard_polygon.ts
|
|
3575
|
-
import { z as
|
|
3576
|
-
var pcb_courtyard_polygon =
|
|
3577
|
-
type:
|
|
3606
|
+
import { z as z169 } from "zod";
|
|
3607
|
+
var pcb_courtyard_polygon = z169.object({
|
|
3608
|
+
type: z169.literal("pcb_courtyard_polygon"),
|
|
3578
3609
|
pcb_courtyard_polygon_id: getZodPrefixedIdWithDefault(
|
|
3579
3610
|
"pcb_courtyard_polygon"
|
|
3580
3611
|
),
|
|
3581
|
-
pcb_component_id:
|
|
3582
|
-
pcb_group_id:
|
|
3583
|
-
subcircuit_id:
|
|
3612
|
+
pcb_component_id: z169.string(),
|
|
3613
|
+
pcb_group_id: z169.string().optional(),
|
|
3614
|
+
subcircuit_id: z169.string().optional(),
|
|
3584
3615
|
layer: visible_layer,
|
|
3585
|
-
points:
|
|
3586
|
-
color:
|
|
3616
|
+
points: z169.array(point).min(3),
|
|
3617
|
+
color: z169.string().optional()
|
|
3587
3618
|
}).describe("Defines a courtyard polygon on the PCB");
|
|
3588
3619
|
expectTypesMatch(true);
|
|
3589
3620
|
|
|
3590
3621
|
// src/pcb/pcb_courtyard_circle.ts
|
|
3591
|
-
import { z as
|
|
3592
|
-
var pcb_courtyard_circle =
|
|
3593
|
-
type:
|
|
3622
|
+
import { z as z170 } from "zod";
|
|
3623
|
+
var pcb_courtyard_circle = z170.object({
|
|
3624
|
+
type: z170.literal("pcb_courtyard_circle"),
|
|
3594
3625
|
pcb_courtyard_circle_id: getZodPrefixedIdWithDefault(
|
|
3595
3626
|
"pcb_courtyard_circle"
|
|
3596
3627
|
),
|
|
3597
|
-
pcb_component_id:
|
|
3598
|
-
pcb_group_id:
|
|
3599
|
-
subcircuit_id:
|
|
3628
|
+
pcb_component_id: z170.string(),
|
|
3629
|
+
pcb_group_id: z170.string().optional(),
|
|
3630
|
+
subcircuit_id: z170.string().optional(),
|
|
3600
3631
|
center: point,
|
|
3601
3632
|
radius: length,
|
|
3602
3633
|
layer: visible_layer,
|
|
3603
|
-
color:
|
|
3634
|
+
color: z170.string().optional()
|
|
3604
3635
|
}).describe("Defines a courtyard circle on the PCB");
|
|
3605
3636
|
expectTypesMatch(true);
|
|
3606
3637
|
|
|
3607
3638
|
// src/pcb/pcb_courtyard_pill.ts
|
|
3608
|
-
import { z as
|
|
3609
|
-
var pcb_courtyard_pill =
|
|
3610
|
-
type:
|
|
3639
|
+
import { z as z171 } from "zod";
|
|
3640
|
+
var pcb_courtyard_pill = z171.object({
|
|
3641
|
+
type: z171.literal("pcb_courtyard_pill"),
|
|
3611
3642
|
pcb_courtyard_pill_id: getZodPrefixedIdWithDefault("pcb_courtyard_pill"),
|
|
3612
|
-
pcb_component_id:
|
|
3613
|
-
pcb_group_id:
|
|
3614
|
-
subcircuit_id:
|
|
3643
|
+
pcb_component_id: z171.string(),
|
|
3644
|
+
pcb_group_id: z171.string().optional(),
|
|
3645
|
+
subcircuit_id: z171.string().optional(),
|
|
3615
3646
|
center: point,
|
|
3616
3647
|
width: length,
|
|
3617
3648
|
height: length,
|
|
3618
3649
|
radius: length,
|
|
3619
3650
|
layer: visible_layer,
|
|
3620
|
-
color:
|
|
3651
|
+
color: z171.string().optional()
|
|
3621
3652
|
}).describe("Defines a courtyard pill on the PCB");
|
|
3622
3653
|
expectTypesMatch(true);
|
|
3623
3654
|
|
|
3624
3655
|
// src/cad/cad_component.ts
|
|
3625
|
-
import { z as
|
|
3656
|
+
import { z as z172 } from "zod";
|
|
3626
3657
|
|
|
3627
3658
|
// src/cad/cad_model_conventions.ts
|
|
3628
3659
|
var cad_model_formats = [
|
|
@@ -3653,50 +3684,50 @@ var cadModelDefaultDirectionMap = {
|
|
|
3653
3684
|
};
|
|
3654
3685
|
|
|
3655
3686
|
// src/cad/cad_component.ts
|
|
3656
|
-
var cad_component =
|
|
3657
|
-
type:
|
|
3658
|
-
cad_component_id:
|
|
3659
|
-
pcb_component_id:
|
|
3660
|
-
source_component_id:
|
|
3687
|
+
var cad_component = z172.object({
|
|
3688
|
+
type: z172.literal("cad_component"),
|
|
3689
|
+
cad_component_id: z172.string(),
|
|
3690
|
+
pcb_component_id: z172.string(),
|
|
3691
|
+
source_component_id: z172.string(),
|
|
3661
3692
|
position: point3,
|
|
3662
3693
|
rotation: point3.optional(),
|
|
3663
3694
|
size: point3.optional(),
|
|
3664
3695
|
layer: layer_ref.optional(),
|
|
3665
|
-
subcircuit_id:
|
|
3696
|
+
subcircuit_id: z172.string().optional(),
|
|
3666
3697
|
// These are all ways to generate/load the 3d model
|
|
3667
|
-
footprinter_string:
|
|
3668
|
-
model_obj_url:
|
|
3669
|
-
model_stl_url:
|
|
3670
|
-
model_3mf_url:
|
|
3671
|
-
model_gltf_url:
|
|
3672
|
-
model_glb_url:
|
|
3673
|
-
model_step_url:
|
|
3674
|
-
model_wrl_url:
|
|
3698
|
+
footprinter_string: z172.string().optional(),
|
|
3699
|
+
model_obj_url: z172.string().optional(),
|
|
3700
|
+
model_stl_url: z172.string().optional(),
|
|
3701
|
+
model_3mf_url: z172.string().optional(),
|
|
3702
|
+
model_gltf_url: z172.string().optional(),
|
|
3703
|
+
model_glb_url: z172.string().optional(),
|
|
3704
|
+
model_step_url: z172.string().optional(),
|
|
3705
|
+
model_wrl_url: z172.string().optional(),
|
|
3675
3706
|
model_asset: asset.optional(),
|
|
3676
|
-
model_unit_to_mm_scale_factor:
|
|
3677
|
-
model_board_normal_direction:
|
|
3707
|
+
model_unit_to_mm_scale_factor: z172.number().optional(),
|
|
3708
|
+
model_board_normal_direction: z172.enum(cad_model_axis_directions).optional().describe(
|
|
3678
3709
|
`The direction in the model's coordinate space that is considered "up" or "coming out of the board surface"`
|
|
3679
3710
|
),
|
|
3680
3711
|
model_origin_position: point3.optional(),
|
|
3681
|
-
model_origin_alignment:
|
|
3712
|
+
model_origin_alignment: z172.enum([
|
|
3682
3713
|
"unknown",
|
|
3683
3714
|
"center",
|
|
3684
3715
|
"center_of_component_on_board_surface",
|
|
3685
3716
|
"bottom_center_of_component"
|
|
3686
3717
|
]).optional(),
|
|
3687
|
-
model_object_fit:
|
|
3688
|
-
model_jscad:
|
|
3689
|
-
show_as_translucent_model:
|
|
3690
|
-
show_as_bounding_box:
|
|
3691
|
-
show_hidden_edges:
|
|
3692
|
-
anchor_alignment:
|
|
3718
|
+
model_object_fit: z172.enum(["contain_within_bounds", "fill_bounds"]).optional().default("contain_within_bounds"),
|
|
3719
|
+
model_jscad: z172.any().optional(),
|
|
3720
|
+
show_as_translucent_model: z172.boolean().optional(),
|
|
3721
|
+
show_as_bounding_box: z172.boolean().optional(),
|
|
3722
|
+
show_hidden_edges: z172.boolean().optional(),
|
|
3723
|
+
anchor_alignment: z172.enum(["center", "center_of_component_on_board_surface"]).optional().default("center")
|
|
3693
3724
|
}).describe("Defines a component on the PCB");
|
|
3694
3725
|
expectTypesMatch(true);
|
|
3695
3726
|
|
|
3696
3727
|
// src/simulation/simulation_voltage_source.ts
|
|
3697
|
-
import { z as
|
|
3698
|
-
var wave_shape =
|
|
3699
|
-
var percentage =
|
|
3728
|
+
import { z as z173 } from "zod";
|
|
3729
|
+
var wave_shape = z173.enum(["sinewave", "square", "triangle", "sawtooth"]);
|
|
3730
|
+
var percentage = z173.union([z173.string(), z173.number()]).transform((val) => {
|
|
3700
3731
|
if (typeof val === "string") {
|
|
3701
3732
|
if (val.endsWith("%")) {
|
|
3702
3733
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -3705,32 +3736,32 @@ var percentage = z172.union([z172.string(), z172.number()]).transform((val) => {
|
|
|
3705
3736
|
}
|
|
3706
3737
|
return val;
|
|
3707
3738
|
}).pipe(
|
|
3708
|
-
|
|
3739
|
+
z173.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
3709
3740
|
);
|
|
3710
|
-
var simulation_dc_voltage_source =
|
|
3711
|
-
type:
|
|
3741
|
+
var simulation_dc_voltage_source = z173.object({
|
|
3742
|
+
type: z173.literal("simulation_voltage_source"),
|
|
3712
3743
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
3713
3744
|
"simulation_voltage_source"
|
|
3714
3745
|
),
|
|
3715
|
-
is_dc_source:
|
|
3716
|
-
positive_source_port_id:
|
|
3717
|
-
negative_source_port_id:
|
|
3718
|
-
positive_source_net_id:
|
|
3719
|
-
negative_source_net_id:
|
|
3746
|
+
is_dc_source: z173.literal(true).optional().default(true),
|
|
3747
|
+
positive_source_port_id: z173.string().optional(),
|
|
3748
|
+
negative_source_port_id: z173.string().optional(),
|
|
3749
|
+
positive_source_net_id: z173.string().optional(),
|
|
3750
|
+
negative_source_net_id: z173.string().optional(),
|
|
3720
3751
|
voltage,
|
|
3721
3752
|
ac_magnitude: voltage.optional(),
|
|
3722
3753
|
ac_phase: rotation.optional()
|
|
3723
3754
|
}).describe("Defines a DC voltage source for simulation");
|
|
3724
|
-
var simulation_ac_voltage_source =
|
|
3725
|
-
type:
|
|
3755
|
+
var simulation_ac_voltage_source = z173.object({
|
|
3756
|
+
type: z173.literal("simulation_voltage_source"),
|
|
3726
3757
|
simulation_voltage_source_id: getZodPrefixedIdWithDefault(
|
|
3727
3758
|
"simulation_voltage_source"
|
|
3728
3759
|
),
|
|
3729
|
-
is_dc_source:
|
|
3730
|
-
terminal1_source_port_id:
|
|
3731
|
-
terminal2_source_port_id:
|
|
3732
|
-
terminal1_source_net_id:
|
|
3733
|
-
terminal2_source_net_id:
|
|
3760
|
+
is_dc_source: z173.literal(false),
|
|
3761
|
+
terminal1_source_port_id: z173.string().optional(),
|
|
3762
|
+
terminal2_source_port_id: z173.string().optional(),
|
|
3763
|
+
terminal1_source_net_id: z173.string().optional(),
|
|
3764
|
+
terminal2_source_net_id: z173.string().optional(),
|
|
3734
3765
|
voltage: voltage.optional(),
|
|
3735
3766
|
frequency: frequency.optional(),
|
|
3736
3767
|
peak_to_peak_voltage: voltage.optional(),
|
|
@@ -3745,14 +3776,14 @@ var simulation_ac_voltage_source = z172.object({
|
|
|
3745
3776
|
ac_magnitude: voltage.optional(),
|
|
3746
3777
|
ac_phase: rotation.optional()
|
|
3747
3778
|
}).describe("Defines an AC voltage source for simulation");
|
|
3748
|
-
var simulation_voltage_source =
|
|
3779
|
+
var simulation_voltage_source = z173.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
|
|
3749
3780
|
expectTypesMatch(true);
|
|
3750
3781
|
expectTypesMatch(true);
|
|
3751
3782
|
expectTypesMatch(true);
|
|
3752
3783
|
|
|
3753
3784
|
// src/simulation/simulation_current_source.ts
|
|
3754
|
-
import { z as
|
|
3755
|
-
var percentage2 =
|
|
3785
|
+
import { z as z174 } from "zod";
|
|
3786
|
+
var percentage2 = z174.union([z174.string(), z174.number()]).transform((val) => {
|
|
3756
3787
|
if (typeof val === "string") {
|
|
3757
3788
|
if (val.endsWith("%")) {
|
|
3758
3789
|
return parseFloat(val.slice(0, -1)) / 100;
|
|
@@ -3761,32 +3792,32 @@ var percentage2 = z173.union([z173.string(), z173.number()]).transform((val) =>
|
|
|
3761
3792
|
}
|
|
3762
3793
|
return val;
|
|
3763
3794
|
}).pipe(
|
|
3764
|
-
|
|
3795
|
+
z174.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
|
|
3765
3796
|
);
|
|
3766
|
-
var simulation_dc_current_source =
|
|
3767
|
-
type:
|
|
3797
|
+
var simulation_dc_current_source = z174.object({
|
|
3798
|
+
type: z174.literal("simulation_current_source"),
|
|
3768
3799
|
simulation_current_source_id: getZodPrefixedIdWithDefault(
|
|
3769
3800
|
"simulation_current_source"
|
|
3770
3801
|
),
|
|
3771
|
-
is_dc_source:
|
|
3772
|
-
positive_source_port_id:
|
|
3773
|
-
negative_source_port_id:
|
|
3774
|
-
positive_source_net_id:
|
|
3775
|
-
negative_source_net_id:
|
|
3802
|
+
is_dc_source: z174.literal(true).optional().default(true),
|
|
3803
|
+
positive_source_port_id: z174.string().optional(),
|
|
3804
|
+
negative_source_port_id: z174.string().optional(),
|
|
3805
|
+
positive_source_net_id: z174.string().optional(),
|
|
3806
|
+
negative_source_net_id: z174.string().optional(),
|
|
3776
3807
|
current,
|
|
3777
3808
|
ac_magnitude: current.optional(),
|
|
3778
3809
|
ac_phase: rotation.optional()
|
|
3779
3810
|
}).describe("Defines a DC current source for simulation");
|
|
3780
|
-
var simulation_ac_current_source =
|
|
3781
|
-
type:
|
|
3811
|
+
var simulation_ac_current_source = z174.object({
|
|
3812
|
+
type: z174.literal("simulation_current_source"),
|
|
3782
3813
|
simulation_current_source_id: getZodPrefixedIdWithDefault(
|
|
3783
3814
|
"simulation_current_source"
|
|
3784
3815
|
),
|
|
3785
|
-
is_dc_source:
|
|
3786
|
-
terminal1_source_port_id:
|
|
3787
|
-
terminal2_source_port_id:
|
|
3788
|
-
terminal1_source_net_id:
|
|
3789
|
-
terminal2_source_net_id:
|
|
3816
|
+
is_dc_source: z174.literal(false),
|
|
3817
|
+
terminal1_source_port_id: z174.string().optional(),
|
|
3818
|
+
terminal2_source_port_id: z174.string().optional(),
|
|
3819
|
+
terminal1_source_net_id: z174.string().optional(),
|
|
3820
|
+
terminal2_source_net_id: z174.string().optional(),
|
|
3790
3821
|
current: current.optional(),
|
|
3791
3822
|
frequency: frequency.optional(),
|
|
3792
3823
|
peak_to_peak_current: current.optional(),
|
|
@@ -3796,58 +3827,58 @@ var simulation_ac_current_source = z173.object({
|
|
|
3796
3827
|
ac_magnitude: current.optional(),
|
|
3797
3828
|
ac_phase: rotation.optional()
|
|
3798
3829
|
}).describe("Defines an AC current source for simulation");
|
|
3799
|
-
var simulation_current_source =
|
|
3830
|
+
var simulation_current_source = z174.union([simulation_dc_current_source, simulation_ac_current_source]).describe("Defines a current source for simulation");
|
|
3800
3831
|
expectTypesMatch(true);
|
|
3801
3832
|
expectTypesMatch(true);
|
|
3802
3833
|
expectTypesMatch(true);
|
|
3803
3834
|
|
|
3804
3835
|
// src/simulation/simulation_experiment.ts
|
|
3805
|
-
import { z as
|
|
3836
|
+
import { z as z176 } from "zod";
|
|
3806
3837
|
|
|
3807
3838
|
// src/simulation/simulation_units.ts
|
|
3808
|
-
import { z as
|
|
3809
|
-
var simulation_dc_sweep_unit =
|
|
3839
|
+
import { z as z175 } from "zod";
|
|
3840
|
+
var simulation_dc_sweep_unit = z175.custom(
|
|
3810
3841
|
(dcSweepUnit) => dcSweepUnit === "V" || dcSweepUnit === "A"
|
|
3811
3842
|
);
|
|
3812
|
-
var simulation_parameter_unit =
|
|
3843
|
+
var simulation_parameter_unit = z175.custom(
|
|
3813
3844
|
(parameterUnit) => parameterUnit === "\u03A9" || parameterUnit === "F" || parameterUnit === "H" || parameterUnit === "V" || parameterUnit === "A"
|
|
3814
3845
|
);
|
|
3815
3846
|
|
|
3816
3847
|
// src/simulation/simulation_experiment.ts
|
|
3817
|
-
var experiment_type =
|
|
3818
|
-
|
|
3819
|
-
|
|
3820
|
-
|
|
3821
|
-
|
|
3848
|
+
var experiment_type = z176.union([
|
|
3849
|
+
z176.literal("spice_dc_sweep"),
|
|
3850
|
+
z176.literal("spice_dc_operating_point"),
|
|
3851
|
+
z176.literal("spice_transient_analysis"),
|
|
3852
|
+
z176.literal("spice_ac_analysis")
|
|
3822
3853
|
]);
|
|
3823
|
-
var spice_simulation_options =
|
|
3824
|
-
method:
|
|
3825
|
-
reltol:
|
|
3826
|
-
abstol:
|
|
3827
|
-
vntol:
|
|
3854
|
+
var spice_simulation_options = z176.object({
|
|
3855
|
+
method: z176.enum(["trap", "gear"]).optional(),
|
|
3856
|
+
reltol: z176.union([z176.number(), z176.string()]).optional(),
|
|
3857
|
+
abstol: z176.union([z176.number(), z176.string()]).optional(),
|
|
3858
|
+
vntol: z176.union([z176.number(), z176.string()]).optional()
|
|
3828
3859
|
}).describe("SPICE solver options for a simulation experiment");
|
|
3829
|
-
var simulation_experiment =
|
|
3830
|
-
type:
|
|
3860
|
+
var simulation_experiment = z176.object({
|
|
3861
|
+
type: z176.literal("simulation_experiment"),
|
|
3831
3862
|
simulation_experiment_id: getZodPrefixedIdWithDefault(
|
|
3832
3863
|
"simulation_experiment"
|
|
3833
3864
|
),
|
|
3834
|
-
name:
|
|
3865
|
+
name: z176.string(),
|
|
3835
3866
|
experiment_type,
|
|
3836
3867
|
time_per_step: duration_ms.optional(),
|
|
3837
3868
|
start_time_ms: ms.optional(),
|
|
3838
3869
|
end_time_ms: ms.optional(),
|
|
3839
3870
|
spice_options: spice_simulation_options.optional(),
|
|
3840
|
-
dc_sweep_voltage_source_id:
|
|
3841
|
-
dc_sweep_current_source_id:
|
|
3842
|
-
dc_sweep_start:
|
|
3843
|
-
dc_sweep_stop:
|
|
3844
|
-
dc_sweep_step:
|
|
3871
|
+
dc_sweep_voltage_source_id: z176.string().optional(),
|
|
3872
|
+
dc_sweep_current_source_id: z176.string().optional(),
|
|
3873
|
+
dc_sweep_start: z176.number().optional(),
|
|
3874
|
+
dc_sweep_stop: z176.number().optional(),
|
|
3875
|
+
dc_sweep_step: z176.number().refine((dcSweepStep) => dcSweepStep !== 0).optional(),
|
|
3845
3876
|
dc_sweep_unit: simulation_dc_sweep_unit.optional(),
|
|
3846
|
-
ac_sweep_type:
|
|
3847
|
-
ac_samples_per_interval:
|
|
3848
|
-
ac_sample_count:
|
|
3849
|
-
ac_start_frequency_hz:
|
|
3850
|
-
ac_stop_frequency_hz:
|
|
3877
|
+
ac_sweep_type: z176.enum(["linear", "decade", "octave"]).optional(),
|
|
3878
|
+
ac_samples_per_interval: z176.number().int().positive().optional(),
|
|
3879
|
+
ac_sample_count: z176.number().int().positive().optional(),
|
|
3880
|
+
ac_start_frequency_hz: z176.number().positive().optional(),
|
|
3881
|
+
ac_stop_frequency_hz: z176.number().positive().optional()
|
|
3851
3882
|
}).superRefine((experiment, context) => {
|
|
3852
3883
|
if (experiment.experiment_type === "spice_dc_sweep") {
|
|
3853
3884
|
const requiredFields = [
|
|
@@ -3859,7 +3890,7 @@ var simulation_experiment = z175.object({
|
|
|
3859
3890
|
for (const field of requiredFields) {
|
|
3860
3891
|
if (experiment[field] === void 0) {
|
|
3861
3892
|
context.addIssue({
|
|
3862
|
-
code:
|
|
3893
|
+
code: z176.ZodIssueCode.custom,
|
|
3863
3894
|
path: [field],
|
|
3864
3895
|
message: `${field} is required for a DC sweep`
|
|
3865
3896
|
});
|
|
@@ -3869,7 +3900,7 @@ var simulation_experiment = z175.object({
|
|
|
3869
3900
|
const hasCurrentSource = experiment.dc_sweep_current_source_id !== void 0;
|
|
3870
3901
|
if (hasVoltageSource === hasCurrentSource) {
|
|
3871
3902
|
context.addIssue({
|
|
3872
|
-
code:
|
|
3903
|
+
code: z176.ZodIssueCode.custom,
|
|
3873
3904
|
path: ["dc_sweep_voltage_source_id"],
|
|
3874
3905
|
message: "Exactly one DC sweep voltage or current source ID is required"
|
|
3875
3906
|
});
|
|
@@ -3878,35 +3909,35 @@ var simulation_experiment = z175.object({
|
|
|
3878
3909
|
if (experiment.experiment_type === "spice_ac_analysis") {
|
|
3879
3910
|
if (experiment.ac_sweep_type === void 0) {
|
|
3880
3911
|
context.addIssue({
|
|
3881
|
-
code:
|
|
3912
|
+
code: z176.ZodIssueCode.custom,
|
|
3882
3913
|
path: ["ac_sweep_type"],
|
|
3883
3914
|
message: "ac_sweep_type is required for an AC analysis"
|
|
3884
3915
|
});
|
|
3885
3916
|
}
|
|
3886
3917
|
if (experiment.ac_start_frequency_hz === void 0) {
|
|
3887
3918
|
context.addIssue({
|
|
3888
|
-
code:
|
|
3919
|
+
code: z176.ZodIssueCode.custom,
|
|
3889
3920
|
path: ["ac_start_frequency_hz"],
|
|
3890
3921
|
message: "ac_start_frequency_hz is required for an AC analysis"
|
|
3891
3922
|
});
|
|
3892
3923
|
}
|
|
3893
3924
|
if (experiment.ac_stop_frequency_hz === void 0) {
|
|
3894
3925
|
context.addIssue({
|
|
3895
|
-
code:
|
|
3926
|
+
code: z176.ZodIssueCode.custom,
|
|
3896
3927
|
path: ["ac_stop_frequency_hz"],
|
|
3897
3928
|
message: "ac_stop_frequency_hz is required for an AC analysis"
|
|
3898
3929
|
});
|
|
3899
3930
|
}
|
|
3900
3931
|
if (experiment.ac_sweep_type === "linear" && experiment.ac_sample_count === void 0) {
|
|
3901
3932
|
context.addIssue({
|
|
3902
|
-
code:
|
|
3933
|
+
code: z176.ZodIssueCode.custom,
|
|
3903
3934
|
path: ["ac_sample_count"],
|
|
3904
3935
|
message: "ac_sample_count is required for a linear AC analysis"
|
|
3905
3936
|
});
|
|
3906
3937
|
}
|
|
3907
3938
|
if ((experiment.ac_sweep_type === "decade" || experiment.ac_sweep_type === "octave") && experiment.ac_samples_per_interval === void 0) {
|
|
3908
3939
|
context.addIssue({
|
|
3909
|
-
code:
|
|
3940
|
+
code: z176.ZodIssueCode.custom,
|
|
3910
3941
|
path: ["ac_samples_per_interval"],
|
|
3911
3942
|
message: "ac_samples_per_interval is required for decade and octave AC analyses"
|
|
3912
3943
|
});
|
|
@@ -3916,87 +3947,87 @@ var simulation_experiment = z175.object({
|
|
|
3916
3947
|
expectTypesMatch(true);
|
|
3917
3948
|
|
|
3918
3949
|
// src/simulation/simulation_transient_voltage_graph.ts
|
|
3919
|
-
import { z as
|
|
3950
|
+
import { z as z178 } from "zod";
|
|
3920
3951
|
|
|
3921
3952
|
// src/simulation/simulation_parameter_sweep_coordinate.ts
|
|
3922
|
-
import { z as
|
|
3923
|
-
var simulation_parameter_sweep_coordinate =
|
|
3924
|
-
simulation_parameter_sweep_id:
|
|
3925
|
-
sweep_index:
|
|
3926
|
-
parameter_value:
|
|
3953
|
+
import { z as z177 } from "zod";
|
|
3954
|
+
var simulation_parameter_sweep_coordinate = z177.object({
|
|
3955
|
+
simulation_parameter_sweep_id: z177.string(),
|
|
3956
|
+
sweep_index: z177.number().int().nonnegative(),
|
|
3957
|
+
parameter_value: z177.number(),
|
|
3927
3958
|
parameter_unit: simulation_parameter_unit
|
|
3928
3959
|
});
|
|
3929
3960
|
expectTypesMatch(true);
|
|
3930
3961
|
|
|
3931
3962
|
// src/simulation/simulation_transient_voltage_graph.ts
|
|
3932
|
-
var simulation_transient_voltage_graph =
|
|
3933
|
-
type:
|
|
3963
|
+
var simulation_transient_voltage_graph = z178.object({
|
|
3964
|
+
type: z178.literal("simulation_transient_voltage_graph"),
|
|
3934
3965
|
simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
|
|
3935
3966
|
"simulation_transient_voltage_graph"
|
|
3936
3967
|
),
|
|
3937
|
-
simulation_experiment_id:
|
|
3968
|
+
simulation_experiment_id: z178.string(),
|
|
3938
3969
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
3939
|
-
timestamps_ms:
|
|
3940
|
-
voltage_levels:
|
|
3941
|
-
source_component_id:
|
|
3942
|
-
subcircuit_connectivity_map_key:
|
|
3970
|
+
timestamps_ms: z178.array(z178.number()).optional(),
|
|
3971
|
+
voltage_levels: z178.array(z178.number()),
|
|
3972
|
+
source_component_id: z178.string().optional(),
|
|
3973
|
+
subcircuit_connectivity_map_key: z178.string().optional(),
|
|
3943
3974
|
time_per_step: duration_ms,
|
|
3944
3975
|
start_time_ms: ms,
|
|
3945
3976
|
end_time_ms: ms,
|
|
3946
|
-
name:
|
|
3947
|
-
color:
|
|
3977
|
+
name: z178.string().optional(),
|
|
3978
|
+
color: z178.string().optional()
|
|
3948
3979
|
}).describe("Stores voltage measurements over time for a simulation");
|
|
3949
3980
|
expectTypesMatch(true);
|
|
3950
3981
|
|
|
3951
3982
|
// src/simulation/simulation_transient_current_graph.ts
|
|
3952
|
-
import { z as
|
|
3953
|
-
var simulation_transient_current_graph =
|
|
3954
|
-
type:
|
|
3983
|
+
import { z as z179 } from "zod";
|
|
3984
|
+
var simulation_transient_current_graph = z179.object({
|
|
3985
|
+
type: z179.literal("simulation_transient_current_graph"),
|
|
3955
3986
|
simulation_transient_current_graph_id: getZodPrefixedIdWithDefault(
|
|
3956
3987
|
"simulation_transient_current_graph"
|
|
3957
3988
|
),
|
|
3958
|
-
simulation_experiment_id:
|
|
3989
|
+
simulation_experiment_id: z179.string(),
|
|
3959
3990
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
3960
|
-
timestamps_ms:
|
|
3961
|
-
current_levels:
|
|
3962
|
-
source_component_id:
|
|
3963
|
-
subcircuit_connectivity_map_key:
|
|
3991
|
+
timestamps_ms: z179.array(z179.number()).optional(),
|
|
3992
|
+
current_levels: z179.array(z179.number()),
|
|
3993
|
+
source_component_id: z179.string().optional(),
|
|
3994
|
+
subcircuit_connectivity_map_key: z179.string().optional(),
|
|
3964
3995
|
time_per_step: duration_ms,
|
|
3965
3996
|
start_time_ms: ms,
|
|
3966
3997
|
end_time_ms: ms,
|
|
3967
|
-
name:
|
|
3968
|
-
color:
|
|
3998
|
+
name: z179.string().optional(),
|
|
3999
|
+
color: z179.string().optional()
|
|
3969
4000
|
}).describe("Stores current measurements over time for a simulation");
|
|
3970
4001
|
expectTypesMatch(true);
|
|
3971
4002
|
|
|
3972
4003
|
// src/simulation/simulation_switch.ts
|
|
3973
|
-
import { z as
|
|
3974
|
-
var simulation_switch =
|
|
3975
|
-
type:
|
|
4004
|
+
import { z as z180 } from "zod";
|
|
4005
|
+
var simulation_switch = z180.object({
|
|
4006
|
+
type: z180.literal("simulation_switch"),
|
|
3976
4007
|
simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
|
|
3977
|
-
source_component_id:
|
|
4008
|
+
source_component_id: z180.string().optional(),
|
|
3978
4009
|
closes_at: ms.optional(),
|
|
3979
4010
|
opens_at: ms.optional(),
|
|
3980
|
-
starts_closed:
|
|
4011
|
+
starts_closed: z180.boolean().optional(),
|
|
3981
4012
|
switching_frequency: frequency.optional()
|
|
3982
4013
|
}).describe("Defines a switch for simulation timing control");
|
|
3983
4014
|
expectTypesMatch(true);
|
|
3984
4015
|
|
|
3985
4016
|
// src/simulation/simulation_voltage_probe.ts
|
|
3986
|
-
import { z as
|
|
3987
|
-
var simulation_voltage_probe =
|
|
3988
|
-
type:
|
|
4017
|
+
import { z as z181 } from "zod";
|
|
4018
|
+
var simulation_voltage_probe = z181.object({
|
|
4019
|
+
type: z181.literal("simulation_voltage_probe"),
|
|
3989
4020
|
simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
|
|
3990
4021
|
"simulation_voltage_probe"
|
|
3991
4022
|
),
|
|
3992
|
-
source_component_id:
|
|
3993
|
-
name:
|
|
3994
|
-
signal_input_source_port_id:
|
|
3995
|
-
signal_input_source_net_id:
|
|
3996
|
-
reference_input_source_port_id:
|
|
3997
|
-
reference_input_source_net_id:
|
|
3998
|
-
subcircuit_id:
|
|
3999
|
-
color:
|
|
4023
|
+
source_component_id: z181.string().optional(),
|
|
4024
|
+
name: z181.string().optional(),
|
|
4025
|
+
signal_input_source_port_id: z181.string().optional(),
|
|
4026
|
+
signal_input_source_net_id: z181.string().optional(),
|
|
4027
|
+
reference_input_source_port_id: z181.string().optional(),
|
|
4028
|
+
reference_input_source_net_id: z181.string().optional(),
|
|
4029
|
+
subcircuit_id: z181.string().optional(),
|
|
4030
|
+
color: z181.string().optional()
|
|
4000
4031
|
}).describe(
|
|
4001
4032
|
"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."
|
|
4002
4033
|
).superRefine((data, ctx) => {
|
|
@@ -4006,20 +4037,20 @@ var simulation_voltage_probe = z180.object({
|
|
|
4006
4037
|
const has_nets = !!data.signal_input_source_net_id || !!data.reference_input_source_net_id;
|
|
4007
4038
|
if (has_ports && has_nets) {
|
|
4008
4039
|
ctx.addIssue({
|
|
4009
|
-
code:
|
|
4040
|
+
code: z181.ZodIssueCode.custom,
|
|
4010
4041
|
message: "Cannot mix port and net connections in a differential probe."
|
|
4011
4042
|
});
|
|
4012
4043
|
} else if (has_ports) {
|
|
4013
4044
|
if (!data.signal_input_source_port_id || !data.reference_input_source_port_id) {
|
|
4014
4045
|
ctx.addIssue({
|
|
4015
|
-
code:
|
|
4046
|
+
code: z181.ZodIssueCode.custom,
|
|
4016
4047
|
message: "Differential port probe requires both signal_input_source_port_id and reference_input_source_port_id."
|
|
4017
4048
|
});
|
|
4018
4049
|
}
|
|
4019
4050
|
} else if (has_nets) {
|
|
4020
4051
|
if (!data.signal_input_source_net_id || !data.reference_input_source_net_id) {
|
|
4021
4052
|
ctx.addIssue({
|
|
4022
|
-
code:
|
|
4053
|
+
code: z181.ZodIssueCode.custom,
|
|
4023
4054
|
message: "Differential net probe requires both signal_input_source_net_id and reference_input_source_net_id."
|
|
4024
4055
|
});
|
|
4025
4056
|
}
|
|
@@ -4027,7 +4058,7 @@ var simulation_voltage_probe = z180.object({
|
|
|
4027
4058
|
} else {
|
|
4028
4059
|
if (!!data.signal_input_source_port_id === !!data.signal_input_source_net_id) {
|
|
4029
4060
|
ctx.addIssue({
|
|
4030
|
-
code:
|
|
4061
|
+
code: z181.ZodIssueCode.custom,
|
|
4031
4062
|
message: "A voltage probe must have exactly one of signal_input_source_port_id or signal_input_source_net_id."
|
|
4032
4063
|
});
|
|
4033
4064
|
}
|
|
@@ -4036,20 +4067,20 @@ var simulation_voltage_probe = z180.object({
|
|
|
4036
4067
|
expectTypesMatch(true);
|
|
4037
4068
|
|
|
4038
4069
|
// src/simulation/simulation_current_probe.ts
|
|
4039
|
-
import { z as
|
|
4040
|
-
var simulation_current_probe =
|
|
4041
|
-
type:
|
|
4070
|
+
import { z as z182 } from "zod";
|
|
4071
|
+
var simulation_current_probe = z182.object({
|
|
4072
|
+
type: z182.literal("simulation_current_probe"),
|
|
4042
4073
|
simulation_current_probe_id: getZodPrefixedIdWithDefault(
|
|
4043
4074
|
"simulation_current_probe"
|
|
4044
4075
|
),
|
|
4045
|
-
source_component_id:
|
|
4046
|
-
name:
|
|
4047
|
-
positive_source_port_id:
|
|
4048
|
-
negative_source_port_id:
|
|
4049
|
-
positive_source_net_id:
|
|
4050
|
-
negative_source_net_id:
|
|
4051
|
-
subcircuit_id:
|
|
4052
|
-
color:
|
|
4076
|
+
source_component_id: z182.string().optional(),
|
|
4077
|
+
name: z182.string().optional(),
|
|
4078
|
+
positive_source_port_id: z182.string().optional(),
|
|
4079
|
+
negative_source_port_id: z182.string().optional(),
|
|
4080
|
+
positive_source_net_id: z182.string().optional(),
|
|
4081
|
+
negative_source_net_id: z182.string().optional(),
|
|
4082
|
+
subcircuit_id: z182.string().optional(),
|
|
4083
|
+
color: z182.string().optional()
|
|
4053
4084
|
}).describe(
|
|
4054
4085
|
"Defines a current probe for simulation. It measures current flowing from the positive endpoint to the negative endpoint."
|
|
4055
4086
|
).superRefine((data, ctx) => {
|
|
@@ -4061,7 +4092,7 @@ var simulation_current_probe = z181.object({
|
|
|
4061
4092
|
const hasNets = hasPositiveNet || hasNegativeNet;
|
|
4062
4093
|
if (hasPorts && hasNets) {
|
|
4063
4094
|
ctx.addIssue({
|
|
4064
|
-
code:
|
|
4095
|
+
code: z182.ZodIssueCode.custom,
|
|
4065
4096
|
message: "Cannot mix port and net connections in a current probe."
|
|
4066
4097
|
});
|
|
4067
4098
|
return;
|
|
@@ -4069,7 +4100,7 @@ var simulation_current_probe = z181.object({
|
|
|
4069
4100
|
if (hasPorts) {
|
|
4070
4101
|
if (!hasPositivePort || !hasNegativePort) {
|
|
4071
4102
|
ctx.addIssue({
|
|
4072
|
-
code:
|
|
4103
|
+
code: z182.ZodIssueCode.custom,
|
|
4073
4104
|
message: "Current probe using source ports requires both positive_source_port_id and negative_source_port_id."
|
|
4074
4105
|
});
|
|
4075
4106
|
}
|
|
@@ -4078,71 +4109,71 @@ var simulation_current_probe = z181.object({
|
|
|
4078
4109
|
if (hasNets) {
|
|
4079
4110
|
if (!hasPositiveNet || !hasNegativeNet) {
|
|
4080
4111
|
ctx.addIssue({
|
|
4081
|
-
code:
|
|
4112
|
+
code: z182.ZodIssueCode.custom,
|
|
4082
4113
|
message: "Current probe using source nets requires both positive_source_net_id and negative_source_net_id."
|
|
4083
4114
|
});
|
|
4084
4115
|
}
|
|
4085
4116
|
return;
|
|
4086
4117
|
}
|
|
4087
4118
|
ctx.addIssue({
|
|
4088
|
-
code:
|
|
4119
|
+
code: z182.ZodIssueCode.custom,
|
|
4089
4120
|
message: "A current probe must have either positive/negative source port ids or positive/negative source net ids."
|
|
4090
4121
|
});
|
|
4091
4122
|
});
|
|
4092
4123
|
expectTypesMatch(true);
|
|
4093
4124
|
|
|
4094
4125
|
// src/simulation/simulation_unknown_experiment_error.ts
|
|
4095
|
-
import { z as
|
|
4126
|
+
import { z as z183 } from "zod";
|
|
4096
4127
|
var simulation_unknown_experiment_error = base_circuit_json_error.extend({
|
|
4097
|
-
type:
|
|
4128
|
+
type: z183.literal("simulation_unknown_experiment_error"),
|
|
4098
4129
|
simulation_unknown_experiment_error_id: getZodPrefixedIdWithDefault(
|
|
4099
4130
|
"simulation_unknown_experiment_error"
|
|
4100
4131
|
),
|
|
4101
|
-
error_type:
|
|
4102
|
-
simulation_experiment_id:
|
|
4103
|
-
subcircuit_id:
|
|
4132
|
+
error_type: z183.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
|
|
4133
|
+
simulation_experiment_id: z183.string().optional(),
|
|
4134
|
+
subcircuit_id: z183.string().optional()
|
|
4104
4135
|
}).describe("An unknown error occurred during the simulation experiment.");
|
|
4105
4136
|
expectTypesMatch(true);
|
|
4106
4137
|
|
|
4107
4138
|
// src/simulation/simulation_parameter_sweep.ts
|
|
4108
|
-
import { z as
|
|
4109
|
-
var simulation_parameter_type =
|
|
4139
|
+
import { z as z184 } from "zod";
|
|
4140
|
+
var simulation_parameter_type = z184.enum([
|
|
4110
4141
|
"resistance",
|
|
4111
4142
|
"capacitance",
|
|
4112
4143
|
"inductance",
|
|
4113
4144
|
"voltage",
|
|
4114
4145
|
"current"
|
|
4115
4146
|
]);
|
|
4116
|
-
var simulation_parameter_sweep_base =
|
|
4117
|
-
type:
|
|
4147
|
+
var simulation_parameter_sweep_base = z184.object({
|
|
4148
|
+
type: z184.literal("simulation_parameter_sweep"),
|
|
4118
4149
|
simulation_parameter_sweep_id: getZodPrefixedIdWithDefault(
|
|
4119
4150
|
"simulation_parameter_sweep"
|
|
4120
4151
|
),
|
|
4121
|
-
simulation_experiment_id:
|
|
4122
|
-
name:
|
|
4123
|
-
parameter_values:
|
|
4152
|
+
simulation_experiment_id: z184.string(),
|
|
4153
|
+
name: z184.string().optional(),
|
|
4154
|
+
parameter_values: z184.array(z184.number()).min(1),
|
|
4124
4155
|
parameter_unit: simulation_parameter_unit
|
|
4125
4156
|
});
|
|
4126
|
-
var simulation_parameter_sweep =
|
|
4157
|
+
var simulation_parameter_sweep = z184.discriminatedUnion("parameter_type", [
|
|
4127
4158
|
simulation_parameter_sweep_base.extend({
|
|
4128
|
-
parameter_type:
|
|
4129
|
-
resistor_source_component_id:
|
|
4159
|
+
parameter_type: z184.literal("resistance"),
|
|
4160
|
+
resistor_source_component_id: z184.string()
|
|
4130
4161
|
}),
|
|
4131
4162
|
simulation_parameter_sweep_base.extend({
|
|
4132
|
-
parameter_type:
|
|
4133
|
-
capacitor_source_component_id:
|
|
4163
|
+
parameter_type: z184.literal("capacitance"),
|
|
4164
|
+
capacitor_source_component_id: z184.string()
|
|
4134
4165
|
}),
|
|
4135
4166
|
simulation_parameter_sweep_base.extend({
|
|
4136
|
-
parameter_type:
|
|
4137
|
-
inductor_source_component_id:
|
|
4167
|
+
parameter_type: z184.literal("inductance"),
|
|
4168
|
+
inductor_source_component_id: z184.string()
|
|
4138
4169
|
}),
|
|
4139
4170
|
simulation_parameter_sweep_base.extend({
|
|
4140
|
-
parameter_type:
|
|
4141
|
-
source_net_id:
|
|
4171
|
+
parameter_type: z184.literal("voltage"),
|
|
4172
|
+
source_net_id: z184.string()
|
|
4142
4173
|
}),
|
|
4143
4174
|
simulation_parameter_sweep_base.extend({
|
|
4144
|
-
parameter_type:
|
|
4145
|
-
current_source_component_id:
|
|
4175
|
+
parameter_type: z184.literal("current"),
|
|
4176
|
+
current_source_component_id: z184.string()
|
|
4146
4177
|
})
|
|
4147
4178
|
]).describe("Repeats a simulation experiment over component parameter values");
|
|
4148
4179
|
expectTypesMatch(
|
|
@@ -4150,52 +4181,52 @@ expectTypesMatch(
|
|
|
4150
4181
|
);
|
|
4151
4182
|
|
|
4152
4183
|
// src/simulation/simulation_dc_operating_point_voltage.ts
|
|
4153
|
-
import { z as
|
|
4154
|
-
var simulation_dc_operating_point_voltage =
|
|
4155
|
-
type:
|
|
4184
|
+
import { z as z185 } from "zod";
|
|
4185
|
+
var simulation_dc_operating_point_voltage = z185.object({
|
|
4186
|
+
type: z185.literal("simulation_dc_operating_point_voltage"),
|
|
4156
4187
|
simulation_dc_operating_point_voltage_id: getZodPrefixedIdWithDefault(
|
|
4157
4188
|
"simulation_dc_operating_point_voltage"
|
|
4158
4189
|
),
|
|
4159
|
-
simulation_experiment_id:
|
|
4190
|
+
simulation_experiment_id: z185.string(),
|
|
4160
4191
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4161
|
-
simulation_voltage_probe_id:
|
|
4162
|
-
voltage:
|
|
4163
|
-
name:
|
|
4164
|
-
color:
|
|
4192
|
+
simulation_voltage_probe_id: z185.string(),
|
|
4193
|
+
voltage: z185.number(),
|
|
4194
|
+
name: z185.string().optional(),
|
|
4195
|
+
color: z185.string().optional()
|
|
4165
4196
|
});
|
|
4166
4197
|
expectTypesMatch(true);
|
|
4167
4198
|
|
|
4168
4199
|
// src/simulation/simulation_dc_operating_point_current.ts
|
|
4169
|
-
import { z as
|
|
4170
|
-
var simulation_dc_operating_point_current =
|
|
4171
|
-
type:
|
|
4200
|
+
import { z as z186 } from "zod";
|
|
4201
|
+
var simulation_dc_operating_point_current = z186.object({
|
|
4202
|
+
type: z186.literal("simulation_dc_operating_point_current"),
|
|
4172
4203
|
simulation_dc_operating_point_current_id: getZodPrefixedIdWithDefault(
|
|
4173
4204
|
"simulation_dc_operating_point_current"
|
|
4174
4205
|
),
|
|
4175
|
-
simulation_experiment_id:
|
|
4206
|
+
simulation_experiment_id: z186.string(),
|
|
4176
4207
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4177
|
-
simulation_current_probe_id:
|
|
4178
|
-
current:
|
|
4179
|
-
name:
|
|
4180
|
-
color:
|
|
4208
|
+
simulation_current_probe_id: z186.string(),
|
|
4209
|
+
current: z186.number(),
|
|
4210
|
+
name: z186.string().optional(),
|
|
4211
|
+
color: z186.string().optional()
|
|
4181
4212
|
});
|
|
4182
4213
|
expectTypesMatch(true);
|
|
4183
4214
|
|
|
4184
4215
|
// src/simulation/simulation_dc_sweep_voltage_graph.ts
|
|
4185
|
-
import { z as
|
|
4186
|
-
var simulation_dc_sweep_voltage_graph =
|
|
4187
|
-
type:
|
|
4216
|
+
import { z as z187 } from "zod";
|
|
4217
|
+
var simulation_dc_sweep_voltage_graph = z187.object({
|
|
4218
|
+
type: z187.literal("simulation_dc_sweep_voltage_graph"),
|
|
4188
4219
|
simulation_dc_sweep_voltage_graph_id: getZodPrefixedIdWithDefault(
|
|
4189
4220
|
"simulation_dc_sweep_voltage_graph"
|
|
4190
4221
|
),
|
|
4191
|
-
simulation_experiment_id:
|
|
4222
|
+
simulation_experiment_id: z187.string(),
|
|
4192
4223
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4193
|
-
simulation_voltage_probe_id:
|
|
4194
|
-
sweep_values:
|
|
4224
|
+
simulation_voltage_probe_id: z187.string(),
|
|
4225
|
+
sweep_values: z187.array(z187.number()),
|
|
4195
4226
|
sweep_unit: simulation_dc_sweep_unit,
|
|
4196
|
-
voltage_levels:
|
|
4197
|
-
name:
|
|
4198
|
-
color:
|
|
4227
|
+
voltage_levels: z187.array(z187.number()),
|
|
4228
|
+
name: z187.string().optional(),
|
|
4229
|
+
color: z187.string().optional()
|
|
4199
4230
|
}).refine(
|
|
4200
4231
|
(graph) => graph.sweep_values.length === graph.voltage_levels.length,
|
|
4201
4232
|
{
|
|
@@ -4205,20 +4236,20 @@ var simulation_dc_sweep_voltage_graph = z186.object({
|
|
|
4205
4236
|
expectTypesMatch(true);
|
|
4206
4237
|
|
|
4207
4238
|
// src/simulation/simulation_dc_sweep_current_graph.ts
|
|
4208
|
-
import { z as
|
|
4209
|
-
var simulation_dc_sweep_current_graph =
|
|
4210
|
-
type:
|
|
4239
|
+
import { z as z188 } from "zod";
|
|
4240
|
+
var simulation_dc_sweep_current_graph = z188.object({
|
|
4241
|
+
type: z188.literal("simulation_dc_sweep_current_graph"),
|
|
4211
4242
|
simulation_dc_sweep_current_graph_id: getZodPrefixedIdWithDefault(
|
|
4212
4243
|
"simulation_dc_sweep_current_graph"
|
|
4213
4244
|
),
|
|
4214
|
-
simulation_experiment_id:
|
|
4245
|
+
simulation_experiment_id: z188.string(),
|
|
4215
4246
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4216
|
-
simulation_current_probe_id:
|
|
4217
|
-
sweep_values:
|
|
4247
|
+
simulation_current_probe_id: z188.string(),
|
|
4248
|
+
sweep_values: z188.array(z188.number()),
|
|
4218
4249
|
sweep_unit: simulation_dc_sweep_unit,
|
|
4219
|
-
current_levels:
|
|
4220
|
-
name:
|
|
4221
|
-
color:
|
|
4250
|
+
current_levels: z188.array(z188.number()),
|
|
4251
|
+
name: z188.string().optional(),
|
|
4252
|
+
color: z188.string().optional()
|
|
4222
4253
|
}).refine(
|
|
4223
4254
|
(graph) => graph.sweep_values.length === graph.current_levels.length,
|
|
4224
4255
|
{
|
|
@@ -4228,29 +4259,29 @@ var simulation_dc_sweep_current_graph = z187.object({
|
|
|
4228
4259
|
expectTypesMatch(true);
|
|
4229
4260
|
|
|
4230
4261
|
// src/simulation/simulation_ac_sweep_voltage_graph.ts
|
|
4231
|
-
import { z as
|
|
4262
|
+
import { z as z190 } from "zod";
|
|
4232
4263
|
|
|
4233
4264
|
// src/simulation/simulation_complex_sample.ts
|
|
4234
|
-
import { z as
|
|
4235
|
-
var simulation_complex_sample =
|
|
4236
|
-
re:
|
|
4237
|
-
im:
|
|
4265
|
+
import { z as z189 } from "zod";
|
|
4266
|
+
var simulation_complex_sample = z189.object({
|
|
4267
|
+
re: z189.number(),
|
|
4268
|
+
im: z189.number()
|
|
4238
4269
|
});
|
|
4239
4270
|
expectTypesMatch(true);
|
|
4240
4271
|
|
|
4241
4272
|
// src/simulation/simulation_ac_sweep_voltage_graph.ts
|
|
4242
|
-
var simulation_ac_sweep_voltage_graph =
|
|
4243
|
-
type:
|
|
4273
|
+
var simulation_ac_sweep_voltage_graph = z190.object({
|
|
4274
|
+
type: z190.literal("simulation_ac_sweep_voltage_graph"),
|
|
4244
4275
|
simulation_ac_sweep_voltage_graph_id: getZodPrefixedIdWithDefault(
|
|
4245
4276
|
"simulation_ac_sweep_voltage_graph"
|
|
4246
4277
|
),
|
|
4247
|
-
simulation_experiment_id:
|
|
4278
|
+
simulation_experiment_id: z190.string(),
|
|
4248
4279
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4249
|
-
simulation_voltage_probe_id:
|
|
4250
|
-
frequencies_hz:
|
|
4251
|
-
complex_voltages:
|
|
4252
|
-
name:
|
|
4253
|
-
color:
|
|
4280
|
+
simulation_voltage_probe_id: z190.string(),
|
|
4281
|
+
frequencies_hz: z190.array(z190.number()),
|
|
4282
|
+
complex_voltages: z190.array(simulation_complex_sample),
|
|
4283
|
+
name: z190.string().optional(),
|
|
4284
|
+
color: z190.string().optional()
|
|
4254
4285
|
}).refine(
|
|
4255
4286
|
(graph) => graph.frequencies_hz.length === graph.complex_voltages.length,
|
|
4256
4287
|
{
|
|
@@ -4260,19 +4291,19 @@ var simulation_ac_sweep_voltage_graph = z189.object({
|
|
|
4260
4291
|
expectTypesMatch(true);
|
|
4261
4292
|
|
|
4262
4293
|
// src/simulation/simulation_ac_sweep_current_graph.ts
|
|
4263
|
-
import { z as
|
|
4264
|
-
var simulation_ac_sweep_current_graph =
|
|
4265
|
-
type:
|
|
4294
|
+
import { z as z191 } from "zod";
|
|
4295
|
+
var simulation_ac_sweep_current_graph = z191.object({
|
|
4296
|
+
type: z191.literal("simulation_ac_sweep_current_graph"),
|
|
4266
4297
|
simulation_ac_sweep_current_graph_id: getZodPrefixedIdWithDefault(
|
|
4267
4298
|
"simulation_ac_sweep_current_graph"
|
|
4268
4299
|
),
|
|
4269
|
-
simulation_experiment_id:
|
|
4300
|
+
simulation_experiment_id: z191.string(),
|
|
4270
4301
|
simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
|
|
4271
|
-
simulation_current_probe_id:
|
|
4272
|
-
frequencies_hz:
|
|
4273
|
-
complex_currents:
|
|
4274
|
-
name:
|
|
4275
|
-
color:
|
|
4302
|
+
simulation_current_probe_id: z191.string(),
|
|
4303
|
+
frequencies_hz: z191.array(z191.number()),
|
|
4304
|
+
complex_currents: z191.array(simulation_complex_sample),
|
|
4305
|
+
name: z191.string().optional(),
|
|
4306
|
+
color: z191.string().optional()
|
|
4276
4307
|
}).refine(
|
|
4277
4308
|
(graph) => graph.frequencies_hz.length === graph.complex_currents.length,
|
|
4278
4309
|
{
|
|
@@ -4282,52 +4313,52 @@ var simulation_ac_sweep_current_graph = z190.object({
|
|
|
4282
4313
|
expectTypesMatch(true);
|
|
4283
4314
|
|
|
4284
4315
|
// src/simulation/simulation_op_amp.ts
|
|
4285
|
-
import { z as
|
|
4286
|
-
var simulation_op_amp =
|
|
4287
|
-
type:
|
|
4316
|
+
import { z as z192 } from "zod";
|
|
4317
|
+
var simulation_op_amp = z192.object({
|
|
4318
|
+
type: z192.literal("simulation_op_amp"),
|
|
4288
4319
|
simulation_op_amp_id: getZodPrefixedIdWithDefault("simulation_op_amp"),
|
|
4289
|
-
source_component_id:
|
|
4290
|
-
inverting_input_source_port_id:
|
|
4291
|
-
non_inverting_input_source_port_id:
|
|
4292
|
-
output_source_port_id:
|
|
4293
|
-
positive_supply_source_port_id:
|
|
4294
|
-
negative_supply_source_port_id:
|
|
4320
|
+
source_component_id: z192.string().optional(),
|
|
4321
|
+
inverting_input_source_port_id: z192.string(),
|
|
4322
|
+
non_inverting_input_source_port_id: z192.string(),
|
|
4323
|
+
output_source_port_id: z192.string(),
|
|
4324
|
+
positive_supply_source_port_id: z192.string(),
|
|
4325
|
+
negative_supply_source_port_id: z192.string()
|
|
4295
4326
|
}).describe("Defines a simple ideal operational amplifier for simulation");
|
|
4296
4327
|
expectTypesMatch(true);
|
|
4297
4328
|
|
|
4298
4329
|
// src/simulation/simulation_spice_subcircuit.ts
|
|
4299
|
-
import { z as
|
|
4300
|
-
var simulation_spice_subcircuit =
|
|
4301
|
-
type:
|
|
4330
|
+
import { z as z193 } from "zod";
|
|
4331
|
+
var simulation_spice_subcircuit = z193.object({
|
|
4332
|
+
type: z193.literal("simulation_spice_subcircuit"),
|
|
4302
4333
|
simulation_spice_subcircuit_id: getZodPrefixedIdWithDefault(
|
|
4303
4334
|
"simulation_spice_subcircuit"
|
|
4304
4335
|
),
|
|
4305
|
-
source_component_id:
|
|
4306
|
-
spice_pin_to_source_port_map:
|
|
4307
|
-
subcircuit_source:
|
|
4336
|
+
source_component_id: z193.string(),
|
|
4337
|
+
spice_pin_to_source_port_map: z193.record(z193.string(), z193.string()),
|
|
4338
|
+
subcircuit_source: z193.string()
|
|
4308
4339
|
}).describe("Defines a custom SPICE subcircuit model for simulation");
|
|
4309
4340
|
expectTypesMatch(
|
|
4310
4341
|
true
|
|
4311
4342
|
);
|
|
4312
4343
|
|
|
4313
4344
|
// src/simulation/simulation_oscilloscope_trace.ts
|
|
4314
|
-
import { z as
|
|
4345
|
+
import { z as z194 } from "zod";
|
|
4315
4346
|
var hasValue = (value) => value !== void 0;
|
|
4316
|
-
var simulation_oscilloscope_trace =
|
|
4317
|
-
type:
|
|
4347
|
+
var simulation_oscilloscope_trace = z194.object({
|
|
4348
|
+
type: z194.literal("simulation_oscilloscope_trace"),
|
|
4318
4349
|
simulation_oscilloscope_trace_id: getZodPrefixedIdWithDefault(
|
|
4319
4350
|
"simulation_oscilloscope_trace"
|
|
4320
4351
|
),
|
|
4321
|
-
simulation_transient_voltage_graph_id:
|
|
4322
|
-
simulation_transient_current_graph_id:
|
|
4323
|
-
simulation_voltage_probe_id:
|
|
4324
|
-
simulation_current_probe_id:
|
|
4325
|
-
display_name:
|
|
4326
|
-
color:
|
|
4327
|
-
display_center_value:
|
|
4328
|
-
display_center_offset_divs:
|
|
4329
|
-
volts_per_div:
|
|
4330
|
-
amps_per_div:
|
|
4352
|
+
simulation_transient_voltage_graph_id: z194.string().optional(),
|
|
4353
|
+
simulation_transient_current_graph_id: z194.string().optional(),
|
|
4354
|
+
simulation_voltage_probe_id: z194.string().optional(),
|
|
4355
|
+
simulation_current_probe_id: z194.string().optional(),
|
|
4356
|
+
display_name: z194.string().optional(),
|
|
4357
|
+
color: z194.string().optional(),
|
|
4358
|
+
display_center_value: z194.number().optional(),
|
|
4359
|
+
display_center_offset_divs: z194.number().optional(),
|
|
4360
|
+
volts_per_div: z194.number().positive().optional(),
|
|
4361
|
+
amps_per_div: z194.number().positive().optional()
|
|
4331
4362
|
}).describe(
|
|
4332
4363
|
"Defines how a simulation measurement is rendered as an oscilloscope-style trace."
|
|
4333
4364
|
).superRefine((data, ctx) => {
|
|
@@ -4341,19 +4372,19 @@ var simulation_oscilloscope_trace = z193.object({
|
|
|
4341
4372
|
].filter(hasValue).length;
|
|
4342
4373
|
if (voltageReferences + currentReferences !== 1) {
|
|
4343
4374
|
ctx.addIssue({
|
|
4344
|
-
code:
|
|
4375
|
+
code: z194.ZodIssueCode.custom,
|
|
4345
4376
|
message: "An oscilloscope trace must reference exactly one voltage graph, current graph, voltage probe, or current probe."
|
|
4346
4377
|
});
|
|
4347
4378
|
}
|
|
4348
4379
|
if (voltageReferences > 0 && data.amps_per_div !== void 0) {
|
|
4349
4380
|
ctx.addIssue({
|
|
4350
|
-
code:
|
|
4381
|
+
code: z194.ZodIssueCode.custom,
|
|
4351
4382
|
message: "Voltage oscilloscope traces must use volts_per_div, not amps_per_div."
|
|
4352
4383
|
});
|
|
4353
4384
|
}
|
|
4354
4385
|
if (currentReferences > 0 && data.volts_per_div !== void 0) {
|
|
4355
4386
|
ctx.addIssue({
|
|
4356
|
-
code:
|
|
4387
|
+
code: z194.ZodIssueCode.custom,
|
|
4357
4388
|
message: "Current oscilloscope traces must use amps_per_div, not volts_per_div."
|
|
4358
4389
|
});
|
|
4359
4390
|
}
|
|
@@ -4361,8 +4392,8 @@ var simulation_oscilloscope_trace = z193.object({
|
|
|
4361
4392
|
expectTypesMatch(true);
|
|
4362
4393
|
|
|
4363
4394
|
// src/any_circuit_element.ts
|
|
4364
|
-
import { z as
|
|
4365
|
-
var any_circuit_element =
|
|
4395
|
+
import { z as z195 } from "zod";
|
|
4396
|
+
var any_circuit_element = z195.union([
|
|
4366
4397
|
source_trace,
|
|
4367
4398
|
source_port,
|
|
4368
4399
|
source_component_internal_connection,
|
|
@@ -4493,6 +4524,7 @@ var any_circuit_element = z194.union([
|
|
|
4493
4524
|
schematic_voltage_probe,
|
|
4494
4525
|
schematic_manual_edit_conflict_warning,
|
|
4495
4526
|
schematic_component_overlap_warning,
|
|
4527
|
+
schematic_component_styling_warning,
|
|
4496
4528
|
schematic_element_outside_sheet_warning,
|
|
4497
4529
|
schematic_group,
|
|
4498
4530
|
schematic_sheet,
|
|
@@ -4677,6 +4709,7 @@ export {
|
|
|
4677
4709
|
schematic_component_overlap_warning,
|
|
4678
4710
|
schematic_component_port_arrangement_by_sides,
|
|
4679
4711
|
schematic_component_port_arrangement_by_size,
|
|
4712
|
+
schematic_component_styling_warning,
|
|
4680
4713
|
schematic_debug_line,
|
|
4681
4714
|
schematic_debug_object,
|
|
4682
4715
|
schematic_debug_object_base,
|
|
@@ -4760,6 +4793,7 @@ export {
|
|
|
4760
4793
|
source_simple_capacitor,
|
|
4761
4794
|
source_simple_chip,
|
|
4762
4795
|
source_simple_connector,
|
|
4796
|
+
source_simple_connector_standards,
|
|
4763
4797
|
source_simple_crystal,
|
|
4764
4798
|
source_simple_current_source,
|
|
4765
4799
|
source_simple_diode,
|