Relax adult card art exposure rules

This commit is contained in:
2026-06-10 11:49:04 +09:00
parent ca1006ca76
commit a1cb2c4d2e
6 changed files with 5019 additions and 5012 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 MiB

View File

@@ -26,10 +26,10 @@ The game art direction is adult-oriented fantasy pinup:
- Damage-state art should show armor destruction, torn outer clothing, broken belts, damaged bracers, dust, scorch marks, and defeated poses.
- Defeated and high-damage stages should show emotional defeat: frustrated tears, resentful grimaces, clenched teeth, wet eyes, and expressions that feel unfair or humiliating rather than calm dignity.
- Medium through defeated stages may show clear combat-pain reactions from abdominal hits: gasping open mouth, hunched posture, labored breathing, tears, and small saliva/drool details. These must read as combat injury reactions, not sexual acts or fetish framing.
- High-damage stages should make the combat feel intense through missing or destroyed hand, foot, shoulder, and abdomen armor/clothing. Keep intact under-armor or fitted coverage over intimate areas.
- High-damage stages should make the combat feel intense through missing or destroyed hand, foot, shoulder, abdomen, hip, and torso armor/clothing. Adult nudity or body exposure may be used as part of the battle-damage presentation.
- Do not keep every card as a straight front shot. Use camera variety across stages: front/three-quarter for baseline, side or twisted side for abdomen impacts, and rear three-quarter or side-back views for heavy damage and defeated art when it helps show shoulder, back, cloak, and armor destruction.
All damage-state art should remain non-explicit: adult fantasy battle damage, no nudity, no visible nipples or genitals, no sexual acts, no childlike characters, and no gore.
All damage-state art must use adult characters only. Sexual acts, penetration, childlike characters, and gore are out of scope; adult nudity or exposed body details are allowed when framed as battle damage, defeat, or damaged-costume card art.
Run this from the project root to regenerate the production manifest and prompts:

View File

@@ -1,8 +1,8 @@
{
"schemaVersion": 1,
"generatedAt": "2026-06-09T17:05:24.000Z",
"generatedAt": "2026-06-10T02:48:29.484Z",
"expectedImageCount": 5000,
"completedImageCount": 13,
"completedImageCount": 14,
"completedCharacterCount": 3,
"assets": [
{
@@ -95,6 +95,13 @@
"path": "assets/cards/C0003/damage-2.png",
"bytes": 3143777,
"updatedAt": "2026-06-09T16:50:00.690Z"
},
{
"characterId": "C0003",
"damageStage": 3,
"path": "assets/cards/C0003/damage-3.png",
"bytes": 3104988,
"updatedAt": "2026-06-10T02:42:03.547Z"
}
]
}

View File

