Ok, just had a look - R91 is the most recent release, R93 is what it is up to in the repository, so R93 is the absolute latest.
onelson:
That is more of a users view of an egg file - they are internally a lot more complicated than that. I would have a look through the list of classes in the Chicken exporter as it stands, but also check out http://panda3d.cvs.sourceforge.net/panda3d/panda/src/doc/eggSyntax.txt?view=markup, which is basically the actual spec. I would also get some egg files and read through them, including some that have been laid by the current version of Chicken.
To give some kind of overview an egg file starts with the coordinate system to use, then it has the materials and textures used throughout and then you have the object hierarchy, and finally the animations, which can be in a separate file (It is possible to have one skeleton shared by multiple meshes in separate files that have a common pool of animations - you will need to support that, though its not hard as your basically just appending the files for the single file export.).
The object hierarchy is precisely that - a hierarchy of objects, which can include empties, static meshes and animated meshes. Animated meshes come with a skeleton, which is then referenced by the associated animations.
Objects with geometry contain vertices and polygons, and if animated also contain joints to form the skeleton. The class will inevitably have an inheritance tree that has empty at the top, from which a static mesh inherits, from which an animated mesh inherits. Al 3 of these object types can be in a single egg file.
A vertex always includes its position, but typically has a surface normal and often tangents/binormals as well. A polygon indexes the vertices it uses, its textures and materials. Joints (Bones) give their matrix transform, in global coordinates, as all transforms are in an egg file (Watch out for that one - Blender will only give you back local transforms, so you will need to convert. I/the current Chicken source can help with that.) and the vertices that are members of the joint, with their weighting for vertices that are members of multiple joints.
An animation has some basic properties such as name and framerate but then gives the sequence of states for each bones transform.
I’m sure there is other stuff that I have forgotten - expect to write a lot of if statements!