Got it working with InstanceMesh, but couldn’t with BatchedMesh, they have different structures. I believe BatchedMesh uses DataTexture instead of array buffers, which got me quickly discouraged!
Dude, the timing couldn’t be better! I’m actually working on a three.js Wave Function Collapse right now. It’s already crazy fast, but I’m still squeezing out a bit more performance. I haven’t gotten to the 3D rendering part yet, and I was kinda stressed about how to draw all the tiles. Using a bunch of InstancedMesh was pretty much the only plan. But now, with your extension and a texture atlas, I can render everything with a single draw call, as long as the tiles share a relatively similar material.