I see that at some point the Subdivision modifier algorithm switched from Catmull-Clark to Loop. Why not include both algorithms?
Also, at some point Face4 was removed from three.I understand we need to render triangles, but the are definite use cases for supporting quad faces and ngons. Has this been discussed?
(Sorry to conflate quad faces and subdivision algorithms, but I’m working on something that requires both)
Yes. The intend was to go away from high level geometry representations and only focus on a geometry format that can be directly processed by WebGL. Which is BufferGeometry.
Quads are not renderable and needs to be converted to triangles first. The related logic needs to be implemented by the application in order to avoid this complexity in WebGLRenderer. Keep in mind that one-time conversions are not sufficient. It’s also important to honor the situations when existing geometries are updated or resized. Implementing this stuff efficiently is complex.
I can’t tell you why the subdivision modifier switch the algorithm. However, in order to keep the code base manageable, I would prefer to implement only a single algorithm and focus on it.