At this point, I'm just allowing ships to double as menu's, so it isn't restricted to MVAM parent ships as it was in V3. In V3 (and 3.7, come to think of it, didn't I not fix the "problem" with the ordering there?) if a ship wanted a submenu that had the same name as a ship, then I would rename it to <<name>>_m (and not show the _m!).
The carrier idea is good, except that unlike MVAM, a shuttle can belong to many different ships. So where should I put it?
I think it might be a good idea to create "aliasses" as the "innovation" in this version.
So something like this:
Foundation.ShipDef.Ship.alias = ["Alias 1", "Alias 2", "Alias 3", ["Submenu", "Subsubmenu", "Alias 4"], ["SubMenu b", None]]And with that you can "assign" the ship to multiple spots.
The first 3 are renamings (only in the menu!) of the same ship, which will appear at wherever the ship is currently positioned (so it includes SubMenu and MVAM). The lists a bit further are respectively an additional submenu with an alias, and the submenu with the normal shipname (that's the reason there is the None value).
Now, one thing to wonder about, how would the "Do not show" ability interact with this new feature?About ordering, it's one of those things I wanted to do for V4, and the common part (LibSubMenu) generates a tree already, so if you edit that, you can edit the order.
Eventually, I want to make the buttons/menus draggable (only within the container they are currently in!).
And, perhaps, a filter box? Performance might be quite bad with that.

Rebuilding the menu structure each time would be horrible.
