Hi, yes i know the behaviour of transformations may be tricky. I'll try to explain how it works:
- When you set Translation/Rotation/Scale (let's name it R/T/S) in the Segment's properties, RailClone computes the resulting mesh according to these transformations, and store it. You cannot change the order these transformations are applied (first Rotation, next Scale and finally Translation).
- Instead, Transform nodes doesn't modify the mesh, but computes an acummulated transformation (a Matrix). Within a same Transform node, R/T/S are applied in the same order than segment.
- You can change the order that R/T/S is appied, joining several Transform nodes. For example, to be sure than Scale is applied before Rotation, use a Transform-Scale node, and next a Transform-Rotate node.
- Once that all nodes are evaluated, RailClone uses the mesh resulting of the Segment node (already transformed by their R/T/S parameters), and applies the accumulated Matrix of the Transform nodes.
- "Fixed Size" uses its own transformation. In RailClone 3 we changed the order of this R/T/S as you quoted (because a reported bug), but not for the other transformations.
Thinking it now, we would have changed everything from Rotation->Scale to Scale->Rotation, which is more logical to avoid the "skew" issue. But any change affects styles created with RC2, so we try to minimize them.
Also, ideally we should remove all transformations in the Segment node, and use only Transform nodes. But as always, we must keep it by compatibility with previous versions.