You consider to author the geometry offline with Blender and then load it via THREE.GLTFLoader. But there is no other geometry generator that produces the same result in an “easier” way.
I checked your JS Fiddle, just wondering if you know if you add mesh.scale.set(1,2,3) to your code, is there a way to maintain the same thickness of the walls?
The use case for me is that I’ve got this far for a 4-sided room building tool, but when it scales, the thicknesses go all out of whack.
No, that doesn’t work. Neither when scaling the mesh nor the geometry. You have to update the shape before the extrusion process happens, see Edit fiddle - JSFiddle - Code Playground