master branch has a first fix. Rotation data was never actually loaded because a quaternion as 4 attributes, and it was only doing it if the size of the data was 3. (@Slicky the scale vector was fine, so it probably crept under the radar when you were testing )
Also, it was testing once if the different vectors were of the right size, to load everything, but it it wasn't, the different array were still initialized to zero, and assigned in the struct, meaning that you could have transform with
- a translation of (0,0,0) (not a big deal)
- a scale of (0,0,0) (oops. Invisible object)
- a null quaternion (0,0,0,0) (oops, you just broke the maths, and triggered a pretty nasty and weird assert in debug in the code that use cpu intrinsic to go faster...)
Now, for the actual transform, it is pulling the first node of the scene, and that's the node where the mesh is attached, so that's the local transform of that node. But, it may still be different as what you would expect because the actual position of the model in the scene would be dependent on parents of that node. I have an issue with one sample file (Cesium_man) where it seems that this node doesn't define a transform, but the object still should be rotated by -HALF_PI around X to look "normal".
So to get that transform information, it still needs to apply all the transform from the root node to the node that owns the mesh inside the gltf hierarchy.
Edit: Actually, it seems that there's 2 ways the local transform of a node can be described in glTF : by a local matrix, or by the 2 vectors/ one quaternion way.
For some reason, the translation/rotation/scales of nodes exposed by tiny_gltf doesn't seem to be actually populated, but the local matrix is. So it's just matter of loading the arry in a Ogre::Matrix4 (the constructor I recently contributed to Ogre permit to do that jut by giving a pointer to the float array), transpose it (because nobody can agree between row/column major), and call "decomposition".
Something that uses this in the case the transform wasn't applied by the translate/scale/rotate method will be soon live on the master branch.