Could you post a screenshot of your NLA view?
I suspect you didn’t shift them properly.
This operation is also mandatory with ogre exporter, only the blender loader lets you load animation that are not laid out in the NLA track editor.
I’m currently using my fork of xbuf (f3b) but the code that handle the animations should be pretty much the same and, as for your NLA view, it should work like that, there is no need to shift the strips in xbuf.
If you’ve forgotten to apply the transforms and you do it now it might cause unexpected results, usually what you should do is first apply the transforms and then animate, but if you want to try to save the currect animation without starting from scratch you could try this:
Go into pose mode and reset the armature to the resting pose: CTRL + A (select all bones) ALT + R (reset rotation) ALT + S (reset scale) ALT + G (reset translation)
Go into object mode, remove the armature modifier from your model
Yeah, protocol buffers are pretty shnazzy. I can’t tell you how xbuf file sizes compare to say, Ogre or Blender file sizes, but since the protocol buffer format was designed to be a highly efficient network wire format I’d guess that the difference is going to be pretty significant. It does all sorts of tricks like compressing integers (“32-bit” integers only take up as many bytes on the wire as is absolutely necessary to store an integer of that magnitude, if I remember correctly), and it’s got a whole bag of space-saving tricks.