@tscircuit/core 0.0.107 → 0.0.108

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.
Files changed (3) hide show
  1. package/dist/index.d.ts +1190 -1097
  2. package/dist/index.js +251 -184
  3. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@ import { PcbTraceError, PcbPlacementError, LayerRef, AnyCircuitElement, AnySourc
6
6
  import { SoupUtilObjects } from '@tscircuit/soup-util';
7
7
  import { Matrix } from 'transformation-matrix';
8
8
  import * as Props from '@tscircuit/props';
9
- import { traceProps, groupProps, boardProps, footprintProps, smtPadProps, resistorProps, ledProps, diodeProps, capacitorProps, traceHintProps, chipProps, jumperProps, silkscreenPathProps, platedHoleProps, constraintProps, holeProps, silkscreenTextProps, pcbKeepoutProps, fabricationNoteTextProps, fabricationNotePathProps, viaProps } from '@tscircuit/props';
9
+ import { traceProps, groupProps, boardProps, capacitorProps, chipProps, diodeProps, jumperProps, ledProps, resistorProps, constraintProps, fabricationNotePathProps, fabricationNoteTextProps, footprintProps, holeProps, pcbKeepoutProps, platedHoleProps, silkscreenCircleProps, silkscreenPathProps, silkscreenRectProps, silkscreenTextProps, smtPadProps, traceHintProps, viaProps } from '@tscircuit/props';
10
10
 
11
11
  declare const orderedRenderPhases: readonly ["ReactSubtreesRender", "InitializePortsFromChildren", "CreateNetsFromProps", "CreateTracesFromProps", "CreateTraceHintsFromProps", "SourceRender", "SourceParentAttachment", "PortDiscovery", "PortMatching", "SourceTraceRender", "SchematicComponentRender", "SchematicLayout", "SchematicPortRender", "SchematicTraceRender", "PcbComponentRender", "PcbPrimitiveRender", "PcbFootprintLayout", "PcbPortRender", "PcbPortAttachment", "PcbLayout", "PcbTraceRender", "PcbTraceHintRender", "PcbRouteNetIslands", "PcbComponentSizeCalculation", "CadModelRender"];
12
12
  type RenderPhase = (typeof orderedRenderPhases)[number];
@@ -781,144 +781,12 @@ declare class Board extends Group<typeof boardProps> {
781
781
  _computePcbGlobalTransformBeforeLayout(): Matrix;
782
782
  }
783
783
 
784
- declare class Footprint extends PrimitiveComponent<typeof footprintProps> {
785
- get config(): {
786
- componentName: string;
787
- zodProps: zod.ZodObject<{
788
- originalLayer: zod.ZodOptional<zod.ZodDefault<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
789
- name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
790
- }, "strip", zod.ZodTypeAny, {
791
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
792
- }, {
793
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
794
- }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
795
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
796
- }>>>;
797
- }, "strip", zod.ZodTypeAny, {
798
- originalLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
799
- }, {
800
- originalLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
801
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
802
- } | undefined;
803
- }>;
804
- };
805
- /**
806
- * A footprint is a constrainedlayout, the db elements are adjusted according
807
- * to any constraints that are defined.
808
- */
809
- doInitialPcbFootprintLayout(): void;
810
- }
811
-
812
- declare class SmtPad extends PrimitiveComponent<typeof smtPadProps> {
813
- pcb_smtpad_id: string | null;
814
- matchedPort: Port | null;
815
- isPcbPrimitive: boolean;
816
- get config(): {
817
- componentName: string;
818
- zodProps: zod.ZodUnion<[zod.ZodObject<zod.objectUtil.extendShape<Omit<{
819
- pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
820
- pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
821
- pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
822
- layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
823
- name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
824
- }, "strip", zod.ZodTypeAny, {
825
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
826
- }, {
827
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
828
- }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
829
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
830
- }>>;
831
- }, "pcbRotation">, {
832
- shape: zod.ZodLiteral<"circle">;
833
- radius: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
834
- portHints: zod.ZodOptional<zod.ZodArray<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, "many">>;
835
- }>, "strip", zod.ZodTypeAny, {
836
- shape: "circle";
837
- radius: number;
838
- pcbX?: number | undefined;
839
- pcbY?: number | undefined;
840
- layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
841
- portHints?: (string | number)[] | undefined;
842
- }, {
843
- shape: "circle";
844
- radius: string | number;
845
- pcbX?: string | number | undefined;
846
- pcbY?: string | number | undefined;
847
- layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
848
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
849
- } | undefined;
850
- portHints?: (string | number)[] | undefined;
851
- }>, zod.ZodObject<zod.objectUtil.extendShape<Omit<{
852
- pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
853
- pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
854
- pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
855
- layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
856
- name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
857
- }, "strip", zod.ZodTypeAny, {
858
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
859
- }, {
860
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
861
- }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
862
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
863
- }>>;
864
- }, "pcbRotation">, {
865
- shape: zod.ZodLiteral<"rect">;
866
- width: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
867
- height: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
868
- portHints: zod.ZodOptional<zod.ZodArray<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, "many">>;
869
- }>, "strip", zod.ZodTypeAny, {
870
- shape: "rect";
871
- width: number;
872
- height: number;
873
- pcbX?: number | undefined;
874
- pcbY?: number | undefined;
875
- layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
876
- portHints?: (string | number)[] | undefined;
877
- }, {
878
- shape: "rect";
879
- width: string | number;
880
- height: string | number;
881
- pcbX?: string | number | undefined;
882
- pcbY?: string | number | undefined;
883
- layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
884
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
885
- } | undefined;
886
- portHints?: (string | number)[] | undefined;
887
- }>]>;
888
- };
889
- getPcbSize(): {
890
- width: number;
891
- height: number;
892
- };
893
- doInitialPortMatching(): void;
894
- doInitialPcbPrimitiveRender(): void;
895
- doInitialPcbPortAttachment(): void;
896
- _getPcbCircuitJsonBounds(): {
897
- center: {
898
- x: number;
899
- y: number;
900
- };
901
- bounds: {
902
- left: number;
903
- top: number;
904
- right: number;
905
- bottom: number;
906
- };
907
- width: number;
908
- height: number;
909
- };
910
- _setPositionFromLayout(newCenter: {
911
- x: number;
912
- y: number;
913
- }): void;
914
- }
915
-
916
784
  type Ftype = AnySourceComponent["ftype"];
917
785
  type TwoPinPorts = "pin1" | "pin2";
918
786
  type PassivePorts = TwoPinPorts;
919
787
  type PolarizedPassivePorts = PassivePorts | "anode" | "cathode" | "pos" | "neg";
920
788
 
921
- declare class Resistor extends NormalComponent<typeof resistorProps, PassivePorts> {
789
+ declare class Capacitor extends NormalComponent<typeof capacitorProps, PassivePorts> {
922
790
  get config(): {
923
791
  componentName: string;
924
792
  schematicSymbolName: string;
@@ -1179,14 +1047,14 @@ declare class Resistor extends NormalComponent<typeof resistorProps, PassivePort
1179
1047
  children: zod.ZodOptional<zod.ZodAny>;
1180
1048
  symbolName: zod.ZodOptional<zod.ZodString>;
1181
1049
  }>, {
1182
- resistance: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
1183
- pullupFor: zod.ZodOptional<zod.ZodString>;
1184
- pullupTo: zod.ZodOptional<zod.ZodString>;
1185
- pulldownFor: zod.ZodOptional<zod.ZodString>;
1186
- pulldownTo: zod.ZodOptional<zod.ZodString>;
1050
+ capacitance: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
1051
+ decouplingFor: zod.ZodOptional<zod.ZodString>;
1052
+ decouplingTo: zod.ZodOptional<zod.ZodString>;
1053
+ bypassFor: zod.ZodOptional<zod.ZodString>;
1054
+ bypassTo: zod.ZodOptional<zod.ZodString>;
1187
1055
  }>, "strip", zod.ZodTypeAny, {
1188
1056
  name: string;
1189
- resistance: number;
1057
+ capacitance: number;
1190
1058
  pcbX?: number | undefined;
1191
1059
  pcbY?: number | undefined;
1192
1060
  pcbRotation?: number | undefined;
@@ -1252,13 +1120,13 @@ declare class Resistor extends NormalComponent<typeof resistorProps, PassivePort
1252
1120
  } | undefined;
1253
1121
  children?: any;
1254
1122
  symbolName?: string | undefined;
1255
- pullupFor?: string | undefined;
1256
- pullupTo?: string | undefined;
1257
- pulldownFor?: string | undefined;
1258
- pulldownTo?: string | undefined;
1123
+ decouplingFor?: string | undefined;
1124
+ decouplingTo?: string | undefined;
1125
+ bypassFor?: string | undefined;
1126
+ bypassTo?: string | undefined;
1259
1127
  }, {
1260
1128
  name: string;
1261
- resistance: string | number;
1129
+ capacitance: string | number;
1262
1130
  pcbX?: string | number | undefined;
1263
1131
  pcbY?: string | number | undefined;
1264
1132
  pcbRotation?: string | number | undefined;
@@ -1326,12 +1194,12 @@ declare class Resistor extends NormalComponent<typeof resistorProps, PassivePort
1326
1194
  } | undefined;
1327
1195
  children?: any;
1328
1196
  symbolName?: string | undefined;
1329
- pullupFor?: string | undefined;
1330
- pullupTo?: string | undefined;
1331
- pulldownFor?: string | undefined;
1332
- pulldownTo?: string | undefined;
1197
+ decouplingFor?: string | undefined;
1198
+ decouplingTo?: string | undefined;
1199
+ bypassFor?: string | undefined;
1200
+ bypassTo?: string | undefined;
1333
1201
  }>;
1334
- sourceFtype: Ftype;
1202
+ sourceFtype: "simple_capacitor";
1335
1203
  };
1336
1204
  initPorts(): void;
1337
1205
  doInitialCreateNetsFromProps(): void;
@@ -1339,10 +1207,36 @@ declare class Resistor extends NormalComponent<typeof resistorProps, PassivePort
1339
1207
  doInitialSourceRender(): void;
1340
1208
  }
1341
1209
 
