Coding 2025-03-24

By Max Woerner Chase

My Jujutsu state is, if not clean, capable of basically pretending, so that's nice.

After I got that together, I wrote the framework code for applying different dithering algorithms, and what should be enough code to pull off Bayer dithering, though I haven't tried it yet. I also added some convenience methods to the class that generates images for the thermal printer, to do stuff like load images after they've been through the dithering pipeline, and preview images from whatever source.

On the fancy-code-side of things, I still haven't wired up the space-filling curve code to handle Riemersma dithering, and it would be nice to special-case things a little to avoid the corner case (which manifests in a corner) in the current space-filling curve code. I also haven't set up blue noise generation, or matrix-based error diffusion.

On the usability side of things, I haven't tried actually wiring any of this stuff together, so my standing assumption is that actually trying to use this code is really obnoxious currently. I probably need a bunch more helper functions that I haven't fully anticipated.

I'll need to take some time to figure out how to implement things, and what things to implement, so I'm just going to wrap things up a little early and chill out for a bit.

Good night.