Add facial diversity gate for character assets

This commit is contained in:
2026-06-12 13:40:58 +09:00
parent 104b4e1c0b
commit a584cb505d
12 changed files with 316 additions and 6 deletions

View File

@@ -22,6 +22,8 @@ An image passes only when all of these are true:
- The character clearly reads as an adult.
- Outfit, pose, expression, and silhouette match the character brief.
- Face identity is distinct from the rest of the cast, not just the same face with different hair or clothing.
- Face shape, eye shape, brow style, nose/mouth proportions, hairstyle, makeup intensity, and expression habit should all reinforce the character archetype.
- Even shy or pure-hearted characters still carry visible adult sensual charm through styling, posture, and lighting.
- Body type is distinct from the rest of the cast.
- Face is appealing, stable, and not uncanny.
@@ -32,15 +34,27 @@ An image passes only when all of these are true:
## Cast Variety Targets
- Avoid making every character the same face, height, pose, and body shape.
- Do not default every character to the same oval face, long dark hair, soft eyes, small nose, and gentle smile.
- Rotate visual tone: warm, shy, sharp, glamorous, mature, athletic, artistic, elegant, casual.
- Use fashion to signal route identity before the player reads text.
- Keep sensuality character-specific: shy routes should feel quietly irresistible, career routes sharply confident, public-image routes glamorous, and mature routes restrained but intense.
## Facial Identity Rules
- Every character prompt must include at least three facial differentiators: face shape, eye shape, brow style, hairstyle, makeup level, expression habit, or facial maturity.
- Similar hairstyle and face structure are allowed only when the route concept demands it; otherwise vary hair length, bangs, parting, styling, and volume.
- Approval requires comparing the candidate against existing assets at thumbnail size and full size.
- If a candidate looks like another character in cosplay, mark it `needs_revision` instead of `accepted`.
## Current Asset Notes
- `assets/characters/han_seoyun_v1.png`: current preferred semi-realistic style target.
- `assets/characters/yu_harin_v1.png`: accepted semi-realistic base image for the shy bookstore route.
- `assets/characters/kang_mirae_v1.png`: accepted semi-realistic base image for the sharp career route.
- `assets/characters/han_seoyun_v1.png`: current preferred semi-realistic style/composition candidate; needs facial diversity revision.
- `assets/characters/yu_harin_v1.png`: strong shy bookstore candidate; needs facial diversity revision.
- `assets/characters/kang_mirae_v2.png`: accepted sharp career image after facial identity revision.
- `assets/characters/kang_mirae_v1.png`: earlier sharp career candidate; same-face risk remains.
- `assets/characters/jung_naeun_v1.png`: strong tsundere cafe candidate; needs facial diversity revision.
- `assets/characters/oh_sera_v1.png`: strong mature florist candidate; needs facial diversity revision.
- `assets/characters/park_minseo_v1.png`: strong fitness trainer candidate; needs facial diversity revision.
- `assets/characters/style_references/semirealistic_main_reference.png`: user-approved reference for the target look.
- `assets/characters/style_tests/han_seoyun_photoreal_test.png`: useful pure-photoreal comparison, but no longer the main direction.
- `assets/characters/style_tests/kang_mirae_photoreal_test.png`: useful pure-photoreal comparison, but no longer the main direction.

View File

