mirror of
https://github.com/storytold/photocraft.git
synced 2026-10-17 20:59:43 +02:00
* Magic Eraser and Background Eraser engine commands paint.magicEraser erases the wand region (tolerance, anti-alias, contiguous, sample all layers, opacity) to transparency, tile by tile in parallel; paint.backgroundEraser erases colours similar to the one under the brush hotspot (continuous / once / background swatch sampling, discontiguous / contiguous / find-edges limits, tolerance, protect foreground colour). Both compare and erase in the layer's own channels at any depth, respect the selection, turn the Background into Layer 0 like Photoshop, and are one undo step. The Magic Eraser paints the background colour on layers with locked transparency. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Magic Eraser and Background Eraser tools in the Eraser group Shift+E / E cycles Eraser, Background Eraser and Magic Eraser; the toolbar flyout lists all three. Options bars: Magic Eraser tolerance, anti-alias, contiguous, sample all layers and opacity; Background Eraser sampling toggles, limits, tolerance and protect foreground colour. The Background Eraser cursor always shows its sampling hotspot. Icons are derived from Lucide's eraser (ISC), recorded in ATTRIBUTION.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Image Rotation, Canvas Size, Crop, Trim and Image Size move vector geometry Canvas-wide operations remapped only pixels: type, shape and smart-object transforms, vector masks, saved/work paths, guides, slices, notes and Count/Ruler marks stayed put, so they jumped back on the next re-render. New engine module canvas_geom applies the canvas map to all non-pixel geometry. 90°/180°/flip turns remap every pixel surface exactly (incl. type/shape/smart/fill caches and smart filter masks) and move geometry through the matching affine; guides swap orientation under 90° turns; rect/ellipse/line live shapes stay live; gradient fill angles follow. Canvas Size/Crop/Trim translate geometry (shapes re-render for the new canvas), Image Size scales it and re-renders vectors, Arbitrary rotation also moves unlinked vector masks and document marks. Layer effect angles stay (Global Light), as in Photoshop. Tests compare the CPU composite of a rotated document (type, shapes, vector mask, smart object) against the rotated flattened original, also after re-rendering everything from geometry, at 8/16/32-bit RGB, CMYK and Gray. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Magic Eraser: edit encoded tile bytes in parallel (24 MP: 1260 -> 375 ms) Tiles are copied out as encoded bytes and only the touched samples are decoded, so the parallel workers do all the work and the serial write-back is a memcpy. The ignored bench prints a phase breakdown. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| app-icon | ||
| dict | ||
| fonts | ||
| icons | ||