nx_makeup_style.nx
buildroot/runtime/nx_makeup_style.nx
about
nx_makeup_style.nx -- typed makeup classification + scene-appropriateness check.
For DM-level autonomous generation the substrate has to KNOW what
makeup is appropriate for the scene context. Gym scenes don't get
smokey eye; bedroom intimate doesn't get harsh contour; date-night
dinner wants subtle glam. The substrate stores typed MakeupKind +
per-LocationKind acceptable bands + scoring against declared intent.
6 sealed makeup kinds (intensity ladder):
NO_MAKEUP bare skin
NATURAL mascara + balm + light blush
SOFT_GLAM subtle eye + lip + cheek
GLAM full eye + lip + contour
SMOKEY_BOLD dramatic eye + bold lip
STAGE_AVANT editorial extreme (red carpet / runway)
Per-scene appropriateness bitmask: which makeup kinds work for
which LocationKind from nx_outfit_location_coherence.
dependencies 1 imports · 1 importers
imports: nx_syscalls.nx
imported by: nx_award_axes_test.nx
structs
| none |
consts
| 27 | const NX_MAGIC_1024: i64 = 1024 |
| 29 | const NX_MAKEUP_NO_MAKEUP: i64 = 0 |
| 30 | const NX_MAKEUP_NATURAL: i64 = 1 |
| 31 | const NX_MAKEUP_SOFT_GLAM: i64 = 2 |
| 32 | const NX_MAKEUP_GLAM: i64 = 3 |
| 33 | const NX_MAKEUP_SMOKEY_BOLD: i64 = 4 |
| 34 | const NX_MAKEUP_STAGE_AVANT: i64 = 5 |
| 37 | const NX_LOC_UNKNOWN: i64 = 0 |
| 38 | const NX_LOC_GYM: i64 = 1 |
| 39 | const NX_LOC_BEDROOM: i64 = 2 |
| 40 | const NX_LOC_KITCHEN: i64 = 3 |
| 41 | const NX_LOC_BATHROOM: i64 = 4 |
| 42 | const NX_LOC_OUTDOOR: i64 = 5 |
| 43 | const NX_LOC_OFFICE: i64 = 6 |
| 44 | const NX_LOC_RESTAURANT: i64 = 7 |
| 45 | const NX_LOC_STUDIO: i64 = 8 |
| 46 | const NX_LOC_BEACH: i64 = 9 |
| 47 | const NX_LOC_POOL: i64 = 10 |
| 49 | const NX_MAKEUP_RES_DECLARED: i64 = 0 |
| 50 | const NX_MAKEUP_RES_MEASURED: i64 = 1 |
| 51 | const NX_MAKEUP_RES_APPROP_Q10: i64 = 2 |
| 52 | const NX_MAKEUP_RES_MATCH_Q10: i64 = 3 |
| 53 | const NX_MAKEUP_RES_VERDICT: i64 = 4 |
| 54 | const NX_MAKEUP_RES_FIELDS: i64 = 5 |
| 56 | const NX_MAKEUP_V_INAPPROPRIATE: i64 = 0 // makeup wrong for scene |
| 57 | const NX_MAKEUP_V_MISMATCHED: i64 = 1 // makeup ≠ declared |
| 58 | const NX_MAKEUP_V_ACCEPTABLE: i64 = 2 |
| 59 | const NX_MAKEUP_V_APPROPRIATE: i64 = 3 // exact match for scene + declared |
functions
| 63 | func nx_makeup_scene_score(location: i64, makeup_kind: i64) -> i64 called by 1: nx_makeup_style_score |
| 130 | func nx_makeup_style_score(declared_kind: i64, measured_kind: i64, |