I created a new vertex and move it along normal normal.multiplyScalar(space).add(point)
The new shell looks spaced, and logically this idea will not work unless I find a way to triangulate the new faces
What I really want something like blender Solidify modifier
I’m not sure I fully understand your use case. When you say you want to extrude a face, are you talking about a single triangle? In three.js a face is a triangle. It is not a composition of multiple triangles.
A possible approach to solve this issue is to use ExtrudeBufferGeometry. However, this requires that you define the contour of your selection as an instance of THREE.Shape. The contour (which is nothing else than a sequence of points) has to be in 2D meaning all of its points have to lie in a conceptual plane.
I can extrude any array positions, (face selection)
the idea is :
Merges vertices of the selected positions
Duplicate them (if you want the extruded object as a separate mesh)
Extrude the faces along their normal normal.multiplyScalar(space).add(point)
Get the outer edge with edgeGeometry using a high angle threshold
Triangulate the outer and inner edge
BufferGeometryUtils.merge to get the final shape