@@ -0,0 +1,48 @@
# Facial Identity Matrix
The cast must not look like one model wearing different outfits. Use this matrix when writing image prompts and during QA. Each generated candidate should be checked against nearby routes for face, hair, expression, and silhouette overlap.
## Global Face-Diversity Rules
- Every prompt must specify at least three of: face shape, eye shape, brow style, nose/mouth impression, hair length, hair volume, parting/bangs, makeup intensity, expression habit, and maturity impression.
- Avoid defaulting to long dark hair, oval face, soft eyes, small nose, and gentle smile.
- If two candidates look interchangeable at thumbnail size, both require revision.
- Hair color should stay plausible for the setting, but tone, styling, cut, bangs, and volume should vary aggressively.
- The semi-realistic style reference defines rendering quality, not one shared face.
## Character Face Anchors
| ID | Face Shape | Eyes/Brows | Hair Identity | Expression Habit | QA Notes |
| --- | --- | --- | --- | --- | --- |
| `han_seoyun` | Soft oval with fuller cheeks | Warm almond eyes, softly arched brows | Long dark brown, loose side wave, natural volume | Gentle smile with quiet possessiveness | Keep her warm and domestic; avoid making every soft route copy her. |
| `yu_harin` | Small heart-shaped face, delicate jaw | Downturned shy eyes, fine straight brows | Chestnut-black half-up hair or low loose braid, wispy bangs | Looks slightly away before smiling | Should feel bookish and reserved, not identical to Seo-yun's open warmth. |
| `kang_mirae` | Long refined face, sharper jawline | Narrow catlike eyes, clean assertive brows | Sleek shoulder-length dark hair, side part, polished blowout | Cool evaluating gaze, minimal smile | Must read sharper and more executive than other dark-haired characters. |
| `jung_naeun` | Compact round face with sharper chin | Large alert eyes, angled expressive brows | High ponytail or short layered bob, loose side bangs | Pout, side-eye, hidden blush | Tsundere energy should distinguish her from shy routes. |
| `baek_chaewon` | V-line glam face, defined cheekbones | Long-lashed smiling eyes, arched brows | Voluminous auburn-brown waves, glossy party styling | Playful smile with unreadable eyes | Should look socially dangerous and glamorous, not soft domestic. |
| `oh_sera` | Mature oval face, softer jaw, calm cheekbones | Deep gentle eyes, relaxed brows | Long dark hair in low elegant waves or half-up twist | Sad calm smile, composed gaze | Older and more serene than the early-20s routes. |
| `moon_jia` | Bright round face, lively cheeks | Wide energetic eyes, lifted brows | Medium brown ponytail, messy festival ribbon or colorful clip | Big open grin, forward energy | High energy and youthful adult, but never childlike. |
| `lim_sohee` | Petite oval face, soft lower cheeks | Slightly anxious round eyes, timid brows | Short bob or shoulder-length soft curls, pastel hairpin | Nervous small smile, searching gaze | Vulnerable without looking underage. |
| `cha_yuri` | Long model face, high cheekbones | Cool long eyes, straight detached brows | Long black straight hair, center part, glossy runway styling | Neutral almost unreadable stare | Tall, aloof, and editorial; avoid warm smiles. |
| `shin_yerim` | Elegant oval face, refined cheekbones | Calm intelligent eyes, graceful brows | Neat low chignon or sleek updo | Polite smile with subtle teasing | Classical and poised, not office-cold like Mi-rae. |
| `kim_doa` | Fresh adult heart face, clear jawline | Bright curious eyes, natural brows | Medium-length dark hair with campus-casual waves | Curious direct smile | Clearly adult college styling, no school cues. |
| `park_minseo` | Athletic face, healthy cheekbones, defined jaw | Direct confident eyes, strong brows | High sporty ponytail, flyaway strands, practical styling | Competitive smirk | Sporty confidence; avoid the same soft beauty face. |
| `seo_irin` | Slender angular face, artistic fragility | Dreamy tired eyes, slightly uneven brows | Messy wolf cut or long loose artist hair with paint smudges | Distant half-smile, emotional stare | More eccentric and melancholic than Harin. |
| `yoon_gayoung` | Natural round-oval face | Friendly crescent eyes, relaxed brows | Short ponytail or casual shoulder bob | Playful grin that turns sincere | Comfortable friend energy, not polished glamour. |
| `choi_ria` | Slim influencer V-face | Camera-aware eyes, precise brows | Long glossy styled hair with trendy highlights | Practiced camera smile | Public-image polish; avoid looking like Chaewon by using sharper modern styling. |
| `hong_sua` | Mature soft-square face | Knowing deep eyes, confident brows | Shoulder-length wavy dark hair, side-swept | Relaxed direct smile | Strong 30-year-old bar-owner maturity. |
| `lee_bom` | Soft round face, gentle cheeks | Clear kind eyes, natural brows | Light brown loose waves, flower clip or airy bangs | Bright smile with stubborn eyes | Soft daylight route; avoid childlike proportions. |
| `go_eunjae` | Sharp rectangular-oval face | Piercing eyes, straight severe brows | Sleek black bob or low ponytail | Dry neutral expression | Legal precision, colder and more severe than Mi-rae. |
| `ryu_haena` | Petite V-face, fuller lips | Sweet upturned eyes, groomed brows | Long curled hair with glossy salon finish | Sweet possessive smile | Cute-adult and glamorous, not timid. |
| `nam_juhee` | Strong oval face, defined jaw | Steady protective eyes, firm brows | Tied-back practical hair, clean duty styling | Calm controlled expression | Athletic authority, not fashion-model aloofness. |
| `marina` | Mixed international features, sunlit cheekbones | Expressive open eyes, confident brows | Wavy brown hair, travel scarf or loose windblown styling | Playful direct smile | Free-spirited and culturally distinct without caricature. |
| `song_arin` | Petite mature oval face | Cautious warm eyes, soft brows | Short wavy bob or neat low bun | Careful smile, guarded warmth | Second-chance maturity, not anxious like Sohee. |
## Approval Gate
Before marking an asset `accepted`, compare it to every existing candidate:
1. Thumbnail check: the face and hair must be identifiable without reading the filename.
2. Full-size check: eyes, brows, jawline, mouth, hairstyle, and expression habit must match the matrix.
3. Route check: outfit, posture, and environment must still match the character's story role.
4. Adult appeal check: the character should feel mature and alluring without relying on explicit content.
5. Revision rule: if the image looks like another cast member in different clothes, keep it as `needs_revision`.

View File

@@ -8,6 +8,7 @@ These briefs are the preferred direction for base character images. They should
- Full-body solo woman, clearly adult, vertical composition.
- Cinematic lighting, realistic fabric and space, idealized illustrated faces, polished skin rendering, and clean character-select readability.
- Character-specific sensuality through silhouette, fashion, gaze, posture, and lighting.
- Character-specific face identity through face shape, eye shape, brow style, hairstyle, and expression habit. Use `docs/art/facial_identity_matrix.md`.
- No school uniform, childlike styling, ambiguous age, explicit nudity, sex acts, text, logo, watermark, or extra characters.
## Character Briefs