Thanks for the details. Does the WebGL version use the polygon batcher and render multiple meshes with a material each or do WebGL meshes just support multiple materials? I know the PIXI runtime, which I currently use, renders Spine animations with all the layers split apart. Maybe it would be possible to render Spine animations in ThreeJS with multiple meshes and have them under a Three.Group. That way they can have a different material per mesh. Does ThreeJS support multiple materials per mesh on the Mesh object?:
https://threejs.org/docs/#api/en/objects/Mesh
That class can take an array of materials. I guess those can be assigned to vertex groups? I might be able to implement this myself, what would be the best route to go for performance - multiple meshes in a group or vertex groups with multiple materials?