Hi OSUblake,
That's sort of it... I see the animation is fixed here, however your version of the 'staggered' function calls itself as the last action before returning a timeline. While that works in this example with just a few iterations of the cycling characters, The original intent (which I apologise for not making clear, or showing as an example in the code, I wanted to try to demonstrate just the parts of the problem I am having), is to repeat indefinitely choosing a random set of elements to 'selectAndDraw'.
Would this not cause memory to get gobbled up as the timeline creates new subtimelines in the staggered function and attaches them nested to a main timeline that never completes? I do not know enough about how GSAP handles this, but if it were 'normal' JS with a recursive function in a callback that would be the case, correct?
Interesting that this animation works so much better though, I can't see any difference except for the delay and repeat parameters (or the fact you call the removeLayer effectively 'onCompleteAll' of the whole hiding staggerTo, instead of after each hiding staggerTo like I've done), between this adding to itself, or my version adding to a parent timeline, that could cause such wonky animation in mine.
Cheers