Been awhile since I updated, but I haven't been idle. Mostly, anyway. The usual hindrances to my development time apply, of course, but I have made some progress.
So far, I have implemented all of the functionality of the unfinished terrain editor (height editing, noise node graphs, etc...) as well as making a first version of spline groups to allow having multiple spline curves for use in road and river building filters. I iimplemented a color chooser for choosing the colors for main light (sun), back light, and fog/ambient colors. (Some of these changes, which are relevant to the original terrain editor, I have propagated backwards to the original project; others, though, are specific to the GC editor.) I have also implemented a slight change to the quad-planar shader the ground textures use, so that I can edit top textures separately from side textures. And of course, as with all large GC-related projects, it has initiated a round of major refactoring in the way that I load and construct levels. Next on the list is editable water, followed by spawn groups to allow spawning level objects, and saving those spawners.
The way I'm thinking about spawn groups is to populate a spawns folder with a whole set of proxy objects. These proxy objects will include the graphical model for a level object, along with a Spawner component that provides an indirection link to the actual game object to spawn. This will let me do things like replace the spawned object without having to edit every instance of that object in the level, create spawn objects that randomly select from a set of objects at level load, and so forth. That way, I can randomize the contents of a level when it is loaded, rather than having to randomize at level construction and provide multiple 'copies' of a level for randomized variants. I'm still thinking about the exact particulars of how I want to set this up.
I'm also working on a format and spec for randomly generated levels. Some set-piece levels will be static (or, at least, randomized only on certain contents) while others will be wholly randomly generated as they currently are. I hope to tweak the editor to facilitate construction of the various functions that will be used to shape and populate these random zones. That should keep me busy for another several months/years, given the sparsity of the actual time I get to spend on this. (If my wife would let me quit my job and start living off savings and retirement, it'd be a whole lot faster. For a little while, at least, until those bank balances run low. )