Add selection tools: Magic Wand, Lasso, Ellipse Select

New Selection Tools:
- Magic Wand: Click to select by color similarity (like GIMP)
  - Configurable tolerance (0-100%)
  - Contiguous or global mode
  - Shift+Click to add to selection

- Lasso: Freehand selection by drawing
  - Draw around area to select
  - Shift+Draw to add to selection

- Ellipse Select: Draw elliptical/circular selections
  - Drag to create ellipse
  - Shift+Drag for perfect circle
  - Alt+Drag to draw from center

Smart Select Improvements:
- Fixed copy/cut to layer errors
- Added Shift+Click for multi-select (additive selection)
- All operations use proper layer action system

All selection tools support:
- Ctrl+C: Copy selection to new layer
- Ctrl+X: Cut selection to new layer
- Delete: Delete selected area
- Escape: Clear selection
- Marching ants animation on selection edge
This commit is contained in:
Claude
2026-01-27 00:39:40 +00:00
parent 53225e9e05
commit f650ec3019
8 changed files with 1986 additions and 88 deletions
+7
View File
@@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<ellipse cx="12" cy="12" rx="10" ry="7" stroke-dasharray="4 2"/>
<circle cx="2" cy="12" r="1.5" fill="currentColor"/>
<circle cx="22" cy="12" r="1.5" fill="currentColor"/>
<circle cx="12" cy="5" r="1.5" fill="currentColor"/>
<circle cx="12" cy="19" r="1.5" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 455 B

+6
View File
@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M12 2C6.5 2 2 6.5 2 12c0 3.5 1.8 6.6 4.5 8.4"/>
<path d="M12 2c5.5 0 10 4.5 10 10 0 2.5-.9 4.8-2.4 6.5"/>
<circle cx="12" cy="20" r="2"/>
<path d="M12 18v-6"/>
</svg>

After

Width:  |  Height:  |  Size: 343 B

+13
View File
@@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 4V2"/>
<path d="M15 16v-2"/>
<path d="M8 9h2"/>
<path d="M20 9h2"/>
<path d="M17.8 11.8L19 13"/>
<path d="M15 9h.01"/>
<path d="M17.8 6.2L19 5"/>
<path d="M12.2 6.2L11 5"/>
<path d="M12.2 11.8L11 13"/>
<path d="M2 22l10-10"/>
<path d="M9 19l3-3"/>
</svg>

After

Width:  |  Height:  |  Size: 449 B