Files
moteva/frontend/package.json
T
root dd8c67af3e feat(canvas): compute real boolean shape geometry with paper.js
Add a booleanShapePath engine that runs union/subtract/intersect/
exclude/flatten through paper.js and returns normalized result path
data plus per-operand stroke segments, so boolean results are real
vector paths instead of SVG mask approximations.

- Store the computed pathData on boolean groups and recompute it when
  the operation changes; flatten legacy groups into ordinary path nodes
- Render previews and SVG/PSD exports from the computed result path,
  keeping each operand's stroke style on the boundary it contributes
- Open boolean results in the path editor and flatten them on commit
- Add paper 0.12.18 with a paper-core type shim and mark it as a
  server-external package for the standalone Next build

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 00:23:19 +08:00

52 lines
1.5 KiB
JSON

{
"name": "img-infinite-canvas-frontend",
"version": "0.1.0",
"private": true,
"type": "module",
"scripts": {
"dev": "next dev --webpack -H 0.0.0.0 -p 5173",
"dev:vite": "vite --host 0.0.0.0",
"build": "tsc -b && next build --webpack && vite build",
"test": "node --experimental-strip-types --test tests/*.test.mjs",
"start": "next start -H 0.0.0.0 -p 3000",
"preview": "vite preview --host 0.0.0.0"
},
"dependencies": {
"@leafer-in/editor": "2.2.2",
"@leafer-ui/core": "2.2.2",
"@leafer-ui/interface": "2.2.2",
"@node-projects/acad-ts": "2.3.0",
"@radix-ui/react-context-menu": "^2.3.2",
"@radix-ui/react-dropdown-menu": "^2.1.19",
"@radix-ui/react-popover": "^1.1.18",
"@radix-ui/react-scroll-area": "^1.2.13",
"@radix-ui/react-switch": "^1.3.2",
"@radix-ui/react-tabs": "^1.1.16",
"ag-psd": "31.0.2",
"leafer-ui": "2.2.2",
"leafer-x-path-editor": "^1.1.3",
"lucide-react": "^1.23.0",
"next": "^16.2.10",
"paper": "0.12.18",
"react": "^19.2.7",
"react-dom": "^19.2.7"
},
"devDependencies": {
"@types/node": "26.1.0",
"@types/react": "^19.2.17",
"@types/react-dom": "^19.2.3",
"@vitejs/plugin-react": "^6.0.3",
"typescript": "^6.0.3",
"vite": "^8.1.3",
"vite-plugin-compression2": "^2.5.3"
},
"pnpm": {
"overrides": {
"leafer-x-path-editor>@leafer-in/state": "2.2.2"
},
"patchedDependencies": {
"leafer-x-path-editor@1.1.3": "patches/leafer-x-path-editor@1.1.3.patch"
}
}
}