1342
- declare class Led extends NormalComponent<typeof ledProps, PolarizedPassivePorts> {
1210
+ /**
1211
+ * Get the dimensions of a schematic box based on the provided parameters.
1212
+ *
1213
+ * A schematic box is a rectangular box with a set of pins on the sides.
1214
+ *
1215
+ * The user can customize the position of the pins and the spacing between them,
1216
+ * this makes computing the box fairly complicated.
1217
+ *
1218
+ * A note on the internals:
1219
+ * * A "true port" refers to a pin/port before it's remapped by the user to a
1220
+ * different position. True Pin 1 is guaranteed to be in the top-left corner
1221
+ * * We basically iterate over each side and compute how far we are from the
1222
+ * edge for that side by adding margins together
1223
+ */
1224
+ interface SchematicBoxDimensions {
1225
+ pinCount: number;
1226
+ getPortPositionByPinNumber(pinNumber: number): {
1227
+ x: number;
1228
+ y: number;
1229
+ };
1230
+ getSize(): {
1231
+ width: number;
1232
+ height: number;
1233
+ };
1234
+ }
1235
+
1236
+ declare class Chip<PinLabels extends string = never> extends NormalComponent<typeof chipProps, PinLabels> {
1237
+ schematicDimensions: SchematicBoxDimensions | null;
1343
1238
  get config(): {
1344
1239
  componentName: string;
1345
- schematicSymbolName: string;
1346
1240
  zodProps: zod.ZodObject<zod.objectUtil.extendShape<zod.objectUtil.extendShape<zod.objectUtil.extendShape<{
1347
1241
  pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
1348
1242
  pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
@@ -1600,66 +1494,186 @@ declare class Led extends NormalComponent<typeof ledProps, PolarizedPassivePorts
1600
1494
  children: zod.ZodOptional<zod.ZodAny>;
1601
1495
  symbolName: zod.ZodOptional<zod.ZodString>;
1602
1496
  }>, {
1603
- color: zod.ZodOptional<zod.ZodString>;
1604
- }>, "strip", zod.ZodTypeAny, {
1605
- name: string;
1606
- pcbX?: number | undefined;
1607
- pcbY?: number | undefined;
1608
- pcbRotation?: number | undefined;
1609
- schX?: number | undefined;
1610
- schY?: number | undefined;
1611
- schRotation?: number | undefined;
1612
- layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
1613
- footprint?: Props.Footprint | undefined;
1614
- supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
1615
- key?: any;
1616
- cadModel?: string | {
1617
- stlUrl: string;
1618
- rotationOffset?: number | {
1619
- x: string | number;
1620
- y: string | number;
1621
- z: string | number;
1622
- } | undefined;
1623
- positionOffset?: {
1624
- x: number;
1625
- y: number;
1626
- z: number;
1627
- } | undefined;
1628
- size?: {
1629
- x: number;
1630
- y: number;
1631
- z: number;
1632
- } | undefined;
1633
- } | {
1634
- objUrl: string;
1635
- rotationOffset?: number | {
1636
- x: string | number;
1637
- y: string | number;
1638
- z: string | number;
1639
- } | undefined;
1640
- positionOffset?: {
1641
- x: number;
1642
- y: number;
1643
- z: number;
1644
- } | undefined;
1645
- size?: {
1646
- x: number;
1647
- y: number;
1648
- z: number;
1649
- } | undefined;
1650
- mtlUrl?: string | undefined;
1651
- } | {
1652
- jscad: Record<string, any>;
1653
- rotationOffset?: number | {
1654
- x: string | number;
1655
- y: string | number;
1656
- z: string | number;
1657
- } | undefined;
1658
- positionOffset?: {
1659
- x: number;
1660
- y: number;
1661
- z: number;
1662
- } | undefined;
1497
+ manufacturerPartNumber: zod.ZodOptional<zod.ZodString>;
1498
+ pinLabels: zod.ZodOptional<zod.ZodRecord<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, zod.ZodString>>;
1499
+ schPortArrangement: zod.ZodOptional<zod.ZodObject<{
1500
+ leftSize: zod.ZodOptional<zod.ZodNumber>;
1501
+ topSize: zod.ZodOptional<zod.ZodNumber>;
1502
+ rightSize: zod.ZodOptional<zod.ZodNumber>;
1503
+ bottomSize: zod.ZodOptional<zod.ZodNumber>;
1504
+ leftPinCount: zod.ZodOptional<zod.ZodNumber>;
1505
+ rightPinCount: zod.ZodOptional<zod.ZodNumber>;
1506
+ topPinCount: zod.ZodOptional<zod.ZodNumber>;
1507
+ bottomPinCount: zod.ZodOptional<zod.ZodNumber>;
1508
+ leftSide: zod.ZodOptional<zod.ZodObject<{
1509
+ pins: zod.ZodArray<zod.ZodNumber, "many">;
1510
+ direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
1511
+ }, "strip", zod.ZodTypeAny, {
1512
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1513
+ pins: number[];
1514
+ }, {
1515
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1516
+ pins: number[];
1517
+ }>>;
1518
+ rightSide: zod.ZodOptional<zod.ZodObject<{
1519
+ pins: zod.ZodArray<zod.ZodNumber, "many">;
1520
+ direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
1521
+ }, "strip", zod.ZodTypeAny, {
1522
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1523
+ pins: number[];
1524
+ }, {
1525
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1526
+ pins: number[];
1527
+ }>>;
1528
+ topSide: zod.ZodOptional<zod.ZodObject<{
1529
+ pins: zod.ZodArray<zod.ZodNumber, "many">;
1530
+ direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
1531
+ }, "strip", zod.ZodTypeAny, {
1532
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1533
+ pins: number[];
1534
+ }, {
1535
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1536
+ pins: number[];
1537
+ }>>;
1538
+ bottomSide: zod.ZodOptional<zod.ZodObject<{
1539
+ pins: zod.ZodArray<zod.ZodNumber, "many">;
1540
+ direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
1541
+ }, "strip", zod.ZodTypeAny, {
1542
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1543
+ pins: number[];
1544
+ }, {
1545
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1546
+ pins: number[];
1547
+ }>>;
1548
+ }, "strip", zod.ZodTypeAny, {
1549
+ leftSize?: number | undefined;
1550
+ topSize?: number | undefined;
1551
+ rightSize?: number | undefined;
1552
+ bottomSize?: number | undefined;
1553
+ leftSide?: {
1554
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1555
+ pins: number[];
1556
+ } | undefined;
1557
+ topSide?: {
1558
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1559
+ pins: number[];
1560
+ } | undefined;
1561
+ rightSide?: {
1562
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1563
+ pins: number[];
1564
+ } | undefined;
1565
+ bottomSide?: {
1566
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1567
+ pins: number[];
1568
+ } | undefined;
1569
+ leftPinCount?: number | undefined;
1570
+ rightPinCount?: number | undefined;
1571
+ topPinCount?: number | undefined;
1572
+ bottomPinCount?: number | undefined;
1573
+ }, {
1574
+ leftSize?: number | undefined;
1575
+ topSize?: number | undefined;
1576
+ rightSize?: number | undefined;
1577
+ bottomSize?: number | undefined;
1578
+ leftSide?: {
1579
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1580
+ pins: number[];
1581
+ } | undefined;
1582
+ topSide?: {
1583
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1584
+ pins: number[];
1585
+ } | undefined;
1586
+ rightSide?: {
1587
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1588
+ pins: number[];
1589
+ } | undefined;
1590
+ bottomSide?: {
1591
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1592
+ pins: number[];
1593
+ } | undefined;
1594
+ leftPinCount?: number | undefined;
1595
+ rightPinCount?: number | undefined;
1596
+ topPinCount?: number | undefined;
1597
+ bottomPinCount?: number | undefined;
1598
+ }>>;
1599
+ schPinStyle: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodObject<{
1600
+ leftMargin: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
1601
+ rightMargin: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
1602
+ topMargin: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
1603
+ bottomMargin: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
1604
+ }, "strip", zod.ZodTypeAny, {
1605
+ leftMargin?: number | undefined;
1606
+ rightMargin?: number | undefined;
1607
+ topMargin?: number | undefined;
1608
+ bottomMargin?: number | undefined;
1609
+ }, {
1610
+ leftMargin?: string | number | undefined;
1611
+ rightMargin?: string | number | undefined;
1612
+ topMargin?: string | number | undefined;
1613
+ bottomMargin?: string | number | undefined;
1614
+ }>>>;
1615
+ schPinSpacing: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
1616
+ schWidth: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
1617
+ schHeight: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
1618
+ }>, "strip", zod.ZodTypeAny, {
1619
+ name: string;
1620
+ pcbX?: number | undefined;
1621
+ pcbY?: number | undefined;
1622
+ pcbRotation?: number | undefined;
1623
+ schX?: number | undefined;
1624
+ schY?: number | undefined;
1625
+ schRotation?: number | undefined;
1626
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
1627
+ footprint?: Props.Footprint | undefined;
1628
+ supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
1629
+ key?: any;
1630
+ cadModel?: string | {
1631
+ stlUrl: string;
1632
+ rotationOffset?: number | {
1633
+ x: string | number;
1634
+ y: string | number;
1635
+ z: string | number;
1636
+ } | undefined;
1637
+ positionOffset?: {
1638
+ x: number;
1639
+ y: number;
1640
+ z: number;
1641
+ } | undefined;
1642
+ size?: {
1643
+ x: number;
1644
+ y: number;
1645
+ z: number;
1646
+ } | undefined;
1647
+ } | {
1648
+ objUrl: string;
1649
+ rotationOffset?: number | {
1650
+ x: string | number;
1651
+ y: string | number;
1652
+ z: string | number;
1653
+ } | undefined;
1654
+ positionOffset?: {
1655
+ x: number;
1656
+ y: number;
1657
+ z: number;
1658
+ } | undefined;
1659
+ size?: {
1660
+ x: number;
1661
+ y: number;
1662
+ z: number;
1663
+ } | undefined;
1664
+ mtlUrl?: string | undefined;
1665
+ } | {
1666
+ jscad: Record<string, any>;
1667
+ rotationOffset?: number | {
1668
+ x: string | number;
1669
+ y: string | number;
1670
+ z: string | number;
1671
+ } | undefined;
1672
+ positionOffset?: {
1673
+ x: number;
1674
+ y: number;
1675
+ z: number;
1676
+ } | undefined;
1663
1677
  size?: {
1664
1678
  x: number;
1665
1679
  y: number;
@@ -1668,7 +1682,43 @@ declare class Led extends NormalComponent<typeof ledProps, PolarizedPassivePorts
1668
1682
  } | undefined;
1669
1683
  children?: any;
1670
1684
  symbolName?: string | undefined;
1671
- color?: string | undefined;
1685
+ manufacturerPartNumber?: string | undefined;
1686
+ pinLabels?: Record<string | number, string> | undefined;
1687
+ schPortArrangement?: {
1688
+ leftSize?: number | undefined;
1689
+ topSize?: number | undefined;
1690
+ rightSize?: number | undefined;
1691
+ bottomSize?: number | undefined;
1692
+ leftSide?: {
1693
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1694
+ pins: number[];
1695
+ } | undefined;
1696
+ topSide?: {
1697
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1698
+ pins: number[];
1699
+ } | undefined;
1700
+ rightSide?: {
1701
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1702
+ pins: number[];
1703
+ } | undefined;
1704
+ bottomSide?: {
1705
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1706
+ pins: number[];
1707
+ } | undefined;
1708
+ leftPinCount?: number | undefined;
1709
+ rightPinCount?: number | undefined;
1710
+ topPinCount?: number | undefined;
1711
+ bottomPinCount?: number | undefined;
1712
+ } | undefined;
1713
+ schPinStyle?: Record<string, {
1714
+ leftMargin?: number | undefined;
1715
+ rightMargin?: number | undefined;
1716
+ topMargin?: number | undefined;
1717
+ bottomMargin?: number | undefined;
1718
+ }> | undefined;
1719
+ schPinSpacing?: number | undefined;
1720
+ schWidth?: number | undefined;
1721
+ schHeight?: number | undefined;
1672
1722
  }, {
1673
1723
  name: string;
1674
1724
  pcbX?: string | number | undefined;
@@ -1738,15 +1788,48 @@ declare class Led extends NormalComponent<typeof ledProps, PolarizedPassivePorts
1738
1788
  } | undefined;
1739
1789
  children?: any;
1740
1790
  symbolName?: string | undefined;
1741
- color?: string | undefined;
1791
+ manufacturerPartNumber?: string | undefined;
1792
+ pinLabels?: Record<string | number, string> | undefined;
1793
+ schPortArrangement?: {
1794
+ leftSize?: number | undefined;
1795
+ topSize?: number | undefined;
1796
+ rightSize?: number | undefined;
1797
+ bottomSize?: number | undefined;
1798
+ leftSide?: {
1799
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1800
+ pins: number[];
1801
+ } | undefined;
1802
+ topSide?: {
1803
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1804
+ pins: number[];
1805
+ } | undefined;
1806
+ rightSide?: {
1807
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1808
+ pins: number[];
1809
+ } | undefined;
1810
+ bottomSide?: {
1811
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
1812
+ pins: number[];
1813
+ } | undefined;
1814
+ leftPinCount?: number | undefined;
1815
+ rightPinCount?: number | undefined;
1816
+ topPinCount?: number | undefined;
1817
+ bottomPinCount?: number | undefined;
1818
+ } | undefined;
1819
+ schPinStyle?: Record<string, {
1820
+ leftMargin?: string | number | undefined;
1821
+ rightMargin?: string | number | undefined;
1822
+ topMargin?: string | number | undefined;
1823
+ bottomMargin?: string | number | undefined;
1824
+ }> | undefined;
1825
+ schPinSpacing?: string | number | undefined;
1826
+ schWidth?: string | number | undefined;
1827
+ schHeight?: string | number | undefined;
1742
1828
  }>;
1743
- sourceFtype: Ftype;
1744
1829
  };
1745
- initPorts(): void;
1746
- pos: Port;
1747
- anode: Port;
1748
- neg: Port;
1749
- cathode: Port;
1830
+ doInitialSourceRender(): void;
1831
+ doInitialSchematicComponentRender(): void;
1832
+ doInitialPcbComponentRender(): void;
1750
1833
  }
1751
1834
 
1752
1835
  declare class Diode extends NormalComponent<typeof diodeProps, PolarizedPassivePorts> {
@@ -2155,10 +2238,10 @@ declare class Diode extends NormalComponent<typeof diodeProps, PolarizedPassiveP
2155
2238
  cathode: Port;
2156
2239
  }
2157
2240
 
2158
- declare class Capacitor extends NormalComponent<typeof capacitorProps, PassivePorts> {
2241
+ declare class Jumper<PinLabels extends string = never> extends NormalComponent<typeof jumperProps, PinLabels> {
2242
+ schematicDimensions: SchematicBoxDimensions | null;
2159
2243
  get config(): {
2160
2244
  componentName: string;
2161
- schematicSymbolName: string;
2162
2245
  zodProps: zod.ZodObject<zod.objectUtil.extendShape<zod.objectUtil.extendShape<zod.objectUtil.extendShape<{
2163
2246
  pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2164
2247
  pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
@@ -2416,14 +2499,130 @@ declare class Capacitor extends NormalComponent<typeof capacitorProps, PassivePo
2416
2499
  children: zod.ZodOptional<zod.ZodAny>;
2417
2500
  symbolName: zod.ZodOptional<zod.ZodString>;
2418
2501
  }>, {
2419
- capacitance: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2420
- decouplingFor: zod.ZodOptional<zod.ZodString>;
2421
- decouplingTo: zod.ZodOptional<zod.ZodString>;
2422
- bypassFor: zod.ZodOptional<zod.ZodString>;
2423
- bypassTo: zod.ZodOptional<zod.ZodString>;
2502
+ manufacturerPartNumber: zod.ZodOptional<zod.ZodString>;
2503
+ pinLabels: zod.ZodOptional<zod.ZodRecord<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, zod.ZodString>>;
2504
+ schPinStyle: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodObject<{
2505
+ leftMargin: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2506
+ rightMargin: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2507
+ topMargin: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2508
+ bottomMargin: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2509
+ }, "strip", zod.ZodTypeAny, {
2510
+ leftMargin?: number | undefined;
2511
+ rightMargin?: number | undefined;
2512
+ topMargin?: number | undefined;
2513
+ bottomMargin?: number | undefined;
2514
+ }, {
2515
+ leftMargin?: string | number | undefined;
2516
+ rightMargin?: string | number | undefined;
2517
+ topMargin?: string | number | undefined;
2518
+ bottomMargin?: string | number | undefined;
2519
+ }>>>;
2520
+ schPinSpacing: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2521
+ schWidth: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2522
+ schHeight: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2523
+ schDirection: zod.ZodOptional<zod.ZodEnum<["left", "right"]>>;
2524
+ schPortArrangement: zod.ZodOptional<zod.ZodObject<{
2525
+ leftSize: zod.ZodOptional<zod.ZodNumber>;
2526
+ topSize: zod.ZodOptional<zod.ZodNumber>;
2527
+ rightSize: zod.ZodOptional<zod.ZodNumber>;
2528
+ bottomSize: zod.ZodOptional<zod.ZodNumber>;
2529
+ leftPinCount: zod.ZodOptional<zod.ZodNumber>;
2530
+ rightPinCount: zod.ZodOptional<zod.ZodNumber>;
2531
+ topPinCount: zod.ZodOptional<zod.ZodNumber>;
2532
+ bottomPinCount: zod.ZodOptional<zod.ZodNumber>;
2533
+ leftSide: zod.ZodOptional<zod.ZodObject<{
2534
+ pins: zod.ZodArray<zod.ZodNumber, "many">;
2535
+ direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
2536
+ }, "strip", zod.ZodTypeAny, {
2537
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2538
+ pins: number[];
2539
+ }, {
2540
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2541
+ pins: number[];
2542
+ }>>;
2543
+ rightSide: zod.ZodOptional<zod.ZodObject<{
2544
+ pins: zod.ZodArray<zod.ZodNumber, "many">;
2545
+ direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
2546
+ }, "strip", zod.ZodTypeAny, {
2547
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2548
+ pins: number[];
2549
+ }, {
2550
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2551
+ pins: number[];
2552
+ }>>;
2553
+ topSide: zod.ZodOptional<zod.ZodObject<{
2554
+ pins: zod.ZodArray<zod.ZodNumber, "many">;
2555
+ direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
2556
+ }, "strip", zod.ZodTypeAny, {
2557
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2558
+ pins: number[];
2559
+ }, {
2560
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2561
+ pins: number[];
2562
+ }>>;
2563
+ bottomSide: zod.ZodOptional<zod.ZodObject<{
2564
+ pins: zod.ZodArray<zod.ZodNumber, "many">;
2565
+ direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
2566
+ }, "strip", zod.ZodTypeAny, {
2567
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2568
+ pins: number[];
2569
+ }, {
2570
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2571
+ pins: number[];
2572
+ }>>;
2573
+ }, "strip", zod.ZodTypeAny, {
2574
+ leftSize?: number | undefined;
2575
+ topSize?: number | undefined;
2576
+ rightSize?: number | undefined;
2577
+ bottomSize?: number | undefined;
2578
+ leftSide?: {
2579
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2580
+ pins: number[];
2581
+ } | undefined;
2582
+ topSide?: {
2583
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2584
+ pins: number[];
2585
+ } | undefined;
2586
+ rightSide?: {
2587
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2588
+ pins: number[];
2589
+ } | undefined;
2590
+ bottomSide?: {
2591
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2592
+ pins: number[];
2593
+ } | undefined;
2594
+ leftPinCount?: number | undefined;
2595
+ rightPinCount?: number | undefined;
2596
+ topPinCount?: number | undefined;
2597
+ bottomPinCount?: number | undefined;
2598
+ }, {
2599
+ leftSize?: number | undefined;
2600
+ topSize?: number | undefined;
2601
+ rightSize?: number | undefined;
2602
+ bottomSize?: number | undefined;
2603
+ leftSide?: {
2604
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2605
+ pins: number[];
2606
+ } | undefined;
2607
+ topSide?: {
2608
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2609
+ pins: number[];
2610
+ } | undefined;
2611
+ rightSide?: {
2612
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2613
+ pins: number[];
2614
+ } | undefined;
2615
+ bottomSide?: {
2616
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2617
+ pins: number[];
2618
+ } | undefined;
2619
+ leftPinCount?: number | undefined;
2620
+ rightPinCount?: number | undefined;
2621
+ topPinCount?: number | undefined;
2622
+ bottomPinCount?: number | undefined;
2623
+ }>>;
2424
2624
  }>, "strip", zod.ZodTypeAny, {
2425
2625
  name: string;
2426
- capacitance: number;
2427
2626
  pcbX?: number | undefined;
2428
2627
  pcbY?: number | undefined;
2429
2628
  pcbRotation?: number | undefined;
@@ -2489,13 +2688,46 @@ declare class Capacitor extends NormalComponent<typeof capacitorProps, PassivePo
2489
2688
  } | undefined;
2490
2689
  children?: any;
2491
2690
  symbolName?: string | undefined;
2492
- decouplingFor?: string | undefined;
2493
- decouplingTo?: string | undefined;
2494
- bypassFor?: string | undefined;
2495
- bypassTo?: string | undefined;
2691
+ manufacturerPartNumber?: string | undefined;
2692
+ pinLabels?: Record<string | number, string> | undefined;
2693
+ schPortArrangement?: {
2694
+ leftSize?: number | undefined;
2695
+ topSize?: number | undefined;
2696
+ rightSize?: number | undefined;
2697
+ bottomSize?: number | undefined;
2698
+ leftSide?: {
2699
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2700
+ pins: number[];
2701
+ } | undefined;
2702
+ topSide?: {
2703
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2704
+ pins: number[];
2705
+ } | undefined;
2706
+ rightSide?: {
2707
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2708
+ pins: number[];
2709
+ } | undefined;
2710
+ bottomSide?: {
2711
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2712
+ pins: number[];
2713
+ } | undefined;
2714
+ leftPinCount?: number | undefined;
2715
+ rightPinCount?: number | undefined;
2716
+ topPinCount?: number | undefined;
2717
+ bottomPinCount?: number | undefined;
2718
+ } | undefined;
2719
+ schPinStyle?: Record<string, {
2720
+ leftMargin?: number | undefined;
2721
+ rightMargin?: number | undefined;
2722
+ topMargin?: number | undefined;
2723
+ bottomMargin?: number | undefined;
2724
+ }> | undefined;
2725
+ schPinSpacing?: number | undefined;
2726
+ schWidth?: number | undefined;
2727
+ schHeight?: number | undefined;
2728
+ schDirection?: "left" | "right" | undefined;
2496
2729
  }, {
2497
2730
  name: string;
2498
- capacitance: string | number;
2499
2731
  pcbX?: string | number | undefined;
2500
2732
  pcbY?: string | number | undefined;
2501
2733
  pcbRotation?: string | number | undefined;
@@ -2563,236 +2795,55 @@ declare class Capacitor extends NormalComponent<typeof capacitorProps, PassivePo
2563
2795
  } | undefined;
2564
2796
  children?: any;
2565
2797
  symbolName?: string | undefined;
2566
- decouplingFor?: string | undefined;
2567
- decouplingTo?: string | undefined;
2568
- bypassFor?: string | undefined;
2569
- bypassTo?: string | undefined;
2798
+ manufacturerPartNumber?: string | undefined;
2799
+ pinLabels?: Record<string | number, string> | undefined;
2800
+ schPortArrangement?: {
2801
+ leftSize?: number | undefined;
2802
+ topSize?: number | undefined;
2803
+ rightSize?: number | undefined;
2804
+ bottomSize?: number | undefined;
2805
+ leftSide?: {
2806
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2807
+ pins: number[];
2808
+ } | undefined;
2809
+ topSide?: {
2810
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2811
+ pins: number[];
2812
+ } | undefined;
2813
+ rightSide?: {
2814
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2815
+ pins: number[];
2816
+ } | undefined;
2817
+ bottomSide?: {
2818
+ direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
2819
+ pins: number[];
2820
+ } | undefined;
2821
+ leftPinCount?: number | undefined;
2822
+ rightPinCount?: number | undefined;
2823
+ topPinCount?: number | undefined;
2824
+ bottomPinCount?: number | undefined;
2825
+ } | undefined;
2826
+ schPinStyle?: Record<string, {
2827
+ leftMargin?: string | number | undefined;
2828
+ rightMargin?: string | number | undefined;
2829
+ topMargin?: string | number | undefined;
2830
+ bottomMargin?: string | number | undefined;
2831
+ }> | undefined;
2832
+ schPinSpacing?: string | number | undefined;
2833
+ schWidth?: string | number | undefined;
2834
+ schHeight?: string | number | undefined;
2835
+ schDirection?: "left" | "right" | undefined;
2570
2836
  }>;
2571
- sourceFtype: "simple_capacitor";
2572
2837
  };
2573
- initPorts(): void;
2574
- doInitialCreateNetsFromProps(): void;
2575
- doInitialCreateTracesFromProps(): void;
2576
2838
  doInitialSourceRender(): void;
2839
+ doInitialSchematicComponentRender(): void;
2840
+ doInitialPcbComponentRender(): void;
2577
2841
  }
2578
2842
 
2579
- declare class TraceHint extends PrimitiveComponent<typeof traceHintProps> {
2580
- matchedPort: Port | null;
2581
- get config(): {
2582
- componentName: string;
2583
- zodProps: zod.ZodObject<{
2584
- for: zod.ZodOptional<zod.ZodString>;
2585
- order: zod.ZodOptional<zod.ZodNumber>;
2586
- offset: zod.ZodOptional<zod.ZodUnion<[zod.ZodObject<{
2587
- x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2588
- y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2589
- via: zod.ZodOptional<zod.ZodBoolean>;
2590
- to_layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
2591
- name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
2592
- }, "strip", zod.ZodTypeAny, {
2593
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2594
- }, {
2595
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2596
- }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
2597
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2598
- }>>;
2599
- trace_width: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2600
- }, "strip", zod.ZodTypeAny, {
2601
- x: number;
2602
- y: number;
2603
- trace_width?: number | undefined;
2604
- via?: boolean | undefined;
2605
- to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
2606
- }, {
2607
- x: string | number;
2608
- y: string | number;
2609
- trace_width?: string | number | undefined;
2610
- via?: boolean | undefined;
2611
- to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
2612
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2613
- } | undefined;
2614
- }>, zod.ZodObject<{
2615
- x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2616
- y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2617
- via: zod.ZodOptional<zod.ZodBoolean>;
2618
- toLayer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
2619
- name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
2620
- }, "strip", zod.ZodTypeAny, {
2621
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2622
- }, {
2623
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2624
- }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
2625
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2626
- }>>;
2627
- }, "strip", zod.ZodTypeAny, {
2628
- x: number;
2629
- y: number;
2630
- toLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
2631
- via?: boolean | undefined;
2632
- }, {
2633
- x: string | number;
2634
- y: string | number;
2635
- toLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
2636
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2637
- } | undefined;
2638
- via?: boolean | undefined;
2639
- }>]>>;
2640
- offsets: zod.ZodOptional<zod.ZodUnion<[zod.ZodArray<zod.ZodObject<{
2641
- x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2642
- y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2643
- via: zod.ZodOptional<zod.ZodBoolean>;
2644
- to_layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
2645
- name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
2646
- }, "strip", zod.ZodTypeAny, {
2647
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2648
- }, {
2649
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2650
- }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
2651
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2652
- }>>;
2653
- trace_width: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2654
- }, "strip", zod.ZodTypeAny, {
2655
- x: number;
2656
- y: number;
2657
- trace_width?: number | undefined;
2658
- via?: boolean | undefined;
2659
- to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
2660
- }, {
2661
- x: string | number;
2662
- y: string | number;
2663
- trace_width?: string | number | undefined;
2664
- via?: boolean | undefined;
2665
- to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
2666
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2667
- } | undefined;
2668
- }>, "many">, zod.ZodArray<zod.ZodObject<{
2669
- x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2670
- y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
2671
- via: zod.ZodOptional<zod.ZodBoolean>;
2672
- toLayer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
2673
- name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
2674
- }, "strip", zod.ZodTypeAny, {
2675
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2676
- }, {
2677
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2678
- }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
2679
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2680
- }>>;
2681
- }, "strip", zod.ZodTypeAny, {
2682
- x: number;
2683
- y: number;
2684
- toLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
2685
- via?: boolean | undefined;
2686
- }, {
2687
- x: string | number;
2688
- y: string | number;
2689
- toLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
2690
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2691
- } | undefined;
2692
- via?: boolean | undefined;
2693
- }>, "many">]>>;
2694
- traceWidth: zod.ZodOptional<zod.ZodNumber>;
2695
- }, "strip", zod.ZodTypeAny, {
2696
- for?: string | undefined;
2697
- order?: number | undefined;
2698
- offset?: {
2699
- x: number;
2700
- y: number;
2701
- trace_width?: number | undefined;
2702
- via?: boolean | undefined;
2703
- to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
2704
- } | {
2705
- x: number;
2706
- y: number;
2707
- toLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
2708
- via?: boolean | undefined;
2709
- } | undefined;
2710
- offsets?: {
2711
- x: number;
2712
- y: number;
2713
- trace_width?: number | undefined;
2714
- via?: boolean | undefined;
2715
- to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
2716
- }[] | {
2717
- x: number;
2718
- y: number;
2719
- toLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
2720
- via?: boolean | undefined;
2721
- }[] | undefined;
2722
- traceWidth?: number | undefined;
2723
- }, {
2724
- for?: string | undefined;
2725
- order?: number | undefined;
2726
- offset?: {
2727
- x: string | number;
2728
- y: string | number;
2729
- trace_width?: string | number | undefined;
2730
- via?: boolean | undefined;
2731
- to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
2732
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2733
- } | undefined;
2734
- } | {
2735
- x: string | number;
2736
- y: string | number;
2737
- toLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
2738
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2739
- } | undefined;
2740
- via?: boolean | undefined;
2741
- } | undefined;
2742
- offsets?: {
2743
- x: string | number;
2744
- y: string | number;
2745
- trace_width?: string | number | undefined;
2746
- via?: boolean | undefined;
2747
- to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
2748
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2749
- } | undefined;
2750
- }[] | {
2751
- x: string | number;
2752
- y: string | number;
2753
- toLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
2754
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
2755
- } | undefined;
2756
- via?: boolean | undefined;
2757
- }[] | undefined;
2758
- traceWidth?: number | undefined;
2759
- }>;
2760
- };
2761
- doInitialPortMatching(): void;
2762
- getPcbRouteHints(): Array<RouteHintPoint>;
2763
- doInitialPcbTraceHintRender(): void;
2764
- }
2765
-
2766
- /**
2767
- * Get the dimensions of a schematic box based on the provided parameters.
2768
- *
2769
- * A schematic box is a rectangular box with a set of pins on the sides.
2770
- *
2771
- * The user can customize the position of the pins and the spacing between them,
2772
- * this makes computing the box fairly complicated.
2773
- *
2774
- * A note on the internals:
2775
- * * A "true port" refers to a pin/port before it's remapped by the user to a
2776
- * different position. True Pin 1 is guaranteed to be in the top-left corner
2777
- * * We basically iterate over each side and compute how far we are from the
2778
- * edge for that side by adding margins together
2779
- */
2780
- interface SchematicBoxDimensions {
2781
- pinCount: number;
2782
- getPortPositionByPinNumber(pinNumber: number): {
2783
- x: number;
2784
- y: number;
2785
- };
2786
- getSize(): {
2787
- width: number;
2788
- height: number;
2789
- };
2790
- }
2791
-
2792
- declare class Chip<PinLabels extends string = never> extends NormalComponent<typeof chipProps, PinLabels> {
2793
- schematicDimensions: SchematicBoxDimensions | null;
2843
+ declare class Led extends NormalComponent<typeof ledProps, PolarizedPassivePorts> {
2794
2844
  get config(): {
2795
2845
  componentName: string;
2846
+ schematicSymbolName: string;
2796
2847
  zodProps: zod.ZodObject<zod.objectUtil.extendShape<zod.objectUtil.extendShape<zod.objectUtil.extendShape<{
2797
2848
  pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
2798
2849
  pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
@@ -3050,127 +3101,7 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
3050
3101
  children: zod.ZodOptional<zod.ZodAny>;
3051
3102
  symbolName: zod.ZodOptional<zod.ZodString>;
3052
3103
  }>, {
3053
- manufacturerPartNumber: zod.ZodOptional<zod.ZodString>;
3054
- pinLabels: zod.ZodOptional<zod.ZodRecord<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, zod.ZodString>>;
3055
- schPortArrangement: zod.ZodOptional<zod.ZodObject<{
3056
- leftSize: zod.ZodOptional<zod.ZodNumber>;
3057
- topSize: zod.ZodOptional<zod.ZodNumber>;
3058
- rightSize: zod.ZodOptional<zod.ZodNumber>;
3059
- bottomSize: zod.ZodOptional<zod.ZodNumber>;
3060
- leftPinCount: zod.ZodOptional<zod.ZodNumber>;
3061
- rightPinCount: zod.ZodOptional<zod.ZodNumber>;
3062
- topPinCount: zod.ZodOptional<zod.ZodNumber>;
3063
- bottomPinCount: zod.ZodOptional<zod.ZodNumber>;
3064
- leftSide: zod.ZodOptional<zod.ZodObject<{
3065
- pins: zod.ZodArray<zod.ZodNumber, "many">;
3066
- direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
3067
- }, "strip", zod.ZodTypeAny, {
3068
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3069
- pins: number[];
3070
- }, {
3071
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3072
- pins: number[];
3073
- }>>;
3074
- rightSide: zod.ZodOptional<zod.ZodObject<{
3075
- pins: zod.ZodArray<zod.ZodNumber, "many">;
3076
- direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
3077
- }, "strip", zod.ZodTypeAny, {
3078
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3079
- pins: number[];
3080
- }, {
3081
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3082
- pins: number[];
3083
- }>>;
3084
- topSide: zod.ZodOptional<zod.ZodObject<{
3085
- pins: zod.ZodArray<zod.ZodNumber, "many">;
3086
- direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
3087
- }, "strip", zod.ZodTypeAny, {
3088
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3089
- pins: number[];
3090
- }, {
3091
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3092
- pins: number[];
3093
- }>>;
3094
- bottomSide: zod.ZodOptional<zod.ZodObject<{
3095
- pins: zod.ZodArray<zod.ZodNumber, "many">;
3096
- direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
3097
- }, "strip", zod.ZodTypeAny, {
3098
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3099
- pins: number[];
3100
- }, {
3101
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3102
- pins: number[];
3103
- }>>;
3104
- }, "strip", zod.ZodTypeAny, {
3105
- leftSize?: number | undefined;
3106
- topSize?: number | undefined;
3107
- rightSize?: number | undefined;
3108
- bottomSize?: number | undefined;
3109
- leftSide?: {
3110
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3111
- pins: number[];
3112
- } | undefined;
3113
- topSide?: {
3114
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3115
- pins: number[];
3116
- } | undefined;
3117
- rightSide?: {
3118
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3119
- pins: number[];
3120
- } | undefined;
3121
- bottomSide?: {
3122
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3123
- pins: number[];
3124
- } | undefined;
3125
- leftPinCount?: number | undefined;
3126
- rightPinCount?: number | undefined;
3127
- topPinCount?: number | undefined;
3128
- bottomPinCount?: number | undefined;
3129
- }, {
3130
- leftSize?: number | undefined;
3131
- topSize?: number | undefined;
3132
- rightSize?: number | undefined;
3133
- bottomSize?: number | undefined;
3134
- leftSide?: {
3135
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3136
- pins: number[];
3137
- } | undefined;
3138
- topSide?: {
3139
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3140
- pins: number[];
3141
- } | undefined;
3142
- rightSide?: {
3143
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3144
- pins: number[];
3145
- } | undefined;
3146
- bottomSide?: {
3147
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3148
- pins: number[];
3149
- } | undefined;
3150
- leftPinCount?: number | undefined;
3151
- rightPinCount?: number | undefined;
3152
- topPinCount?: number | undefined;
3153
- bottomPinCount?: number | undefined;
3154
- }>>;
3155
- schPinStyle: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodObject<{
3156
- leftMargin: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3157
- rightMargin: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3158
- topMargin: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3159
- bottomMargin: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3160
- }, "strip", zod.ZodTypeAny, {
3161
- leftMargin?: number | undefined;
3162
- rightMargin?: number | undefined;
3163
- topMargin?: number | undefined;
3164
- bottomMargin?: number | undefined;
3165
- }, {
3166
- leftMargin?: string | number | undefined;
3167
- rightMargin?: string | number | undefined;
3168
- topMargin?: string | number | undefined;
3169
- bottomMargin?: string | number | undefined;
3170
- }>>>;
3171
- schPinSpacing: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3172
- schWidth: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3173
- schHeight: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3104
+ color: zod.ZodOptional<zod.ZodString>;
3174
3105
  }>, "strip", zod.ZodTypeAny, {
3175
3106
  name: string;
3176
3107
  pcbX?: number | undefined;
@@ -3238,43 +3169,7 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
3238
3169
  } | undefined;
3239
3170
  children?: any;
3240
3171
  symbolName?: string | undefined;
3241
- manufacturerPartNumber?: string | undefined;
3242
- pinLabels?: Record<string | number, string> | undefined;
3243
- schPortArrangement?: {
3244
- leftSize?: number | undefined;
3245
- topSize?: number | undefined;
3246
- rightSize?: number | undefined;
3247
- bottomSize?: number | undefined;
3248
- leftSide?: {
3249
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3250
- pins: number[];
3251
- } | undefined;
3252
- topSide?: {
3253
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3254
- pins: number[];
3255
- } | undefined;
3256
- rightSide?: {
3257
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3258
- pins: number[];
3259
- } | undefined;
3260
- bottomSide?: {
3261
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3262
- pins: number[];
3263
- } | undefined;
3264
- leftPinCount?: number | undefined;
3265
- rightPinCount?: number | undefined;
3266
- topPinCount?: number | undefined;
3267
- bottomPinCount?: number | undefined;
3268
- } | undefined;
3269
- schPinStyle?: Record<string, {
3270
- leftMargin?: number | undefined;
3271
- rightMargin?: number | undefined;
3272
- topMargin?: number | undefined;
3273
- bottomMargin?: number | undefined;
3274
- }> | undefined;
3275
- schPinSpacing?: number | undefined;
3276
- schWidth?: number | undefined;
3277
- schHeight?: number | undefined;
3172
+ color?: string | undefined;
3278
3173
  }, {
3279
3174
  name: string;
3280
3175
  pcbX?: string | number | undefined;
@@ -3344,54 +3239,21 @@ declare class Chip<PinLabels extends string = never> extends NormalComponent<typ
3344
3239
  } | undefined;
3345
3240
  children?: any;
3346
3241
  symbolName?: string | undefined;
3347
- manufacturerPartNumber?: string | undefined;
3348
- pinLabels?: Record<string | number, string> | undefined;
3349
- schPortArrangement?: {
3350
- leftSize?: number | undefined;
3351
- topSize?: number | undefined;
3352
- rightSize?: number | undefined;
3353
- bottomSize?: number | undefined;
3354
- leftSide?: {
3355
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3356
- pins: number[];
3357
- } | undefined;
3358
- topSide?: {
3359
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3360
- pins: number[];
3361
- } | undefined;
3362
- rightSide?: {
3363
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3364
- pins: number[];
3365
- } | undefined;
3366
- bottomSide?: {
3367
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3368
- pins: number[];
3369
- } | undefined;
3370
- leftPinCount?: number | undefined;
3371
- rightPinCount?: number | undefined;
3372
- topPinCount?: number | undefined;
3373
- bottomPinCount?: number | undefined;
3374
- } | undefined;
3375
- schPinStyle?: Record<string, {
3376
- leftMargin?: string | number | undefined;
3377
- rightMargin?: string | number | undefined;
3378
- topMargin?: string | number | undefined;
3379
- bottomMargin?: string | number | undefined;
3380
- }> | undefined;
3381
- schPinSpacing?: string | number | undefined;
3382
- schWidth?: string | number | undefined;
3383
- schHeight?: string | number | undefined;
3242
+ color?: string | undefined;
3384
3243
  }>;
3244
+ sourceFtype: Ftype;
3385
3245
  };
