Less than 50 days left!
Regarding some previous comments:
These cubes are just for the editor. The actual game will show game models that replace the top level cubes, so on the one hand, I'll have to be drawing even more complex stuff, but on the other hand, now occlusion culling will be useful (with just cubes, it's pointless, since it needs to draw a bounding box first anyways).
I added frustum culling too, so now it only renders things in the current view.
I also have a culling system where it doesn't draw any object that is surrounded on all 6 sides by cubes. This, along with the frustum culling, vastly improved my FPS. I still will have problems though, when I have to make some large scenes with lots of models everywhere. I think my bottleneck is too many begin() and end() calls (one for each block!), so I'm going to figure out a way to lump them all together into one draw call. Doing that should far surpass every other optimization I make.
I also added in simple, clickable text buttons: