
This placeholder gadget would just be represented by a simple square in the VD. It's only properties would be X, Y, width, height (and lock left,top,right,bottom). There would then need to be a spot in the VD object properties box to enter the syntax needed to create the object. When entering the syntax, meta-variables could be specified that are then translated to actual parameters when VD generates the code using this generic placeholder gadget syntax.
For example, syntax as entered in VD:
MyCustomGadget(#MyGadgetID, #PB_VD_x, #PB_VD_y, #PB_VD_width, #PB_VD_height, other-parameters)
Actual VD generated code:
MyCustomGadget(#MyGadgetID, 100, 50, 300, 200, other-parameters)
All the #PB_VD_... variables represent the position and size of their generic placeholder gadget as placed on the window and then are translated to actual numbers WHEN the gadget code is generated by VD.
Then you could make changes down the road to your window with custom gadgets using VD and not result in any rework as VD regenerates the new window code.

P.S. VD could even have a facility to enter a list of 3rd party gadgets with their syntax, then this list could be re-used from project to project.