3386
- doInitialSourceRender(): void;
3387
- doInitialSchematicComponentRender(): void;
3388
- doInitialPcbComponentRender(): void;
3246
+ initPorts(): void;
3247
+ pos: Port;
3248
+ anode: Port;
3249
+ neg: Port;
3250
+ cathode: Port;
3389
3251
  }
3390
3252
 
3391
- declare class Jumper<PinLabels extends string = never> extends NormalComponent<typeof jumperProps, PinLabels> {
3392
- schematicDimensions: SchematicBoxDimensions | null;
3253
+ declare class Resistor extends NormalComponent<typeof resistorProps, PassivePorts> {
3393
3254
  get config(): {
3394
3255
  componentName: string;
3256
+ schematicSymbolName: string;
3395
3257
  zodProps: zod.ZodObject<zod.objectUtil.extendShape<zod.objectUtil.extendShape<zod.objectUtil.extendShape<{
3396
3258
  pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3397
3259
  pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
@@ -3649,146 +3511,30 @@ declare class Jumper<PinLabels extends string = never> extends NormalComponent<t
3649
3511
  children: zod.ZodOptional<zod.ZodAny>;
3650
3512
  symbolName: zod.ZodOptional<zod.ZodString>;
3651
3513
  }>, {
3652
- manufacturerPartNumber: zod.ZodOptional<zod.ZodString>;
3653
- pinLabels: zod.ZodOptional<zod.ZodRecord<zod.ZodUnion<[zod.ZodNumber, zod.ZodString]>, zod.ZodString>>;
3654
- schPinStyle: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodObject<{
3655
- leftMargin: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3656
- rightMargin: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3657
- topMargin: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3658
- bottomMargin: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3659
- }, "strip", zod.ZodTypeAny, {
3660
- leftMargin?: number | undefined;
3661
- rightMargin?: number | undefined;
3662
- topMargin?: number | undefined;
3663
- bottomMargin?: number | undefined;
3664
- }, {
3665
- leftMargin?: string | number | undefined;
3666
- rightMargin?: string | number | undefined;
3667
- topMargin?: string | number | undefined;
3668
- bottomMargin?: string | number | undefined;
3669
- }>>>;
3670
- schPinSpacing: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3671
- schWidth: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3672
- schHeight: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3673
- schDirection: zod.ZodOptional<zod.ZodEnum<["left", "right"]>>;
3674
- schPortArrangement: zod.ZodOptional<zod.ZodObject<{
3675
- leftSize: zod.ZodOptional<zod.ZodNumber>;
3676
- topSize: zod.ZodOptional<zod.ZodNumber>;
3677
- rightSize: zod.ZodOptional<zod.ZodNumber>;
3678
- bottomSize: zod.ZodOptional<zod.ZodNumber>;
3679
- leftPinCount: zod.ZodOptional<zod.ZodNumber>;
3680
- rightPinCount: zod.ZodOptional<zod.ZodNumber>;
3681
- topPinCount: zod.ZodOptional<zod.ZodNumber>;
3682
- bottomPinCount: zod.ZodOptional<zod.ZodNumber>;
3683
- leftSide: zod.ZodOptional<zod.ZodObject<{
3684
- pins: zod.ZodArray<zod.ZodNumber, "many">;
3685
- direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
3686
- }, "strip", zod.ZodTypeAny, {
3687
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3688
- pins: number[];
3689
- }, {
3690
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3691
- pins: number[];
3692
- }>>;
3693
- rightSide: zod.ZodOptional<zod.ZodObject<{
3694
- pins: zod.ZodArray<zod.ZodNumber, "many">;
3695
- direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
3696
- }, "strip", zod.ZodTypeAny, {
3697
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3698
- pins: number[];
3699
- }, {
3700
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3701
- pins: number[];
3702
- }>>;
3703
- topSide: zod.ZodOptional<zod.ZodObject<{
3704
- pins: zod.ZodArray<zod.ZodNumber, "many">;
3705
- direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
3706
- }, "strip", zod.ZodTypeAny, {
3707
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3708
- pins: number[];
3709
- }, {
3710
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3711
- pins: number[];
3712
- }>>;
3713
- bottomSide: zod.ZodOptional<zod.ZodObject<{
3714
- pins: zod.ZodArray<zod.ZodNumber, "many">;
3715
- direction: zod.ZodUnion<[zod.ZodLiteral<"top-to-bottom">, zod.ZodLiteral<"left-to-right">, zod.ZodLiteral<"bottom-to-top">, zod.ZodLiteral<"right-to-left">]>;
3716
- }, "strip", zod.ZodTypeAny, {
3717
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3718
- pins: number[];
3719
- }, {
3720
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3721
- pins: number[];
3722
- }>>;
3723
- }, "strip", zod.ZodTypeAny, {
3724
- leftSize?: number | undefined;
3725
- topSize?: number | undefined;
3726
- rightSize?: number | undefined;
3727
- bottomSize?: number | undefined;
3728
- leftSide?: {
3729
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3730
- pins: number[];
3731
- } | undefined;
3732
- topSide?: {
3733
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3734
- pins: number[];
3735
- } | undefined;
3736
- rightSide?: {
3737
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3738
- pins: number[];
3739
- } | undefined;
3740
- bottomSide?: {
3741
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3742
- pins: number[];
3743
- } | undefined;
3744
- leftPinCount?: number | undefined;
3745
- rightPinCount?: number | undefined;
3746
- topPinCount?: number | undefined;
3747
- bottomPinCount?: number | undefined;
3748
- }, {
3749
- leftSize?: number | undefined;
3750
- topSize?: number | undefined;
3751
- rightSize?: number | undefined;
3752
- bottomSize?: number | undefined;
3753
- leftSide?: {
3754
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3755
- pins: number[];
3756
- } | undefined;
3757
- topSide?: {
3758
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3759
- pins: number[];
3760
- } | undefined;
3761
- rightSide?: {
3762
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3763
- pins: number[];
3764
- } | undefined;
3765
- bottomSide?: {
3766
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3767
- pins: number[];
3768
- } | undefined;
3769
- leftPinCount?: number | undefined;
3770
- rightPinCount?: number | undefined;
3771
- topPinCount?: number | undefined;
3772
- bottomPinCount?: number | undefined;
3773
- }>>;
3774
- }>, "strip", zod.ZodTypeAny, {
3775
- name: string;
3776
- pcbX?: number | undefined;
3777
- pcbY?: number | undefined;
3778
- pcbRotation?: number | undefined;
3779
- schX?: number | undefined;
3780
- schY?: number | undefined;
3781
- schRotation?: number | undefined;
3782
- layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
3783
- footprint?: Props.Footprint | undefined;
3784
- supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3785
- key?: any;
3786
- cadModel?: string | {
3787
- stlUrl: string;
3788
- rotationOffset?: number | {
3789
- x: string | number;
3790
- y: string | number;
3791
- z: string | number;
3514
+ resistance: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
3515
+ pullupFor: zod.ZodOptional<zod.ZodString>;
3516
+ pullupTo: zod.ZodOptional<zod.ZodString>;
3517
+ pulldownFor: zod.ZodOptional<zod.ZodString>;
3518
+ pulldownTo: zod.ZodOptional<zod.ZodString>;
3519
+ }>, "strip", zod.ZodTypeAny, {
3520
+ name: string;
3521
+ resistance: number;
3522
+ pcbX?: number | undefined;
3523
+ pcbY?: number | undefined;
3524
+ pcbRotation?: number | undefined;
3525
+ schX?: number | undefined;
3526
+ schY?: number | undefined;
3527
+ schRotation?: number | undefined;
3528
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
3529
+ footprint?: Props.Footprint | undefined;
3530
+ supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
3531
+ key?: any;
3532
+ cadModel?: string | {
3533
+ stlUrl: string;
3534
+ rotationOffset?: number | {
3535
+ x: string | number;
3536
+ y: string | number;
3537
+ z: string | number;
3792
3538
  } | undefined;
3793
3539
  positionOffset?: {
3794
3540
  x: number;
@@ -3838,46 +3584,13 @@ declare class Jumper<PinLabels extends string = never> extends NormalComponent<t
3838
3584
  } | undefined;
3839
3585
  children?: any;
3840
3586
  symbolName?: string | undefined;
3841
- manufacturerPartNumber?: string | undefined;
3842
- pinLabels?: Record<string | number, string> | undefined;
3843
- schPortArrangement?: {
3844
- leftSize?: number | undefined;
3845
- topSize?: number | undefined;
3846
- rightSize?: number | undefined;
3847
- bottomSize?: number | undefined;
3848
- leftSide?: {
3849
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3850
- pins: number[];
3851
- } | undefined;
3852
- topSide?: {
3853
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3854
- pins: number[];
3855
- } | undefined;
3856
- rightSide?: {
3857
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3858
- pins: number[];
3859
- } | undefined;
3860
- bottomSide?: {
3861
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3862
- pins: number[];
3863
- } | undefined;
3864
- leftPinCount?: number | undefined;
3865
- rightPinCount?: number | undefined;
3866
- topPinCount?: number | undefined;
3867
- bottomPinCount?: number | undefined;
3868
- } | undefined;
3869
- schPinStyle?: Record<string, {
3870
- leftMargin?: number | undefined;
3871
- rightMargin?: number | undefined;
3872
- topMargin?: number | undefined;
3873
- bottomMargin?: number | undefined;
3874
- }> | undefined;
3875
- schPinSpacing?: number | undefined;
3876
- schWidth?: number | undefined;
3877
- schHeight?: number | undefined;
3878
- schDirection?: "left" | "right" | undefined;
3587
+ pullupFor?: string | undefined;
3588
+ pullupTo?: string | undefined;
3589
+ pulldownFor?: string | undefined;
3590
+ pulldownTo?: string | undefined;
3879
3591
  }, {
3880
3592
  name: string;
3593
+ resistance: string | number;
3881
3594
  pcbX?: string | number | undefined;
3882
3595
  pcbY?: string | number | undefined;
3883
3596
  pcbRotation?: string | number | undefined;
@@ -3945,53 +3658,105 @@ declare class Jumper<PinLabels extends string = never> extends NormalComponent<t
3945
3658
  } | undefined;
3946
3659
  children?: any;
3947
3660
  symbolName?: string | undefined;
3948
- manufacturerPartNumber?: string | undefined;
3949
- pinLabels?: Record<string | number, string> | undefined;
3950
- schPortArrangement?: {
3951
- leftSize?: number | undefined;
3952
- topSize?: number | undefined;
3953
- rightSize?: number | undefined;
3954
- bottomSize?: number | undefined;
3955
- leftSide?: {
3956
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3957
- pins: number[];
3958
- } | undefined;
3959
- topSide?: {
3960
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3961
- pins: number[];
3962
- } | undefined;
3963
- rightSide?: {
3964
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3965
- pins: number[];
3966
- } | undefined;
3967
- bottomSide?: {
3968
- direction: "top-to-bottom" | "left-to-right" | "bottom-to-top" | "right-to-left";
3969
- pins: number[];
3970
- } | undefined;
3971
- leftPinCount?: number | undefined;
3972
- rightPinCount?: number | undefined;
3973
- topPinCount?: number | undefined;
3974
- bottomPinCount?: number | undefined;
3975
- } | undefined;
3976
- schPinStyle?: Record<string, {
3977
- leftMargin?: string | number | undefined;
3978
- rightMargin?: string | number | undefined;
3979
- topMargin?: string | number | undefined;
3980
- bottomMargin?: string | number | undefined;
3981
- }> | undefined;
3982
- schPinSpacing?: string | number | undefined;
3983
- schWidth?: string | number | undefined;
3984
- schHeight?: string | number | undefined;
3985
- schDirection?: "left" | "right" | undefined;
3661
+ pullupFor?: string | undefined;
3662
+ pullupTo?: string | undefined;
3663
+ pulldownFor?: string | undefined;
3664
+ pulldownTo?: string | undefined;
3986
3665
  }>;
3666
+ sourceFtype: Ftype;
3987
3667
  };
3668
+ initPorts(): void;
3669
+ doInitialCreateNetsFromProps(): void;
3670
+ doInitialCreateTracesFromProps(): void;
3988
3671
  doInitialSourceRender(): void;
3989
- doInitialSchematicComponentRender(): void;
3990
- doInitialPcbComponentRender(): void;
3991
3672
  }
3992
3673
 
3993
- declare class SilkscreenPath extends PrimitiveComponent<typeof silkscreenPathProps> {
3994
- pcb_silkscreen_path_id: string | null;
3674
+ declare const edgeSpecifiers: readonly ["leftedge", "rightedge", "topedge", "bottomedge", "center"];
3675
+ type EdgeSpecifier = (typeof edgeSpecifiers)[number];
3676
+ declare class Constraint extends PrimitiveComponent<typeof constraintProps> {
3677
+ get config(): {
3678
+ componentName: string;
3679
+ zodProps: z.ZodUnion<[z.ZodObject<{
3680
+ pcb: z.ZodOptional<z.ZodLiteral<true>>;
3681
+ xDist: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3682
+ left: z.ZodString;
3683
+ right: z.ZodString;
3684
+ edgeToEdge: z.ZodOptional<z.ZodLiteral<true>>;
3685
+ centerToCenter: z.ZodOptional<z.ZodLiteral<true>>;
3686
+ }, "strip", z.ZodTypeAny, {
3687
+ left: string;
3688
+ right: string;
3689
+ xDist: number;
3690
+ pcb?: true | undefined;
3691
+ edgeToEdge?: true | undefined;
3692
+ centerToCenter?: true | undefined;
3693
+ }, {
3694
+ left: string;
3695
+ right: string;
3696
+ xDist: string | number;
3697
+ pcb?: true | undefined;
3698
+ edgeToEdge?: true | undefined;
3699
+ centerToCenter?: true | undefined;
3700
+ }>, z.ZodObject<{
3701
+ pcb: z.ZodOptional<z.ZodLiteral<true>>;
3702
+ yDist: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
3703
+ top: z.ZodString;
3704
+ bottom: z.ZodString;
3705
+ edgeToEdge: z.ZodOptional<z.ZodLiteral<true>>;
3706
+ centerToCenter: z.ZodOptional<z.ZodLiteral<true>>;
3707
+ }, "strip", z.ZodTypeAny, {
3708
+ top: string;
3709
+ bottom: string;
3710
+ yDist: number;
3711
+ pcb?: true | undefined;
3712
+ edgeToEdge?: true | undefined;
3713
+ centerToCenter?: true | undefined;
3714
+ }, {
3715
+ top: string;
3716
+ bottom: string;
3717
+ yDist: string | number;
3718
+ pcb?: true | undefined;
3719
+ edgeToEdge?: true | undefined;
3720
+ centerToCenter?: true | undefined;
3721
+ }>, z.ZodObject<{
3722
+ pcb: z.ZodOptional<z.ZodLiteral<true>>;
3723
+ sameY: z.ZodOptional<z.ZodLiteral<true>>;
3724
+ for: z.ZodArray<z.ZodString, "many">;
3725
+ }, "strip", z.ZodTypeAny, {
3726
+ for: string[];
3727
+ pcb?: true | undefined;
3728
+ sameY?: true | undefined;
3729
+ }, {
3730
+ for: string[];
3731
+ pcb?: true | undefined;
3732
+ sameY?: true | undefined;
3733
+ }>, z.ZodObject<{
3734
+ pcb: z.ZodOptional<z.ZodLiteral<true>>;
3735
+ sameX: z.ZodOptional<z.ZodLiteral<true>>;
3736
+ for: z.ZodArray<z.ZodString, "many">;
3737
+ }, "strip", z.ZodTypeAny, {
3738
+ for: string[];
3739
+ pcb?: true | undefined;
3740
+ sameX?: true | undefined;
3741
+ }, {
3742
+ for: string[];
3743
+ pcb?: true | undefined;
3744
+ sameX?: true | undefined;
3745
+ }>]>;
3746
+ };
3747
+ constructor(props: z.input<typeof constraintProps>);
3748
+ _getAllReferencedComponents(): {
3749
+ componentsWithSelectors: Array<{
3750
+ component: PrimitiveComponent<any>;
3751
+ selector: string;
3752
+ componentSelector: string;
3753
+ edge: EdgeSpecifier | undefined;
3754
+ }>;
3755
+ };
3756
+ }
3757
+
3758
+ declare class FabricationNotePath extends PrimitiveComponent<typeof fabricationNotePathProps> {
3759
+ fabrication_note_path_id: string | null;
3995
3760
  get config(): {
3996
3761
  componentName: string;
3997
3762
  zodProps: zod.ZodObject<zod.objectUtil.extendShape<Omit<{
@@ -4038,6 +3803,7 @@ declare class SilkscreenPath extends PrimitiveComponent<typeof silkscreenPathPro
4038
3803
  } | undefined;
4039
3804
  }>, "many">;
4040
3805
  strokeWidth: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3806
+ color: zod.ZodOptional<zod.ZodString>;
4041
3807
  }>, "strip", zod.ZodTypeAny, {
4042
3808
  route: {
4043
3809
  x: number;
@@ -4047,22 +3813,257 @@ declare class SilkscreenPath extends PrimitiveComponent<typeof silkscreenPathPro
4047
3813
  to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
4048
3814
  }[];
4049
3815
  layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
3816
+ color?: string | undefined;
4050
3817
  strokeWidth?: number | undefined;
4051
3818
  }, {
4052
- route: {
4053
- x: string | number;
4054
- y: string | number;
4055
- trace_width?: string | number | undefined;
4056
- via?: boolean | undefined;
4057
- to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4058
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4059
- } | undefined;
4060
- }[];
3819
+ route: {
3820
+ x: string | number;
3821
+ y: string | number;
3822
+ trace_width?: string | number | undefined;
3823
+ via?: boolean | undefined;
3824
+ to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
3825
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3826
+ } | undefined;
3827
+ }[];
3828
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
3829
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3830
+ } | undefined;
3831
+ color?: string | undefined;
3832
+ strokeWidth?: string | number | undefined;
3833
+ }>;
3834
+ };
3835
+ doInitialPcbPrimitiveRender(): void;
3836
+ }
3837
+
3838
+ declare class FabricationNoteText extends PrimitiveComponent<typeof fabricationNoteTextProps> {
3839
+ get config(): {
3840
+ componentName: string;
3841
+ zodProps: zod.ZodObject<zod.objectUtil.extendShape<{
3842
+ pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3843
+ pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3844
+ pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3845
+ layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
3846
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
3847
+ }, "strip", zod.ZodTypeAny, {
3848
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3849
+ }, {
3850
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3851
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
3852
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3853
+ }>>;
3854
+ }, {
3855
+ text: zod.ZodString;
3856
+ anchorAlignment: zod.ZodDefault<zod.ZodEnum<["center", "top_left", "top_right", "bottom_left", "bottom_right"]>>;
3857
+ font: zod.ZodOptional<zod.ZodEnum<["tscircuit2024"]>>;
3858
+ fontSize: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3859
+ color: zod.ZodOptional<zod.ZodString>;
3860
+ }>, "strip", zod.ZodTypeAny, {
3861
+ text: string;
3862
+ anchorAlignment: "center" | "top_left" | "top_right" | "bottom_left" | "bottom_right";
3863
+ pcbX?: number | undefined;
3864
+ pcbY?: number | undefined;
3865
+ pcbRotation?: number | undefined;
3866
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
3867
+ color?: string | undefined;
3868
+ font?: "tscircuit2024" | undefined;
3869
+ fontSize?: number | undefined;
3870
+ }, {
3871
+ text: string;
3872
+ pcbX?: string | number | undefined;
3873
+ pcbY?: string | number | undefined;
3874
+ pcbRotation?: string | number | undefined;
3875
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
3876
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3877
+ } | undefined;
3878
+ color?: string | undefined;
3879
+ anchorAlignment?: "center" | "top_left" | "top_right" | "bottom_left" | "bottom_right" | undefined;
3880
+ font?: "tscircuit2024" | undefined;
3881
+ fontSize?: string | number | undefined;
3882
+ }>;
3883
+ };
3884
+ doInitialPcbPrimitiveRender(): void;
3885
+ }
3886
+
3887
+ declare class Footprint extends PrimitiveComponent<typeof footprintProps> {
3888
+ get config(): {
3889
+ componentName: string;
3890
+ zodProps: zod.ZodObject<{
3891
+ originalLayer: zod.ZodOptional<zod.ZodDefault<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
3892
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
3893
+ }, "strip", zod.ZodTypeAny, {
3894
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3895
+ }, {
3896
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3897
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
3898
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3899
+ }>>>;
3900
+ }, "strip", zod.ZodTypeAny, {
3901
+ originalLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
3902
+ }, {
3903
+ originalLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
3904
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3905
+ } | undefined;
3906
+ }>;
3907
+ };
3908
+ /**
3909
+ * A footprint is a constrainedlayout, the db elements are adjusted according
3910
+ * to any constraints that are defined.
3911
+ */
3912
+ doInitialPcbFootprintLayout(): void;
3913
+ }
3914
+
3915
+ declare class Hole extends PrimitiveComponent<typeof holeProps> {
3916
+ pcb_hole_id: string | null;
3917
+ isPcbPrimitive: boolean;
3918
+ get config(): {
3919
+ componentName: string;
3920
+ zodProps: zod.ZodEffects<zod.ZodObject<zod.objectUtil.extendShape<Omit<{
3921
+ pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3922
+ pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3923
+ pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3924
+ layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
3925
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
3926
+ }, "strip", zod.ZodTypeAny, {
3927
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3928
+ }, {
3929
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3930
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
3931
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3932
+ }>>;
3933
+ }, "pcbRotation">, {
3934
+ name: zod.ZodOptional<zod.ZodString>;
3935
+ diameter: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3936
+ radius: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
3937
+ }>, "strip", zod.ZodTypeAny, {
3938
+ pcbX?: number | undefined;
3939
+ pcbY?: number | undefined;
3940
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
3941
+ name?: string | undefined;
3942
+ radius?: number | undefined;
3943
+ diameter?: number | undefined;
3944
+ }, {
3945
+ pcbX?: string | number | undefined;
3946
+ pcbY?: string | number | undefined;
3947
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
3948
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3949
+ } | undefined;
3950
+ name?: string | undefined;
3951
+ radius?: string | number | undefined;
3952
+ diameter?: string | number | undefined;
3953
+ }>, {
3954
+ diameter: number;
3955
+ radius: number;
3956
+ pcbX?: number | undefined;
3957
+ pcbY?: number | undefined;
3958
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
3959
+ name?: string | undefined;
3960
+ }, {
3961
+ pcbX?: string | number | undefined;
3962
+ pcbY?: string | number | undefined;
3963
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
3964
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
3965
+ } | undefined;
3966
+ name?: string | undefined;
3967
+ radius?: string | number | undefined;
3968
+ diameter?: string | number | undefined;
3969
+ }>;
3970
+ };
3971
+ getPcbSize(): {
3972
+ width: number;
3973
+ height: number;
3974
+ };
3975
+ doInitialPcbPrimitiveRender(): void;
3976
+ _getPcbCircuitJsonBounds(): {
3977
+ center: {
3978
+ x: number;
3979
+ y: number;
3980
+ };
3981
+ bounds: {
3982
+ left: number;
3983
+ top: number;
3984
+ right: number;
3985
+ bottom: number;
3986
+ };
3987
+ width: number;
3988
+ height: number;
3989
+ };
3990
+ _setPositionFromLayout(newCenter: {
3991
+ x: number;
3992
+ y: number;
3993
+ }): void;
3994
+ }
3995
+
3996
+ declare class Keepout extends PrimitiveComponent<typeof pcbKeepoutProps> {
3997
+ pcb_keepout_id: string | null;
3998
+ isPcbPrimitive: boolean;
3999
+ get config(): {
4000
+ componentName: string;
4001
+ zodProps: zod.ZodUnion<[zod.ZodObject<zod.objectUtil.extendShape<Omit<{
4002
+ pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4003
+ pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4004
+ pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4005
+ layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
4006
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
4007
+ }, "strip", zod.ZodTypeAny, {
4008
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4009
+ }, {
4010
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4011
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4012
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4013
+ }>>;
4014
+ }, "pcbRotation">, {
4015
+ shape: zod.ZodLiteral<"circle">;
4016
+ radius: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
4017
+ }>, "strip", zod.ZodTypeAny, {
4018
+ shape: "circle";
4019
+ radius: number;
4020
+ pcbX?: number | undefined;
4021
+ pcbY?: number | undefined;
4022
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
4023
+ }, {
4024
+ shape: "circle";
4025
+ radius: string | number;
4026
+ pcbX?: string | number | undefined;
4027
+ pcbY?: string | number | undefined;
4028
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4029
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4030
+ } | undefined;
4031
+ }>, zod.ZodObject<zod.objectUtil.extendShape<{
4032
+ pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4033
+ pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4034
+ pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4035
+ layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
4036
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
4037
+ }, "strip", zod.ZodTypeAny, {
4038
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4039
+ }, {
4040
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4041
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4042
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4043
+ }>>;
4044
+ }, {
4045
+ shape: zod.ZodLiteral<"rect">;
4046
+ width: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
4047
+ height: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
4048
+ }>, "strip", zod.ZodTypeAny, {
4049
+ shape: "rect";
4050
+ width: number;
4051
+ height: number;
4052
+ pcbX?: number | undefined;
4053
+ pcbY?: number | undefined;
4054
+ pcbRotation?: number | undefined;
4055
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
4056
+ }, {
4057
+ shape: "rect";
4058
+ width: string | number;
4059
+ height: string | number;
4060
+ pcbX?: string | number | undefined;
4061
+ pcbY?: string | number | undefined;
4062
+ pcbRotation?: string | number | undefined;
4061
4063
  layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4062
4064
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4063
4065
  } | undefined;
