It's not really 2.0+ exclusive stuff, but that's the version I use and some of the questions are threading-specific (and here 2.0+ differs from the predecessors), so I decided to put it all here.
So, till now I was using animations "as is" (i.e. I juts move scene nodes and run/blend skeletal animations for items) and everything works like a charm, thanks for the awesome Ogre engine. But recently I started to play with the idea of fiddling with animations in the code (sort of IK, accurate collisions for animated characters, that kind of silly stuff) and a few things still make me scratching my head. Here they are:
1. Do I understand it right that during frame update I can get only already calculated (i.e from the previous frame) bone position? I've tried to call SkeletonAnimation::addTime() followed by SkeletonInstance::update() but it seems to affect only bone orientations, positions are still the same (I guess because the results of all the bones chain transforms is not calculated yet). Have to admit I've experimented on that regard only with the new animation system, not with the old one. What I would like to do is to get bones from the animation as they should be in the ongoing frame and change some of the positions if necessary. Am I doing it wrong? Is there a place in the frame lifetime where the animated skeletons are updated already but it's not too late to move some of the bones? Or is there a way to say to a skeleton "just fucking calculate it already without waiting"?

2. I am also fiddling both with single-thread and multi-thread scenarios. Ideally I would like character animation to be processed by the logic thread, as I have all the physics/collisions there. What are my options to get animated bone positions for the given logic frame? As I see it:
2a. Animate a separate "ghost" skeleton in the graphics thread, which is calculated for the time of the "next logic frame after the nearest one" and either send it to logic as a skeleton pointer directly (seems to be thread-safe enough?) or actual bone transforms to the logic thread. Should work and even give me actual (not from the past) positions, but the whole setup feels overcomplicated a bit.
2b. Implement my own skeleton animation calculation in the logic thread. Should be double but feels wasteful as Ogre already have not one but two sets of code which deals with it already.
2c. If there was a way to run a separate Ogre instance with NULL render system in the physics thread or if it was possible to just run animations for a single skeleton without render system/scene manager etc - I would just have Ogre animations separately in the logic thread. But it's not possible atm, am I right?
2d. Anything else?
And, generally, if some of you guys implemented IK which is based on skeletal animations, how you deal with the problems above? I still feel a bit stupid about it, like I am missing something very simple but elusive...
Thanks in advance for any info and sorry for bother if it really is something stupid I am missing.
