You make a very good point about bounce and elastic, I honestly hadn't thought about that and am not sure how I would deal with it.
I'm trying to build a generic enter/leave animation library for my react components. I wanted to build a solution that doesn't need to know much about the other animation such that you could easily use different enter/leave durations/eases/etc. The problem is that given that it could be a different ease or duration, passing around the progress of the previous one would not be correct. As you say, 50% of 100 is different to 50% of 200 - but I want it to be able to get the progress at '50' as appropriate for the current timeline (e.g. at '50' in a 100 timeline, it's 50%, at '50' in a 200 timeline, its 25%).
I think I see what you're getting at with the modifiers plugin, it looks quite interesting. I've seen that lerp function a few times while trying to search for answers on this forum for this question. I will be sure to investigate it - thanks!
I'm also thinking of reverse engineering the eases and swapping the equations around so that they find P, instead of accepting P... but this still doesn't help me for bounce or elastic.
I just wanted to say as well, thanks a lot for the reply. I greatly appreciate the help.