Replace character assets with glossy anime key art

This commit is contained in:
2026-06-12 16:41:34 +09:00
parent a584cb505d
commit 21c499f099
30 changed files with 193 additions and 101 deletions

View File

@@ -27,8 +27,9 @@ python3 scripts/validate_assets.py
- This is a romance dating game for adult players.
- All romanceable characters must be clearly 19 or older.
- Preserve a mature, sensual, and visually alluring tone in character writing, art direction, outfits, poses, expressions, and scene composition.
- Prefer semi-realistic, high-quality, cinematic character art when creating base images or visual references.
- The target look is closer to polished Korean dating-sim key art than pure photography: realistic lighting and fabric, but idealized illustrated faces, refined skin, and expressive character silhouettes.
- Prefer glossy anime romance game key art when creating base images or visual references.
- The target look is polished adult Korean dating-sim art: saturated color, crisp linework, expressive eyes, glossy highlights, bold adult silhouettes, and strong character-specific faces.
- Semi-realistic and photorealistic images are legacy comparison material only unless the user explicitly redirects the style again.
- Even shy, pure-hearted, or reserved characters should retain visible adult charm through styling, silhouette, gaze, posture, and lighting.
- Preserve distinct facial identities across the cast. Do not accept images that look like the same model in different clothes.
- Use `docs/art/facial_identity_matrix.md` when writing prompts or approving character images.

View File

