Here is an updated example that works as you expect it to.
You were not telling the viewer to re-render by calling requestRender
.
For your “waypoint” controller nothing else was needed. However I’ve also added two extra lines for the orbit controller, which you don’t use nor need but I’ve added them nonetheless for consistency.