feat: add selection, crop, transform tools and supporting infrastructure for image editor

Implements Agent 2 deliverables for the image editor: move tool with Konva
Transformer and smart guide snapping, rectangular/elliptical marquee and
lasso selection with marching ants animation, magic wand flood fill, crop
tool with darkened overlay and rule-of-thirds grid, free transform with
numeric inputs, context menu with z-ordering and clipboard operations,
rulers with drag-to-create guides, smart alignment guides, and canvas/image
resize dialogs. Also creates the shared editor types and Zustand store with
full layer management, z-ordering, clipboard, guide, and document operations.
This commit is contained in:
SnapOtter
2026-05-06 23:29:29 +08:00
parent c9b24ada78
commit 01dcfa624b
18 changed files with 4452 additions and 1 deletions
+5 -1
View File
@@ -12,25 +12,29 @@
"clean": "rm -rf dist"
},
"dependencies": {
"@snapotter/shared": "workspace:*",
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@sentry/react": "^10.49.0",
"@snapotter/shared": "workspace:*",
"@use-gesture/react": "^10.3.1",
"clsx": "^2.1.0",
"fflate": "^0.8.2",
"jszip": "^3.10.1",
"konva": "^10",
"leaflet": "^1.9.4",
"lucide-react": "^0.469.0",
"posthog-js": "^1.370.0",
"qr-code-styling": "^1.9.2",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-hotkeys-hook": "^5.3.2",
"react-image-crop": "^11.0.10",
"react-konva": "^19",
"react-router-dom": "^7.1.0",
"sonner": "^2.0.7",
"tailwind-merge": "^2.6.0",
"use-image": "^1.1.4",
"zustand": "^5.0.0"
},
"devDependencies": {