4064
- strokeWidth?: string | number | undefined;
4065
- }>;
4066
+ }>]>;
4066
4067
  };
4067
4068
  doInitialPcbPrimitiveRender(): void;
4068
4069
  }
@@ -4179,96 +4180,56 @@ declare class PlatedHole extends PrimitiveComponent<typeof platedHoleProps> {
4179
4180
  doInitialPcbPortAttachment(): void;
4180
4181
  }
4181
4182
 
4182
- declare const edgeSpecifiers: readonly ["leftedge", "rightedge", "topedge", "bottomedge", "center"];
4183
- type EdgeSpecifier = (typeof edgeSpecifiers)[number];
4184
- declare class Constraint extends PrimitiveComponent<typeof constraintProps> {
4183
+ declare class SilkscreenCircle extends PrimitiveComponent<typeof silkscreenCircleProps> {
4184
+ pcb_silkscreen_circle_id: string | null;
4185
4185
  get config(): {
4186
4186
  componentName: string;
4187
- zodProps: z.ZodUnion<[z.ZodObject<{
4188
- pcb: z.ZodOptional<z.ZodLiteral<true>>;
4189
- xDist: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4190
- left: z.ZodString;
4191
- right: z.ZodString;
4192
- edgeToEdge: z.ZodOptional<z.ZodLiteral<true>>;
4193
- centerToCenter: z.ZodOptional<z.ZodLiteral<true>>;
4194
- }, "strip", z.ZodTypeAny, {
4195
- left: string;
4196
- right: string;
4197
- xDist: number;
4198
- pcb?: true | undefined;
4199
- edgeToEdge?: true | undefined;
4200
- centerToCenter?: true | undefined;
4201
- }, {
4202
- left: string;
4203
- right: string;
4204
- xDist: string | number;
4205
- pcb?: true | undefined;
4206
- edgeToEdge?: true | undefined;
4207
- centerToCenter?: true | undefined;
4208
- }>, z.ZodObject<{
4209
- pcb: z.ZodOptional<z.ZodLiteral<true>>;
4210
- yDist: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4211
- top: z.ZodString;
4212
- bottom: z.ZodString;
4213
- edgeToEdge: z.ZodOptional<z.ZodLiteral<true>>;
4214
- centerToCenter: z.ZodOptional<z.ZodLiteral<true>>;
4215
- }, "strip", z.ZodTypeAny, {
4216
- top: string;
4217
- bottom: string;
4218
- yDist: number;
4219
- pcb?: true | undefined;
4220
- edgeToEdge?: true | undefined;
4221
- centerToCenter?: true | undefined;
4222
- }, {
4223
- top: string;
4224
- bottom: string;
4225
- yDist: string | number;
4226
- pcb?: true | undefined;
4227
- edgeToEdge?: true | undefined;
4228
- centerToCenter?: true | undefined;
4229
- }>, z.ZodObject<{
4230
- pcb: z.ZodOptional<z.ZodLiteral<true>>;
4231
- sameY: z.ZodOptional<z.ZodLiteral<true>>;
4232
- for: z.ZodArray<z.ZodString, "many">;
4233
- }, "strip", z.ZodTypeAny, {
4234
- for: string[];
4235
- pcb?: true | undefined;
4236
- sameY?: true | undefined;
4237
- }, {
4238
- for: string[];
4239
- pcb?: true | undefined;
4240
- sameY?: true | undefined;
4241
- }>, z.ZodObject<{
4242
- pcb: z.ZodOptional<z.ZodLiteral<true>>;
4243
- sameX: z.ZodOptional<z.ZodLiteral<true>>;
4244
- for: z.ZodArray<z.ZodString, "many">;
4245
- }, "strip", z.ZodTypeAny, {
4246
- for: string[];
4247
- pcb?: true | undefined;
4248
- sameX?: true | undefined;
4187
+ zodProps: zod.ZodObject<zod.objectUtil.extendShape<Omit<{
4188
+ pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4189
+ pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4190
+ pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4191
+ layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
4192
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
4193
+ }, "strip", zod.ZodTypeAny, {
4194
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4195
+ }, {
4196
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4197
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4198
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4199
+ }>>;
4200
+ }, "pcbRotation">, {
4201
+ isFilled: zod.ZodOptional<zod.ZodBoolean>;
4202
+ isOutline: zod.ZodOptional<zod.ZodBoolean>;
4203
+ strokeWidth: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4204
+ radius: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
4205
+ }>, "strip", zod.ZodTypeAny, {
4206
+ radius: number;
4207
+ pcbX?: number | undefined;
4208
+ pcbY?: number | undefined;
4209
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
4210
+ isFilled?: boolean | undefined;
4211
+ strokeWidth?: number | undefined;
4212
+ isOutline?: boolean | undefined;
4249
4213
  }, {
4250
- for: string[];
4251
- pcb?: true | undefined;
4252
- sameX?: true | undefined;
4253
- }>]>;
4254
- };
4255
- constructor(props: z.input<typeof constraintProps>);
4256
- _getAllReferencedComponents(): {
4257
- componentsWithSelectors: Array<{
4258
- component: PrimitiveComponent<any>;
4259
- selector: string;
4260
- componentSelector: string;
4261
- edge: EdgeSpecifier | undefined;
4214
+ radius: string | number;
4215
+ pcbX?: string | number | undefined;
4216
+ pcbY?: string | number | undefined;
4217
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4218
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4219
+ } | undefined;
4220
+ isFilled?: boolean | undefined;
4221
+ strokeWidth?: string | number | undefined;
4222
+ isOutline?: boolean | undefined;
4262
4223
  }>;
4263
4224
  };
4225
+ doInitialPcbPrimitiveRender(): void;
4264
4226
  }
