aseprite icon indicating copy to clipboard operation
aseprite copied to clipboard

Add five new types of diffusion dither and expose zig zag to user

Open dpt opened this issue 10 months ago • 3 comments

Screenshot 2025-06-12 at 15 47 37

This extends the existing dithering code to add Jarvis-Judice-Ninke, Stucki, Atkinson, Burkes and Sierra error diffused dithers. It also exposes the zig zag (serpentine) choice to the user. Diffusion is tweaked to use fixed point for the error values.

I agree that my contributions are licensed under the Individual Contributor License Agreement V4.0 ("CLA") as stated in https://github.com/igarastudio/cla/blob/main/cla.md

I have signed the CLA following the steps given in https://github.com/igarastudio/cla#signing

dpt avatar Jun 12 '25 14:06 dpt

Hi there!

One or more of the commit messages in this PR do not match our code submission policy, please check the lint_commits CI job for more details on which commits were flagged and why. Please do not close this PR and open another, instead modify your commit message(s) with git commit --amend and force push those changes to update this PR.

aseprite-bot avatar Jun 12 '25 14:06 aseprite-bot

Spotted that serpentine mode wasn't flipping the matrix as it should have - fixed. We now avoid copying error buffers around when just changing index will do. Checking continueTask per-pixel seemed excessive so I've made that less frequent now - per line.

dpt avatar Jun 13 '25 17:06 dpt

Spotted a problem where dither settings are being lost when OK is hit... [now fixed]

dpt avatar Jun 14 '25 12:06 dpt