Essentially a track is, a class that modifies a floating point value over time? So when you store the animations, per frame you are storing the change in pos3f, rotatation3f. I am using Collada and Blender, it exports animations in matrix form. So what I would need to do is decompose it into translation and rotation, matrices. Then record the change that those two transformations perform to the basis roation and translation vectors. Then when ever I am doing the animation, instead of multiplying it all through I just read the track information which is simple addition of pos3f tracks and rot3f tracks?
This sounds ingenious. If I understand you correctly, essentially this allows you to side step all the problems of interpolation. So you dont need to use quaternion interpolation or matrix interpolation, all you have to do is linearly interpolate the tracks which are simple floats.
I am understanding what you are saying properly?