Add Krea2 pose variant selector node

This commit is contained in:
2026-06-29 03:07:57 +02:00
parent 742281f48f
commit d384cb8a46
4 changed files with 105 additions and 0 deletions
+20
View File
@@ -8869,6 +8869,7 @@ def smoke_node_hardcore_position_registration() -> None:
required_nodes = [
"SxCPHardcorePositionPool",
"SxCPHardcoreActionFilter",
"SxCPKrea2PoseVariant",
]
for node_name in required_nodes:
_expect(node_name in sxcp_nodes.NODE_CLASS_MAPPINGS, f"{node_name} missing from node registry")
@@ -8911,6 +8912,25 @@ def smoke_node_hardcore_position_registration() -> None:
_expect(parsed_filter.get("allow_outercourse") is True, "Hardcore Action Filter should allow outercourse")
_expect("blocked=" in filter_summary, "Hardcore Action Filter summary lost blocked-gate details")
variant_node = sxcp_nodes.NODE_CLASS_MAPPINGS["SxCPKrea2PoseVariant"]
variant_inputs = variant_node.INPUT_TYPES().get("required") or {}
_expect("variant_key" in variant_inputs, "Krea2 Pose Variant lost variant selector")
_expect("tooltip" in variant_inputs["variant_key"][1], "Krea2 Pose Variant tooltip injection missing")
_expect("pov_boobjob_upright_cleavage" in variant_inputs["variant_key"][0], "Krea2 Pose Variant lost boobjob option")
variant_config, variant_key, prompt_cues, avoid_cues, variant_summary, variant_json = variant_node().build(
"pov_boobjob_upright_cleavage",
"replace",
"",
)
parsed_variant_config = json.loads(variant_config)
parsed_variant = json.loads(variant_json)
_expect(variant_key == "pov_boobjob_upright_cleavage", "Krea2 Pose Variant returned wrong key")
_expect(parsed_variant_config.get("positions") == ["boobjob"], "Krea2 Pose Variant did not map to boobjob position config")
_expect(parsed_variant.get("status") == "proven", "Krea2 Pose Variant lost status metadata")
_expect("pressed-together breasts" in prompt_cues, "Krea2 Pose Variant lost prompt cues output")
_expect("torso bent forward" in avoid_cues, "Krea2 Pose Variant lost avoid cues output")
_expect("variant=pov_boobjob_upright_cleavage" in variant_summary, "Krea2 Pose Variant summary lost key")
def smoke_node_formatter_registration() -> None:
required_nodes = [