Files
photocraft/crates
74ada29c12 Keep shape fill and stroke alpha through PSD round-trip (#6180) (#6868)
* Keep shape fill and stroke alpha through PSD round-trip (#6180).

Photoshop colour descriptors have no alpha, so fill opacity was dropped
on save. Write a PhotoCraft-only `pcAl` key for fill colour, and fold
stroke colour alpha into `strokeStyleOpacity` so Appearance still matches.

* Write pcAl only on solid shape fills, not every colour (#6180).

Gradient stops already store alpha in Trns. Putting pcAl on color_to_desc
made Ramp sample that alpha twice. Generic colour descriptors stay
opaque; fill_to_desc adds pcAl only for SoCo.

* Return color_to_desc's match directly so clippy stays clean (#6180).

The leftover let-and-return after dropping the pcAl branch failed
clippy -D warnings on Windows integration.

* Restore rectangle fill and stroke appearance alphas after PSD save (#6180).

The ticket is Appearance after load, then a redraw. Fill already used pcAl.
Stroke folded colour alpha into strokeStyleOpacity and dropped the colour
alpha, so Appearance still showed a maxed stroke colour. Write pcAl on the
original stroke colour, keep the folded opacity for Photoshop, and unfold
on read. Cover it with a rectangle document round-trip and redraw.

* fix(io): ignore a non-finite pcAl alpha from a file

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

---------

Co-authored-by: Brandon Thomas <echelon@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 18:34:29 -04:00
..