Add SDXL formatter profiles
This commit is contained in:
@@ -1034,14 +1034,41 @@ def smoke_sdxl_presets_policy() -> None:
|
||||
sdxl_formatter.SDXL_QUALITY_PRESETS is sdxl_presets.SDXL_QUALITY_PRESETS,
|
||||
"SDXL formatter quality presets should delegate to sdxl_presets",
|
||||
)
|
||||
_expect(
|
||||
sdxl_formatter.SDXL_FORMATTER_PROFILES is sdxl_presets.SDXL_FORMATTER_PROFILES,
|
||||
"SDXL formatter profiles should delegate to sdxl_presets",
|
||||
)
|
||||
_expect(
|
||||
sdxl_formatter.SDXL_ACTION_FAMILY_TAGS is sdxl_presets.SDXL_ACTION_FAMILY_TAGS,
|
||||
"SDXL formatter action-family tags should delegate to sdxl_presets",
|
||||
)
|
||||
_expect("sdxl_photo" in sdxl_presets.sdxl_formatter_profile_choices(), "SDXL profile choices lost sdxl_photo")
|
||||
_expect("flat_vector_pony" in sdxl_presets.sdxl_style_preset_choices(), "SDXL style preset choices lost default")
|
||||
_expect("pony_high" in sdxl_presets.sdxl_quality_preset_choices(), "SDXL quality preset choices lost default")
|
||||
_expect(
|
||||
sdxl_presets.normalize_formatter_profile("bad") == sdxl_presets.DEFAULT_FORMATTER_PROFILE,
|
||||
"SDXL invalid profile fallback changed",
|
||||
)
|
||||
_expect(sdxl_presets.normalize_style_preset("bad") == sdxl_presets.DEFAULT_STYLE_PRESET, "SDXL invalid style fallback changed")
|
||||
_expect(sdxl_presets.normalize_quality_preset("bad") == sdxl_presets.DEFAULT_QUALITY_PRESET, "SDXL invalid quality fallback changed")
|
||||
_expect(
|
||||
sdxl_presets.apply_formatter_profile(
|
||||
"sdxl_photo",
|
||||
style_preset="flat_vector_pony",
|
||||
quality_preset="pony_high",
|
||||
)
|
||||
== ("photographic", "sdxl_high"),
|
||||
"SDXL photo profile overrides changed",
|
||||
)
|
||||
_expect(
|
||||
sdxl_presets.apply_formatter_profile(
|
||||
"manual_controls",
|
||||
style_preset="flat_vector",
|
||||
quality_preset="none",
|
||||
)
|
||||
== ("flat_vector", "none"),
|
||||
"SDXL manual profile should preserve explicit controls",
|
||||
)
|
||||
|
||||
row = _fixture_hardcore_row(
|
||||
action_family="oral",
|
||||
@@ -1063,6 +1090,18 @@ def smoke_sdxl_presets_policy() -> None:
|
||||
_expect_trigger_once("sdxl_presets.formatted_prompt", formatted.get("sdxl_prompt"), SdxlTrigger)
|
||||
_expect("Flat vector" in formatted.get("sdxl_prompt", ""), "SDXL invalid style did not fall back to default preset")
|
||||
_expect("score_9" in formatted.get("sdxl_prompt", ""), "SDXL invalid quality did not fall back to default preset")
|
||||
profiled = sdxl_formatter.format_sdxl_prompt(
|
||||
_json(row),
|
||||
input_hint="auto",
|
||||
formatter_profile="sdxl_photo",
|
||||
style_preset="flat_vector_pony",
|
||||
quality_preset="pony_high",
|
||||
trigger=SdxlTrigger,
|
||||
prepend_trigger=True,
|
||||
)
|
||||
profiled_prompt = profiled.get("sdxl_prompt", "")
|
||||
_expect("realistic photo" in profiled_prompt, "SDXL photo profile did not apply photographic style")
|
||||
_expect("score_9" not in profiled_prompt, "SDXL photo profile should switch away from Pony score quality tail")
|
||||
|
||||
|
||||
def smoke_hardcore_position_config_policy() -> None:
|
||||
@@ -2824,6 +2863,7 @@ def smoke_node_formatter_registration() -> None:
|
||||
"A woman standing by a window",
|
||||
"prompt",
|
||||
"single",
|
||||
"manual_controls",
|
||||
"flat_vector_pony",
|
||||
"pony_high",
|
||||
"mythp0rt",
|
||||
@@ -2835,6 +2875,9 @@ def smoke_node_formatter_registration() -> None:
|
||||
_expect_trigger_once("node_formatter.sdxl_prompt", sdxl_output[0], "mythp0rt")
|
||||
_expect_text("node_formatter.sdxl_negative", sdxl_output[1], 20)
|
||||
_expect(sdxl_output[6].startswith("text("), "SDXL Formatter method changed unexpectedly")
|
||||
sdxl_inputs = sxcp_nodes.NODE_CLASS_MAPPINGS["SxCPSDXLFormatter"].INPUT_TYPES().get("required") or {}
|
||||
_expect("formatter_profile" in sdxl_inputs, "SDXL Formatter lost formatter_profile input")
|
||||
_expect("tooltip" in sdxl_inputs["formatter_profile"][1], "SDXL formatter_profile tooltip injection missing")
|
||||
|
||||
|
||||
def smoke_node_insta_registration() -> None:
|
||||
|
||||
Reference in New Issue
Block a user