mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
Sharp keeps one set of resize options per pipeline, so the chained shrink-then-grow collapsed into a single resize back to the original size and both the full-image and region paths returned the input untouched. Run the two resizes as separate pipelines, pinned to fit: "fill" so a skewed block grid cannot crop the picture. Also in this change: - stop passing quality to the PNG encoder, which Sharp reads as "quantise to a palette" and which dithered the flat blocks and inflated the file - replace the region instead of blending into it, so a part-transparent image no longer shows the original through the mosaic - throw on unreadable dimensions rather than falling back to a 1x1 image Five new integration tests on content-bearing fixtures, each verified against a deliberate mutant. Fixes #678