The normalPOP does only support quads and triangles as inputs, which I understand. But I think for an input that has triangles or quads and other geometry, it should default to calculating normals for those and ignoring the others (maybe while warning about it). It feels wrong that I can’t get the normals for thos computed.
Similarly, the convertPOP can’t (for example) convert lineStrips to lines when the input also has other kinds of geometry. I think it should just convert all the primitives that match the expected input and ignore the rest.
Neighbors for lines and line strips was on my list, making sure we don’t forget about it.
Might not be so straightforward for points shared between triangles and lines/line strips (nothing forbids it but not recommended topology in any case), but we can at least add it initiallly for lines / line strips only.
Tackled the line strips to lines conversion, other prims will pass through unaffected, also primitive attributes and groups were previously not converted, also took care of that, will be in next build.
Since all prims are in the same index buffer, “pass through” means a copy in that case, but that might still be cheaper than separating a prim type, processing it, and merging again (if you need them merged)