Field notes
Letting the bear rest
A desktop companion should also know when to be still.

Oso follows the cursor, reacts to a touch on his nose, and gets sleepy when things go quiet. That quiet is part of the companion too.
I built him with AppKit and SceneKit. When his gaze and motion settle, the render loop stops until another frame is needed. He can stay beside a window without having to keep moving.
I wanted a little company while working. Giving the bear something to do also meant giving him room to rest.