@v2/psyche-commentary-face-animation turns @iris/voice commentator output
into presentation-only face animation for the broadcast booth.
The contract ingests Iris voice output URI, transcript hash, and phoneme timing,
then uses @psyche/avatar-lipsync to generate viseme frames and
@psyche/avatar-expressions to layer ARKit expression curves. Unreal exports
land under /Game/V2/Audio/Commentary/FaceAnimation.
The generated commentator face animation is gameplay-inert, rendered outside the
rollback envelope, and tagged with off-rollback-presentation-only. If the
asset is missing or late, V2 may still play the audio/subtitle commentary cue
without changing simulation state.