4265
4227
 
4266
- declare class Hole extends PrimitiveComponent<typeof holeProps> {
4267
- pcb_hole_id: string | null;
4268
- isPcbPrimitive: boolean;
4228
+ declare class SilkscreenPath extends PrimitiveComponent<typeof silkscreenPathProps> {
4229
+ pcb_silkscreen_path_id: string | null;
4269
4230
  get config(): {
4270
4231
  componentName: string;
4271
- zodProps: zod.ZodEffects<zod.ZodObject<zod.objectUtil.extendShape<Omit<{
4232
+ zodProps: zod.ZodObject<zod.objectUtil.extendShape<Omit<{
4272
4233
  pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4273
4234
  pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4274
4235
  pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
@@ -4281,67 +4242,112 @@ declare class Hole extends PrimitiveComponent<typeof holeProps> {
4281
4242
  }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4282
4243
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4283
4244
  }>>;
4284
- }, "pcbRotation">, {
4285
- name: zod.ZodOptional<zod.ZodString>;
4286
- diameter: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4287
- radius: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4245
+ }, "pcbRotation" | "pcbX" | "pcbY">, {
4246
+ route: zod.ZodArray<zod.ZodObject<{
4247
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
4248
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
4249
+ via: zod.ZodOptional<zod.ZodBoolean>;
4250
+ to_layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
4251
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
4252
+ }, "strip", zod.ZodTypeAny, {
4253
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4254
+ }, {
4255
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4256
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4257
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4258
+ }>>;
4259
+ trace_width: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4260
+ }, "strip", zod.ZodTypeAny, {
4261
+ x: number;
4262
+ y: number;
4263
+ trace_width?: number | undefined;
4264
+ via?: boolean | undefined;
4265
+ to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
4266
+ }, {
4267
+ x: string | number;
4268
+ y: string | number;
4269
+ trace_width?: string | number | undefined;
4270
+ via?: boolean | undefined;
4271
+ to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4272
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4273
+ } | undefined;
4274
+ }>, "many">;
4275
+ strokeWidth: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4288
4276
  }>, "strip", zod.ZodTypeAny, {
4289
- pcbX?: number | undefined;
4290
- pcbY?: number | undefined;
4277
+ route: {
4278
+ x: number;
4279
+ y: number;
4280
+ trace_width?: number | undefined;
4281
+ via?: boolean | undefined;
4282
+ to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
4283
+ }[];
4291
4284
  layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
4292
- name?: string | undefined;
4293
- radius?: number | undefined;
4294
- diameter?: number | undefined;
4285
+ strokeWidth?: number | undefined;
4295
4286
  }, {
4296
- pcbX?: string | number | undefined;
4297
- pcbY?: string | number | undefined;
4287
+ route: {
4288
+ x: string | number;
4289
+ y: string | number;
4290
+ trace_width?: string | number | undefined;
4291
+ via?: boolean | undefined;
4292
+ to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4293
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4294
+ } | undefined;
4295
+ }[];
4298
4296
  layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4299
4297
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4300
4298
  } | undefined;
