Skip to content

Avatar Local Observation Events ​

This reference covers the local observation events emitted by Avatar's internal driver. Runtime retains ownership of activity, emotion, and Conversation semantics; Avatar events reflect local mapping, pointer input, or playback activity and are not a cross-App command API.

Exact Names from Current Producers ​

NameMeaning
avatar.before.activity.startLocal pre-mapping observation that the active cancellation policy may block
avatar.activity.startEmitted when the current activity mapping is applied
avatar.activity.endEmitted when that same activity mapping settles
avatar.activity.cancelEmitted when an activity is blocked before execution by the local cancellation policy
avatar.expression.changeEmitted when the local expression mapping changes
avatar.user.clickEmitted on local pointer input within a model hit region
avatar.speak.interruptEmitted when the current voice or lipsync path is interrupted

A settled activity mapping may emit avatar.activity.start and avatar.activity.end back-to-back. avatar.activity.end marks mapping settlement, not the completion of a physical animation clip. Voice playback lifecycle runs on the local state bus and does not emit avatar.speak.start or avatar.speak.end.

Runtime Inputs ​

The SDK driver consumes admitted embodiment updates and translates them into internal inputs such as runtime.agent.presentation.activity_requested and runtime.agent.state.emotion_changed. Model directories cannot register NAS JavaScript handlers, and pointer clicks do not invoke creator scripts such as onClickHead.js.

Pointer Handling ​

The model surface tests the pointer against valid hit regions and forwards hits to built-in interaction physics. The outcome stays within Avatar's local input and presentation layer without creating Runtime Conversation state or authorization grants.

Final-Voice Playback ​

Avatar reads the canonical Conversation's final voice artifactId through its own protected session, then passes the complete artifact to local playback and lipsync analysis. avatar.conversation.voice.audio_chunk is an Avatar-local event that may carry the full artifact bytes on this read path; it does not represent a Runtime-native audio stream or playback instruction.

High-frequency mouth weights and backend draw details stay inside the local rendering path and do not enter the common Runtime presentation contract.

Source Basis ​

Documentation for Nimi — the installable, open-source, local-first personal AI product.