Tighten Krea2 POV selector formatting
This commit is contained in:
+68
-2
@@ -8288,6 +8288,54 @@ def smoke_pov_oral_position_routes() -> None:
|
||||
for term in krea_terms:
|
||||
_expect(term in prompt, f"{name} Krea prompt missing {term!r}: {prompt}")
|
||||
|
||||
top_variant_config = sxcp_nodes.NODE_CLASS_MAPPINGS["SxCPKrea2POVOralFilter"]().build(
|
||||
"replace",
|
||||
"",
|
||||
include_blowjob_top_down_vertical_shaft=True,
|
||||
)[0]
|
||||
top_variant_pair = pb.build_insta_of_pair(
|
||||
row_number=1,
|
||||
start_index=1,
|
||||
seed=3828,
|
||||
ethnicity="any",
|
||||
figure="random",
|
||||
no_plus_women=False,
|
||||
no_black=False,
|
||||
trigger=Trigger,
|
||||
prepend_trigger_to_prompt=True,
|
||||
options_json=_insta_options(
|
||||
softcore_camera_mode="from_camera_config",
|
||||
hardcore_camera_mode="from_camera_config",
|
||||
camera_detail="compact",
|
||||
),
|
||||
character_cast=_character_cast(pov_man=True),
|
||||
hardcore_position_config=top_variant_config,
|
||||
location_config=_coworking_location_config(),
|
||||
hardcore_camera_config=_orbit_camera(
|
||||
horizontal_angle=45,
|
||||
vertical_angle=0,
|
||||
zoom=7.5,
|
||||
subject_focus="action",
|
||||
),
|
||||
)
|
||||
_expect_pair(top_variant_pair, "pov_oral_top_view_variant_filter")
|
||||
top_variant_row = top_variant_pair.get("hardcore_row") or {}
|
||||
top_variant_config_row = top_variant_row.get("hardcore_position_config") or {}
|
||||
_expect(
|
||||
top_variant_config_row.get("krea2_variant_keys") == ["pov_blowjob_top_down_vertical_shaft"],
|
||||
"Top-view POV filter lost exact variant key in row metadata",
|
||||
)
|
||||
top_axis_values = top_variant_row.get("item_axis_values") or {}
|
||||
_expect(
|
||||
top_axis_values.get("krea2_variant_keys") == ["pov_blowjob_top_down_vertical_shaft"],
|
||||
"Top-view POV filter exact variant key did not reach formatter axis metadata",
|
||||
)
|
||||
top_krea = krea_formatter.format_krea2_prompt("", metadata_json=_json(top_variant_pair), target="hardcore")
|
||||
top_prompt = _expect_text("pov_oral_top_view_variant_filter.krea_prompt", top_krea.get("krea_prompt"), 60).lower()
|
||||
_expect("nadir-angle standing male pov top-view oral position" in top_prompt, "Top-view variant prompt lost exact top-view route")
|
||||
_expect("eye-level shot" not in top_prompt, f"Top-view variant prompt kept contradictory eye-level camera text: {top_prompt}")
|
||||
_expect("tongue extended toward genitals" not in top_prompt, f"Top-view variant prompt kept contradictory tongue-extension expression: {top_prompt}")
|
||||
|
||||
side_body_item = "side-lying oral position while blowjob with lips wrapped around the viewer's penis"
|
||||
side_body_axis = {"position": "side-lying oral position"}
|
||||
side_body_role_graph = hardcore_role_oral.build_oral_role_graph(
|
||||
@@ -10943,7 +10991,25 @@ def smoke_node_hardcore_position_registration() -> None:
|
||||
"include_doggy_top_down_rear_entry" not in oral_inputs,
|
||||
"POV Oral Filter should not expose penetration atlas checkboxes",
|
||||
)
|
||||
doggy_config, doggy_keys, doggy_positions, doggy_cues, doggy_summary, doggy_variants_json = penetration_filter().build(
|
||||
top_config, top_keys, top_positions, top_notes, top_summary, _top_variants_json = oral_filter().build(
|
||||
"replace",
|
||||
"",
|
||||
include_blowjob_top_down_vertical_shaft=True,
|
||||
)
|
||||
parsed_top_config = json.loads(top_config)
|
||||
_expect(top_keys == "pov_blowjob_top_down_vertical_shaft", "POV Oral Filter returned wrong exact top-view variant key")
|
||||
_expect(
|
||||
parsed_top_config.get("krea2_variant_keys") == ["pov_blowjob_top_down_vertical_shaft"],
|
||||
"POV Oral Filter lost exact top-view variant metadata",
|
||||
)
|
||||
_expect("kneeling" in top_positions, "POV Oral Filter lost top-view route position")
|
||||
_expect(
|
||||
"nadir-angle" not in top_notes and "viewer looks almost straight down" not in top_notes,
|
||||
"POV Oral Filter should not emit raw atlas prompt prose as a connectable text output",
|
||||
)
|
||||
_expect("variants=pov_blowjob_top_down_vertical_shaft" in top_summary, "POV Oral Filter summary lost top-view variant key")
|
||||
|
||||
doggy_config, doggy_keys, doggy_positions, doggy_notes, doggy_summary, doggy_variants_json = penetration_filter().build(
|
||||
"replace",
|
||||
"",
|
||||
include_doggy_top_down_rear_entry=True,
|
||||
@@ -10957,7 +11023,7 @@ def smoke_node_hardcore_position_registration() -> None:
|
||||
)
|
||||
_expect(doggy_keys == "pov_doggy_top_down_rear_entry", "POV Penetration Filter returned wrong selected variant keys")
|
||||
_expect(doggy_positions == "doggy", "POV Penetration Filter returned wrong selected positions")
|
||||
_expect("top-down" in doggy_cues, "POV Penetration Filter lost prompt cues output")
|
||||
_expect("pov_doggy_top_down_rear_entry" in doggy_notes and "top-down POV" not in doggy_notes, "POV Penetration Filter should emit compact variant notes, not raw prompt cues")
|
||||
_expect("variants=pov_doggy_top_down_rear_entry" in doggy_summary, "POV Penetration Filter summary lost selected variant")
|
||||
_expect(json.loads(doggy_variants_json)[0].get("key") == "pov_doggy_top_down_rear_entry", "POV Penetration Filter returned wrong variant JSON")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user