4301
- name?: string | undefined;
4302
- radius?: string | number | undefined;
4303
- diameter?: string | number | undefined;
4304
- }>, {
4305
- diameter: number;
4306
- radius: number;
4299
+ strokeWidth?: string | number | undefined;
4300
+ }>;
4301
+ };
4302
+ doInitialPcbPrimitiveRender(): void;
4303
+ }
4304
+
4305
+ declare class SilkscreenRect extends PrimitiveComponent<typeof silkscreenRectProps> {
4306
+ pcb_silkscreen_rect_id: string | null;
4307
+ get config(): {
4308
+ componentName: string;
4309
+ zodProps: zod.ZodObject<zod.objectUtil.extendShape<Omit<{
4310
+ pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4311
+ pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4312
+ pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4313
+ layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
4314
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
4315
+ }, "strip", zod.ZodTypeAny, {
4316
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4317
+ }, {
4318
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4319
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4320
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4321
+ }>>;
4322
+ }, "pcbRotation">, {
4323
+ isFilled: zod.ZodOptional<zod.ZodBoolean>;
4324
+ isOutline: zod.ZodOptional<zod.ZodBoolean>;
4325
+ strokeWidth: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4326
+ width: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
4327
+ height: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
4328
+ }>, "strip", zod.ZodTypeAny, {
4329
+ width: number;
4330
+ height: number;
4307
4331
  pcbX?: number | undefined;
4308
4332
  pcbY?: number | undefined;
4309
4333
  layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
4310
- name?: string | undefined;
4334
+ isFilled?: boolean | undefined;
4335
+ strokeWidth?: number | undefined;
4336
+ isOutline?: boolean | undefined;
4311
4337
  }, {
4338
+ width: string | number;
4339
+ height: string | number;
4312
4340
  pcbX?: string | number | undefined;
4313
4341
  pcbY?: string | number | undefined;
4314
4342
  layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4315
4343
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4316
4344
  } | undefined;
4317
- name?: string | undefined;
4318
- radius?: string | number | undefined;
4319
- diameter?: string | number | undefined;
4345
+ isFilled?: boolean | undefined;
4346
+ strokeWidth?: string | number | undefined;
4347
+ isOutline?: boolean | undefined;
4320
4348
  }>;
