mirror of
https://github.com/storytold/photocraft.git
synced 2026-11-02 22:30:20 -06:00
* Live strokes for the History Brush, Healing Brush and the dab tools The Clone Stamp's live stroke now covers every brush-based retouching tool: - History Brush and Healing Brush: LiveClone becomes LiveRetouch, which paints from the clone source or the History Brush's history state (history_source, shared with the commit). The Healing Brush shows its cloned texture while drawing and blends it on release; it also gets the source preview under the brush. - Dodge, Burn, Sponge, Blur, Sharpen and Smudge: their settings are parsed once into DabTool, whose per-dab effect both the command (dab_cmd) and the new LiveDab use. LiveDab runs each new dab's effect on a working copy of the target, in order, and mixes the changed area back at the brush opacity with mix_back (split out of apply_dab_stroke), as the commit does. Sample All Layers strokes keep the trail (their composite spans the whole stroke). Part of #213 (live previews for brush-based tools). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * Format live retouch test Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * Trail test: use Spot Healing, which still previews a trail Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * LiveDab::push: read new dabs with get(), no slice-index panic path Rebased onto #1026 as rebased on main; LiveRetouch::begin already reads the first stroke point with first() (resolved in the rebase) and the Healing Brush's own source overlay is dropped with clone_overlay.rs in favour of main's Clone Source preview (#1042). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Jason Short <3344856+jason4short@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: Brandon Thomas <echelon@gmail.com>