Any better implementation of ExtrudeGeometry?

Btw, I learned that if you create a shape that mix lineTo and bezierCurveTo, you have to be careful with how it calculated vertex normals as it seems to just average on connected lines, but I guess the information about when a line is used vs a curve is lost in the ShapeBufferGeometry. It is easy to assume that vertex normals for each line segment in the shape are averaged based on the curved lines, but for the straight lines one would want it to be perpendicular to the line. One way to avoid this is to use a very short line first before the full length of the straight line in order to simulate something like the Blender “loopcut”. This way it is smooth shaded on the curved areas and flat shaded on the flat parts of the shape. Althought his method ofc adds additional geometry as well.