It's running entirely on the GPU, so for rendering it's only 1 draw call. None of the simulation data ever makes it back to the CPU, the MultiMesh buffer is written to directly.
I posted the Slang shader code here: gist.github.com/Lateasusual/...
I didn't include the CPU boilerplate code though
gist.github.com
https://x.com/lateasusual_/status/2038652782266228986
https://x.com/lateasusual_/status/2038652782266228986 - godot_ball_pit.slang