Keep softcore clothing stable during hard rerolls

This commit is contained in:
2026-06-28 01:49:10 +02:00
parent ab8abc07e6
commit 509960a699
6 changed files with 104 additions and 7 deletions
+65
View File
@@ -9180,6 +9180,71 @@ def smoke_node_scene_chain_registration() -> None:
hard_trace_axes.get("pose", {}).get("seed") == 7799,
"Scene Pair Output generation trace did not use hardcore branch pose seed",
)
content_pose_seed_options = nodes["SxCPSceneLayerSeedOptions"]().build(
"hardcore_branch",
"fixed",
8899,
"content_pose",
"same_for_all_rows",
"replace_layer",
)[0]
soft_scene_content, hard_scene_content, _branch_summary, _branch_metadata = nodes["SxCPSceneBranchPair"]().build(
scene,
"same_creator_same_room",
"hybrid",
branch_options=branch_options,
seed_options=content_pose_seed_options,
)
soft_scene_content = nodes["SxCPSoftcoreBranchOptions"]().build(
soft_scene_content,
"same_as_hardcore",
"lingerie_tease",
True,
0.45,
"from_camera_config",
"compact",
"",
branch_options=branch_options,
)[0]
hard_scene_content = nodes["SxCPHardcoreBranchOptions"]().build(
hard_scene_content,
"couple",
1,
1,
"hardcore",
True,
0.85,
"explicit_nude",
"from_camera_config",
"compact",
"balanced",
"",
branch_options=branch_options,
seed_options=content_pose_seed_options,
)[0]
content_pair = json.loads(nodes["SxCPScenePairOutput"]().build(soft_scene_content, hard_scene_content)[7])
content_soft_seed_config = (
content_pair.get("softcore_row", {}).get("seed_config")
if isinstance(content_pair.get("softcore_row"), dict)
else {}
)
content_hard_seed_config = (
content_pair.get("hardcore_row", {}).get("seed_config")
if isinstance(content_pair.get("hardcore_row"), dict)
else {}
)
_expect(
content_soft_seed_config.get("content_seed") != 8899,
"Hardcore branch content_pose reroll leaked into softcore clothing seed",
)
_expect(
content_hard_seed_config.get("content_seed") == 8899,
"Hardcore branch content_pose reroll did not reach hardcore content seed",
)
_expect(
content_hard_seed_config.get("pose_seed") == 8899 and content_hard_seed_config.get("role_seed") == 8899,
"Hardcore branch content_pose reroll did not reach hardcore pose and role seeds",
)
def smoke_node_builder_registration() -> None: