nx_emotion_authenticity.nx
buildroot/runtime/nx_emotion_authenticity.nx
about
nx_emotion_authenticity.nx -- Best Acting axis: micro-expression authenticity.
Beyond nx_emotion_congruence (declared emotion vs measured emotion),
this checks whether the emotion reads AUTHENTIC vs performed.
Real emotions involve coordinated multiple muscle groups:
- Duchenne smile: zygomaticus + orbicularis oculi (eye-corner crinkle)
- Authentic surprise: brow + jaw + eye widening together
- Sad: brow inner-corner up, eyelids droop, lip corners down
AI-rendered emotions often only animate ONE muscle group (mouth-only
smile, eyes flat) producing dead-face / uncanny effect.
5-axis check:
1. eye_crinkle_q10 Duchenne marker for smile
2. brow_movement_q10 brow follows the emotion
3. lip_curve_q10 mouth shape matches emotion
4. jaw_state_q10 jaw open/closed appropriate
5. gaze_engagement_q10 eyes engaged vs glazed
Composite scored against declared emotion → authenticity verdict.
dependencies 1 imports · 1 importers
imports: nx_syscalls.nx
imported by: nx_oscar_batch_test.nx
structs
| none |
consts
| 28 | const NX_MAGIC_1024: i64 = 1024 |
| 30 | const NX_EAU_RES_EYE_CRINKLE: i64 = 0 |
| 31 | const NX_EAU_RES_BROW: i64 = 1 |
| 32 | const NX_EAU_RES_LIP: i64 = 2 |
| 33 | const NX_EAU_RES_JAW: i64 = 3 |
| 34 | const NX_EAU_RES_GAZE: i64 = 4 |
| 35 | const NX_EAU_RES_COMPOSITE: i64 = 5 |
| 36 | const NX_EAU_RES_VERDICT: i64 = 6 |
| 37 | const NX_EAU_RES_FAIL_AXIS: i64 = 7 |
| 38 | const NX_EAU_RES_FIELDS: i64 = 8 |
| 40 | const NX_EAU_V_DEAD_FACE: i64 = 0 |
| 41 | const NX_EAU_V_PERFORMED: i64 = 1 |
| 42 | const NX_EAU_V_BELIEVABLE: i64 = 2 |
| 43 | const NX_EAU_V_AUTHENTIC: i64 = 3 |
| 45 | const NX_EAU_AXIS_EYE_CRINKLE: i64 = 0 |
| 46 | const NX_EAU_AXIS_BROW: i64 = 1 |
| 47 | const NX_EAU_AXIS_LIP: i64 = 2 |
| 48 | const NX_EAU_AXIS_JAW: i64 = 3 |
| 49 | const NX_EAU_AXIS_GAZE: i64 = 4 |
| 52 | const NX_EAU_EMO_NEUTRAL: i64 = 0 |
| 53 | const NX_EAU_EMO_HAPPY: i64 = 1 |
| 54 | const NX_EAU_EMO_SAD: i64 = 2 |
| 55 | const NX_EAU_EMO_SURPRISED: i64 = 3 |
| 56 | const NX_EAU_EMO_AROUSED: i64 = 4 |
| 57 | const NX_EAU_EMO_PENSIVE: i64 = 5 |
functions
| 61 | func nx_eau_targets(emotion: i64, out: *i64) -> i64 called by 1: nx_emotion_authenticity |
| 88 | func nx_emotion_authenticity(declared_emotion: i64, |