Skip to content

Desktop Animation Integration

The desktop does not flatten every business signal into one "Agent state". Lifecycle, runtime readiness, voice interaction, and background work remain separate; skins consume only stable presentation states and one-shot events.

Standard animationMeaningAgent state or eventPlayback
idleRestingidle, connecting, occupiedLoop while the state persists
running-rightMoving rightThe user drags the pet rightLoop while dragging
running-leftMoving leftThe user drags the pet leftLoop while dragging
wavingSpeakingspeakingLoop for the full speaking state
jumpingSuccess / wakewaking, first startup readiness, successful task completion, pointer enterPlay once per event
failedFailureerror, desktop runtime failure, task failurePlay once per event
waitingListeninglisteningLoop for the full listening state
runningWorking / startupworking, startingLoop while the state persists
reviewForeground turn processingprocessingPlay once per processing phase

Sustained states and one-shot events are arbitrated separately: startup, listening, speaking, and background work retain their looping tracks, while first readiness, wake, task results, foreground processing, and pointer entry play once. A one-shot action restores the current base track: running while work remains active, otherwise idle. Every active background task uses workingrunning, including backend thinking; a pending authorization does not select an Agent animation and remains visible in the Task UI until its spoken request naturally enters speaking. Every task kind uses the same start, completion, and failure rules. Front-end-only mode skips backend readiness. Skin packages are static assets only (JSON + WebP) and are validated on import; if a selected skin package is removed, the orb falls back to the built-in appearance.

See Pet Skin Protocol for resource formats and Desktop for everyday use.