block_display transform breaks when shearing
When specifying affine transformations in the matrix format, shear matrices result in very weird transformations (see attached file).
I believe this is because transformations are stored in a decomposed form (according to the 23w06a update notes) which consists of translation - left_rotation - scale - right_rotation. I am unsure if this format can represent shears (@vdvman1 mentioned that it can), in any case, it doesn't seem to decompose correctly.
I have attached an image that illustrates the issue. The screenshot was created after summoning two block_displays:
/summon minecraft:block_display 0 0 0 {block_state:{Name:"minecraft:cobblestone"}, transformation: [1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]}
/summon minecraft:block_display 2 0 0 {block_state:{Name:"minecraft:crafting_table"}, transformation: [1.0, 0.1, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]}
The cobblestone's y axis was sheared 1 into the x direction. It looks like I just messed up the coordinates and sheared in another direction. But note that none of its sides (except z) remain parallel to the coordinate grid.
The crafting tables' y axis was sheared 0.1 into the x direction. Instead of being sheared slightly, it has flipped completely.
2023-02-09, 09:16 AM
2023-03-08, 11:59 AM
2023-03-08, 11:59 AM
14
12