4321
4349
  };
4322
- getPcbSize(): {
4323
- width: number;
4324
- height: number;
4325
- };
4326
- doInitialPcbPrimitiveRender(): void;
4327
- _getPcbCircuitJsonBounds(): {
4328
- center: {
4329
- x: number;
4330
- y: number;
4331
- };
4332
- bounds: {
4333
- left: number;
4334
- top: number;
4335
- right: number;
4336
- bottom: number;
4337
- };
4338
- width: number;
4339
- height: number;
4340
- };
4341
- _setPositionFromLayout(newCenter: {
4342
- x: number;
4343
- y: number;
4344
- }): void;
4350
+ doInitialPcbPrimitiveRender(): void;
4345
4351
  }
4346
4352
 
4347
4353
  declare class SilkscreenText extends PrimitiveComponent<typeof silkscreenTextProps> {
@@ -4395,8 +4401,9 @@ declare class SilkscreenText extends PrimitiveComponent<typeof silkscreenTextPro
4395
4401
  };
4396
4402
  }
4397
4403
 
4398
- declare class Keepout extends PrimitiveComponent<typeof pcbKeepoutProps> {
4399
- pcb_keepout_id: string | null;
4404
+ declare class SmtPad extends PrimitiveComponent<typeof smtPadProps> {
4405
+ pcb_smtpad_id: string | null;
4406
+ matchedPort: Port | null;
4400
4407
  isPcbPrimitive: boolean;
4401
4408
  get config(): {
4402
4409
  componentName: string;
@@ -4416,12 +4423,14 @@ declare class Keepout extends PrimitiveComponent<typeof pcbKeepoutProps> {
4416
4423
  }, "pcbRotation">, {
4417
4424
  shape: zod.ZodLiteral<"circle">;
4418
4425
  radius: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
4426
+ portHints: zod.ZodOptional<zod.ZodArray<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, "many">>;
4419
4427
  }>, "strip", zod.ZodTypeAny, {
4420
4428
  shape: "circle";
4421
4429
  radius: number;
4422
4430
  pcbX?: number | undefined;
4423
4431
  pcbY?: number | undefined;
4424
4432
  layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
4433
+ portHints?: (string | number)[] | undefined;
4425
4434
  }, {
4426
4435
  shape: "circle";
4427
4436
  radius: string | number;
@@ -4430,7 +4439,8 @@ declare class Keepout extends PrimitiveComponent<typeof pcbKeepoutProps> {
4430
4439
  layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4431
4440
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4432
4441
  } | undefined;
4433
- }>, zod.ZodObject<zod.objectUtil.extendShape<{
4442
+ portHints?: (string | number)[] | undefined;
4443
+ }>, zod.ZodObject<zod.objectUtil.extendShape<Omit<{
4434
4444
  pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4435
4445
  pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4436
4446
  pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
@@ -4443,101 +4453,120 @@ declare class Keepout extends PrimitiveComponent<typeof pcbKeepoutProps> {
4443
4453
  }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4444
4454
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4445
4455
  }>>;
4446
- }, {
4456
+ }, "pcbRotation">, {
4447
4457
  shape: zod.ZodLiteral<"rect">;
4448
4458
  width: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
4449
4459
  height: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
4460
+ portHints: zod.ZodOptional<zod.ZodArray<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, "many">>;
4450
4461
  }>, "strip", zod.ZodTypeAny, {
4451
4462
  shape: "rect";
4452
4463
  width: number;
4453
4464
  height: number;
4454
4465
  pcbX?: number | undefined;
4455
4466
  pcbY?: number | undefined;
4456
- pcbRotation?: number | undefined;
4457
4467
  layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
4468
+ portHints?: (string | number)[] | undefined;
4458
4469
  }, {
4459
4470
  shape: "rect";
4460
4471
  width: string | number;
4461
4472
  height: string | number;
4462
4473
  pcbX?: string | number | undefined;
4463
4474
  pcbY?: string | number | undefined;
4464
- pcbRotation?: string | number | undefined;
4465
4475
  layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4466
4476
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4467
4477
  } | undefined;
4478
+ portHints?: (string | number)[] | undefined;
4468
4479
  }>]>;
