three.js
WebGPU Soft Particles
Soft particles fade smoke sprites out where they intersect solid geometry.