It's too soon to cover all our bases, but I am thinking about an ascii file format that kind of follows the entity structures:
Pivot { 0.0, 0.0, 0.0 1.0, 1.0, 1.0 0.0, 0.0, 0.0 ,1.0 Mesh { { 0.0, 0.0, 0.0 1.0, 1.0, 1.0 0.0, 0.0, 0.0 ,1.0 } GeometryVertices { 0.0, 0.0, 0.0 1.0, 1.0, 0.0 0.0, 1.0, 0.0 } ColorVertices { 0.0, 255.0, 0.0 255.0, 0.0, 0.0 0.0, 0.0, 255.0 } NormalVertices { 0.0, 1.0, 0.0 1.0, 0.0, 0.0 0.0, 0.0, 1.0 1.0, 0.0, 0.0 } Triangles { 1,2,3,2,4,3,1,8,9,3,1,1,8 1,2,3,2,4,3,1,8,9,3,1,1,8 1,2,3,2,4,3,1,8,9,3,1,1,8 } } Sprite { { 0.0, 0.0, 0.0 1.0, 1.0, 1.0 0.0, 0.0, 0.0 ,1.0 } { 100.0, 100.0 } } } Brush { { 0.0, 1.0, 0.0, 256.0 "havok\dirtgen_05.tga" 0.0, 0.0, 1.0, 256.0 "havok\dirtgen_05.tga" -0.1, 0.0, 0.0, 256.0 "earth\killblock05.tga" 0.0, 0.1, 0.1, 256.0 "havok\dirtgen_09.tga" } { "classname"="kill_field" "damage"="5" } }