mirror of
https://github.com/storytold/photocraft.git
synced 2026-10-29 02:32:01 +01:00
* fix(psd): Align global tagged blocks to four bytes Use four-byte defaults for global blocks and streamed layer information. Read global payloads without full copies while preserving block order, explicit padding and the first layer candidate. Keep two-byte layer alignment; test canonical padding and lossless PSD/PSB parsing. * fix(psd): Preserve transparent composite colours and precision * fix(psd): Check ZIP integrity and bound layer previews * fix(io): Use document CMYK profiles for PSD fill pixels Generated fill pixels used the default CMYK separation even when the PSD embedded a different profile. Scope layer export to the document colour space so cached pixels and the composite use the same profile. Check native cached samples against an explicit ICC transform at 8 and 16 bits. * io: refuse an empty RGB composite before splitting it into planes chunks_exact(0) panics; an empty decoded composite now returns an error. 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>