When I first explored the classic webgl_points_waves demo in Three.js, I was amazed by the simplicity and elegance of the animation — around 2,500 particles oscillating in a wave pattern. But naturally, I wondered: What if we wanted 100× more particles? Could JavaScript handle it? Spoiler: It can’t. But WebAssembly can.

When I first explored the classic webgl_points_waves
demo in Three.js, I was amazed by the simplicity and elegance of the animation — around 2,500 particles oscillating in a wave pattern. But naturally, I wondered: What if we wanted 100× more particles? Could JavaScript handle it?
Spoiler: It can’t. But WebAssembly can.