Love this. Dan Schroeder also has a great LBM lab with implementations in a few languages.
https://physics.weber.edu/schroeder/fluids/
I ported his JavaScript implementation to TensorFlow.js and screwed something up – still fun if you have a nice GPU.