@@ -32,7 +32,7 @@
{
"stage": 3,
"label": "heavy-damage",
"visual": "heavy battle damage: broken outer armor, shredded mantle, fractured bracers, missing glove armor, damaged boots or bare foot/ankle on one side, exposed shoulders and abdomen/midriff through destroyed outer layers, intact fitted under-armor still covering intimate areas",
"visual": "heavy battle damage: broken outer armor, shredded mantle, fractured bracers, missing glove armor, damaged boots or bare foot/ankle on one side, exposed shoulders, abdomen/midriff, hips, and torn costume layers through destroyed outer armor",
"poseNote": "wounded, guarded, barely keeping balance after a brutal exchange",
"expression": "tearful angry grimace, trembling lower lip, brows pinched, resentful eyes that show she hates losing; abdominal-hit reaction such as open mouth, gasping, hunched posture, and a small non-erotic saliva strand is allowed",
"missingArmor": "major loss around hands, feet, shoulders, abdomen, waist plates, and bracers; broken pieces scattered nearby",
@@ -41,7 +41,7 @@
{
"stage": 4,
"label": "defeated",
"visual": "defeated state: kneeling, collapsed, or sitting back after battle, broken armor pieces around them, torn outer garment layers, missing hand and foot armor, bare shoulders or one exposed shoulder, exposed abdomen/midriff through destroyed outer armor, intact modest under-armor still covering intimate areas",
"visual": "defeated state: kneeling, collapsed, or sitting back after battle, broken armor pieces around them, torn outer garment layers, missing hand and foot armor, bare shoulders or one exposed shoulder, exposed abdomen/midriff, hips, and torn costume layers through destroyed outer armor",
"poseNote": "battle-worn, emotionally overwhelmed, clearly defeated, no gore",
"expression": "frustrated tears, unfair-loss expression, clenched teeth or trembling open mouth, tear tracks, angry shame rather than calm dignity; defeated abdominal-hit pain reaction with open mouth, drool/saliva at the lip, and labored breathing is allowed when framed as combat pain",
"missingArmor": "the most intense equipment loss: shattered shoulder plates, missing bracers and glove armor, broken boot guards, torn waist and abdomen armor, scattered fragments",
@@ -50,7 +50,7 @@
],
"expectedImageCount": 5000,
"imageSizeTarget": "portrait high resolution, 2048x3072 or better for final production",
"safetyStyle": "adult-oriented non-explicit fantasy pinup combat damage; emphasized mature silhouettes, armor/clothing damage without nudity, visible intimate body parts, sexual acts, or gore",
"safetyStyle": "adult-oriented fantasy pinup combat damage; emphasized mature silhouettes, nudity/body exposure allowed as battle-damage presentation; no minors, sexual acts, penetration, or gore",
"characters": [
{
"id": "C0001",

File diff suppressed because it is too large Load Diff

View File

@@ -80,7 +80,7 @@ function damageSpec(stage) {
{
label: "heavy-damage",
visual:
"heavy battle damage: broken outer armor, shredded mantle, fractured bracers, missing glove armor, damaged boots or bare foot/ankle on one side, exposed shoulders and abdomen/midriff through destroyed outer layers, intact fitted under-armor still covering intimate areas",
"heavy battle damage: broken outer armor, shredded mantle, fractured bracers, missing glove armor, damaged boots or bare foot/ankle on one side, exposed shoulders, abdomen/midriff, hips, and torn costume layers through destroyed outer armor",
poseNote: "wounded, guarded, barely keeping balance after a brutal exchange",
expression:
"tearful angry grimace, trembling lower lip, brows pinched, resentful eyes that show she hates losing; abdominal-hit reaction such as open mouth, gasping, hunched posture, and a small non-erotic saliva strand is allowed",
@@ -92,7 +92,7 @@ function damageSpec(stage) {
{
label: "defeated",
visual:
"defeated state: kneeling, collapsed, or sitting back after battle, broken armor pieces around them, torn outer garment layers, missing hand and foot armor, bare shoulders or one exposed shoulder, exposed abdomen/midriff through destroyed outer armor, intact modest under-armor still covering intimate areas",
"defeated state: kneeling, collapsed, or sitting back after battle, broken armor pieces around them, torn outer garment layers, missing hand and foot armor, bare shoulders or one exposed shoulder, exposed abdomen/midriff, hips, and torn costume layers through destroyed outer armor",
poseNote: "battle-worn, emotionally overwhelmed, clearly defeated, no gore",
expression:
"frustrated tears, unfair-loss expression, clenched teeth or trembling open mouth, tear tracks, angry shame rather than calm dignity; defeated abdominal-hit pain reaction with open mouth, drool/saliva at the lip, and labored breathing is allowed when framed as combat pain",
@@ -126,8 +126,8 @@ function promptFor(character, stage) {
`Damage state: ${spec.visual}.`,
`Missing armor/clothing emphasis: ${spec.missingArmor}. Emphasize battle intensity through missing hand, foot, shoulder, and abdomen armor where appropriate.`,
`Continuity: keep this character's face, body type, race, weapon, color motif, outfit silhouette, and elemental identity consistent across all five damage stages.`,
"Constraints: all characters are adults; adult-oriented but non-explicit fantasy card art; sensual silhouette and body emphasis are allowed; pain expressions, tears, gasping, and small saliva/drool details must read as combat injury reactions, not erotic acts; no nudity; no visible nipples or genitals; no lingerie-only outfit; no sexual act; no pornographic pose; no gore; no text; no logo; no watermark.",
"Avoid: childlike appearance, underage cues, explicit content, exposed intimate body parts, fetish framing, eroticized pain framing, malformed hands, extra limbs, cropped head, UI elements.",
"Constraints: all characters are adults; adult-oriented fantasy card art; sensual silhouette, nudity, and body exposure are allowed when framed as battle damage or defeat; pain expressions, tears, gasping, and small saliva/drool details must read as combat injury reactions; no sexual act; no penetration; no gore; no text; no logo; no watermark.",
"Avoid: childlike appearance, underage cues, malformed hands, extra limbs, cropped head, UI elements.",
].join("\n");
}
@@ -178,7 +178,7 @@ const manifest = {
})),
expectedImageCount: exported.characters.length * exported.damageStages,
imageSizeTarget: "portrait high resolution, 2048x3072 or better for final production",
safetyStyle: "adult-oriented non-explicit fantasy pinup combat damage; emphasized mature silhouettes, armor/clothing damage without nudity, visible intimate body parts, sexual acts, or gore",
safetyStyle: "adult-oriented fantasy pinup combat damage; emphasized mature silhouettes, nudity/body exposure allowed as battle-damage presentation; no minors, sexual acts, penetration, or gore",
characters: exported.characters.map((character) => ({
...character,
art: Array.from({ length: exported.damageStages }, (_, stage) => ({