The interesting part is window-surface detection. A desktop pet that walks along the bottom of the screen is a screensaver; one that walks along the top edge of the window you are currently typing in has to know where that window is, every frame, as you move it.
An unconstrained NSPanel to draw outside any window, the Accessibility API for
geometry, and enough physics to make being dragged and dropped feel like weight
rather than teleporting.