Add typed pair route contracts

This commit is contained in:
2026-06-27 10:49:58 +02:00
parent 2c978c7eab
commit 28612f9d00
7 changed files with 439 additions and 74 deletions
+24 -24
View File
@@ -2812,7 +2812,7 @@ def build_insta_of_pair(
pov_character_labels = _pov_character_labels(character_slot_map, hard_men_count)
softcore_level_key = str(options["softcore_level"])
soft_category, soft_subcategory = _insta_of_softcore_category(softcore_level_key)
row_route = pair_rows.build_insta_pair_rows(
row_route = pair_rows.build_insta_pair_rows_result(
row_number=row_number,
start_index=start_index,
seed=seed,
@@ -2849,9 +2849,9 @@ def build_insta_of_pair(
pov_prompt_directive=_pov_prompt_directive,
pov_composition_prompt=_pov_composition_prompt,
)
soft_row = row_route["soft_row"]
hard_row = row_route["hard_row"]
hard_content_rng = row_route["hard_content_rng"]
soft_row = row_route.soft_row
hard_row = row_route.hard_row
hard_content_rng = row_route.hard_content_rng
cast_context = pair_cast.resolve_insta_pair_cast_context(
soft_row=soft_row,
@@ -2885,7 +2885,7 @@ def build_insta_of_pair(
platform_style = cast_context["platform_style"]
soft_level = cast_context["soft_level"]
hard_level = cast_context["hard_level"]
camera_route = pair_camera.resolve_insta_pair_camera(
camera_route = pair_camera.resolve_insta_pair_camera_result(
soft_row=soft_row,
hard_row=hard_row,
options=options,
@@ -2903,20 +2903,20 @@ def build_insta_of_pair(
composition_prompt=_composition_prompt,
camera_scene_directive_for_context=_camera_scene_directive_for_context,
)
soft_row = camera_route["soft_row"]
hard_row = camera_route["hard_row"]
hard_scene = camera_route["hard_scene"]
hard_composition = camera_route["hard_composition"]
soft_camera_config = camera_route["soft_camera_config"]
hard_camera_config = camera_route["hard_camera_config"]
soft_camera_directive = camera_route["soft_camera_directive"]
hard_camera_directive = camera_route["hard_camera_directive"]
soft_camera_scene_directive = camera_route["soft_camera_scene_directive"]
hard_camera_scene_directive = camera_route["hard_camera_scene_directive"]
soft_camera_scene_sentence = camera_route["soft_camera_scene_sentence"]
hard_camera_scene_sentence = camera_route["hard_camera_scene_sentence"]
soft_camera_sentence = camera_route["soft_camera_sentence"]
hard_camera_sentence = camera_route["hard_camera_sentence"]
soft_row = camera_route.soft_row
hard_row = camera_route.hard_row
hard_scene = camera_route.hard_scene
hard_composition = camera_route.hard_composition
soft_camera_config = camera_route.soft_camera_config
hard_camera_config = camera_route.hard_camera_config
soft_camera_directive = camera_route.soft_camera_directive
hard_camera_directive = camera_route.hard_camera_directive
soft_camera_scene_directive = camera_route.soft_camera_scene_directive
hard_camera_scene_directive = camera_route.hard_camera_scene_directive
soft_camera_scene_sentence = camera_route.soft_camera_scene_sentence
hard_camera_scene_sentence = camera_route.hard_camera_scene_sentence
soft_camera_sentence = camera_route.soft_camera_sentence
hard_camera_sentence = camera_route.hard_camera_sentence
soft_cast = cast_context["soft_cast"]
soft_cast_presence = cast_context["soft_cast_presence"]
soft_cast_styling_sentence = cast_context["soft_cast_styling_sentence"]
@@ -2929,7 +2929,7 @@ def build_insta_of_pair(
hard_content_rng,
_slot_hardcore_clothing,
)
clothing_route = pair_clothing.resolve_hardcore_pair_clothing(
clothing_route = pair_clothing.resolve_hardcore_pair_clothing_result(
hard_row=hard_row,
mode=options["hardcore_clothing_continuity"],
softcore_outfit=soft_row["item"],
@@ -2940,10 +2940,10 @@ def build_insta_of_pair(
continuity_map=INSTA_OF_HARDCORE_CLOTHING_CONTINUITY,
choose=g.choose,
)
default_man_hardcore_clothing_entries = clothing_route["default_man_hardcore_clothing"]
hard_clothing_state = clothing_route["hardcore_clothing_state"]
hard_clothing_sentence = clothing_route["hardcore_clothing_sentence"]
if clothing_route["requires_body_exposure_scene"]:
default_man_hardcore_clothing_entries = clothing_route.default_man_hardcore_clothing
hard_clothing_state = clothing_route.hardcore_clothing_state
hard_clothing_sentence = clothing_route.hardcore_clothing_sentence
if clothing_route.requires_body_exposure_scene:
hard_scene = pair_clothing.body_exposure_scene_text(hard_scene)
hard_row["source_scene_text"] = hard_row.get("source_scene_text") or hard_row.get("scene_text", "")
hard_row["scene_text"] = hard_scene