Extract generation profile config policy
This commit is contained in:
@@ -27,6 +27,7 @@ import caption_naturalizer # noqa: E402
|
||||
import category_cast_config # noqa: E402
|
||||
import category_library # noqa: E402
|
||||
import __init__ as sxcp_nodes # noqa: E402
|
||||
import generation_profile_config # noqa: E402
|
||||
import krea_formatter # noqa: E402
|
||||
import location_config # noqa: E402
|
||||
import prompt_builder as pb # noqa: E402
|
||||
@@ -578,6 +579,47 @@ def smoke_category_cast_config_policy() -> None:
|
||||
_expect((empty_cast.get("women_count"), empty_cast.get("men_count")) == (1, 0), "Empty custom cast was not corrected")
|
||||
|
||||
|
||||
def smoke_generation_profile_config_policy() -> None:
|
||||
_expect(
|
||||
pb.GENERATION_PROFILE_PRESETS is generation_profile_config.GENERATION_PROFILE_PRESETS,
|
||||
"Prompt builder generation profile presets are not delegated",
|
||||
)
|
||||
_expect("krea2_friendly" in generation_profile_config.generation_profile_choices(), "Generation profile choices lost krea2_friendly")
|
||||
|
||||
profile = json.loads(
|
||||
pb.build_generation_profile_json(
|
||||
profile="krea2_friendly",
|
||||
clothing_override="minimal",
|
||||
poses_override="random",
|
||||
expression_enabled=False,
|
||||
expression_intensity_mode="random",
|
||||
expression_intensity=0.8,
|
||||
backside_bias=2,
|
||||
minimal_clothing_ratio=0.25,
|
||||
standard_pose_ratio=0.75,
|
||||
trigger_policy="prepend_trigger",
|
||||
)
|
||||
)
|
||||
_expect(profile.get("profile") == "krea2_friendly", "Generation profile output lost selected profile")
|
||||
_expect(profile.get("clothing") == "minimal", "Generation profile clothing override failed")
|
||||
_expect(profile.get("poses") == "random", "Generation profile poses override failed")
|
||||
_expect(profile.get("expression_enabled") is False, "Generation profile expression disable failed")
|
||||
_expect(profile.get("expression_intensity") == -1.0, "Generation profile random expression marker changed")
|
||||
_expect(profile.get("backside_bias") == 1.0, "Generation profile backside bias clamp changed")
|
||||
_expect(profile.get("prepend_trigger_to_prompt") is True, "Generation profile trigger override failed")
|
||||
|
||||
parsed = pb._parse_generation_profile(profile)
|
||||
_expect(parsed.get("clothing") == "minimal", "Generation profile parser wrapper lost clothing")
|
||||
_expect(parsed.get("expression_enabled") is False, "Generation profile parser wrapper lost expression disable")
|
||||
_expect(parsed.get("minimal_clothing_ratio") == 0.25, "Generation profile parser wrapper lost minimal clothing ratio")
|
||||
|
||||
fallback = generation_profile_config.parse_generation_profile({"profile": "unknown", "clothing": "bad", "poses": "bad"})
|
||||
_expect(fallback.get("profile") == "unknown", "Generation profile parser should preserve raw profile label")
|
||||
_expect(fallback.get("clothing") == "full", "Generation profile parser did not normalize invalid clothing")
|
||||
_expect(fallback.get("poses") == "standard", "Generation profile parser did not normalize invalid poses")
|
||||
_expect(fallback.get("trigger") == "sxcpinup_coloredpencil", "Generation profile parser lost default trigger")
|
||||
|
||||
|
||||
def smoke_category_library_route() -> None:
|
||||
categories = category_library.load_category_library()
|
||||
_expect(len(categories) >= 3, "category library should load JSON categories")
|
||||
@@ -2486,6 +2528,7 @@ SMOKE_CASES: list[tuple[str, Callable[[], None]]] = [
|
||||
("config_route_location_theme", smoke_config_route_location_theme),
|
||||
("location_config_policy", smoke_location_config_policy),
|
||||
("category_cast_config_policy", smoke_category_cast_config_policy),
|
||||
("generation_profile_config_policy", smoke_generation_profile_config_policy),
|
||||
("category_library_route", smoke_category_library_route),
|
||||
("hardcore_category_routes", smoke_hardcore_category_routes),
|
||||
("krea_close_foreplay_route", smoke_krea_close_foreplay_route),
|
||||
|
||||
Reference in New Issue
Block a user