Hello! Making good progress, right?
Thank you for the wishes for a happy Friday. Unfortunately, food poisoning did ruin the day.
Anyhow, I'm able to walk away from the toilet now so, let's get cracking.
dot1_path and bez appear to be the same thing because we are still only working with one dot and a single path to use as a bezier. If you were to have different paths to use as beziers in different dots, then, you would probably see the difference.
In line 18, bez refers to bez in line 11, the function argument. And that value will be whatever path you pass on when you invoke the said function. That way, the function is flexible and can be used with different paths for bezier curves, not just dot1_path.
Your dot1_pulse_idle timeline does not play because you are not instantiating a new TimelineMax/Lite when invoking tl_pulse(). You need to declare the var tl = new TimelineLite() inside the functions you are using in order to create new timelines (it's to do with JS and Scope. That's another rabbit hole we don't want to go down just yet) otherwise, you are just adding more tweens to the singe tl timeline you created right at the top. So, it makes perfect sense for all animation to stop when you hover over.
Since you want the pulse to continue animating even on mouse over, you are correct, we need a different tween/timeline to control that.
We can revert back to using Tweens because we are back to controlling a single element at a time.