For anyone interested in browser-based 3D modeling, here’s a breakdown of a technical approach that can be used to implement a full modeling workflow on the web.
Instead of editing Three.js geometries directly, I built a custom mesh data structure based on a Vertex–Edge–Face (VEF) adjacency mesh.
BufferGeometry.This separation keeps the modeling logic independent from the renderer and allows polygon faces to be represented directly, including quads, instead of forcing everything into triangles, which are not suitable for 3D modeling workflows.
Each modeling action is stored as a command (command pattern–style):
BufferGeometry objects.You don’t need many tools to start modeling in 3D. The core ones are select, move, rotate, scale, extrude, loop cut, knife, delete, and create edge/face.
These are enough to model most basic shapes. Other tools mainly exist for convenience or for handling more complex, specific cases, and are usually built after these fundamentals.
You don’t need hardcore graphics programming, but you do need:
Most of the difficulty isn’t pure math—it’s designing robust data structures and writing clean algorithms for geometry manipulation.
If you’re thinking about building a 3D modeling tool on the web:
Hope this helps anyone exploring browser-based 3D tooling.