Looks cool, I'm not much into webassembly... but I see just fews lines of Haskell code produced a gzipped wasm of 448K. How does this compares to other languages?
https://alexander-barth.github.io/FluidSimDemo-WebAssembly/
But here the wasm code does only the number crunching. The visualization (and memory allocation) is all done in javascript.