biscuitboard 1.0.20 → 1.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -29,7 +29,7 @@ receives full top and bottom copper pours and the front and back solder-mask
29
29
  layers are removed. The source TSX is not modified. The exporter also accepts a
30
30
  built `circuit.json` file, which the site build uses to avoid rendering twice.
31
31
 
32
- Build the static circuit site and downloadable Gerbers for every circuit with:
32
+ Build the static circuit site and downloadable Gerbers for clad circuits with:
33
33
 
34
34
  ```sh
35
35
  bun run build:site
@@ -37,9 +37,11 @@ bun run build:site
37
37
 
38
38
  The site is written to `dist/`. Its Gerber download index is available at
39
39
  `/gerbers/`, with panel archives such as
40
- `/gerbers/examples/clad-panel.zip`. Panel circuits also get a Gerber ZIP and
41
- PCB screenshot for every board in the panel, listed alongside the full-panel
42
- download. These artifacts are written under paths such as
40
+ `/gerbers/examples/clad-panel.zip`. The circuits to export are explicitly
41
+ listed in `scripts/build-site.ts`, where more can be appended. Panel circuits
42
+ also get a Gerber ZIP and PCB screenshot for every board in the panel, listed
43
+ alongside the full-panel download. These artifacts are written under paths such
44
+ as
43
45
  `/gerbers/examples/clad-panel/boards/01-<board-name>.zip` and `.png`.
44
46
 
45
47
  `BiscuitBoard` owns the fixed 75 mm x 55 mm outline, mounting holes, and
package/dist/npm.cjs CHANGED
@@ -751,6 +751,7 @@ __export(npm_exports, {
751
751
  ArduinoShieldDigital8To13Header: () => ArduinoShieldDigital8To13Header,
752
752
  ArduinoShieldIcspSocket: () => ArduinoShieldIcspSocket,
753
753
  ArduinoShieldPowerHeader: () => ArduinoShieldPowerHeader,
754
+ BISCUIT_BOARD_BOTTOM_KEEPOUT: () => BISCUIT_BOARD_BOTTOM_KEEPOUT,
754
755
  BISCUIT_BOARD_HEIGHT: () => BISCUIT_BOARD_HEIGHT,
755
756
  BISCUIT_BOARD_MOUNTING_HOLE_POSITIONS: () => BISCUIT_BOARD_MOUNTING_HOLE_POSITIONS,
756
757
  BISCUIT_BOARD_VIA_POSITIONS: () => BISCUIT_BOARD_VIA_POSITIONS,
@@ -11898,6 +11899,10 @@ var createParallelConsolidationCandidate = (prepared, solution, traceIndex, rout
11898
11899
  if (offset <= EPSILON3 || overlapLength <= 2 * offset + EPSILON3) {
11899
11900
  return null;
11900
11901
  }
11902
+ const combinedHalfWidth = (segment.start.width + anchor.start.width) / 2;
11903
+ if (offset <= combinedHalfWidth + EPSILON3) {
11904
+ return null;
11905
+ }
11901
11906
  const followsAnchorDirection = segmentEndProjection > segmentStartProjection;
11902
11907
  const entryProjection = followsAnchorDirection ? overlapStart : overlapEnd;
11903
11908
  const exitProjection = followsAnchorDirection ? overlapEnd : overlapStart;
@@ -14437,6 +14442,12 @@ var BISCUIT_BOARD_MOUNTING_HOLE_POSITIONS = [
14437
14442
  { x: -BISCUIT_BOARD_WIDTH / 2 + 2.5, y: -BISCUIT_BOARD_HEIGHT / 2 + 2.5 },
14438
14443
  { x: -BISCUIT_BOARD_WIDTH / 2 + 2.5, y: BISCUIT_BOARD_HEIGHT / 2 - 2.5 }
14439
14444
  ];
14445
+ var BISCUIT_BOARD_BOTTOM_KEEPOUT = {
14446
+ x: -BISCUIT_BOARD_WIDTH / 2 + 22 + 10 / 2,
14447
+ y: -BISCUIT_BOARD_HEIGHT / 2 + 1.5 + 5.5 / 2,
14448
+ width: 10,
14449
+ height: 5.5
14450
+ };
14440
14451
  var BiscuitBoard = ({
14441
14452
  children,
14442
14453
  autorouter,
@@ -14480,6 +14491,17 @@ var BiscuitBoard = ({
14480
14491
  }
14481
14492
  ),
14482
14493
  BISCUIT_BOARD_MOUNTING_HOLE_POSITIONS.map((hole) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("hole", { pcbX: hole.x, pcbY: hole.y, diameter: "2.2mm" }) }, `mounting-hole-${hole.x}-${hole.y}`)),
14494
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
14495
+ "keepout",
14496
+ {
14497
+ shape: "rect",
14498
+ pcbX: BISCUIT_BOARD_BOTTOM_KEEPOUT.x,
14499
+ pcbY: BISCUIT_BOARD_BOTTOM_KEEPOUT.y,
14500
+ width: `${BISCUIT_BOARD_BOTTOM_KEEPOUT.width}mm`,
14501
+ height: `${BISCUIT_BOARD_BOTTOM_KEEPOUT.height}mm`,
14502
+ layers: ["top", "bottom"]
14503
+ }
14504
+ ),
14483
14505
  BISCUIT_BOARD_VIA_ZONES.map((zone) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
14484
14506
  "pcbnoterect",
14485
14507
  {
@@ -17038,6 +17060,7 @@ var XiaoCladWithPerforatedPinHeaders = ({
17038
17060
  ArduinoShieldDigital8To13Header,
17039
17061
  ArduinoShieldIcspSocket,
17040
17062
  ArduinoShieldPowerHeader,
17063
+ BISCUIT_BOARD_BOTTOM_KEEPOUT,
17041
17064
  BISCUIT_BOARD_HEIGHT,
17042
17065
  BISCUIT_BOARD_MOUNTING_HOLE_POSITIONS,
17043
17066
  BISCUIT_BOARD_VIA_POSITIONS,