@@ -2,20 +2,46 @@
## Main Style
The preferred character image direction is premium semi-realistic key art.
The preferred character image direction is glossy anime romance game key art.
Base standing images should feel like high-end promotional portraits for a mature romance game: cinematic lighting, realistic fabric, distinct body silhouettes, expressive adult faces, and polished illustrated beauty. The target is not pure photography; it should retain the charm and readability of Korean dating-sim character art.
Base standing images should feel like high-impact adult romance game character art: saturated color, crisp linework, expressive eyes, glossy highlights, distinct body silhouettes, and bold character-specific styling.
## Current Files
- `han_seoyun_v1.png`: semi-realistic style/composition candidate; needs facial diversity revision.
- `yu_harin_v1.png`: semi-realistic base candidate; needs facial diversity revision.
- `kang_mirae_v2.png`: accepted semi-realistic base image with revised facial identity.
- `han_seoyun_glossy_v2.png`: accepted glossy anime base asset.
- `yu_harin_glossy_v1.png`: accepted glossy anime base asset.
- `kang_mirae_glossy_v1.png`: accepted glossy anime base asset.
- `jung_naeun_glossy_v1.png`: accepted glossy anime base asset.
- `baek_chaewon_glossy_v1.png`: accepted glossy anime base asset.
- `oh_sera_glossy_v1.png`: accepted glossy anime base asset.
- `moon_jia_glossy_v1.png`: accepted glossy anime base asset.
- `lim_sohee_glossy_v1.png`: accepted glossy anime base asset.
- `cha_yuri_glossy_v1.png`: accepted glossy anime base asset.
- `shin_yerim_glossy_v1.png`: accepted glossy anime base asset.
- `kim_doa_glossy_v1.png`: accepted glossy anime base asset.
- `park_minseo_glossy_v1.png`: accepted glossy anime base asset.
- `seo_irin_glossy_v1.png`: accepted glossy anime base asset.
- `yoon_gayoung_glossy_v1.png`: accepted glossy anime base asset.
- `choi_ria_glossy_v1.png`: accepted glossy anime base asset.
- `hong_sua_glossy_v1.png`: accepted glossy anime base asset.
- `lee_bom_glossy_v1.png`: accepted glossy anime base asset.
- `go_eunjae_glossy_v1.png`: accepted glossy anime base asset.
- `ryu_haena_glossy_v1.png`: accepted glossy anime base asset.
- `nam_juhee_glossy_v1.png`: accepted glossy anime base asset.
- `marina_glossy_v1.png`: accepted glossy anime base asset.
- `song_arin_glossy_v1.png`: accepted glossy anime base asset.
- `style_references/glossy_anime_fallback_reference.png`: user-approved reference for the current target look.
## Legacy Comparison Files
- `han_seoyun_v1.png`: earlier semi-realistic style/composition candidate; same-face risk remains.
- `yu_harin_v1.png`: earlier semi-realistic base candidate; same-face risk remains.
- `kang_mirae_v2.png`: legacy semi-realistic base candidate.
- `kang_mirae_v1.png`: earlier semi-realistic base candidate; same-face risk remains.
- `jung_naeun_v1.png`: semi-realistic base candidate; needs facial diversity revision.
- `jung_naeun_v1.png`: earlier semi-realistic base candidate; same-face risk remains.
- `oh_sera_v1.png`: semi-realistic base candidate; needs facial diversity revision.
- `park_minseo_v1.png`: semi-realistic base candidate; needs facial diversity revision.
- `style_references/semirealistic_main_reference.png`: user-approved reference for the target look.
- `style_references/semirealistic_main_reference.png`: legacy semi-realistic comparison reference.
- `style_tests/han_seoyun_photoreal_test.png`: pure photoreal comparison candidate.
- `style_tests/kang_mirae_photoreal_test.png`: pure photoreal comparison candidate.
- `style_tests/yu_harin_photoreal_test.png`: pure photoreal comparison candidate.
@@ -24,7 +50,8 @@ Base standing images should feel like high-end promotional portraits for a matur
## Asset Naming
- Use `<character_id>_v<number>.png` for main candidates.
- Use `<character_id>_glossy_v<number>.png` for current glossy anime base candidates.
- Use `<character_id>_v<number>.png` for legacy semi-realistic candidates.
- Use `style_tests/<character_id>_<style>_test.png` for experiments.
- Keep generated originals in their default generator folder; copy selected candidates into this project.
@@ -34,4 +61,4 @@ Base standing images should feel like high-end promotional portraits for a matur
python3 scripts/validate_assets.py
```
`accepted` should be used only after the image passes both route-fit and facial-diversity review. Use `needs_revision` for useful style/composition candidates that still look too similar to other cast members.
`accepted` should be used only after the image passes route-fit, facial-diversity review, and the current glossy anime style requirement. Use `needs_revision` for drafts that still need replacement.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

View File

@@ -1,9 +1,16 @@
{
"version": "0.1.0",
"style": {
"id": "premium_semirealistic",
"id": "glossy_anime_romance",
"reference": "assets/characters/style_references/glossy_anime_fallback_reference.png",
"description": "High-gloss anime romance game key art with bold silhouettes, saturated color, expressive eyes, crisp linework, and exaggerated character-specific adult appeal.",
"alternates": [
{
"id": "premium_semirealistic_legacy",
"reference": "assets/characters/style_references/semirealistic_main_reference.png",
"description": "Premium semi-realistic Korean dating-sim key art with realistic lighting and fabric, idealized illustrated faces, polished skin, and expressive adult silhouettes."
"description": "Legacy semi-realistic style reference kept for comparison. No longer the primary target after repeated same-face issues."
}
]
},
"minimum_dimensions": {
"width": 800,
@@ -12,103 +19,135 @@
"assets": [
{
"character_id": "han_seoyun",
"status": "needs_revision",
"path": "assets/characters/han_seoyun_v1.png",
"notes": "Style and composition candidate. Needs a facial identity pass because the current set trends toward similar facial structure."
"status": "accepted",
"path": "assets/characters/han_seoyun_glossy_v2.png",
"notes": "Glossy anime replacement accepted. Warm cooking-instructor silhouette with soft oval face, side-wave hair, and domestic adult charm."
},
{
"character_id": "yu_harin",
"status": "needs_revision",
"path": "assets/characters/yu_harin_v1.png",
"notes": "Strong shy bookstore route candidate. Needs a more distinct face shape, eye shape, and expression signature."
"status": "accepted",
"path": "assets/characters/yu_harin_glossy_v1.png",
"notes": "Glossy anime replacement accepted. Shy librarian identity uses half-up hair, downturned eyes, and reserved book-cafe posture."
},
{
"character_id": "kang_mirae",
"status": "accepted",
"path": "assets/characters/kang_mirae_v2.png",
"notes": "Accepted sharp career route image after facial identity revision: shorter sleek hair, narrower eyes, sharper jawline, and controlled executive expression."
"path": "assets/characters/kang_mirae_glossy_v1.png",
"notes": "Glossy anime replacement accepted. Executive suit, rooftop lounge, sleek shoulder hair, and cool evaluating gaze separate her from domestic routes."
},
{
"character_id": "jung_naeun",
"status": "needs_revision",
"path": "assets/characters/jung_naeun_v1.png",
"notes": "Strong tsundere cafe route candidate. Needs a sharper mischievous facial identity distinct from Han/Yu."
"status": "accepted",
"path": "assets/characters/jung_naeun_glossy_v1.png",
"notes": "Glossy anime replacement accepted. Tsundere cafe identity uses crossed arms, pout, side-eye, high ponytail, and flushed expression."
},
{
"character_id": "baek_chaewon",
"status": "pending"
"status": "accepted",
"path": "assets/characters/baek_chaewon_glossy_v1.png",
"notes": "Glossy anime replacement accepted. Glamorous event-planner route with auburn waves, party dress, and unreadable flirtatious smile."
},
{
"character_id": "oh_sera",
"status": "needs_revision",
"path": "assets/characters/oh_sera_v1.png",
"notes": "Strong mature florist route candidate. Needs a softer late-twenties mature face distinct from younger routes."
"status": "accepted",
"path": "assets/characters/oh_sera_glossy_v1.png",
"notes": "Glossy anime replacement accepted. Mature florist route uses low chignon, restrained sad smile, and elegant muted flower-shop styling."
},
{
"character_id": "moon_jia",
"status": "pending"
"status": "accepted",
"path": "assets/characters/moon_jia_glossy_v1.png",
"notes": "Glossy anime replacement accepted. Festival staff route with bright round face, energetic grin, colorful cropped styling, and healthy adult energy."
},
{
"character_id": "lim_sohee",
"status": "pending"
"status": "accepted",
"path": "assets/characters/lim_sohee_glossy_v1.png",
"notes": "Glossy anime replacement accepted. Petite adult clinic-receptionist identity uses soft bob, anxious eyes, and cautious posture without childlike styling."
},
{
"character_id": "cha_yuri",
"status": "pending"
"status": "accepted",
"path": "assets/characters/cha_yuri_glossy_v1.png",
"notes": "Glossy anime replacement accepted. Tall model route with long straight center-part hair, runway coat, boots, and detached gaze."
},
{
"character_id": "shin_yerim",
"status": "pending"
"status": "accepted",
"path": "assets/characters/shin_yerim_glossy_v1.png",
"notes": "Glossy anime replacement accepted. Classical elegance uses low chignon, wine evening dress, pearl details, and controlled teasing smile."
},
{
"character_id": "kim_doa",
"status": "pending"
"status": "accepted",
"path": "assets/characters/kim_doa_glossy_v1.png",
"notes": "Glossy anime replacement accepted. Clearly adult university route with denim streetwear, curious eyes, and no school-uniform cues."
},
{
"character_id": "park_minseo",
"status": "needs_revision",
"path": "assets/characters/park_minseo_v1.png",
"notes": "Strong fitness trainer route candidate. Needs a sportier facial identity and more distinct facial proportions."
"status": "accepted",
"path": "assets/characters/park_minseo_glossy_v1.png",
"notes": "Glossy anime replacement accepted. Fitness trainer route uses athletic jaw, strong brows, sporty ponytail, and confident gym posture."
},
{
"character_id": "seo_irin",
"status": "pending"
"status": "accepted",
"path": "assets/characters/seo_irin_glossy_v1.png",
"notes": "Glossy anime replacement accepted. Illustrator route uses angular face, messy wolf cut, tired dreamy eyes, paint marks, and dawn studio mood."
},
{
"character_id": "yoon_gayoung",
"status": "pending"
"status": "accepted",
"path": "assets/characters/yoon_gayoung_glossy_v1.png",
"notes": "Glossy anime replacement accepted. Friend-to-lover route uses casual bob, crescent eyes, convenience-store outfit, and familiar grin."
},
{
"character_id": "choi_ria",
"status": "pending"
"status": "accepted",
"path": "assets/characters/choi_ria_glossy_v1.png",
"notes": "Glossy anime replacement accepted. Influencer route uses highlighted salon hair, camera-aware gaze, hot-pink styling, and studio pose."
},
{
"character_id": "hong_sua",
"status": "pending"
"status": "accepted",
"path": "assets/characters/hong_sua_glossy_v1.png",
"notes": "Glossy anime replacement accepted. Mature jazz-bar route uses soft-square face, shoulder waves, satin dress, and relaxed knowing smile."
},
{
"character_id": "lee_bom",
"status": "pending"
"status": "accepted",
"path": "assets/characters/lee_bom_glossy_v1.png",
"notes": "Glossy anime replacement accepted. Flower-shop daylight route uses caramel bob, kind stubborn eyes, fitted floral dress, and soft adult charm."
},
{
"character_id": "go_eunjae",
"status": "pending"
"status": "accepted",
"path": "assets/characters/go_eunjae_glossy_v1.png",
"notes": "Glossy anime replacement accepted. Lawyer route uses blunt bob, severe brows, monochrome suit, and dry controlled expression."
},
{
"character_id": "ryu_haena",
"status": "pending"
"status": "accepted",
"path": "assets/characters/ryu_haena_glossy_v1.png",
"notes": "Glossy anime replacement accepted. Nail-artist route uses honey salon curls, sweet possessive smile, glossy nails, and candy-pink styling."
},
{
"character_id": "nam_juhee",
"status": "pending"
"status": "accepted",
"path": "assets/characters/nam_juhee_glossy_v1.png",
"notes": "Glossy anime replacement accepted. Police route uses strong jaw, steady protective eyes, practical tied hair, and disciplined uniform silhouette."
},
{
"character_id": "marina",
"status": "pending"
"status": "accepted",
"path": "assets/characters/marina_glossy_v1.png",
"notes": "Glossy anime replacement accepted. International travel route uses sunlit features, windblown chestnut hair, scarf, and free-spirited smile."
},
{
"character_id": "song_arin",
"status": "pending"
"status": "accepted",
"path": "assets/characters/song_arin_glossy_v1.png",
"notes": "Glossy anime replacement accepted. Second-chance route uses short wavy bob, careful smile, knit dress, and quiet interior-shop warmth."
}
]
}

View File

@@ -8,9 +8,9 @@ Create high-impact base character images for a mature romance dating game. Each
- Solo adult woman, clearly 19 or older.
- Full-body standing key art, vertical composition.
- Main direction: premium semi-realistic Korean dating-sim key art with cinematic lighting.
- Use realistic light, fabric, and space, but keep idealized illustrated faces, polished skin rendering, and clean character silhouettes.
- Pure photorealism is now a style test only, not the target.
- Main direction: glossy anime romance game key art with saturated color, crisp linework, expressive eyes, polished skin highlights, and stronger character-specific silhouettes.
- Use bright romance-game presentation, attractive adult proportions, vivid fashion readability, and bold facial identity.
- Legacy semi-realistic and pure photoreal styles are now comparison tests only, not the target.
- Mature, attractive, unmistakably sensual fashion and body language.
- No nudity, explicit sex act, fetish framing, school uniform, childlike styling, or ambiguous age.
- No text, logo, watermark, extra characters, or busy background.
@@ -48,14 +48,31 @@ An image passes only when all of these are true:
## Current Asset Notes
- `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/han_seoyun_glossy_v2.png`: accepted glossy anime cooking-instructor base asset.
- `assets/characters/yu_harin_glossy_v1.png`: accepted glossy anime shy-librarian base asset.
- `assets/characters/kang_mirae_glossy_v1.png`: accepted glossy anime brand-manager base asset.
- `assets/characters/jung_naeun_glossy_v1.png`: accepted glossy anime tsundere-cafe base asset.
- `assets/characters/baek_chaewon_glossy_v1.png`: accepted glossy anime event-planner base asset.
- `assets/characters/oh_sera_glossy_v1.png`: accepted glossy anime mature-florist base asset.
- `assets/characters/moon_jia_glossy_v1.png`: accepted glossy anime festival-staff base asset.
- `assets/characters/lim_sohee_glossy_v1.png`: accepted glossy anime clinic-receptionist base asset.
- `assets/characters/cha_yuri_glossy_v1.png`: accepted glossy anime model base asset.
- `assets/characters/shin_yerim_glossy_v1.png`: accepted glossy anime concert-producer base asset.
- `assets/characters/kim_doa_glossy_v1.png`: accepted glossy anime adult-university base asset.
- `assets/characters/park_minseo_glossy_v1.png`: accepted glossy anime fitness-trainer base asset.
- `assets/characters/seo_irin_glossy_v1.png`: accepted glossy anime illustrator base asset.
- `assets/characters/yoon_gayoung_glossy_v1.png`: accepted glossy anime friend-to-lover base asset.
- `assets/characters/choi_ria_glossy_v1.png`: accepted glossy anime influencer base asset.
- `assets/characters/hong_sua_glossy_v1.png`: accepted glossy anime jazz-bar-owner base asset.
- `assets/characters/lee_bom_glossy_v1.png`: accepted glossy anime flower-shop base asset.
- `assets/characters/go_eunjae_glossy_v1.png`: accepted glossy anime lawyer base asset.
- `assets/characters/ryu_haena_glossy_v1.png`: accepted glossy anime nail-artist base asset.
- `assets/characters/nam_juhee_glossy_v1.png`: accepted glossy anime police-officer base asset.
- `assets/characters/marina_glossy_v1.png`: accepted glossy anime international-coordinator base asset.
- `assets/characters/song_arin_glossy_v1.png`: accepted glossy anime second-chance-shop-owner base asset.
- `assets/characters/style_references/glossy_anime_fallback_reference.png`: user-approved main reference for the bolder anime romance look.
- `assets/characters/style_references/semirealistic_main_reference.png`: legacy semi-realistic reference kept for comparison.
- Legacy semi-realistic candidates remain useful for comparison but should not be treated as the main visual direction unless the user redirects the style again.
- `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.
- `assets/characters/style_tests/yu_harin_photoreal_test.png`: useful pure-photoreal comparison, but no longer the main direction.

