Skip to content

Embodiment Translation ​

Avatar's built-in translation layer maps admitted Agent semantics to the active graphics backend (live2d or vrm). It is an internal Avatar boundary, not a creator scripting API.

Input and Output ​

InputAvatar-Local Handling
Activity and emotionValidate the target and map it to supported routes or expressions
Semantic postureApply admitted backend-specific presentation without redefining Agent state
Bounded voice timing and final voice artifactCorrelate local playback and derive lipsync locally
Backend bounds and hit regionsCompute the character window footprint and local pointer behavior

A model's capability profile and optional mapping sidecar determine which routes are supported. Unsupported or invalid inputs fail closed; current Avatar does not execute NAS creator files or expose an injected ctx interface.

Backend Extensions ​

Only Avatar-owned translation code can access branch-specific extensions after explicit type narrowing. Live2D parameter IDs remain backend-internal facts rather than public APML tags or Runtime activity IDs, and a VRM branch cannot call the Live2D parameter extension.

Local Observations ​

The translation layer emits avatar.activity.start, avatar.activity.end, avatar.activity.cancel, and avatar.expression.change to report local outcomes. Local rendering results never commit a Conversation turn or become authoritative Agent state. See Avatar Events for event producer details.

Source Basis ​

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