code wiki / (root) / nx_aesthetic_vocabulary.nx

nx_aesthetic_vocabulary.nx source

↩ module page · 262 lines · 10595 B

1// nx_aesthetic_vocabulary.nx -- body-aesthetic kinds with multi-language phrase variants. 2// 3// Companion to nx_outfit_vocabulary. Where outfit_vocabulary covers 4// CLOTHING terms, this covers BODY AESTHETIC targets that the user 5// wants the substrate to push the generator toward. 6// 7// Key insight: certain body aesthetics have PRECISE single-token names 8// in CJK that English lacks. Notable examples: 9// 縦スジ ja "vertical line" — clean innie/closed-cleft vulva (precise term) 10// 土手まん ja "mons only" — puffy mons + tucked labia 11// 一线天 zh "single thread of sky" — Chinese equivalent of 縦スジ 12// 馒头逼 zh "steamed bun pussy" — clean puffy aesthetic 13// パイパン ja "completely hairless" — shaved/smooth target 14// 美脚 ja "beautiful legs" — long slim legs 15// 美乳 ja "beautiful breasts" — perky symmetric breasts 16// 桃尻 ja "peach ass" — heart-shaped glutes 17// 18// Sealed AestheticKind enum + per-kind language-tagged phrase variants. 19// Composer emits all variants together for multi-language token anchoring. 20 21// nx_safety_envelope: 22// intended_use: AUTO_APPLIED -- primitive-specific tuning queued 23// sil_target: SIL1 24// evidence: [bulk_applied_2026-05-16, see-file-comment-for-detail] 25// verdict: NOT_YET_EVALUATED 26 27import "nx_syscalls.nx" 28 29// Sealed aesthetic-target kinds. 30const NX_AES_UNKNOWN: i64 = 0 31const NX_AES_INNIE_CLEAN_CLEFT: i64 = 1 // closed vertical cleft, labia tucked 32const NX_AES_PUFFY_MONS: i64 = 2 // full puffy mons venus 33const NX_AES_HAIRLESS_VULVA: i64 = 3 34const NX_AES_PINK_NATURAL_PIGMENT: i64 = 4 35const NX_AES_HEART_SHAPED_ASS: i64 = 5 // peach/bubble butt 36const NX_AES_PERKY_BREASTS: i64 = 6 37const NX_AES_THIGH_GAP_VISIBLE: i64 = 7 38const NX_AES_HOURGLASS_WAIST: i64 = 8 39const NX_AES_LONG_SLIM_LEGS: i64 = 9 40const NX_AES_TIGHT_TONED_STOMACH: i64 = 10 41const NX_AES_SOFT_NATURAL_BREASTS: i64 = 11 // natural drape, not implant-firm 42 43// Language tags (reuse from nx_outfit_vocabulary). 44const NX_AES_LANG_EN: i64 = 1 45const NX_AES_LANG_JA: i64 = 2 46const NX_AES_LANG_KO: i64 = 3 47const NX_AES_LANG_ZH_CN: i64 = 4 48const NX_AES_LANG_ZH_TW: i64 = 5 49 50func nx_aesthetic_phrase(kind: i64, language: i64, variant: i64) -> *u8 { 51 // INNIE_CLEAN_CLEFT -------------------------------------------- 52 // The user's reference images #49-#54 all exhibit this aesthetic: 53 // taut outer labia majora forming a single clean vertical cleft, 54 // labia minora completely tucked, smooth mons. 55 if kind == NX_AES_INNIE_CLEAN_CLEFT { 56 if language == NX_AES_LANG_EN { 57 if variant == 0 { return "clean innie vulva, slim outer labia tucked tight, vertical-cleft pussy" } 58 if variant == 1 { return "closed vertical cleft, no labia protrusion, smooth tight innie" } 59 if variant == 2 { return "labia minora tucked completely inside outer lips, clean vulva line" } 60 return 0 as *u8 61 } 62 if language == NX_AES_LANG_JA { 63 if variant == 0 { return "縦スジ" } 64 if variant == 1 { return "綺麗な縦スジ" } 65 if variant == 2 { return "土手まん" } 66 if variant == 3 { return "ふっくらまんこ" } 67 return 0 as *u8 68 } 69 if language == NX_AES_LANG_KO { 70 if variant == 0 { return "깨끗한 보지" } 71 if variant == 1 { return "세로줄 보지" } 72 return 0 as *u8 73 } 74 if language == NX_AES_LANG_ZH_CN { 75 if variant == 0 { return "一线天" } 76 if variant == 1 { return "馒头逼" } 77 if variant == 2 { return "干净的阴唇" } 78 return 0 as *u8 79 } 80 } 81 // PUFFY_MONS --------------------------------------------------- 82 if kind == NX_AES_PUFFY_MONS { 83 if language == NX_AES_LANG_EN { 84 if variant == 0 { return "puffy mons venus, full soft mons" } 85 return 0 as *u8 86 } 87 if language == NX_AES_LANG_JA { 88 if variant == 0 { return "土手高" } 89 if variant == 1 { return "ぷっくり土手" } 90 return 0 as *u8 91 } 92 } 93 // HAIRLESS_VULVA ----------------------------------------------- 94 if kind == NX_AES_HAIRLESS_VULVA { 95 if language == NX_AES_LANG_EN { 96 if variant == 0 { return "smooth hairless mons, completely shaved vulva, no pubic hair" } 97 return 0 as *u8 98 } 99 if language == NX_AES_LANG_JA { 100 if variant == 0 { return "パイパン" } 101 if variant == 1 { return "ツルツルパイパン" } 102 return 0 as *u8 103 } 104 if language == NX_AES_LANG_KO { 105 if variant == 0 { return "민자" } 106 return 0 as *u8 107 } 108 if language == NX_AES_LANG_ZH_CN { 109 if variant == 0 { return "白虎" } 110 return 0 as *u8 111 } 112 } 113 // PINK_NATURAL_PIGMENT ----------------------------------------- 114 if kind == NX_AES_PINK_NATURAL_PIGMENT { 115 if language == NX_AES_LANG_EN { 116 if variant == 0 { return "natural pink vulva tone, light tan-pink pigment, no darkening" } 117 return 0 as *u8 118 } 119 if language == NX_AES_LANG_JA { 120 if variant == 0 { return "綺麗なピンク色" } 121 if variant == 1 { return "ピンクまんこ" } 122 return 0 as *u8 123 } 124 } 125 // HEART_SHAPED_ASS --------------------------------------------- 126 if kind == NX_AES_HEART_SHAPED_ASS { 127 if language == NX_AES_LANG_EN { 128 if variant == 0 { return "heart-shaped peach ass, full round bubble butt, lifted glutes" } 129 return 0 as *u8 130 } 131 if language == NX_AES_LANG_JA { 132 if variant == 0 { return "桃尻" } 133 if variant == 1 { return "ハート型ヒップ" } 134 return 0 as *u8 135 } 136 if language == NX_AES_LANG_KO { 137 if variant == 0 { return "복숭아 엉덩이" } 138 return 0 as *u8 139 } 140 if language == NX_AES_LANG_ZH_CN { 141 if variant == 0 { return "蜜桃臀" } 142 return 0 as *u8 143 } 144 } 145 // PERKY_BREASTS ------------------------------------------------ 146 if kind == NX_AES_PERKY_BREASTS { 147 if language == NX_AES_LANG_EN { 148 if variant == 0 { return "perky symmetric breasts, lifted natural firmness, nipples pointing forward" } 149 return 0 as *u8 150 } 151 if language == NX_AES_LANG_JA { 152 if variant == 0 { return "美乳" } 153 if variant == 1 { return "ツンと上向きおっぱい" } 154 return 0 as *u8 155 } 156 } 157 // SOFT_NATURAL_BREASTS ----------------------------------------- 158 if kind == NX_AES_SOFT_NATURAL_BREASTS { 159 if language == NX_AES_LANG_EN { 160 if variant == 0 { return "soft natural breasts with gravity drape, real tissue not implant" } 161 return 0 as *u8 162 } 163 if language == NX_AES_LANG_JA { 164 if variant == 0 { return "柔らかい天然おっぱい" } 165 return 0 as *u8 166 } 167 } 168 // THIGH_GAP_VISIBLE -------------------------------------------- 169 if kind == NX_AES_THIGH_GAP_VISIBLE { 170 if language == NX_AES_LANG_EN { 171 if variant == 0 { return "visible thigh gap, slim inner thighs apart, daylight between thighs" } 172 return 0 as *u8 173 } 174 if language == NX_AES_LANG_JA { 175 if variant == 0 { return "太もも隙間" } 176 return 0 as *u8 177 } 178 } 179 // HOURGLASS_WAIST ---------------------------------------------- 180 if kind == NX_AES_HOURGLASS_WAIST { 181 if language == NX_AES_LANG_EN { 182 if variant == 0 { return "hourglass waist, narrow defined waistline, bust-hip phi proportion" } 183 return 0 as *u8 184 } 185 if language == NX_AES_LANG_JA { 186 if variant == 0 { return "くびれ" } 187 if variant == 1 { return "綺麗なくびれ" } 188 return 0 as *u8 189 } 190 if language == NX_AES_LANG_ZH_CN { 191 if variant == 0 { return "小蛮腰" } 192 return 0 as *u8 193 } 194 } 195 // LONG_SLIM_LEGS ----------------------------------------------- 196 if kind == NX_AES_LONG_SLIM_LEGS { 197 if language == NX_AES_LANG_EN { 198 if variant == 0 { return "long slim legs, tall slender lower body, leg-to-torso phi ratio" } 199 return 0 as *u8 200 } 201 if language == NX_AES_LANG_JA { 202 if variant == 0 { return "美脚" } 203 if variant == 1 { return "脚長スレンダー" } 204 return 0 as *u8 205 } 206 } 207 // TIGHT_TONED_STOMACH ------------------------------------------ 208 if kind == NX_AES_TIGHT_TONED_STOMACH { 209 if language == NX_AES_LANG_EN { 210 if variant == 0 { return "tight toned stomach, flat abs with soft definition" } 211 return 0 as *u8 212 } 213 if language == NX_AES_LANG_JA { 214 if variant == 0 { return "引き締まったお腹" } 215 return 0 as *u8 216 } 217 } 218 return 0 as *u8 219} 220 221// Length of null-terminated *u8. 222func nx_aes_strlen(s: *u8) -> i64 { 223 if s == (0 as *u8) { return 0 } 224 var n: i64 = 0 225 while s[n] != 0 { n = n + 1 } 226 return n 227} 228 229// Compose all language variants for one aesthetic kind. Caller pre-allocs out. 230func nx_aesthetic_compose(kind: i64, out: *u8, out_cap: i64) -> i64 { 231 var pos: i64 = 0 232 var first: i64 = 1 233 var lang: i64 = NX_AES_LANG_EN 234 while lang <= NX_AES_LANG_ZH_TW { 235 var variant: i64 = 0 236 while variant < 4 { 237 let phrase: *u8 = nx_aesthetic_phrase(kind, lang, variant) 238 if phrase != (0 as *u8) { 239 if first == 0 { 240 if pos + 2 < out_cap { 241 out[pos] = 44 // ',' 242 out[pos + 1] = 32 // ' ' 243 pos = pos + 2 244 } 245 } 246 first = 0 247 var i: i64 = 0 248 while phrase[i] != 0 { 249 if pos + 1 < out_cap { 250 out[pos] = phrase[i] 251 pos = pos + 1 252 } 253 i = i + 1 254 } 255 } 256 variant = variant + 1 257 } 258 lang = lang + 1 259 } 260 if pos < out_cap { out[pos] = 0 } 261 return pos 262}