View File

@@ -0,0 +1,45 @@
# Glossy Anime Character Briefs
These briefs are the current direction for base character images. Use them to create high-gloss 2D anime romance game key art with strong adult appeal while avoiding explicit nudity or sex-act framing in base assets.
## Global Direction
- High-gloss Korean romance game key art, closer to commercial adult dating-sim banners than photography.
- Full-body solo adult woman, clearly 19 or older, vertical composition.
- Crisp dark linework, saturated color, luminous eyes, polished skin highlights, glossy hair, and readable fashion silhouettes.
- Character-specific adult allure through outfit, posture, gaze, body language, lighting, and route identity.
- Character-specific facial identity through face shape, eye shape, brow style, hairstyle, expression habit, and maturity impression. 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
| ID | Visual Hook | Glossy Anime Base Image Direction |
| --- | --- | --- |
| `han_seoyun` | Warm cooking instructor, soft curves, caring gaze | Cream off-shoulder knit, fitted skirt, waist apron, warm studio light, gentle possessive smile, side-wave dark hair. |
| `yu_harin` | Shy bookstore heroine, quiet adult charm | Ivory blouse, soft cardigan, long skirt, book held close, downturned shy eyes, half-up hair or low braid. |
| `kang_mirae` | Sharp career woman, controlled confidence | Glossy navy suit, silk blouse, slit pencil skirt, tablet in hand, rooftop lounge, sleek shoulder hair, evaluating gaze. |
| `jung_naeun` | Tsundere cafe worker, blush under attitude | Cropped cardigan, cafe apron, crossed arms, high ponytail, pout, side-eye, hidden blush. |
| `baek_chaewon` | Glamorous event planner, dangerous flirtation | Deep party dress, sparkling jewelry, auburn waves, rooftop event lights, playful smile with unreadable eyes. |
| `oh_sera` | Elegant widow florist, mature sorrow | Ivory silk blouse, muted wrap skirt, shawl, low chignon, bouquet, calm sad smile in twilight flower shop. |
| `moon_jia` | Festival energy, colorful confidence | Colorful cropped staff outfit, fitted shorts, open grin, bright round face, amusement-street festival bokeh. |
| `lim_sohee` | Petite anxious tenderness, protective appeal | Clinic blouse, soft cardigan, short office skirt, shoulder bob, nervous small smile, quiet cafe after work. |
| `cha_yuri` | Tall model, cool urban allure | Monochrome mini dress, oversized coat, long boots, center-part straight hair, detached runway gaze. |
| `shin_yerim` | Classical elegance, restrained intensity | Wine evening dress, pearl earrings, low chignon, concert lounge, polite smile with subtle teasing. |
| `kim_doa` | Adult college newcomer, bright curiosity | Bomber jacket, crop top, denim shorts, crossbody bag, curious direct smile, no school-uniform cues. |
| `park_minseo` | Athletic trainer, competitive body confidence | Sports bra top, zip jacket, leggings, gym rim light, strong brows, athletic jaw, competitive smirk. |
| `seo_irin` | Emotional illustrator, dreamy studio | Oversized artist shirt, camisole, paint-marked shorts, messy wolf cut, tired dreamy eyes, dawn studio. |
| `yoon_gayoung` | Casual friend-to-lover, sudden attraction | Convenience-store uniform, denim shorts, hoodie at waist, casual bob, friendly crescent eyes, familiar grin. |
| `choi_ria` | Influencer glamour, public-image polish | Hot-pink crop set, highlighted salon hair, phone gimbal, camera-aware smile, boutique studio lights. |
| `hong_sua` | Jazz bar owner, mature night appeal | Satin slip dress, open blouse, bar apron, shoulder waves, amber jazz-bar light, knowing smile. |
| `lee_bom` | Flower-shop warmth, gentle stubbornness | Floral dress, cardigan, apron, caramel bob, flower clip, kind stubborn eyes, sunlit shop. |
| `go_eunjae` | Contract lawyer, cold authority | Charcoal suit, tie, blunt black bob, contract folder, rain-lit lobby, dry neutral expression. |
| `ryu_haena` | Sweet possessive nail artist, close distance | Tight knit top, mini skirt, salon curls, glossy nails, candy-pink salon light, possessive smile. |
| `nam_juhee` | Athletic police officer, protective restraint | Fitted navy uniform, utility belt, practical tied hair, strong jaw, calm protective stare, rain-lit police box. |
| `marina` | Free-spirited travel aura, direct charm | Teal halter dress, open traveler shirt, scarf, windblown chestnut hair, global lounge terrace, playful smile. |
| `song_arin` | Second-chance maturity, quiet intimacy | Beige knit dress, linen shirt, short wavy bob, ceramic mug, warm decor shop, careful guarded smile. |
## Prompting Note
If an image generator drifts toward semi-realistic rendering, explicitly add: `2D anime illustration, crisp dark line art, luminous anime eyes, not photorealistic, not 3D render`.
If a candidate fails the facial identity gate, revise face shape and hairstyle first. Do not accept a character who reads like another cast member in different clothing.

