@tscircuit/footprinter 0.0.203 → 0.0.204

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -377,6 +377,7 @@ declare const any_footprinter_def: z.ZodUnion<[z.ZodObject<{
377
377
  nosquareplating: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
378
378
  nopinlabels: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
379
379
  doublesidedpinlabel: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
380
+ backsidelabel: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
380
381
  }, "strip", z.ZodTypeAny, {
381
382
  fn: string;
382
383
  num_pins: number;
@@ -392,6 +393,7 @@ declare const any_footprinter_def: z.ZodUnion<[z.ZodObject<{
392
393
  nosquareplating: boolean;
393
394
  nopinlabels: boolean;
394
395
  doublesidedpinlabel: boolean;
396
+ backsidelabel: boolean;
395
397
  male?: boolean | undefined;
396
398
  female?: boolean | undefined;
397
399
  }, {
@@ -411,6 +413,7 @@ declare const any_footprinter_def: z.ZodUnion<[z.ZodObject<{
411
413
  nosquareplating?: boolean | undefined;
412
414
  nopinlabels?: boolean | undefined;
413
415
  doublesidedpinlabel?: boolean | undefined;
416
+ backsidelabel?: boolean | undefined;
414
417
  }>, {
415
418
  pinlabelAnchorSide: "top" | "bottom" | "left" | "right";
416
419
  male: boolean;
@@ -429,6 +432,7 @@ declare const any_footprinter_def: z.ZodUnion<[z.ZodObject<{
429
432
  nosquareplating: boolean;
430
433
  nopinlabels: boolean;
431
434
  doublesidedpinlabel: boolean;
435
+ backsidelabel: boolean;
432
436
  }, {
433
437
  fn: string;
434
438
  num_pins?: number | undefined;
@@ -446,6 +450,7 @@ declare const any_footprinter_def: z.ZodUnion<[z.ZodObject<{
446
450
  nosquareplating?: boolean | undefined;
447
451
  nopinlabels?: boolean | undefined;
448
452
  doublesidedpinlabel?: boolean | undefined;
453
+ backsidelabel?: boolean | undefined;
449
454
  }>, {
450
455
  pinlabelAnchorSide: "top" | "bottom" | "left" | "right";
451
456
  male: boolean;
@@ -464,6 +469,7 @@ declare const any_footprinter_def: z.ZodUnion<[z.ZodObject<{
464
469
  nosquareplating: boolean;
465
470
  nopinlabels: boolean;
466
471
  doublesidedpinlabel: boolean;
472
+ backsidelabel: boolean;
467
473
  }, {
468
474
  fn: string;
469
475
  num_pins?: number | undefined;
@@ -481,6 +487,7 @@ declare const any_footprinter_def: z.ZodUnion<[z.ZodObject<{
481
487
  nosquareplating?: boolean | undefined;
482
488
  nopinlabels?: boolean | undefined;
483
489
  doublesidedpinlabel?: boolean | undefined;
490
+ backsidelabel?: boolean | undefined;
484
491
  }>, z.ZodEffects<z.ZodObject<{
485
492
  fn: z.ZodString;
486
493
  cc: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
@@ -1161,7 +1168,7 @@ type Footprinter = {
1161
1168
  ssop: (num_pins?: number) => FootprinterParamsBuilder<"w" | "p">;
1162
1169
  tssop: (num_pins?: number) => FootprinterParamsBuilder<"w" | "p">;
1163
1170
  dfn: (num_pins?: number) => FootprinterParamsBuilder<"w" | "p">;
1164
- pinrow: (num_pins?: number) => FootprinterParamsBuilder<"p" | "id" | "od" | "male" | "female" | "rows" | "pinlabeltextalignleft" | "pinlabeltextaligncenter" | "pinlabeltextalignright" | "pinlabelverticallyinverted" | "pinlabelorthogonal" | "nosquareplating" | "nopinlabels" | "doublesidedpinlabel">;
1171
+ pinrow: (num_pins?: number) => FootprinterParamsBuilder<"p" | "id" | "od" | "male" | "female" | "rows" | "pinlabeltextalignleft" | "pinlabeltextaligncenter" | "pinlabeltextalignright" | "pinlabelverticallyinverted" | "pinlabelorthogonal" | "nosquareplating" | "nopinlabels" | "doublesidedpinlabel" | "backsidelabel">;
1165
1172
  axial: () => FootprinterParamsBuilder<"p" | "id" | "od">;
1166
1173
  hc49: () => FootprinterParamsBuilder<"p" | "id" | "od" | "w" | "h">;
1167
1174
  to220: () => FootprinterParamsBuilder<"w" | "h" | "p" | "id" | "od">;
package/dist/index.js CHANGED
@@ -1661,7 +1661,10 @@ var pinrow_def = z12.object({
1661
1661
  pinlabelorthogonal: z12.boolean().optional().default(false),
1662
1662
  nosquareplating: z12.boolean().optional().default(false).describe("do not use rectangular pad for pin 1"),
1663
1663
  nopinlabels: z12.boolean().optional().default(false).describe("omit silkscreen pin labels"),
1664
- doublesidedpinlabel: z12.boolean().optional().default(false).describe("add silkscreen pins in top and bottom layers")
1664
+ doublesidedpinlabel: z12.boolean().optional().default(false).describe("add silkscreen pins in top and bottom layers"),
1665
+ backsidelabel: z12.boolean().optional().default(false).describe(
1666
+ "place the silkscreen reference text on the bottom layer instead of top"
1667
+ )
1665
1668
  }).transform((data) => {
1666
1669
  const pinlabelAnchorSide = determinePinlabelAnchorSide(data);
1667
1670
  return {
@@ -1693,7 +1696,8 @@ var pinrow = (raw_params) => {
1693
1696
  pinlabeltextalignleft,
1694
1697
  pinlabeltextalignright,
1695
1698
  nopinlabels,
1696
- doublesidedpinlabel
1699
+ doublesidedpinlabel,
1700
+ backsidelabel
1697
1701
  } = parameters;
1698
1702
  let pinlabelTextAlign = "center";
1699
1703
  if (pinlabeltextalignleft) pinlabelTextAlign = "left";
@@ -1738,19 +1742,35 @@ var pinrow = (raw_params) => {
1738
1742
  anchorSide: pinlabelAnchorSide
1739
1743
  });
1740
1744
  if (!nopinlabels) {
1741
- holes.push(
1742
- silkscreenPin({
1743
- fs: od / 5,
1744
- pn: pinNumber,
1745
- anchor_x,
1746
- anchor_y,
1747
- anchorplacement: pinlabelAnchorSide,
1748
- textalign: pinlabelTextAlign,
1749
- orthogonal: pinlabelorthogonal,
1750
- verticallyinverted: pinlabelverticallyinverted,
1751
- layer: "top"
1752
- })
1753
- );
1745
+ if (!backsidelabel) {
1746
+ holes.push(
1747
+ silkscreenPin({
1748
+ fs: od / 5,
1749
+ pn: pinNumber,
1750
+ anchor_x,
1751
+ anchor_y,
1752
+ anchorplacement: pinlabelAnchorSide,
1753
+ textalign: pinlabelTextAlign,
1754
+ orthogonal: pinlabelorthogonal,
1755
+ verticallyinverted: pinlabelverticallyinverted,
1756
+ layer: "top"
1757
+ })
1758
+ );
1759
+ } else {
1760
+ holes.push(
1761
+ silkscreenPin({
1762
+ fs: od / 5,
1763
+ pn: pinNumber,
1764
+ anchor_x,
1765
+ anchor_y,
1766
+ anchorplacement: pinlabelAnchorSide,
1767
+ textalign: pinlabelTextAlign,
1768
+ orthogonal: pinlabelorthogonal,
1769
+ verticallyinverted: pinlabelverticallyinverted,
1770
+ layer: "bottom"
1771
+ })
1772
+ );
1773
+ }
1754
1774
  if (doublesidedpinlabel) {
1755
1775
  holes.push(
1756
1776
  silkscreenPin({