biscuitboard 1.0.10 → 1.0.11

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/npm.cjs CHANGED
@@ -807,17 +807,20 @@ __export(npm_exports, {
807
807
  BoosterPackRightHeader: () => BoosterPackRightHeader,
808
808
  BreadboardClad: () => BreadboardClad,
809
809
  BreadboardTerminalHeaders: () => BreadboardTerminalHeaders,
810
- CLAD_40X40_EDGE_MOUNTING_HOLE_INSET: () => CLAD_40X40_EDGE_MOUNTING_HOLE_INSET,
811
- CLAD_40X40_HEIGHT: () => CLAD_40X40_HEIGHT,
812
- CLAD_40X40_MOUNTING_HOLE_DIAMETER: () => CLAD_40X40_MOUNTING_HOLE_DIAMETER,
813
- CLAD_40X40_MOUNTING_HOLE_POSITIONS: () => CLAD_40X40_MOUNTING_HOLE_POSITIONS,
814
- CLAD_40X40_VIA_HOLE_DIAMETER: () => CLAD_40X40_VIA_HOLE_DIAMETER,
815
- CLAD_40X40_VIA_PAD_DIAMETER: () => CLAD_40X40_VIA_PAD_DIAMETER,
816
- CLAD_40X40_VIA_POSITIONS: () => CLAD_40X40_VIA_POSITIONS,
817
- CLAD_40X40_VIA_RING_HALF_SIZES: () => CLAD_40X40_VIA_RING_HALF_SIZES,
818
- CLAD_40X40_VIA_SPACING: () => CLAD_40X40_VIA_SPACING,
819
- CLAD_40X40_WIDTH: () => CLAD_40X40_WIDTH,
820
- Clad40x40: () => Clad40x40,
810
+ CLAD_32X32_EDGE_CONNECTOR_OPENING: () => CLAD_32X32_EDGE_CONNECTOR_OPENING,
811
+ CLAD_32X32_HEIGHT: () => CLAD_32X32_HEIGHT,
812
+ CLAD_32X32_MOUNTING_HOLE_DIAMETER: () => CLAD_32X32_MOUNTING_HOLE_DIAMETER,
813
+ CLAD_32X32_MOUNTING_HOLE_INSET: () => CLAD_32X32_MOUNTING_HOLE_INSET,
814
+ CLAD_32X32_MOUNTING_HOLE_POSITIONS: () => CLAD_32X32_MOUNTING_HOLE_POSITIONS,
815
+ CLAD_32X32_VIA_ARM_INNER_OFFSET: () => CLAD_32X32_VIA_ARM_INNER_OFFSET,
816
+ CLAD_32X32_VIA_ARM_OUTER_OFFSET: () => CLAD_32X32_VIA_ARM_OUTER_OFFSET,
817
+ CLAD_32X32_VIA_ARM_WIDTH: () => CLAD_32X32_VIA_ARM_WIDTH,
818
+ CLAD_32X32_VIA_HOLE_DIAMETER: () => CLAD_32X32_VIA_HOLE_DIAMETER,
819
+ CLAD_32X32_VIA_PAD_DIAMETER: () => CLAD_32X32_VIA_PAD_DIAMETER,
820
+ CLAD_32X32_VIA_POSITIONS: () => CLAD_32X32_VIA_POSITIONS,
821
+ CLAD_32X32_VIA_SPACING: () => CLAD_32X32_VIA_SPACING,
822
+ CLAD_32X32_WIDTH: () => CLAD_32X32_WIDTH,
823
+ Clad32x32: () => Clad32x32,
821
824
  FEATHER_CLAD_HEIGHT: () => FEATHER_CLAD_HEIGHT,
822
825
  FEATHER_CLAD_VIA_HOLE_DIAMETER: () => FEATHER_CLAD_VIA_HOLE_DIAMETER,
823
826
  FEATHER_CLAD_VIA_PAD_DIAMETER: () => FEATHER_CLAD_VIA_PAD_DIAMETER,
@@ -15870,46 +15873,67 @@ var BreadboardClad = ({
15870
15873
  }
15871
15874
  );
15872
15875
 
15873
- // lib/Clad40x40.tsx
15876
+ // lib/Clad32x32.tsx
15874
15877
  var import_react5 = require("react");
15875
15878
  var import_jsx_runtime5 = require("react/jsx-runtime");
15876
- var CLAD_40X40_WIDTH = 40;
15877
- var CLAD_40X40_HEIGHT = 40;
15878
- var CLAD_40X40_MOUNTING_HOLE_DIAMETER = 2;
15879
- var CLAD_40X40_EDGE_MOUNTING_HOLE_INSET = 3;
15880
- var CLAD_40X40_VIA_HOLE_DIAMETER = 0.3;
15881
- var CLAD_40X40_VIA_PAD_DIAMETER = 0.6;
15882
- var CLAD_40X40_VIA_SPACING = 1.3;
15883
- var CLAD_40X40_VIA_RING_HALF_SIZES = [2.6, 3.9, 5.2];
15884
- var CLAD_40X40_MOUNTING_HOLE_POSITIONS = [
15885
- { x: 0, y: 0 },
15886
- {
15887
- x: CLAD_40X40_WIDTH / 2 - CLAD_40X40_EDGE_MOUNTING_HOLE_INSET,
15888
- y: CLAD_40X40_HEIGHT / 2 - CLAD_40X40_EDGE_MOUNTING_HOLE_INSET
15889
- }
15879
+ var CLAD_32X32_WIDTH = 32;
15880
+ var CLAD_32X32_HEIGHT = 32;
15881
+ var CLAD_32X32_MOUNTING_HOLE_DIAMETER = 2;
15882
+ var CLAD_32X32_MOUNTING_HOLE_INSET = 3;
15883
+ var CLAD_32X32_VIA_HOLE_DIAMETER = 0.3;
15884
+ var CLAD_32X32_VIA_PAD_DIAMETER = 0.6;
15885
+ var CLAD_32X32_VIA_SPACING = 1.3;
15886
+ var CLAD_32X32_VIA_ARM_INNER_OFFSET = 9.1;
15887
+ var CLAD_32X32_VIA_ARM_OUTER_OFFSET = 14.3;
15888
+ var CLAD_32X32_VIA_ARM_WIDTH = 1.3;
15889
+ var CLAD_32X32_EDGE_CONNECTOR_OPENING = CLAD_32X32_VIA_ARM_INNER_OFFSET * 2;
15890
+ var mountingHoleCenterOffset = CLAD_32X32_WIDTH / 2 - CLAD_32X32_MOUNTING_HOLE_INSET;
15891
+ var CLAD_32X32_MOUNTING_HOLE_POSITIONS = [
15892
+ { x: -mountingHoleCenterOffset, y: -mountingHoleCenterOffset },
15893
+ { x: -mountingHoleCenterOffset, y: mountingHoleCenterOffset },
15894
+ { x: mountingHoleCenterOffset, y: -mountingHoleCenterOffset },
15895
+ { x: mountingHoleCenterOffset, y: mountingHoleCenterOffset }
15890
15896
  ];
15891
- var CLAD_40X40_EDGE_CLEARANCE = 0.2;
15892
- var CLAD_40X40_EDGE_CLEARANCE_VALIDATION_TOLERANCE = 1e-3;
15893
- var createSquareViaRingPositions = (halfSize) => {
15894
- const axisPositions = Array.from(
15895
- { length: Math.round(halfSize * 2 / CLAD_40X40_VIA_SPACING) + 1 },
15896
- (_, index) => Math.round((-halfSize + index * CLAD_40X40_VIA_SPACING) * 1e6) / 1e6
15897
+ var CLAD_32X32_EDGE_CLEARANCE = 0.2;
15898
+ var CLAD_32X32_EDGE_CLEARANCE_VALIDATION_TOLERANCE = 1e-3;
15899
+ var roundCoordinate4 = (value) => Math.round(value * 1e6) / 1e6;
15900
+ var createPitchedRange2 = (start, end) => Array.from(
15901
+ {
15902
+ length: Math.round((end - start) / CLAD_32X32_VIA_SPACING) + 1
15903
+ },
15904
+ (_, index) => roundCoordinate4(start + index * CLAD_32X32_VIA_SPACING)
15905
+ );
15906
+ var cornerAxis = createPitchedRange2(
15907
+ CLAD_32X32_VIA_ARM_INNER_OFFSET,
15908
+ CLAD_32X32_VIA_ARM_OUTER_OFFSET
15909
+ );
15910
+ var armAxis = createPitchedRange2(
15911
+ CLAD_32X32_VIA_ARM_INNER_OFFSET,
15912
+ CLAD_32X32_VIA_ARM_INNER_OFFSET + CLAD_32X32_VIA_ARM_WIDTH
15913
+ );
15914
+ var createCornerViaPositions2 = (xSign, ySign) => {
15915
+ const horizontalArm = cornerAxis.flatMap(
15916
+ (x) => armAxis.map((y) => ({ x: x * xSign, y: y * ySign }))
15917
+ );
15918
+ const verticalArm = armAxis.flatMap(
15919
+ (x) => cornerAxis.map((y) => ({ x: x * xSign, y: y * ySign }))
15920
+ );
15921
+ return Array.from(
15922
+ new Map(
15923
+ [...horizontalArm, ...verticalArm].map((point) => [
15924
+ `${point.x},${point.y}`,
15925
+ point
15926
+ ])
15927
+ ).values()
15897
15928
  );
15898
- return [
15899
- ...axisPositions.flatMap((x) => [
15900
- { x, y: -halfSize },
15901
- { x, y: halfSize }
15902
- ]),
15903
- ...axisPositions.slice(1, -1).flatMap((y) => [
15904
- { x: -halfSize, y },
15905
- { x: halfSize, y }
15906
- ])
15907
- ];
15908
15929
  };
15909
- var CLAD_40X40_VIA_POSITIONS = CLAD_40X40_VIA_RING_HALF_SIZES.flatMap(
15910
- createSquareViaRingPositions
15911
- );
15912
- var Clad40x40 = ({
15930
+ var CLAD_32X32_VIA_POSITIONS = [
15931
+ [-1, -1],
15932
+ [-1, 1],
15933
+ [1, -1],
15934
+ [1, 1]
15935
+ ].flatMap(([xSign, ySign]) => createCornerViaPositions2(xSign, ySign));
15936
+ var Clad32x32 = ({
15913
15937
  children,
15914
15938
  autorouter,
15915
15939
  autorouterOptions,
@@ -15919,35 +15943,35 @@ var Clad40x40 = ({
15919
15943
  }) => /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
15920
15944
  "board",
15921
15945
  {
15922
- name: "Clad40x40",
15923
- title: "40 mm x 40 mm copper clad",
15924
- width: `${CLAD_40X40_WIDTH}mm`,
15925
- height: `${CLAD_40X40_HEIGHT}mm`,
15946
+ name: "Clad32x32",
15947
+ title: "32 mm x 32 mm copper clad",
15948
+ width: `${CLAD_32X32_WIDTH}mm`,
15949
+ height: `${CLAD_32X32_HEIGHT}mm`,
15926
15950
  borderRadius: "1.5mm",
15927
15951
  layers: 2,
15928
15952
  minTraceWidth: `${minTraceWidth ?? 0.15}mm`,
15929
- minBoardEdgeClearance: `${CLAD_40X40_EDGE_CLEARANCE - CLAD_40X40_EDGE_CLEARANCE_VALIDATION_TOLERANCE}mm`,
15953
+ minBoardEdgeClearance: `${CLAD_32X32_EDGE_CLEARANCE - CLAD_32X32_EDGE_CLEARANCE_VALIDATION_TOLERANCE}mm`,
15930
15954
  minViaHoleDiameter: "0.2mm",
15931
15955
  minViaPadDiameter: "0.4mm",
15932
15956
  autorouter: autorouter ?? createPrefabricatedViaAutorouter({
15933
- width: CLAD_40X40_WIDTH,
15934
- height: CLAD_40X40_HEIGHT,
15935
- edgeClearance: CLAD_40X40_EDGE_CLEARANCE,
15957
+ width: CLAD_32X32_WIDTH,
15958
+ height: CLAD_32X32_HEIGHT,
15959
+ edgeClearance: CLAD_32X32_EDGE_CLEARANCE,
15936
15960
  options: autorouterOptions,
15937
15961
  minimumTraceWidth: minTraceWidth,
15938
15962
  nominalTraceWidth
15939
15963
  }),
15940
15964
  routingDisabled,
15941
15965
  children: [
15942
- CLAD_40X40_MOUNTING_HOLE_POSITIONS.map((hole) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react5.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
15966
+ CLAD_32X32_MOUNTING_HOLE_POSITIONS.map((hole) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react5.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
15943
15967
  "hole",
15944
15968
  {
15945
15969
  pcbX: hole.x,
15946
15970
  pcbY: hole.y,
15947
- diameter: `${CLAD_40X40_MOUNTING_HOLE_DIAMETER}mm`
15971
+ diameter: `${CLAD_32X32_MOUNTING_HOLE_DIAMETER}mm`
15948
15972
  }
15949
- ) }, `clad-40x40-mounting-hole-${hole.x}-${hole.y}`)),
15950
- CLAD_40X40_VIA_POSITIONS.map((via) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react5.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
15973
+ ) }, `clad-32x32-mounting-hole-${hole.x}-${hole.y}`)),
15974
+ CLAD_32X32_VIA_POSITIONS.map((via) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react5.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
15951
15975
  "via",
15952
15976
  {
15953
15977
  netIsAssignable: true,
@@ -15955,36 +15979,24 @@ var Clad40x40 = ({
15955
15979
  pcbY: via.y,
15956
15980
  fromLayer: "top",
15957
15981
  toLayer: "bottom",
15958
- holeDiameter: `${CLAD_40X40_VIA_HOLE_DIAMETER}mm`,
15959
- outerDiameter: `${CLAD_40X40_VIA_PAD_DIAMETER}mm`
15982
+ holeDiameter: `${CLAD_32X32_VIA_HOLE_DIAMETER}mm`,
15983
+ outerDiameter: `${CLAD_32X32_VIA_PAD_DIAMETER}mm`
15960
15984
  }
15961
- ) }, `clad-40x40-prefab-via-${via.x}-${via.y}`)),
15985
+ ) }, `clad-32x32-prefab-via-${via.x}-${via.y}`)),
15962
15986
  /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
15963
15987
  "pcbnotedimension",
15964
15988
  {
15965
- from: {
15966
- x: -CLAD_40X40_WIDTH / 2,
15967
- y: CLAD_40X40_HEIGHT / 2 + 2.5
15968
- },
15969
- to: {
15970
- x: CLAD_40X40_WIDTH / 2,
15971
- y: CLAD_40X40_HEIGHT / 2 + 2.5
15972
- },
15973
- text: `${CLAD_40X40_WIDTH}mm`
15989
+ from: { x: -CLAD_32X32_WIDTH / 2, y: CLAD_32X32_HEIGHT / 2 + 2.5 },
15990
+ to: { x: CLAD_32X32_WIDTH / 2, y: CLAD_32X32_HEIGHT / 2 + 2.5 },
15991
+ text: `${CLAD_32X32_WIDTH}mm`
15974
15992
  }
15975
15993
  ),
