Extract Krea format dispatch route

This commit is contained in:
2026-06-27 12:22:22 +02:00
parent 84c369c190
commit 837299be6c
5 changed files with 280 additions and 52 deletions
+108
View File
@@ -48,6 +48,7 @@ import index_switch_policy # noqa: E402
import node_tooltips # noqa: E402
import krea_cast # noqa: E402
import krea_configured_cast_formatter # noqa: E402
import krea_format_route # noqa: E402
import krea_formatter # noqa: E402
import krea_normal_formatter # noqa: E402
import krea_pair_formatter # noqa: E402
@@ -2322,6 +2323,112 @@ def smoke_formatter_input_policy() -> None:
_expect("blur" in fallback_sdxl.get("negative_prompt", ""), "SDXL fallback lost Avoid negative text")
def smoke_krea_format_route_policy() -> None:
row = _prompt_row(
name="krea_format_route_single",
category="woman",
subcategory="random",
seed=3601,
men_count=0,
camera_config=_orbit_camera(horizontal_angle=45, vertical_angle=0, zoom=5.5),
)
single_request = krea_format_route.KreaFormatRequest(
source_text="",
metadata_json=_json(row),
target="single",
detail_level="dense",
style_mode="photographic",
extra_positive="krea route marker",
extra_negative="krea route negative",
)
typed_single = krea_format_route.format_krea2_prompt_result(
single_request,
krea_formatter._krea_format_dependencies(),
)
public_single = krea_formatter.format_krea2_prompt(
"",
metadata_json=single_request.metadata_json,
target=single_request.target,
detail_level=single_request.detail_level,
style_mode=single_request.style_mode,
extra_positive=single_request.extra_positive,
extra_negative=single_request.extra_negative,
)
_expect(typed_single.output == public_single, "Typed Krea format route should match public single formatter output")
_expect(typed_single.branch == "metadata(single)", "Typed Krea format route changed single branch")
_expect(typed_single.target == "single", "Typed Krea format route lost target normalization")
_expect("krea route marker" in typed_single.output.get("krea_prompt", ""), "Typed Krea route lost extra positive")
_expect("krea route negative" in typed_single.output.get("negative_prompt", ""), "Typed Krea route lost extra negative")
pair = pb.build_insta_of_pair(
row_number=1,
start_index=1,
seed=3602,
ethnicity="any",
figure="random",
no_plus_women=False,
no_black=False,
trigger=Trigger,
prepend_trigger_to_prompt=True,
options_json=_insta_options(),
character_cast=_character_cast(),
hardcore_position_config=_action_filter("penetration_only"),
)
pair_request = krea_format_route.KreaFormatRequest(
source_text="",
metadata_json=_json(pair),
target="hardcore",
detail_level="balanced",
style_mode="preserve",
extra_positive="pair route marker",
extra_negative="pair route negative",
)
typed_pair = krea_format_route.format_krea2_prompt_result(
pair_request,
krea_formatter._krea_format_dependencies(),
)
public_pair = krea_formatter.format_krea2_prompt(
"",
metadata_json=pair_request.metadata_json,
target=pair_request.target,
detail_level=pair_request.detail_level,
style_mode=pair_request.style_mode,
extra_positive=pair_request.extra_positive,
extra_negative=pair_request.extra_negative,
)
_expect(typed_pair.output == public_pair, "Typed Krea format route should match public pair formatter output")
_expect(typed_pair.branch == "insta_of_pair", "Typed Krea format route changed pair branch")
_expect_text("krea_format_route_policy.hard_prompt", typed_pair.output.get("krea_hardcore_prompt"), 40)
_expect("pair route marker" in typed_pair.output.get("krea_prompt", ""), "Typed Krea pair route lost extra positive")
fallback_request = krea_format_route.KreaFormatRequest(
source_text="Scene: quiet studio. Pose: seated portrait. Avoid: blur",
input_hint="prompt",
target="weird",
detail_level="verbose",
style_mode="invalid",
preserve_trigger=False,
)
typed_fallback = krea_format_route.format_krea2_prompt_result(
fallback_request,
krea_formatter._krea_format_dependencies(),
)
public_fallback = krea_formatter.format_krea2_prompt(
fallback_request.source_text,
input_hint=fallback_request.input_hint,
target=fallback_request.target,
detail_level=fallback_request.detail_level,
style_mode=fallback_request.style_mode,
preserve_trigger=fallback_request.preserve_trigger,
)
_expect(typed_fallback.output == public_fallback, "Typed Krea format route should match public fallback output")
_expect(typed_fallback.branch == "fallback", "Typed Krea format route changed fallback branch")
_expect(typed_fallback.target == "auto", "Typed Krea format route should normalize invalid target")
_expect(typed_fallback.detail_level == "balanced", "Typed Krea format route should normalize invalid detail level")
_expect(typed_fallback.style_mode == "preserve", "Typed Krea format route should normalize invalid style mode")
_expect("blur" in typed_fallback.output.get("negative_prompt", ""), "Typed Krea fallback route lost Avoid negative")
def smoke_formatter_cast_policy() -> None:
descriptor = (
"Woman A / primary creator: 25-year-old adult woman, average figure, warm skin, dark hair; "
@@ -5515,6 +5622,7 @@ SMOKE_CASES: list[tuple[str, Callable[[], None]]] = [
("row_role_graph_policy", smoke_row_role_graph_policy),
("row_assembly_policy", smoke_row_assembly_policy),
("formatter_input_policy", smoke_formatter_input_policy),
("krea_format_route_policy", smoke_krea_format_route_policy),
("formatter_cast_policy", smoke_formatter_cast_policy),
("caption_policy", smoke_caption_policy),
("caption_text_policy", smoke_caption_text_policy),