Hiyaa! How arte you?~
I played a bit with your optimizations that you did, and found a slight problem, animated sprites get bugged, it's not centering the sprites
And yeah I've worked out the bug; it's due to the texture cropping I was doing to save on texture memory in the GPU.
Reworking my logic so that if an animation is being used it does not crop the texture. (And if you add/remove animations it'll thus reload the texture in GPU memory with/without cropping off.)
The cropping optimization is there more because if you have large image files that's a LOT of empty pixels taking up GPU memory - and say if you have images with mostly empty space that are a few MB apiece in texture memory, and 40 of them... that adds up fast