Each expression is built from the Facial Action Coding System (Ekman & Friesen): a face is described as a weighted sum of independent Action Units (AUs) — brow lowerer, inner-brow raiser, lid raiser, cheek raiser, nose wrinkler, lip-corner puller/depressor, lip stretcher, jaw drop, lip presser. Each of the six target emotions is a fixed AU vector; the rig blends toward intensity × AU_emotion using exponential smoothing:
AU(t+dt) = AU(t) + (AU_target - AU(t)) · (1 - e^(-dt / beat))
so a short beat length snaps the face into position (looks like a jump-cut) while a long beat lets the expression build the way a trained actor "arrives" at an emotion.
Micro-expression leak models Ekman's finding that a suppressed true feeling escapes as a brief (≈1/5s) involuntary flash before the chosen mask reasserts itself. It injects a second AU vector on a triangular envelope pulsing every 3s, and directly penalises readability — real audiences (and lie-detection judges) pick up on the incongruence.
The two-axis circumplex model of affect (Russell) reduces the AU blend to a mood coordinate:
valence ≈ cornerPull − cornerDepress − 0.6·noseWrinkle − 0.25·browLower
arousal ≈ 0.8·eyeWiden + 0.5·jawDrop + 0.4·browLower + 0.15·cornerPull
Audience read accuracy is a toy legibility score: it rises with intensity (a bigger, clearer signal), and falls with leak strength and with beats shorter than ~0.4s (an unnaturally instant "flip" reads as fake on camera).