(I have no idea how programs like Aseprite are made and what would be too hard to implement, this is just an idea and I got no clue if this is even possible.)
I know it can be mimicked, but I think it would be neat for it to be a layer option. It would remove some repetitive tasks and allow for new export options.
This can also be useful for scenes with many moving parts, since syncing that up without it looking really repetitive is a pain.
You could use it for many things, having a blink cycle be independent from other animations thus making it look more natural, or having the walk cycle and the background not be synced up, thus creating more a better illusion of distance travelled since you wont notice “oh each time he lifts his right leg those birds move in that way”.
Here is a quick mock-up i made. once the frame hits the arrow it simply plays again. You could also select an option for ping-pong mode or reverse mode by clicking on the arrow icon or something like that!
If the option for different lengths is enabled there can be an option on the export screen for the desired length of the GIF, either in a perfect loop or not.
And a separate option so you can make it so each layer can export as a different GIF. (I think being able to export layers separately would also be a nice feature but there are scripts for that.)
I am not a native English speaker, this is my first post on here and I am bad at this so sorry that this definitely sounds awkward!