15976
15994
  /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
15977
15995
  "pcbnotedimension",
15978
15996
  {
15979
- from: {
15980
- x: CLAD_40X40_WIDTH / 2 + 2.5,
15981
- y: -CLAD_40X40_HEIGHT / 2
15982
- },
15983
- to: {
15984
- x: CLAD_40X40_WIDTH / 2 + 2.5,
15985
- y: CLAD_40X40_HEIGHT / 2
15986
- },
15987
- text: `${CLAD_40X40_HEIGHT}mm`
15997
+ from: { x: CLAD_32X32_WIDTH / 2 + 2.5, y: -CLAD_32X32_HEIGHT / 2 },
15998
+ to: { x: CLAD_32X32_WIDTH / 2 + 2.5, y: CLAD_32X32_HEIGHT / 2 },
15999
+ text: `${CLAD_32X32_HEIGHT}mm`
15988
16000
  }
15989
16001
  ),
15990
16002
  children
@@ -16529,17 +16541,20 @@ var XiaoCladWithPerforatedPinHeaders = ({
16529
16541
  BoosterPackRightHeader,
16530
16542
  BreadboardClad,
16531
16543
  BreadboardTerminalHeaders,
16532
- CLAD_40X40_EDGE_MOUNTING_HOLE_INSET,
16533
- CLAD_40X40_HEIGHT,
16534
- CLAD_40X40_MOUNTING_HOLE_DIAMETER,
16535
- CLAD_40X40_MOUNTING_HOLE_POSITIONS,
16536
- CLAD_40X40_VIA_HOLE_DIAMETER,
16537
- CLAD_40X40_VIA_PAD_DIAMETER,
16538
- CLAD_40X40_VIA_POSITIONS,
16539
- CLAD_40X40_VIA_RING_HALF_SIZES,
16540
- CLAD_40X40_VIA_SPACING,
16541
- CLAD_40X40_WIDTH,
16542
- Clad40x40,
16544
+ CLAD_32X32_EDGE_CONNECTOR_OPENING,
16545
+ CLAD_32X32_HEIGHT,
16546
+ CLAD_32X32_MOUNTING_HOLE_DIAMETER,
16547
+ CLAD_32X32_MOUNTING_HOLE_INSET,
16548
+ CLAD_32X32_MOUNTING_HOLE_POSITIONS,
16549
+ CLAD_32X32_VIA_ARM_INNER_OFFSET,
16550
+ CLAD_32X32_VIA_ARM_OUTER_OFFSET,
16551
+ CLAD_32X32_VIA_ARM_WIDTH,
16552
+ CLAD_32X32_VIA_HOLE_DIAMETER,
16553
+ CLAD_32X32_VIA_PAD_DIAMETER,
16554
+ CLAD_32X32_VIA_POSITIONS,
16555
+ CLAD_32X32_VIA_SPACING,
16556
+ CLAD_32X32_WIDTH,
16557
+ Clad32x32,
16543
16558
  FEATHER_CLAD_HEIGHT,
16544
16559
  FEATHER_CLAD_VIA_HOLE_DIAMETER,
16545
16560
  FEATHER_CLAD_VIA_PAD_DIAMETER,