Really good work guys! I'm still trying to get my head around it.
Is this how it works?

n2 vertex vectors (each entry a 4-byte float)

Code:
1.15   3.47   -1.04     [  0  ]
2.65   2.54    0.98     [  1  ]
3.77   2.15    1.44     [  2  ]
  .      .       .      [  .  ]
  .      .       .      [  .  ]
  .      .       .      [  .  ]
0.15  -2.38    3.72     [n2-1 ]
(The numbers in square brackets are meant to
be 0-based indices.)

n mesh group triples (each entry a 2-byte short int)

Code:
  0      4       5      [  0  ]
  5      4       3      [  1  ]
  4      0       6      [  2  ]
  .      .       .      [  .  ]
  .      .       .      [  .  ]
  .      .       .      [  .  ]
  7      3       2      [ n-1 ]
So each triple in the mesh group block are three
indices into the vertex vector array and this
defines a facet? I suppose the order of indices is
important as that and the right hand rule would define
an outward pointing vector so a rendering system would
know what the "outside" of the body is.

What would the vertex weights be used for?