Thank you, I continued to work on it, it's now running completly smoothly at 10 times the previous refresh rate, without restoring the need for a background thread. The key was to move the fluids on a seperate layer so I don't need to rebuild the terrain geometry when the liquids moves.
I made a lot of other improvements, with fluids and gas behavior inspired by "oxygen not included", but I'm way past the 3 hours mark at this point so I'll rerelease it outside the jam.