Tune Krea2 POV doggy prompts

This commit is contained in:
2026-06-29 01:05:36 +02:00
parent ef3b983712
commit bb53967df4
5 changed files with 183 additions and 7 deletions
+26 -2
View File
@@ -55,6 +55,7 @@ import node_tooltips # noqa: E402
import krea_cast # noqa: E402
import krea_action_details # noqa: E402
import krea_action_context # noqa: E402
import krea_pov_actions # noqa: E402
import krea_configured_cast_formatter # noqa: E402
import krea_format_route # noqa: E402
import krea_formatter # noqa: E402
@@ -6942,6 +6943,28 @@ def smoke_pov_oral_position_routes() -> None:
_expect(term in prompt, f"{name} Krea prompt missing {term!r}: {prompt}")
def smoke_pov_climax_target_policy() -> None:
context = (
"doggy rear-entry on all fours with hips raised and ass toward the camera; "
"mouth, face, lips, and tongue appear only in expression detail"
)
target = krea_pov_actions.pov_ejaculation_target(context)
_expect(
target == "across her ass, thighs, and lower back",
f"rear-entry climax target should beat face-expression tokens, got {target!r}",
)
phrase = krea_pov_actions.pov_action_phrase(
"Man A ejaculates semen onto Woman A's face and chest; visible semen lands while her mouth stays open",
["Man A"],
role_graph="Woman A is on all fours directly in front of Man A with hips raised while Man A is positioned behind her.",
hard_item="cumshot with mouth and face expression",
composition="first-person rear-view frame looking down at the woman's raised ass",
axis_values={"position": "doggy style position"},
).lower()
_expect("face and chest" not in phrase, f"POV rear-entry climax kept incompatible face/chest target: {phrase}")
_expect("across her ass, thighs, and lower back" in phrase, f"POV rear-entry climax lost rear target: {phrase}")
def smoke_pov_penetration_position_routes() -> None:
cases = [
(
@@ -6966,7 +6989,7 @@ def smoke_pov_penetration_position_routes() -> None:
"pov_penetration_doggy",
"doggy",
("woman a is on all fours", "man a is positioned behind her"),
("ass raised toward the pov viewer", "on all fours", "penetrates her pussy"),
("top-down pov doggy position", "on all fours", "forearms folded", "penetrates her pussy"),
),
(
"pov_penetration_edge_supported",
@@ -7030,7 +7053,7 @@ def smoke_pov_anal_position_routes() -> None:
"pov_anal_doggy",
"doggy",
("on all fours", "positioned behind her"),
("on all fours directly in front", "penetrates her ass"),
("top-down pov doggy position", "on all fours", "forearms folded", "penetrates her ass"),
),
(
"pov_anal_bent_over",
@@ -9658,6 +9681,7 @@ SMOKE_CASES: list[tuple[str, Callable[[], None]]] = [
("krea_pov_penetration_route", smoke_krea_pov_penetration_route),
("pov_outercourse_position_routes", smoke_pov_outercourse_position_routes),
("pov_oral_position_routes", smoke_pov_oral_position_routes),
("pov_climax_target_policy", smoke_pov_climax_target_policy),
("pov_penetration_position_routes", smoke_pov_penetration_position_routes),
("pov_anal_position_routes", smoke_pov_anal_position_routes),
("double_front_back_route", smoke_double_front_back_route),