code wiki / (root) / nx_eroticism_ladder.nx

nx_eroticism_ladder.nx

buildroot/runtime/nx_eroticism_ladder.nx

11034 B234 linesdepth 2pulls 2 transitivereach 1 importersview sourcekind library
docsdependenciesstructsconstsfunctions

about

nx_eroticism_ladder.nx -- 10-rank typed eroticism scale + arousal validator. User cardinal: "eroticism being s or a 10/10 whatever we are using for measurement level for actually seeing penetration with her properly responding and a class being her properly presenting herself for fucking all the way down to 1 right now. this would validate and audit the arousal number she has." 10 sealed ranks (S..F), each gated by required-tag bundles: 10 (S) ACTIVE_PENETRATION_WITH_RESPONSE 9 (A+) ACTIVE_PENETRATION 8 (A) PRESENTING_FOR_PENETRATION 7 (B+) EXPLICIT_INVITATION (fingers on pussy, spread cheeks, eye-contact-while-spread) 6 (B) SUGGESTIVE_NUDE (nude + arched / hand-framing pose) 5 (C+) ARTISTIC_NUDE (nude neutral pose) 4 (C) TEASING_DRESSED (sexy outfit + suggestive pose) 3 (D+) SUGGESTIVE_DRESSED (clothed + seductive cues) 2 (D) NORMAL_FEMININE_DRESSED 1 (F) MODEST_NEUTRAL The substrate compares the measured rank vs the rank implied by the character's declared arousal_q10 and emits MATCH / UNDERSHOOT / OVERSHOOT verdict so the auto-fix loop can push the render toward what the character's arousal state actually calls for. All inputs are TYPED FLAGS (i64 bitfield bundled as separate i64 per axis to avoid bitwise complexity in nxc2 codegen). Flat-array result avoids the struct-pointer-return codegen bug.

dependencies 1 imports · 1 importers

nx_syscalls.nx nx_eroticism_ladder.nx nx_eroticism_ladder_test.nx

imports: nx_syscalls.nx

imported by: nx_eroticism_ladder_test.nx

structs

none

consts

39const NX_EROS_RANK_MODEST_NEUTRAL: i64 = 1
40const NX_EROS_RANK_NORMAL_FEMININE_DRESSED: i64 = 2
41const NX_EROS_RANK_SUGGESTIVE_DRESSED: i64 = 3
42const NX_EROS_RANK_TEASING_DRESSED: i64 = 4
43const NX_EROS_RANK_ARTISTIC_NUDE: i64 = 5
44const NX_EROS_RANK_SUGGESTIVE_NUDE: i64 = 6
45const NX_EROS_RANK_EXPLICIT_INVITATION: i64 = 7
46const NX_EROS_RANK_PRESENTING_FOR_PENETRATION: i64 = 8
47const NX_EROS_RANK_ACTIVE_PENETRATION: i64 = 9
48const NX_EROS_RANK_ACTIVE_PENETRATION_WITH_RESPONSE: i64 = 10
54const NX_EROS_NUDITY_FULLY_DRESSED: i64 = 0
55const NX_EROS_NUDITY_PARTIAL_CLOTHED: i64 = 1
56const NX_EROS_NUDITY_TOPLESS: i64 = 2
57const NX_EROS_NUDITY_FULL_NUDE: i64 = 3
59const NX_EROS_PUSSY_HIDDEN: i64 = 0
60const NX_EROS_PUSSY_PARTIAL: i64 = 1
61const NX_EROS_PUSSY_SPREAD: i64 = 2
62const NX_EROS_PUSSY_DETAILED: i64 = 3
64const NX_EROS_POSE_MODEST: i64 = 0
65const NX_EROS_POSE_NEUTRAL: i64 = 1
66const NX_EROS_POSE_SUGGESTIVE: i64 = 2
67const NX_EROS_POSE_INVITING: i64 = 3
68const NX_EROS_POSE_PRESENTING: i64 = 4
70const NX_EROS_PENETRATION_NONE: i64 = 0
71const NX_EROS_PENETRATION_VISIBLE: i64 = 1
76const NX_EROS_RES_MEASURED_RANK: i64 = 0
77const NX_EROS_RES_EXPECTED_RANK: i64 = 1
78const NX_EROS_RES_DELTA: i64 = 2 // signed (measured - expected)
79const NX_EROS_RES_VERDICT: i64 = 3
80const NX_EROS_RES_AROUSAL_Q10: i64 = 4
81const NX_EROS_RES_FIELDS: i64 = 5
84const NX_EROS_VERDICT_SEVERE_UNDERSHOOT: i64 = 0 // measured 2+ ranks below
85const NX_EROS_VERDICT_UNDERSHOOT: i64 = 1 // measured 1 rank below
86const NX_EROS_VERDICT_MATCH: i64 = 2 // measured == expected
87const NX_EROS_VERDICT_OVERSHOOT: i64 = 3 // measured 1 rank above
88const NX_EROS_VERDICT_SEVERE_OVERSHOOT: i64 = 4 // measured 2+ ranks above
168const NX_EROS_PHRASE_ELEVATE_NUDITY: i64 = 100 // strip down further
169const NX_EROS_PHRASE_ELEVATE_POSE: i64 = 101 // more inviting posture
170const NX_EROS_PHRASE_ELEVATE_PUSSY_VIS: i64 = 102 // spread / present more
171const NX_EROS_PHRASE_ELEVATE_PENETRATION: i64 = 103 // show act
172const NX_EROS_PHRASE_ELEVATE_RESPONSE: i64 = 104 // flushed / parted lips / fluid
173const NX_EROS_PHRASE_DEMURE_NUDITY: i64 = 110 // cover up
174const NX_EROS_PHRASE_DEMURE_POSE: i64 = 111 // close legs / less arched
175const NX_EROS_PHRASE_DEMURE_PUSSY: i64 = 112 // legs together / hidden

functions

91func nx_eros_expected_rank_for_arousal(arousal_q10: i64) -> i64
called by 1: nx_eros_validate
107func nx_eros_classify_measured(nudity: i64, pussy_vis: i64, pose: i64,
called by 1: nx_eros_validate
141func nx_eros_validate(arousal_q10: i64,
178func nx_eros_corrective_phrases(result: *i64,
called by 1: main