Centralize softcore pair wording
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any
|
||||
|
||||
|
||||
def _clean(value: Any) -> str:
|
||||
return " ".join(str(value or "").strip().split())
|
||||
|
||||
|
||||
def softcore_cast_presence_phrase(
|
||||
*,
|
||||
same_cast: bool,
|
||||
pov_labels: list[str] | tuple[str, ...] | None = None,
|
||||
cast_label: str = "",
|
||||
woman_label: str = "the woman",
|
||||
) -> str:
|
||||
pov_labels = [str(label) for label in (pov_labels or []) if str(label).strip()]
|
||||
cast_label = _clean(cast_label)
|
||||
woman_label = _clean(woman_label) or "the woman"
|
||||
if same_cast and pov_labels:
|
||||
return (
|
||||
f"{woman_label} is framed from the POV participant's first-person creator camera, "
|
||||
"with the POV participant implied by camera position or foreground body cues"
|
||||
)
|
||||
if same_cast:
|
||||
visible_cast = cast_label or "the named cast"
|
||||
verb = "share" if " and " in visible_cast or "," in visible_cast else "shares"
|
||||
return f"{visible_cast} {verb} a styled creator-teaser frame"
|
||||
return f"solo creator frame with {woman_label} as the only visible subject"
|
||||
|
||||
|
||||
def softcore_caption_setup_phrase(*, same_cast: bool, target_auto: bool = False) -> str:
|
||||
if same_cast:
|
||||
return (
|
||||
"The softcore side keeps the same adult cast together in a styled creator setup"
|
||||
if target_auto
|
||||
else "The same adult cast shares a styled creator setup"
|
||||
)
|
||||
return (
|
||||
"The softcore side is a solo styled creator setup"
|
||||
if target_auto
|
||||
else "Solo styled creator setup"
|
||||
)
|
||||
|
||||
|
||||
def softcore_style_directive() -> str:
|
||||
return "Use seductive creator-shot teaser styling."
|
||||
Reference in New Issue
Block a user