Improve POV rear-entry wording

This commit is contained in:
2026-06-25 18:50:08 +02:00
parent e916609de8
commit c01d1d52e0
+33 -7
View File
@@ -403,7 +403,7 @@ def _pov_contact_clause(
"thrusts into her ass", "thrusts into her ass",
) )
) )
contact = "as his penis thrusts into her ass" if is_anal else "as his penis thrusts into her" contact = "as his penis penetrates her ass" if is_anal else "as his penis penetrates her pussy"
if _is_toy_assisted_double_text(action, role_graph, hard_item, _axis_values_text(axis_values)): if _is_toy_assisted_double_text(action, role_graph, hard_item, _axis_values_text(axis_values)):
contact = f"{contact} while a toy is positioned at the second penetration point" contact = f"{contact} while a toy is positioned at the second penetration point"
return contact return contact
@@ -435,6 +435,25 @@ def _pov_clean_detail(detail: Any, context: str, detail_density: str) -> str:
detail, detail,
flags=re.IGNORECASE, flags=re.IGNORECASE,
) )
detail = re.sub(
r",?\s*\bthe viewer is behind her at hip level with (?:his|the viewer's) hands on her hips in the foreground as (?:his|the viewer's) penis (?:thrusts into her|penetrates her pussy)\b",
"",
detail,
flags=re.IGNORECASE,
)
detail = re.sub(
r",?\s*\bthe woman is on all fours directly in front of the viewer with hips raised and back arched\b",
"",
detail,
flags=re.IGNORECASE,
)
if any(token in context for token in ("ass raised", "on all fours", "doggy", "rear-entry", "bent-over", "face-down")):
detail = re.sub(
r",?\s*\b(?:one body pinned under another|bodies stacked close together|bodies tangled on the sheets)\b",
"",
detail,
flags=re.IGNORECASE,
)
if "toy is positioned at the second penetration point" in context: if "toy is positioned at the second penetration point" in context:
detail = re.sub( detail = re.sub(
r",?\s*\b(?:toy aligned for a second penetration point|toy-assisted second contact aligned behind the body)\b", r",?\s*\b(?:toy aligned for a second penetration point|toy-assisted second contact aligned behind the body)\b",
@@ -557,18 +576,18 @@ def _pov_hardcore_pose_sentence(
) )
if "face-down" in context or "face down" in context: if "face-down" in context or "face down" in context:
return sentence( return sentence(
"POV face-down rear-entry position: the woman lies face-down in front of the viewer with ass raised toward him; " "The woman is seen from behind with her ass raised toward the POV viewer, lying face-down with hips lifted; "
f"the viewer is behind her at hip level with foreground hands on her hips {contact}" f"the viewer looks down at her raised ass with foreground hands on her hips {contact}"
) )
if "bent-over" in context or "bent over" in context or "bent forward" in context: if "bent-over" in context or "bent over" in context or "bent forward" in context:
return sentence( return sentence(
"POV bent-over rear-entry position: the woman bends forward at the waist in front of the viewer with hips raised and head turned back; " "The woman is seen from behind with her ass raised toward the POV viewer, bent forward at the waist with hips lifted and head turned back; "
f"the viewer stands behind her at hip level {contact}" f"the viewer looks down at her raised ass from behind with foreground hands near her hips {contact}"
) )
if "doggy" in context or "all fours" in context or "rear-entry" in context: if "doggy" in context or "all fours" in context or "rear-entry" in context:
return sentence( return sentence(
"POV doggy position: the woman is on all fours directly in front of the viewer with hips raised and back arched; " "The woman is seen from behind with her ass raised toward the POV viewer, on all fours directly in front of him with hips high and back arched; "
f"the viewer is behind her at hip level with his hands on her hips in the foreground {contact}" f"the viewer looks down at her raised ass with his hands on her hips in the foreground {contact}"
) )
if "standing" in context: if "standing" in context:
return sentence( return sentence(
@@ -2012,6 +2031,13 @@ def _composition_phrase(
return ( return (
f"{prefix} close first-person underview with the woman's thighs framing the camera and the oral contact centered" f"{prefix} close first-person underview with the woman's thighs framing the camera and the oral contact centered"
) )
if "pov viewer" in action_lower and any(
token in action_lower
for token in ("ass raised", "seen from behind", "on all fours", "bent forward", "face-down")
):
return (
f"{prefix} first-person rear-view frame looking down at the woman's raised ass, with foreground hands and rear-entry contact readable"
)
oral_pose_tokens = ( oral_pose_tokens = (
"kneeling oral", "kneeling oral",
"side-lying oral", "side-lying oral",