Texture formation and element partitioning in trapiche ruby