Version to work outside the editor and a version to work inside the editor. Well all would be set in the editor, what I mean is one can have set saved levels, and also one can set the game to follow set viarables and generate the game from within the game, as levels that have not been pre made and saved.
That way one can edit the random generator in the editor for tweaking, and also having a version that works in game, so we can have our levels Procedural generated on the fly, but, what would happen with the Procedural generated on the fly, is that we would set its settings before hand, because we would need some control on the parameters. this way we can vary what is spawned from level to level, or even create infinite games, like the early arcade games from the late 70s, early 80s, having games go on forever and following set rules, ie tougher enemies as the game progresses, or different power ups or items as the game progresses, so we can set per map, per game or per game level, ie level as in map one level one, then level two same map, ie you are looking at the editor, generate some content, go up a level, generate more content, building or randomly generating each floor of a building for example.
spawn entities.
set type, standing entities or entities that fix on walls
set entities to be spawned
set number or percentage variable of spawning
set associated entity to spawn, number or percentage variable of spawning, pick position, either set distance or a variable percentage chance, set within parameters set. also position or even pattern, weather random or geometric, or set patterns.
So what we can do with the above is have tables spawned with associated chairs, with associated items, ie objects placed on the tables, same goes for lights having associated light entities, or even having lights without the light entity and therefore being set as unlit lights, also with this we can randomly spawn trees or vegetation, with the patterned spawn type we can have man made objects spawn, ie generators or boxes, having the option to spawn wall objects gives the option to spawn pipes or tech greeble objects to walls.
Ill go into segments next.