View File

@@ -1,43 +0,0 @@
# Semi-Realistic Character Briefs
These briefs are the preferred direction for base character images. They should be used to create semi-realistic full-body standing portraits with strong adult appeal while avoiding explicit nudity or sex-act framing in base assets.
## Global Direction
- Premium semi-realistic Korean romance game key art.
- 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
| ID | Visual Hook | Semi-Realistic Base Image Direction |
| --- | --- | --- |
| `han_seoyun` | Warm cooking instructor, soft curves, caring gaze | Cream off-shoulder knit, fitted skirt, waist apron, warm studio light, gentle smile with possessive warmth. |
| `yu_harin` | Shy bookstore heroine, quiet adult charm | Fitted dress, sheer cardigan, book held close, bashful eyes, warm old-bookstore light, restrained but visible curves. |
| `kang_mirae` | Sharp career woman, controlled confidence | Tailored navy suit, silk blouse, slit pencil skirt, tablet in hand, luxury corporate lounge, commanding gaze. |
| `jung_naeun` | Tsundere cafe worker, blush under attitude | Cropped cardigan, stylish cafe apron, arms crossed, pouty expression, modern cafe backdrop, soft natural figure. |
| `baek_chaewon` | Glamorous event planner, dangerous flirtation | Deep wine party dress, sparkling jewelry, over-shoulder pose, event hall lights, playful smile with guarded eyes. |
| `oh_sera` | Elegant widow florist, mature sorrow | Ivory silk blouse, muted long skirt, soft shawl, single flower, low-saturation flower shop, calm sad smile. |
| `moon_jia` | Festival energy, colorful confidence | Colorful crop top, fitted shorts, open staff vest, reaching hand, bright street lights, athletic lively figure. |
| `lim_sohee` | Petite anxious tenderness, protective appeal | Pastel cardigan, short fitted dress, clasped hands, quiet cafe evening, vulnerable eyes, soft adult curves. |
| `cha_yuri` | Tall model, cool urban allure | Monochrome mini dress, oversized coat, long boots, runway stance, rooftop night light, detached gaze. |
| `shin_yerim` | Classical elegance, restrained intensity | Black evening dress, pearl earrings, concert program, chandelier-lit lobby, composed posture, teasing smile. |
| `kim_doa` | Adult college newcomer, bright curiosity | Stylish college jacket, casual crop top, refined pleated skirt, pamphlet and iced coffee, fresh but clearly adult. |
| `park_minseo` | Athletic trainer, competitive body confidence | Sports top, high-waist leggings, jacket tied at waist, towel or water bottle, gym rim light, toned figure. |
| `seo_irin` | Emotional illustrator, dreamy studio | Oversized artist shirt, paint-marked shorts, brush and sketchbook, dawn studio light, delicate intense eyes. |
| `yoon_gayoung` | Casual friend-to-lover, sudden attraction | Loose hoodie, denim shorts, one hand in pocket, neighborhood night glow, playful smile turning romantic. |
| `choi_ria` | Influencer glamour, public-image polish | Designer mini dress or crop set, phone in hand, boutique studio lights, camera-aware confident gaze. |
| `hong_sua` | Jazz bar owner, mature night appeal | Dark emerald satin dress, loose bar apron, amber jazz-bar light, relaxed direct gaze, voluptuous silhouette. |
| `lee_bom` | Flower-shop warmth, gentle stubbornness | Floral fitted dress, thin cardigan, flower apron, bouquet, sunlit shop, bright smile with determined eyes. |
| `go_eunjae` | Contract lawyer, cold authority | Sharp black suit, white shirt dress, contract folder, law office, intense eyes, sleek monochrome styling. |
| `ryu_haena` | Sweet possessive nail artist, close distance | Fitted knit top, chic mini skirt, detailed nail art, fingers near lips, warm fashion-street cafe light. |
| `nam_juhee` | Athletic police officer, protective restraint | Tailored modern uniform-inspired outfit, utility belt, upright stance, evening patrol light, calm disciplined expression. |
| `marina` | Free-spirited travel aura, direct charm | Halter dress, open traveler shirt, silk scarf, suitcase, cosmopolitan lounge, confident playful smile. |
| `song_arin` | Second-chance maturity, quiet intimacy | Knit dress, gentle cardigan, ceramic mug, warm decor shop, cautious smile, petite graceful figure. |
## Prompting Note
If an image generator blocks romance-game wording, rephrase the prompt as premium illustrated fashion/editorial character key art while preserving the same outfit, expression, posture, and setting. The visual target remains mature semi-realistic romance key art.

View File

@@ -70,6 +70,12 @@ def main() -> None:
fail(f"style reference is missing: {reference}")
png_dimensions(reference)
for alternate in assets_doc["style"].get("alternates", []):
alternate_reference = ROOT / alternate["reference"]
if not alternate_reference.exists():
fail(f"alternate style reference is missing: {alternate_reference}")
png_dimensions(alternate_reference)
for entry in asset_entries:
status = entry["status"]
if status not in {"accepted", "needs_revision", "pending", "rejected"}: