The ideal would be both worlds. 3D editor until you want to go in and change specific relations, which would be specified in code. Like editing an SVG or hand-editing its source, it's useful to have the option depending on your toolset.
The issue isn't whether you're editing text or visually interacting. It's that there's a tension between abstraction (parameterized models) and WYSIWYG editing.