I am still using the messy algorithm I described yesterday, Confetti #10. I greatly reduced the number of squares, but kept them small, and removed the requirement that they fill the canvas, while painting the untouched areas white. The big step is the last one, less is more.
This is a side trip. I have plans to explore minimalist geometric abstraction in the future. I did not expect to approach it from this direction. It was a nice surprise to find it here.
I defined two types of algorithmic in Confetti #9. So far I have been using a pixel-first algorithm. It will be easier to work on geometric abstractions with an object-first design.