Round-trip engineering is a necessity for GUI builders that allow or require “bottom-design surgery” of callback code to be articulated independently of the metaphoric “top design mutation” of the GUI widget pattern. I had a similar problem with compiler compilers, and had addressed it by creating an “assembly-line archiving” scheme that could maintain intermediate “digestion” or “meta-design” states between top design and bottom design. I produced “manufacturing scripts” in Perl to stage the Meld editor and other multipane Linux editors for end-to-end reconcilation of design changes from any design state (top, bottom, or in between). Having this same challenge with Glade2 and Glade3 I applied the same GUI-controlled architecture as an IDE superstructure called Everglade.
Three versions of EverGlade have been developed so far. The third version incorporates the Git version-control system as a subsystem.