Files
photocraft/crates
Michael HigginsClaude Opus 5.5coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>Brandon Thomas
fe7f46c3f6 PSD smart filters: Sharpen, Dust & Scratches and Hue/Saturation stay editable (#6267) (#6401)
* PSD smart filters: Sharpen, Dust & Scratches and Hue/Saturation stay editable (#6267)

They came in as psd.unsupportedFilter and were dropped when the smart
object re-rendered (Replace Contents, Relink). They now map to
filter.sharpen.sharpen (no Fltr, keyed by filterID), filter.noise.
dustAndScratches (Rds/Thsh) and image.adjustments.hueSaturation (Clrz,
Hst2 entries with LclR ranges), and are written back the same way.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* rustfmt; merge main (CI Format step)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Apply suggestion from @coderabbitai[bot]

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* PSD smart filters: keep every Hue/Saturation range on import and export

- A repeated `LclR` range (or a second master entry) in `Adjs` would
  overwrite the first on import; such a filter now stays verbatim as an
  unsupported filter instead.
- Export rejects a colour range given as a non-object (`"reds": 5`),
  as the engine's Hue/Saturation params do, instead of dropping it.
- Colorize's 25% saturation default applies to the master entry only;
  a colour range's saturation defaults to 0, as in the engine.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Remove DstS and Shrp filter handling from smart_map

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-23 18:35:34 -04:00
..