Move pair detail density policy

This commit is contained in:
2026-06-27 03:15:49 +02:00
parent 7f808be997
commit 9ca2320df2
5 changed files with 47 additions and 14 deletions
+18 -2
View File
@@ -32,6 +32,14 @@ INSTA_OF_HARDCORE_CLOTHING_CONTINUITY = {
"explicit_nude": "Woman A's body is fully exposed, bare skin unobstructed",
}
HARDCORE_DETAIL_DENSITY_CHOICES = ["compact", "balanced", "dense"]
HARDCORE_DETAIL_DIRECTIVES = {
"compact": "Use one compact position-first sexual action sentence; avoid repeated aftermath wording. ",
"balanced": "",
"dense": "Use dense but coherent motion, contact, and aftermath detail while keeping one readable body position. ",
}
INSTA_OF_NEGATIVE = (
"minors, childlike appearance, teen, underage, schoolgirl, non-consensual, coercion, rape, "
"violence, injury, blood, gore, incest, bestiality, watermark, logo, readable username, social media UI"
@@ -218,6 +226,14 @@ def character_softcore_outfit_values(source: str, custom_outfits: str = "") -> l
return []
def hardcore_detail_density_choices() -> list[str]:
return list(HARDCORE_DETAIL_DENSITY_CHOICES)
def hardcore_detail_directive(density: Any) -> str:
return HARDCORE_DETAIL_DIRECTIVES.get(str(density or "balanced"), "")
def character_hardcore_clothing_values(state: str, custom_clothing: str = "") -> list[str]:
state = str(state or "no_change").strip()
if state == "fully_nude":
@@ -251,7 +267,7 @@ def build_insta_of_options_json(
softcore_expression_enabled: bool = True,
hardcore_expression_enabled: bool = True,
hardcore_detail_density: str = "balanced",
hardcore_detail_density_choices: list[str] | tuple[str, ...] = ("compact", "balanced", "dense"),
hardcore_detail_density_choices: list[str] | tuple[str, ...] = tuple(HARDCORE_DETAIL_DENSITY_CHOICES),
) -> str:
hardcore_detail_density = (
hardcore_detail_density if hardcore_detail_density in hardcore_detail_density_choices else "balanced"
@@ -286,7 +302,7 @@ def parse_insta_of_options(
*,
camera_mode_choices: dict[str, str] | list[str] | tuple[str, ...],
camera_detail_choices: list[str] | tuple[str, ...],
hardcore_detail_density_choices: list[str] | tuple[str, ...],
hardcore_detail_density_choices: list[str] | tuple[str, ...] = tuple(HARDCORE_DETAIL_DENSITY_CHOICES),
) -> dict[str, Any]:
defaults = {
"softcore_cast": "solo",