Use couple wording for same-cast softcore camera prompts

This commit is contained in:
2026-06-28 01:07:54 +02:00
parent 8d58bfdf6a
commit 14f984a629
3 changed files with 82 additions and 4 deletions
+42
View File
@@ -881,6 +881,46 @@ def smoke_row_camera_policy() -> None:
"coworking lounge frame with the couple near a desk edge" in updated.get("composition", ""),
"row camera policy did not adapt coworking composition for couple rows",
)
already_matching_row = dict(row)
already_matching_row["pov_character_labels"] = []
already_matching_row["composition"] = "coworking lounge frame with the subjects near a desk edge and tall-window depth behind them"
already_matching_row["prompt"] = (
"A generated adult prompt. Framed as coworking lounge frame with the subjects near a desk edge and tall-window depth behind them. "
"Avoid: low quality."
)
updated_matching = row_camera.apply_camera_config(
already_matching_row,
_orbit_camera(horizontal_angle=45, vertical_angle=0, zoom=5.5),
compact_labels=pb.CAMERA_COMPACT_LABELS,
)
_expect(
"the couple near a desk edge" in str(updated_matching.get("composition", "")),
"row camera policy did not adapt generic matching composition subject wording",
)
_expect(
"the subjects near a desk edge" not in str(updated_matching.get("prompt", "")),
"row camera policy left generic matching composition subject wording in prompt",
)
pre_normalized_row = dict(row)
pre_normalized_row["pov_character_labels"] = []
pre_normalized_row["composition"] = "coworking lounge frame with the woman near a desk edge and tall-window depth behind them"
pre_normalized_row["prompt"] = (
"A generated adult prompt. Framed as coworking lounge frame with the woman near a desk edge and tall-window depth behind them. "
"Avoid: low quality."
)
updated_pre_normalized = row_camera.apply_camera_config(
pre_normalized_row,
_orbit_camera(horizontal_angle=45, vertical_angle=0, zoom=5.5),
compact_labels=pb.CAMERA_COMPACT_LABELS,
)
_expect(
"the couple near a desk edge" in str(updated_pre_normalized.get("composition", "")),
"row camera policy did not adapt pre-normalized woman composition for couple rows",
)
_expect(
"the woman near a desk edge" not in str(updated_pre_normalized.get("prompt", "")),
"row camera policy left pre-normalized woman composition wording in prompt",
)
stale_internal_row = dict(row)
stale_internal_row["pov_character_labels"] = []
stale_internal_row["composition"] = "camera-aware coworking lounge frame with subjects near a desk edge"
@@ -6203,6 +6243,8 @@ def smoke_pair_route_policy() -> None:
_expect(camera_route.as_dict() == camera_legacy, "Typed pair camera route should match legacy dict route")
_expect(camera_route.hard_scene == "soft room", "Typed pair camera route lost same-room continuity")
_expect(camera_route.hard_camera_sentence.startswith("Camera control:"), "Typed pair camera route lost hard camera sentence")
_expect(camera_route.soft_row.get("subject_kind") == "couple", "Same-cast softcore camera route should use couple subject kind")
_expect("couple scene directive" in camera_route.soft_camera_scene_directive, "Same-cast softcore camera directive should use couple wording")
clothing_common = {
"hard_row": {