Agent body language

Agent gestures

An agent does not pick animation files. It names a slot, and the platform resolves that slot to a real clip. Skills name a slot indirectly, through a hint. This page is the whole vocabulary: what each slot plays, which skills trigger it, and how to point a slot at any other clip in the library.

Slots
Clips in library
Skill hints
Skills wired

The slot vocabulary

Fixed names an agent can override. A slot with no override resolves to the clip shown on its card.

move · Enter play · Esc stop

What triggers a gesture

A skill declares a hint when it starts. The hint resolves to a slot, the slot resolves to a clip, and the avatar plays it. Every row below is generated from the shipped skill definitions.

Loading the skill map…

The motion atlas

Every clip in the library, measured from its own keyframes and plotted by how energetic it is and how much of that energy is above the waist. Calm upper-body gestures gather top-left; explosive full-body dances and runs sit bottom-right. Colour is the region leading the movement. Click any point to play it, or to try it in the slot you have selected.

Head Arms Torso Hips Legs

Player gestures on /walk

The walk state machine keeps a second, player-driven gesture library with a layer per gesture: upper gestures overlay locomotion, so an avatar waves or shrugs while it keeps walking; full gestures take the whole body and suppress movement until they end.

Slots, hints and clips are held together mechanically: tests/animation-slots.test.js scans every hint declared under src/ and fails the build if one resolves to no slot or to a clip that is not baked in public/animations/manifest.json. The full developer reference is docs/animations, and the walkthrough is Animate your agent.