Yup, this got me up to 6:13. Reducing the interval would improve it:
setInterval(() => { if (interpIndex < 10) handleMove(path[pathIndex + 1] - path[pathIndex]); }, 100);