You can create geometries of any complexity with three.js. It is a question of using the mathematical-geometric relationships correctly.
You can find some examples to demonstrate this at Collection of examples from discourse.threejs.org
Some shapes
Addon. Produces almost infinite many time-varying geometries with functions
Addon to create special / extended geometries
Multi Form Geometry
BumblebeeMara ( see [solved] Problem porting SkinnedMesh from old Geometry to BufferGeometry - #2 by hofk)
and more …