mirror of
https://github.com/storytold/photocraft.git
synced 2026-10-24 09:57:08 -06:00
* 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>