Display entities that have interpolation duration greater than 0 will visually reset their transformation back to default when the player leaves and rejoins.
To Reproduce (Unexpected Case)
Ensure you are in spawn chunks
Create a display with interpolation duration 1
/summon block_display ~ ~ ~ {block_state:{Name:"stone"},transformation:{translation:[1.0f,1.0f,0.0f],left_rotation:[0.2f,0.5f,0.0f,1.0f],scale:[2.0f,3.0f,9.0f],right_rotation:[0.0f,0.0f,0.4f,1.0f]},interpolation_start:-1,interpolation_duration:1}
Move a few blocks away
Create a display with interpolation duration 0
/summon block_display ~ ~ ~ {block_state:{Name:"stone"},transformation:{translation:[1.0f,1.0f,0.0f],left_rotation:[0.2f,0.5f,0.0f,1.0f],scale:[2.0f,3.0f,9.0f],right_rotation:[0.0f,0.0f,0.4f,1.0f]},interpolation_start:-1,interpolation_duration:0}
Leave and rejoin the world
Notice the first display reset to the default transformation but the second one did not
Go to the first display and run
/data get entity @e[type=block_display,sort=nearest,limit=1]
Notice the NBT is correctly stored. The issue is only visual.
To Reproduce (Expected Case)
Leave spawn chunks
/tp ~100000 ~ ~
Create a display with interpolation duration 1
/summon block_display ~ ~ ~ {block_state:{Name:"stone"},transformation:{translation:[1.0f,1.0f,0.0f],left_rotation:[0.2f,0.5f,0.0f,1.0f],scale:[2.0f,3.0f,9.0f],right_rotation:[0.0f,0.0f,0.4f,1.0f]},interpolation_start:-1,interpolation_duration:1}
Move a few blocks away
Create a display with interpolation duration 0
/summon block_display ~ ~ ~ {block_state:{Name:"stone"},transformation:{translation:[1.0f,1.0f,0.0f],left_rotation:[0.2f,0.5f,0.0f,1.0f],scale:[2.0f,3.0f,9.0f],right_rotation:[0.0f,0.0f,0.4f,1.0f]},interpolation_start:-1,interpolation_duration:0}
Leave and rejoin the world
Notice both displays retain their transformation
I can confirm this. After waiting for interpolation_start ticks after rejoin, the animation starts playing. I guess this is because gametime in the client level is still 0 when the display entity in spawn chunks loads.