4469
4480
  };
4481
+ getPcbSize(): {
4482
+ width: number;
4483
+ height: number;
4484
+ };
4485
+ doInitialPortMatching(): void;
4470
4486
  doInitialPcbPrimitiveRender(): void;
4487
+ doInitialPcbPortAttachment(): void;
4488
+ _getPcbCircuitJsonBounds(): {
4489
+ center: {
4490
+ x: number;
4491
+ y: number;
4492
+ };
4493
+ bounds: {
4494
+ left: number;
4495
+ top: number;
4496
+ right: number;
4497
+ bottom: number;
4498
+ };
4499
+ width: number;
4500
+ height: number;
4501
+ };
4502
+ _setPositionFromLayout(newCenter: {
4503
+ x: number;
4504
+ y: number;
4505
+ }): void;
4471
4506
  }
4472
4507
 
4473
- declare class FabricationNoteText extends PrimitiveComponent<typeof fabricationNoteTextProps> {
4508
+ declare class TraceHint extends PrimitiveComponent<typeof traceHintProps> {
4509
+ matchedPort: Port | null;
4474
4510
  get config(): {
4475
4511
  componentName: string;
4476
- zodProps: zod.ZodObject<zod.objectUtil.extendShape<{
4477
- pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4478
- pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4479
- pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4480
- layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
4481
- name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
4512
+ zodProps: zod.ZodObject<{
4513
+ for: zod.ZodOptional<zod.ZodString>;
4514
+ order: zod.ZodOptional<zod.ZodNumber>;
4515
+ offset: zod.ZodOptional<zod.ZodUnion<[zod.ZodObject<{
4516
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
4517
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
4518
+ via: zod.ZodOptional<zod.ZodBoolean>;
4519
+ to_layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
4520
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
4521
+ }, "strip", zod.ZodTypeAny, {
4522
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4523
+ }, {
4524
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4525
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4526
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4527
+ }>>;
4528
+ trace_width: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4482
4529
  }, "strip", zod.ZodTypeAny, {
4483
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4530
+ x: number;
4531
+ y: number;
4532
+ trace_width?: number | undefined;
4533
+ via?: boolean | undefined;
4534
+ to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
4484
4535
  }, {
4485
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4486
- }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4487
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4488
- }>>;
4489
- }, {
4490
- text: zod.ZodString;
4491
- anchorAlignment: zod.ZodDefault<zod.ZodEnum<["center", "top_left", "top_right", "bottom_left", "bottom_right"]>>;
4492
- font: zod.ZodOptional<zod.ZodEnum<["tscircuit2024"]>>;
4493
- fontSize: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4494
- color: zod.ZodOptional<zod.ZodString>;
4495
- }>, "strip", zod.ZodTypeAny, {
4496
- text: string;
4497
- anchorAlignment: "center" | "top_left" | "top_right" | "bottom_left" | "bottom_right";
4498
- pcbX?: number | undefined;
4499
- pcbY?: number | undefined;
4500
- pcbRotation?: number | undefined;
4501
- layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
4502
- color?: string | undefined;
4503
- font?: "tscircuit2024" | undefined;
4504
- fontSize?: number | undefined;
4505
- }, {
4506
- text: string;
4507
- pcbX?: string | number | undefined;
4508
- pcbY?: string | number | undefined;
4509
- pcbRotation?: string | number | undefined;
4510
- layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4511
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4512
- } | undefined;
4513
- color?: string | undefined;
4514
- anchorAlignment?: "center" | "top_left" | "top_right" | "bottom_left" | "bottom_right" | undefined;
4515
- font?: "tscircuit2024" | undefined;
4516
- fontSize?: string | number | undefined;
4517
- }>;
4518
- };
4519
- doInitialPcbPrimitiveRender(): void;
4520
- }
4521
-
4522
- declare class FabricationNotePath extends PrimitiveComponent<typeof fabricationNotePathProps> {
4523
- fabrication_note_path_id: string | null;
4524
- get config(): {
4525
- componentName: string;
4526
- zodProps: zod.ZodObject<zod.objectUtil.extendShape<Omit<{
4527
- pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4528
- pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4529
- pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4530
- layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
4531
- name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
4536
+ x: string | number;
4537
+ y: string | number;
4538
+ trace_width?: string | number | undefined;
4539
+ via?: boolean | undefined;
4540
+ to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4541
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4542
+ } | undefined;
4543
+ }>, zod.ZodObject<{
4544
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
4545
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
4546
+ via: zod.ZodOptional<zod.ZodBoolean>;
4547
+ toLayer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
4548
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
4549
+ }, "strip", zod.ZodTypeAny, {
4550
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4551
+ }, {
4552
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4553
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4554
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4555
+ }>>;
4532
4556
  }, "strip", zod.ZodTypeAny, {
4533
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4557
+ x: number;
4558
+ y: number;
4559
+ toLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
4560
+ via?: boolean | undefined;
4534
4561
  }, {
4535
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4536
- }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4537
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4538
- }>>;
4539
- }, "pcbRotation" | "pcbX" | "pcbY">, {
4540
- route: zod.ZodArray<zod.ZodObject<{
4562
+ x: string | number;
4563
+ y: string | number;
4564
+ toLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4565
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4566
+ } | undefined;
4567
+ via?: boolean | undefined;
4568
+ }>]>>;
4569
+ offsets: zod.ZodOptional<zod.ZodUnion<[zod.ZodArray<zod.ZodObject<{
4541
4570
  x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
4542
4571
  y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
4543
4572
  via: zod.ZodOptional<zod.ZodBoolean>;
@@ -4565,22 +4594,65 @@ declare class FabricationNotePath extends PrimitiveComponent<typeof fabricationN
4565
4594
  to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4566
4595
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4567
4596
  } | undefined;
4568
- }>, "many">;
4569
- strokeWidth: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
4570
- color: zod.ZodOptional<zod.ZodString>;
4571
- }>, "strip", zod.ZodTypeAny, {
4572
- route: {
4597
+ }>, "many">, zod.ZodArray<zod.ZodObject<{
4598
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
4599
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
4600
+ via: zod.ZodOptional<zod.ZodBoolean>;
4601
+ toLayer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
4602
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
4603
+ }, "strip", zod.ZodTypeAny, {
4604
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4605
+ }, {
4606
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4607
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4608
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4609
+ }>>;
4610
+ }, "strip", zod.ZodTypeAny, {
4611
+ x: number;
4612
+ y: number;
4613
+ toLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
4614
+ via?: boolean | undefined;
4615
+ }, {
4616
+ x: string | number;
4617
+ y: string | number;
4618
+ toLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4619
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4620
+ } | undefined;
4621
+ via?: boolean | undefined;
4622
+ }>, "many">]>>;
4623
+ traceWidth: zod.ZodOptional<zod.ZodNumber>;
4624
+ }, "strip", zod.ZodTypeAny, {
4625
+ for?: string | undefined;
4626
+ order?: number | undefined;
4627
+ offset?: {
4573
4628
  x: number;
4574
4629
  y: number;
4575
4630
  trace_width?: number | undefined;
4576
4631
  via?: boolean | undefined;
4577
4632
  to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
4578
- }[];
4579
- layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
4580
- color?: string | undefined;
4581
- strokeWidth?: number | undefined;
4633
+ } | {
4634
+ x: number;
4635
+ y: number;
4636
+ toLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
4637
+ via?: boolean | undefined;
4638
+ } | undefined;
4639
+ offsets?: {
4640
+ x: number;
4641
+ y: number;
4642
+ trace_width?: number | undefined;
4643
+ via?: boolean | undefined;
4644
+ to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
4645
+ }[] | {
4646
+ x: number;
4647
+ y: number;
4648
+ toLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
4649
+ via?: boolean | undefined;
4650
+ }[] | undefined;
4651
+ traceWidth?: number | undefined;
4582
4652
  }, {
4583
- route: {
4653
+ for?: string | undefined;
4654
+ order?: number | undefined;
4655
+ offset?: {
4584
4656
  x: string | number;
4585
4657
  y: string | number;
4586
4658
  trace_width?: string | number | undefined;
@@ -4588,15 +4660,36 @@ declare class FabricationNotePath extends PrimitiveComponent<typeof fabricationN
4588
4660
  to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4589
4661
  name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4590
4662
  } | undefined;
4591
- }[];
4592
- layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4593
- name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4663
+ } | {
4664
+ x: string | number;
4665
+ y: string | number;
4666
+ toLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4667
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4668
+ } | undefined;
4669
+ via?: boolean | undefined;
4594
4670
  } | undefined;
4595
- color?: string | undefined;
4596
- strokeWidth?: string | number | undefined;
4671
+ offsets?: {
4672
+ x: string | number;
4673
+ y: string | number;
4674
+ trace_width?: string | number | undefined;
4675
+ via?: boolean | undefined;
4676
+ to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4677
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4678
+ } | undefined;
4679
+ }[] | {
4680
+ x: string | number;
4681
+ y: string | number;
4682
+ toLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
4683
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
4684
+ } | undefined;
4685
+ via?: boolean | undefined;
4686
+ }[] | undefined;
4687
+ traceWidth?: number | undefined;
4597
4688
  }>;
4598
4689
  };
4599
- doInitialPcbPrimitiveRender(): void;
4690
+ doInitialPortMatching(): void;
4691
+ getPcbRouteHints(): Array<RouteHintPoint>;
4692
+ doInitialPcbTraceHintRender(): void;
4600
4693
  }
4601
4694
 
4602
4695
  declare class Via extends PrimitiveComponent<typeof viaProps> {
@@ -4756,4 +4849,4 @@ declare global {
4756
4849
  }
4757
4850
  }
4758
4851
 
4759
- export { Board, Capacitor, Chip, Circuit, Constraint, Diode, FabricationNotePath, FabricationNoteText, Footprint, Group, Hole, type IRenderable, Jumper, Keepout, Led, Net, NormalComponent, PlatedHole, Port, PrimitiveComponent, Project, Renderable, Resistor, SilkscreenPath, SilkscreenText, SmtPad, Trace, TraceHint, Via, useRenderedCircuit };
4852
+ export { Board, Capacitor, Chip, Circuit, Constraint, Diode, FabricationNotePath, FabricationNoteText, Footprint, Group, Hole, type IRenderable, Jumper, Keepout, Led, Net, NormalComponent, PlatedHole, Port, PrimitiveComponent, Project, Renderable, Resistor, SilkscreenCircle, SilkscreenPath, SilkscreenRect, SilkscreenText, SmtPad, Trace, TraceHint, Via, useRenderedCircuit };