I have always hated my camera controls in the editor. Not sure why I didn't fix them before, but tonight I added a drag-button toolbar to allow you to move the camera around in a sane way. The old method left the cursor in the screen while moving the camera, which caused issues when it got outside of the viewport or the app rect, etc. It also did left/right rotations relative to the camera's local Y axis, which tended to make the camera roll when you were trying just to rotate left/right. Insanity.
Now, the cursor disappears, you can drag around for a while as needed, and when you let go, the cursor is right back where you left it.
I have pan, dolly, roll, two rotation options, and nice FPS-style WASD controls as well. The horizontal rotation is world-Y-axis relative, which is what you want. It does nothing if the camera is facing +-Y.
I also added more vertex options, fixed up the texture mapping, and fixed a few bugs here and there. It's pretty usable at this point.
I have been having some ideas about how to add a good automatic hole-triangulator function, but I'm not sure it's really needed at this point, although it would solve some issues, and be a nice ramp construction tool as well.
The idea is two-fold :
1) Select a bunch of vertices around a hole, or perhaps 4 verts defining a ramp.
2) hit the 'stitch' button, and the editor would create a poly, then tessellate it nicely for you, that filled up the space between the selected vertices.
The simplest way to go is just to assume the verts are convex & planar, and then create a bunch of tris from each edge of the selection to the center. This is good for patching up simple holes, but is not much better than just collapsing the hole verts to their average.
The fancier method involes creating the plane of the selected verts to start.
Then for each selected vert, find its neighbor, by trying a vert, building a plane along the edge perpendicular to the selection plane, then making sure all other verts are on the inside of this plane. If not, try the next vert. Eventually, you'll find the neighbor, and you can then put it in an ordered list of verts that defines a polygon. You can create a triangle vertA, vertB, center, to decide if the edge goes a->b or b->a by comparing this tri's normal to the original selection plane's normal.
Next, you clip the polygon into smaller polys by the 1x1x1 meter cubic grid. This is just to make editing easier later, and to keep polys from becoming long & skinny.
Lastly, turn all of the clipped polys into triangles, and add them to the geometry database.