The cat node has a tendency to get paused. This can be fixed by doing
isPaused = false
inside of func didMoveToScene() in the class CatNode.
Also, when you get to them, do
catAwake.isPaused = false
in func wakeUp(), and
catCurl.isPaused = false
in func curlAt(scenePoint: CGPoint).
It is possible to avoid getting isPaused set to True while using the storyboard, but it takes vigilance, so fixing it in code is easier.
Here is one of the old posts on the topic (search phrase is “like a boss”). The last post is on not letting it get tweaked on the storyboard.