Just got back from work so gimme a while to catch up - First I thought we only have 3 types of BAIN
( Reference your "uh oh" - I always refer to the Top Level of a zip package as being the root of the archive, in my examples below I will label all root items )
Your example of a Simple Package is fine :
Simple - Installer has .esp, .esm and/or .bsa files, and/or any of the standard game subdirectories at the top level of the package/project.
Installer.7z or project folder/
readme.txt maybe - root
some.esp .esm - root
some.bsa - root
textures/ - root
path/files
meshes/ - root
path/files
Your example of a Complex Package is fine
Complex - Installer has top-level subdirectories that each have a simple structure (as defined above). The top level subdirectories (known as subpackages) must not have the same name as any of the regular game subdirectories for this game. Each top-level subdirectory will be treated as a sub-package, and can be independently activated or deactivated as desired.
Installer.7z or project folder/
readme.txt maybe - root
wizard.txt maybe - root
subpackageonefolder/ - root
readme.txt
some.esp .esm
sounds/files
meshes/files
subpackagetwofolder/ - root
readme.txt
some.esp
meshes/files
Your example of a Complex/Simple package does not need files in the root ( they can be .. maybe )
Complex/Simple - A complex installer with only one top-level subdirectory. It is treated as a simple installer, starting at this top level subdirectory. Examples include mods packaged with a top-level Data directory.
Installer.7z or project folder/
readme.txt maybe - root
data/ - root
some.esp
scripts/files
Your example of a Simple Package II - Is actually a Complex / Simple package
FOMod/ folder should be where the mod managers that need them know where to look for them - root - Or, not root ( xxMM can dig down in an archive to find FOMod/ and it uses the level at which it finds FOMod/ as the anchor root basis for its pathing in the modconfig script ), personally I always make a point of keeping it root ( remember my bug reference wizards getting confused as to where root is if a BAIN is packaged one or two folders too deep ?, and so cannot find its images because the root to the path to them is at the wrong level .. What was done was acceptance that everyone naturally packs an archive one folder too deep ( by zipping just the folder they put all of their sub-packages into ), so Wrye Bash was allowed to also look at such archives but did not account for image paths in wizards )
Installer.7z or project folder/
readme.txt maybe - root
wizard.txt maybe - root
FOMod/ - root
images.jpg maybe
info.xml
modconfig.xml
subpackageonefolder/ - root
readme.txt
some.esp .esm
sounds/files
meshes/files
subpackagetwofolder/ - root
readme.txt
some.esp
meshes/files
But you cant say thats how all mod authors will do it, FOMod could be anywhere - If it causes problems for Wrye Bash either the author or users need to rearrange the content of the mod archive to be BAIN friendly .. I try to encourage a format that works for all.
Any other weird stuff / folders / files inside the FOMod/ folder an xxMM programmer may have in here is usually best sorted into subpackages and the scripting for those files ( modconfig.xml ) repathed accordingly to bring it in line with being Wrye Bash / BAIN friendly
You need to spend a few years on nexus to realise the latter case was the norm for a long time, Oblivion users of Wrye Bash have always made a habit of just rolling their own instead of what would be a pain trying to necro' an author who has not a clue or care for Wrye Bash friendliness and thinks Wrye Bash is weird
As far as xxMM programmers are concerned the following for them is entirely valid as an installer package ..
Installer.7z or project folder/
readme.txt maybe - root
An-Extra-Folder-Here-Because-Its-Easy-To-Right-Click-And-Zip-With-The-Readme/ - root
Stuff-The-Author-Wanted-To-Store-Separate-From-the-Main-Installation-Folders/
TheManyFilesIMayOrMayNotUse.*
Another-Folder-Because-We-Can/
FOMod/
images.jpg maybe
images2.jpg maybe
info.xml
modconfig.xml
some-folder-name-with-strange-subfolders-illogically-dumped-together-like-a-teenagers-bedroom1/ much.files esp bsa meshes etc etc
some-folder-name-with-strange-subfolders-illogically-dumped-together-like-a-teenagers-bedroom2/ much.files.part.deux
And the scripting can pick and choose MANY configurations out of the mess which only the authors brain ( or another determined modder trying to make it BAIN friendly ) can figure out and make sense of it all with a lot of experience and a good idea of the objectives of the mod and its files.
So there is not really a standard for xxMM scripting and folder organisation within an installer, they make it up as they go along because the scripting affords them the luxury to do that. They can for example have a folder filled with textures ( no paths, just all textures in one folder ) .. The author knows the unique paths of the original textures to make these all into replacers .. So he scripts in the paths at installation time ( saves having to make thousands of path sub folders like Textures/actors/character/etc/etc/ )
Whereas BAINs were designed to be not only reliable at ensuring what you think is installed out of thousands of installers files .. actually is .. but also to be speedy in execution and annealing the installation
Importantly : Sticking with what we know should be allowed ( the three BAIN types and ignoring FOMod wherever it is found but allowing the wizard script to use resources in there <-- This was not my idea, I have copied it from some older BAINs out there starting years ago .. and due to my enthusiasm helping over the years following, many other authors have adopted similar practices )
Because to alter that would break a massive amount of mods, wizards and patches
As Sharlikran says, its something that really should not be a concern for Wrye Bash, but the way Wrye Bash has always allowed it by ignoring it as a not-sub-package ( and I would add allowing Wizards to use resources in FOMod ) .. ought to be maintained.
If you ever need it for a reference - Guide for FOMOD Scripting http://www.nexusmods.com/newvegas/mods/44914/?
( You have probably noticed but also see the Wrye Bash Technical Readme - Wizards vs OBMM Scripts - Compares the two sets of commands side by side similarities )
Surazal may well nitpick me here .. Or Metallicow .. Both of whom can make wizards do math to compete with Magrathea and produce the answer 42 to The Question Life The Universe and Everything, in about two seconds ( dont blink )
Hell, its going to take me half hour to figure out if I am happy with the content of this post .. >.< click