I worked on your question, first of all, to achieve this, you should animate the path real path, and not just strokeEnd , if you strokeEnd only the strokeEnd , your path.currentPoint will always return the circle endPoint of the path to animate the path needed for KeyFramed animation, animation of the โpathโ as keyPath and transferring the array of paths from the current angle to the desired one, and then to set the correct position for your shortcut, you need to get the current point of all these path values โโand make another key framed animation with the โpositionโ keyPath and transfer to as values, all these points collected from an array of paths
This is a basic example of work.

The code is on GitHub in this Repo . You still have a lot of work to do, but this may be the starting point for your final decision.
Hope this helps, best regards
source share