Thank you for posting your idea and clarifying. I definitely understand your motivation for GUI gizmo creator and I don't want to discourage anyone from posting ideas. Gizmos have a lot of limitations and they can be improved in many ways and we encourage developers to contribute back to the project. That is how open source projects work--it is very much a community effort. And I can see that streamlining the process with a GUI would probably result in a lot more contributions to Gizmos, which would be awesome. However, here are a few considerations I thought of while pondering this idea:
It is easy to visualize and design what a GUI editor would look like for specific cases: like a drag and drop tool for creating new controls on the map gizmo. But what if I want to modify the select box gizmo? or the plot gizmo? or the button gizmo? These gizmos are really nothing like a map gizmo so then the question becomes how do we generalize and approach that would work for any gizmo. Potentially I could create custom GUI editors for each Gizmo, but then what do we do when we want to create a new gizmo that we haven't anticipated?
Ironically, developing the GUI for editing Gizmos would probably mean creating much more code than would be necessary to programmatically edit and modify the Gizmos. All the GUI code would need to be maintained and we would need to manage updates and feature requests for the GUI editor (and someday someone may propose a GUI editor for the GUI editor... lol). None of these are necessarily show stopping questions, but all of these design questions and more would need to be addressed and I think there would require a great deal of effort. Furthermore, I think once you learn how to modify and create gizmos programmatically, you would find that a GUI for this process would probably become more of a hindrance than a help. It is an intriguing idea, and perhaps we should add it to the Tethys wishlist, but I think developing such a tool would be quite involved and beyond our developer resources at the moment (though if anyone wants to volunteer to take it on I won't stop them...).
An easy thing we can do that would help with Gizmo development is formalized instructions for how to modify and create gizmos. I have a task for myself to post some formal instructions, but I probably won't get to it until next week. In the mean time, I'd be happy to do a web meeting with you to give you the overview (setup with email off the forum).
In terms of your specific case of adding a control to the Tethys Map View gizmo (or adding any feature to an existing gizmo), I would recommend the approach you described in option 1 and use the "fork-pull" workflow.