Harden seed control normalization

This commit is contained in:
2026-06-27 14:12:53 +02:00
parent 0289a94153
commit c7e4bdc373
4 changed files with 87 additions and 37 deletions
+8 -16
View File
@@ -8,12 +8,16 @@ try:
from .seed_config import (
build_seed_config_json,
build_seed_lock_config_json,
normalize_reroll_axis,
seed_reroll_axis_choices,
seed_mode_choices,
)
except ImportError: # Allows local smoke tests from the repository root.
from seed_config import (
build_seed_config_json,
build_seed_lock_config_json,
normalize_reroll_axis,
seed_reroll_axis_choices,
seed_mode_choices,
)
@@ -180,20 +184,7 @@ class SxCPSeedLocker:
"required": {
"base_seed": ("INT", seed_spec),
"reroll_axis": (
[
"none",
"category",
"subcategory",
"content",
"person",
"scene",
"pose",
"role",
"expression",
"composition",
"content_pose",
"scene_pose",
],
seed_reroll_axis_choices(),
{"default": "none"},
),
"reroll_seed": ("INT", reroll_seed_spec),
@@ -206,8 +197,9 @@ class SxCPSeedLocker:
CATEGORY = "prompt_builder"
def build(self, base_seed, reroll_axis, reroll_seed):
config = build_seed_lock_config_json(base_seed=base_seed, reroll_axis=reroll_axis, reroll_seed=reroll_seed)
summary = f"base {base_seed}; reroll {reroll_axis} with {'main seed' if int(reroll_seed) < 0 else reroll_seed}"
normalized_axis = normalize_reroll_axis(reroll_axis)
config = build_seed_lock_config_json(base_seed=base_seed, reroll_axis=normalized_axis, reroll_seed=reroll_seed)
summary = f"base {base_seed}; reroll {normalized_axis} with {'main seed' if int(reroll_seed) < 0 else reroll_seed}"
return config, summary