floyd steinberg is fucking epic. i implemented it in a shitty retarded language once for fun and rendered some bullshit trigonometric graphs with it because i didn't bother to make anything interesting like a raytracer
doing your perceptual color comparisons in a perceptual color space would probably improve things massively
cielab is pretty good for that but you might want to look into oklab as well
Yeah I get that those are better, and the plan is to allow people to choose, eventually. But for now, I am happy to get something semi-working for now, tbh.
The outline for what the page should be able to do eventually:
Allows color converting based on one of a few colour spaces (rgb, cielab, etc)
Allows multiple configurable layers with the following each:
Dithering enabled/not
Which colours are enabled for that layer
Which area of that layer to be used in the final image
Which dithering algo for that layer
Probably more I can't think of atm
How much of the error to diffuse
With the end goal being to essentially make it a multi layer editor specifically for wplace. (because quite frankly, some images have some areas where dithering is necessary while also having some where it looks like crap, or areas where you need to turn off specific colours)
Also the idea to be able to adjust how much error to diffuse is because some areas may be fine with a solid colour for the most part, but where you can't just do threshholding.
All those features are because I've found other online editors to be lacking.
This will definitely take at least 200 hrs of work for me.