Diffuser

The source code is available on GitHub

A common theme in visualizations I create is their dependence on performing operations in parallel on a grid of values. I write my visualizations in Rust. Because of Rust's ownership rules, you can't iterate over some in parallel while reading and writing to it. This can generally be solved by copying the data grid and then reading from the copy in order to write to the original. Diffuser was a program that I wrote to explore how I wanted to do that.

It works like this:

These rules together give the appearance of drawing with a liquid. They can look similar to Rorschach ink blots.

Diffuser example 1

Writing my own name

Stuff that would be cool to add: