I feel like at this point the best choice is probably to expand and refine the particle system to make it so stationary details fall under the same umbrella as particles. Populating a level will be a process of making new ‘ParticleType’s — stationary effects will be a relatively simple particle type with only one active instance, whereas more sophisticated effects will be a more complex particle type with multiple instances and maybe some triggers to switch between types.
First, I’m going to start by tidying up and revising my existing particle code. Then I’ll proceed by folding in my standard detail code that I’ve been using up until now, and get it back to the same level of functionality I have now within that paradigm. Then I start in on the editor. It’s a lot of work for sure, but I think this is an approach that makes sense.