Maybe you can use this
Curved2Geometry - a twofold curved geometry
or this
Multi Form Geometry
or body parts of
Pino - a procedurally generated and moved skeleton figure
Less complex is
How to update tubeGeometry geometry based in lineCurve modifications? - #14 by hofk => DynamicTubeGeometryCaps
There line 251
v3a.multiplyScalar( g.radius );
You can vary the radius. You don’t have to move the geometry either.