I'm writing a fluid simulator as an excuse to learn more #shader coding.
I get now why people keep reinventing fluid simulators — there's some very clever math in the fundamentals, but also the problem has no right solution, so there's also lot that can be fudged and tweaked for different results.