Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .cursor/rules/ls-foundry-core.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Also update the pin table below, `docs/stickpak/phase-1.md` version table + inst
| Package | Version |
|---------|---------|
| `@jeffgo10/shared-types` | 1.0.0 |
| `@jeffgo10/react-canvas-designer` | 1.3.1 |
| `@jeffgo10/react-canvas-designer` | 1.3.2 |
| `@jeffgo10/canvas-upscaler` | 1.0.0 |

Always bump `shared-types` first when changing layout/DPI APIs; keep dependent package pins in sync.
Expand Down
16 changes: 16 additions & 0 deletions .cursor/rules/ls-foundry-no-manual-publish.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,19 @@ Agents must **not** publish npm packages from the local machine.
## Exception

Run publish/deploy **only** when the user explicitly requests it in the current message (e.g. “publish now”, “run deploy”). Do not infer publish from “done”, “ship it”, or a prior task checklist.

## If the user asks you to publish

Use **pnpm** from the monorepo root — never plain `npm publish` / `pnpm exec npm publish`:

```bash
pnpm publish --filter @jeffgo10/<pkg> --access public --no-git-checks
```

`pnpm publish` rewrites `workspace:*` to concrete versions. `npm publish` leaves `workspace:*` in the tarball (broke **react-canvas-designer@1.3.1**). After publish, verify:

```bash
npm view @jeffgo10/<pkg>@<version> dependencies --registry=https://npm.pkg.github.com
```

Confirm there is no `workspace:*`.
26 changes: 21 additions & 5 deletions docs/stickpak/engineering-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,33 @@

Noteworthy issues and fixes (synced to Obsidian `StickPak/noteworthy/`).

## Broken 1.3.1 tarball — workspace:* deps (republish 1.3.2)

**When:** August 2026 (`@jeffgo10/react-canvas-designer` **1.3.2**).

**Ask:** Storefront cannot install **1.3.1** — published `package.json` still has `workspace:*` for helpers/history/shared-types.

**Cause:** **1.3.1** was published with `pnpm exec npm publish` (agent mistake). Plain `npm publish` does **not** rewrite pnpm `workspace:*` protocols. CI / `pnpm publish --filter` does rewrite them (as **1.3.0** did: helpers `1.2.0`, history `1.0.0`, shared-types `1.0.0`).

**Fix:** Republish panMode lock fix as **1.3.2** via `pnpm publish --filter @jeffgo10/react-canvas-designer`. Do not use `npm publish` / `pnpm exec npm publish` for workspace packages.

**Published:** `@jeffgo10/react-canvas-designer@1.3.2` — deps helpers `1.2.0`, history `1.0.0`, shared-types `1.0.0` (verified `npm view`).

**Storefront follow-up:** Pin **1.3.2**; run `/update-ls-foundry-packages`. Skip **1.3.1**.

**Code:** publish workflow only (`scripts/publish-changed.sh` already uses `pnpm publish --filter`).

## Canvas panMode locks select/transform (1.3.1)

**When:** August 2026 (`@jeffgo10/react-canvas-designer` **1.3.1**).
**When:** August 2026 (`@jeffgo10/react-canvas-designer` **1.3.1** / installable fix **1.3.2**).

**Ask:** With `panMode` on, stickers could still be selected, moved, and rotated.

**Fix:** While pan is active (`panMode` or Space), sticker groups use `listening={false}` (pointer events pass through for pan), Transformer nodes/handles are cleared and rotate/resize are off, pinch and `[`/`]` rotate are blocked.

**Published:** `@jeffgo10/react-canvas-designer@1.3.1` on GitHub Packages.
**Published:** **1.3.1** tarball is broken (`workspace:*`); use **1.3.2**.

**Storefront follow-up:** Pin designer **1.3.1**.
**Storefront follow-up:** Pin designer **1.3.2**.

**Code:** `CanvasDesigner.tsx`

Expand All @@ -29,7 +45,7 @@ Noteworthy issues and fixes (synced to Obsidian `StickPak/noteworthy/`).

**Published:** `@jeffgo10/react-canvas-designer@1.3.0` on GitHub Packages (`npm view …@1.3.0`).

**Storefront follow-up:** Pin designer **1.3.1**; run `/update-ls-foundry-packages` and replace `useCanvasPanMode` Space synthesis with `panMode={…}`.
**Storefront follow-up:** Pin designer **1.3.2**; run `/update-ls-foundry-packages` and replace `useCanvasPanMode` Space synthesis with `panMode={…}`.

**Code:** `CanvasDesigner.tsx`; `StickPakCanvasSection.tsx`

Expand All @@ -46,7 +62,7 @@ Noteworthy issues and fixes (synced to Obsidian `StickPak/noteworthy/`).
- Handle API: `getViewport` / `setViewportZoom` / `zoomBy` / `resetViewport`; optional `onViewportChange`.
- Docs `/stickpak`: Zoom − / % / + / Reset view toolbar.

**Storefront follow-up:** Pin designer **1.3.1** (includes `panMode` lock). Built-in Space/wheel may overlap storefront `use-canvas-viewport` — prefer the designer camera or keep outer CSS viewport for mobile only; lock outer pan while editing via existing `onSelectedIdChange`.
**Storefront follow-up:** Pin designer **1.3.2** (includes `panMode` lock). Built-in Space/wheel may overlap storefront `use-canvas-viewport` — prefer the designer camera or keep outer CSS viewport for mobile only; lock outer pan while editing via existing `onSelectedIdChange`.

**Code:** `canvasViewport.ts`; `stagePointer.ts`; `selectedStickerPinch.ts` (`touchClientToDesign`); `CanvasDesigner.tsx`; `StickPakCanvasSection.tsx`

Expand Down
4 changes: 2 additions & 2 deletions docs/stickpak/phase-1.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@ Phase 1 lives entirely inside the `ls-foundry` monorepo. It delivers the reusabl
| Package | Version | Notes |
|---------|---------|-------|
| `@jeffgo10/shared-types` | **1.0.0** | Layout schema; optional `cutLineOffsetMm` + `cutLineOffsetFill` on layout items |
| `@jeffgo10/react-canvas-designer` | **1.3.1** | Full StickPak designer; SP-024 zoom/pan (`panMode` locks select/transform; Space + drag, wheel); SP-012 rotation hotkeys; offset hole cut lines (deps helpers **1.0.5**) |
| `@jeffgo10/react-canvas-designer` | **1.3.2** | Full StickPak designer; SP-024 zoom/pan (`panMode` locks select/transform; Space + drag, wheel); SP-012 rotation hotkeys; offset hole cut lines (deps helpers **1.0.5**) |
| `@jeffgo10/helpers` | **1.0.5** | `./image` (multi-island + offset hole contours; circular pad; offset-only Chaikin), `./gestures`, `./browser`, `./clipboard` |
| `@jeffgo10/canvas-upscaler` | **1.0.0** | Bakes `cutLineOffsetMm`/`cutLineOffsetFill` for StickPak print; dep shared-types **1.0.0** |

Install both designer packages together:

```json
"@jeffgo10/shared-types": "1.0.0",
"@jeffgo10/react-canvas-designer": "1.3.1",
"@jeffgo10/react-canvas-designer": "1.3.2",
"@jeffgo10/canvas-upscaler": "1.0.0"
```

Expand Down
2 changes: 1 addition & 1 deletion packages/react-canvas-designer/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@jeffgo10/react-canvas-designer",
"version": "1.3.1",
"version": "1.3.2",
"description": "72 DPI A4 Konva canvas for StickPak sticker layout design",
"license": "MIT",
"repository": {
Expand Down
Loading