[Repro] AnimationTrack doesn't correctly restore component rotation

In the following clip all I’m doing is playing and stopping an AnimationTrack. When I stop playing or actually invoke Stop, the part should return to its original orientation (denoted by the transparent part), but that does not happen:

This can cause significant issues with animations. Chopping firewood but your character’s orientation is messed up from another animation? You’ll be barely but noticeable chopping it at an angle. Perhaps where it’s most noticeable is in animations where the player is aiming a first-person weapon (gun, bow, spear, etc) where rotation error becomes especially apparent with the object that close to the player’s camera. Stopping an AnimationTrack or when it stops on its own after Play finishes should guarantee that any changes it makes to the internal offset are properly reverted.

Here’s the repro file: AnimationBugRepro.rbxl (15.2 KB)

Repro steps:

  • Load the dummy in the animation editor
  • Load the animation I’ve provided in AnimSaves inside the dummy
  • Publish it to your account so you’ll be able to use it
  • Change the animation ID used in the localscript in StarterCharacterScripts to your ID
  • Enter Play Solo
  • Press and release ‘E’ to Play/Stop the animation. Hold E until it finishes playing to have it automatically try to reset
  • Notice that when the stopping is complete, the part is not always at its original orientation