Clean POV prompt wording

This commit is contained in:
2026-06-28 09:43:32 +02:00
parent 4ca4653e7d
commit d1af43bad2
3 changed files with 13 additions and 8 deletions
+1 -1
View File
@@ -280,7 +280,7 @@ def _composition_phrase(
if position and close_or_aftermath:
if detail_density == "compact":
return f"{prefix} {composition}, with the {position} still readable"
return f"{prefix} {composition}, keeping the {position} and action geography readable"
return f"{prefix} {composition}, with the {position} still readable and the body contact clear"
return f"{prefix} {composition}"
+1 -1
View File
@@ -1046,7 +1046,7 @@ def scene_camera_directive(
return (
f"{profile['layout_label']} from POV{geometry_clause}: keep {subject} and the action primary; "
f"{profile['place']} context stays beside or behind the bodies, not in the lower foreground; "
f"lower foreground is reserved for POV body or hand cues; use the multiangle camera only as first-person spatial geometry."
f"POV body or hand cues stay in the lower foreground."
)
return (
f"{profile['layout_label']}{geometry_clause}: {direction_detail}; "
+11 -6
View File
@@ -838,7 +838,7 @@ def smoke_scene_camera_adapter_pov_profile_policy() -> None:
_expect(foreground not in pov, f"{key} POV scene directive reused profile foreground anchor as viewer-side text")
_expect("from POV" in pov, f"{key} POV scene directive lost POV marker")
_expect(
"lower foreground is reserved for POV body or hand cues" in pov,
"POV body or hand cues stay in the lower foreground" in pov,
f"{key} POV scene directive lost lower-foreground body-cue reservation",
)
plural_directive = scene_camera_adapters.scene_camera_directive(
@@ -874,7 +874,8 @@ def smoke_row_camera_policy() -> None:
_expect(updated.get("camera_directive") == "", "POV row camera policy should suppress normal camera directive")
scene_directive = _expect_text("row_camera_policy.camera_scene_directive", updated.get("camera_scene_directive"), 40)
_expect("Coworking camera layout from POV" in scene_directive, "row camera policy missed POV coworking layout")
_expect("first-person spatial geometry" in scene_directive, "row camera policy lost POV geometry instruction")
_expect("POV body or hand cues stay in the lower foreground" in scene_directive, "row camera policy lost POV foreground cue")
_expect("use the multiangle camera" not in scene_directive, "row camera policy leaked internal multiangle instruction")
_expect("Camera:" not in updated.get("prompt", ""), "row camera policy should not add normal Camera label")
_expect("45-degree front-right quarter view" not in updated.get("caption", ""), "POV row camera policy should not append camera caption")
_expect(
@@ -1023,7 +1024,7 @@ def smoke_row_camera_policy() -> None:
_expect("Hotel corridor camera layout from POV" in semi_public_scene, "row camera semi-public scene did not use hotel corridor profile")
_expect("back view" not in semi_public_scene, "POV camera scene should not inject orbit back view as body orientation")
_expect("partner's back" not in semi_public_scene, "POV camera scene should not force the visible partner's back")
_expect("first-person spatial geometry" in semi_public_scene, "row camera semi-public POV scene lost first-person geometry")
_expect("POV body or hand cues stay in the lower foreground" in semi_public_scene, "row camera semi-public POV scene lost foreground cue")
_expect(updated_semi_public.get("scene_camera_profile_key") == "hotel_corridor", "row camera semi-public scene did not expose text-matched profile key")
_expect("hotel corridor" in semi_public_composition.lower(), "row camera semi-public composition did not become location-aware")
_expect("bag" not in semi_public_composition.lower() and "shoes" not in semi_public_composition.lower(), "row camera semi-public composition leaked outfit-check props")
@@ -6669,14 +6670,16 @@ def smoke_pov_camera_scene() -> None:
"POV camera scene should not reuse coworking foreground anchors as viewer-side objects",
)
_expect(
"lower foreground is reserved for POV body or hand cues" in scene_directive,
"POV camera scene should reserve the lower foreground for first-person body cues",
"POV body or hand cues stay in the lower foreground" in scene_directive,
"POV camera scene should keep first-person body cues in the lower foreground",
)
_expect("use the multiangle camera" not in scene_directive, "POV camera scene leaked internal multiangle instruction")
krea = krea_formatter.format_krea2_prompt("", metadata_json=_json(pair), target="hardcore")
prompt = krea.get("krea_prompt") or ""
_expect("from POV" in prompt, "Krea POV prompt lost camera-scene directive")
_expect("laptop corner" not in prompt, "Krea POV prompt leaked foreground desk anchor into camera scene")
_expect("lower foreground is reserved for POV body or hand cues" in prompt, "Krea POV prompt lost POV foreground reservation")
_expect("POV body or hand cues stay in the lower foreground" in prompt, "Krea POV prompt lost POV foreground cue")
_expect("use the multiangle camera" not in prompt, "Krea POV prompt leaked internal multiangle instruction")
_expect("Camera:" not in prompt, "Krea POV prompt should not emit normal third-person camera directive")
@@ -6717,6 +6720,8 @@ def smoke_krea_pov_penetration_route() -> None:
_expect("viewer" in lower and "first-person" in lower, "POV penetration lost first-person wording")
_expect("penetrates" in lower or "penetration" in lower, "POV penetration lost penetration action wording")
_expect("woman" in lower and "thigh" in lower, "POV penetration lost body-position anchors")
_expect("action geography" not in lower, "POV penetration leaked abstract action-geography wording")
_expect("use the multiangle camera" not in lower, "POV penetration leaked internal multiangle instruction")
_expect("camera:" not in prompt, "POV penetration emitted normal third-person camera directive")
_expect("role graph:" not in lower and "sexual scene:" not in lower, "POV penetration leaked raw prompt labels")
style_index = lower.find("explicit consensual")