I want to share my experience with you about how to support spine in your custom game engine or something.If there is something wrong,please tell me,thank you very much.
First,I Import atlas format to my Engine,I found that,spine's xy is the sprite's left top cornor while our game engine's default image sprite's xy is the sprite's(spine call it "region") left bottom.
So,I got this.And I'm going to do some more about the animations.
reference doc : http://zh.esotericsoftware.com/spine-atlas-format


I Found that,some .atlas file did not contain the page width and height attribute,so we need to detect the image width and height if your .atlas file don't have them,for example the powerup.atlas in spine examples.
As I correct this,I can display spine export atlas in our engine now like this:
after i can successfully display the atlas sprite,i'm trying to decode the powerup.json file,
the bones is easy to create,the key is how to attach image sprite component to my hierarchy node.
finally,i found that spine-c runtime decode skins map and create attachment right at that time.obviously, i cannot do like that,
i'd like to read the file to memory and store the infomation in some data structure,and init my image sprite component via these datas.
screen shot like this below:

now i'm going on with animation data.
Animation Section
Bone&Slot
I found that,spine export json file is not baked animation yet,if you want to do some optimization,you can bake the curve data to keyframe datas.
spine-c runtime bake the animation to memory when decode the json file.
Anyway it's good for further edit in your custom engine if spine provide curve data.
it seems like bone's shear attribute is not exist,spine-c did not contains code about them.
wow,finally,i sucess embed spine file format into our game engine,we will release the 3.0 version of our engine on Jun 15 2016.
thanks for spine-c runtime and all the docs on http://zh.esotericsoftware.com/
if you know the basic idea about matrix,bezier then it's not difficult to support spine format in your own engine.
I adapted the animations to my engine and under control of Animator
class Animator :public Component
{
protected:
public:
DECLEAR_ALICE_CLASS(Animator)
DECLEAR_NEW_COMPONENT(Animator)
DECLEAR_COMPONENT_CREATE(Animator)
Animator();
public:
std::unordered_map<std::string, Animation*> mAnimations;
std::string mPath;
Animation*mCurrentAnimation;
#if ALICE_EDITOR
Serializer::Animator*mSerializedData;
#endif
void SetIntValue(int nValue);
void Play(const char*animationName);
virtual void Update(float deltaTime);
};
maybe it will change in the future.
And i packed the timelines into one animation structure,then i can call animator.play("xx") method to play any of them,animator control the mix between animations.