This is the feature list from my initial game framework;
Texture format importers.
Materials system (and setup for shader parameters, lightmaps, fullbright surfaces [skies], environment mapped surfaces, caustic effects, transparent, translucent surfaces).
Keyframed animation (frame interpolation).
Per frame bounding boxes.
Scene management (loads and runs a given map)
Scene partitioning (manual portals here).
Static lighting solution (lightmaps in my case)
Dynamic world lighting.
Dynamic object lighting.
Collision detection (object vs world, object vs object)
Simple physics. (Gravity, inertia).
Time based movement.
Game logic. (updating AI and responding to collisions, updating animations).
Entity system (C++ but it's quite well isolated from the rest of the core code. Should be simple and tidy for a third party to modify game stuff. Could compile this section into a .DLL?).
Windowing system. (Buttons, sliding controls, dragable items, text controls).
Text formatting. (Alignment, clipping region, colours, language)
Render to texture (GUI map displays, energy bars)
Large pack file type format. (After thought. All file interaction through a file_buffer wrapper, which I'll update to use a single packed file when everything else is done.)
Bitmapped font generator. (Glyph texture, spacing data).
Model convertor (Milkshape, MDL in, custom model format out)
Map generator (Q3A BSP in, custom lightmaps built, collision data, partitioning out).
Texture convertor. (BMP, TGA in. Flags applied [mip mapping, clamping], custom texture format out).
I've no plans to implement network code, sound or music, since I've already got too much on my plate I hope some of this is helpful. It might be overly detailed, but it's basically a running summary of the features I've had to add (some still W.I.P) to get a mock-up game running.