So, I have some ideas…
- Externalize the builtin layout, for example the default layout will be named like /layouts/mapname/default.layout
- Enable the loading of a map that does not have the required entities (with a special switch like -edit) like the intermissions entities.
- Disable the ending of a game if spawn are missings (same switch)
- Allow a roll movement when using the -edit switch with -noclip
So, you just have to crate a map without intermission entities and without buildings, then you run daemon +devmap mapname +noclip +edit, it automatically disables the end trigger, spawns you somewhere floating in the map, and allows extra movements for wall/ceiling building. Then, you build, save the layout and put it in your pk3.
Also, I have the idea of some objects that could have a special state depending on the layout. For example a door which is locked in a layout and unlocked in another, or some lights that can be switched on/switched off depending of the layout (only doable with real time lights). With an -edit mode, we can imagine switching theses states in game then save the layout. So, a same large map will be loadable with different scenarii, not only changing spawn places, but changing some game logic like “which corridors are usable or which rooms are available”.