I've determined that there was a bug, where if the drawer resized after the open animation had started, it would still open to the old size of the drawer. Instead, it should have reset the animation so that it wouldn't go too far, or not far enough. In this case, it wasn't going far enough because the drawer initially measured itself based on the other content while the AssetLoader was still loading, and then the drawer was getting larger when the AssetLoader completed loading.
Here is the commit that fixes the issue:
https://github.com/feathersui/feathersui-openfl/commit/4fa5f87f6af2cfa786a714ec826443e611865e5a
Once you are using this commit, you are likely to see the animation "jump" a bit when the image completes loading and the AssetLoader resizes. This is expected. To avoid the jump, off the top of my head, I can think of a few interesting options to avoid resizing during the animation:
1) Ensure that the image has completed loading before you call openDrawer().
2) Set the height of the AssetLoader before loading the image, so that it will never resize. For instance, if you know that the image will always be square, you could listen for Event.RESIZE and do something like ppal.height = ppal.width to ensure that the height matches the width set by the justify alignment.
3) Display a preloaded placeholder image asset in the AssetLoader at first, wait for the drawer to open, and then load the real image.
4) Set the size of mainLayoutGroup to fill the entire stage size so that mainLayoutGroup can't resize (when AssetLoader resizes, that causes mainLayoutGroup to resize).
There might be other options too, but hopefully, that will give you some ideas to try.