Update: I've been trying to continue on the console system on the trains to/from work but because it's been so fragmented it's taken a while. I also realised lately that I'd been sticking references to abstract classes everywhere (the programmers amongst you will know why that's never a good idea, mainly because you'll have a difficult time getting that to compile), so I'm having to go over some stuff again.
Apart from that, a little messing around with the Far Cry 3 editor this weekend has helped me hone my vision a bit more on what I want to work towards with the Crowbar editor. My intuition right now is that the more immersive the editor is, the easier it's going to be to craft higher-quality worlds as the leap of imagination from pre- to post-compile is less drastic. I've thought of a couple more additions I'd like to implement when the time comes:
- WYSIWYG skyboxes - the editor draws the skybox you choose for the map in the background in the same way that the game does. When the times comes to seal the map with physical skybox brushes, you can turn the skybox display off so that you can see where to put them. If an env_sun is present, this is drawn too.
- Directional shading depending on the lighting angles from your light_environment. Like Hammer's shaded textured mode, brush faces can be shaded depending on what direction they're pointing in, but you can change the fake lighting direction and tint to match that of your light_environment, as a cheap, semi-preview of global lighting.
- The option to render displacement faces double-sided so that you can manipulate them from behind when you need to, as well as the option to only allow the editing of displacement vertices that you can see part of the face for (for when you're doing bulk editing and don't want to catch the faces that are facing away from you).
- Some sort of "map sketch" mode. The details on this are still hazy as it's part pipe dream, but I've always found mocking up TF2 maps, where the layout, arena width, etc. is important, to be tiresome because of having to create and manage all the surrounding brushes. What I had in mind was some kind of lines-and-points implementation, where points could be positioned and connecting lines drawn between them. The lines would be quickly and dirtily made into routes (with things like width and height specifiable) and the points into arenas which you can set the size of. Don't like the position of some route, or need more height difference? Just move the points around and the geometry (generated fully on compile but with a translucent block-preview while editing) will change.
- Novint Falcon support for things like displacement sculpting (the pipiest of pipe dreams).