Hi and thank you for pyglet.
Let's say I have some pyglet shapes I wish to animate ― move them around or make them grow or shrink gradually (tweening). If I handle this by stacking and `update` and `draw` events, then it seems that the event stacking architecture implies that I cannot stop an animation A which started at some point in time before some other animation B which started after A will have finished, because the event handlers can only be popped in the order by which they were pushed ― if animation B started before animation A has finished, the event handlers I pushed for event A cannot be popped without popping B first.
Is that so?
Of course I could keep all animations pushed as `update` and ` draw` event handlers go idle by conditional logic, but this will leave zombie event handlers lying around, making it inappropriate to design each animation as a unit of execution on loop events.
How would you design for making shape animations which have arbitrary start and end times relative to each other, meaning that their start and end times are not serial to the start and end time of other animations?
To reiterate, when speaking here of 'animations', I am referring to animating pyglet shapes (or even making other types of tweens such as fade ins/outs) by changing their attributes on `update` ticks.
As much as it matters my application is highly event driven, events can be keyboard input but also many other things which arise from camera input real-time analysis.
Thanks for your suggestions or comments if you have a suited and robust design pattern suggestion using pyglet.
Matan