Extract builder prompt route
This commit is contained in:
@@ -29,6 +29,7 @@ import caption_metadata_routes # noqa: E402
|
||||
import caption_policy # noqa: E402
|
||||
import caption_text_policy # noqa: E402
|
||||
import builder_config_route # noqa: E402
|
||||
import builder_prompt_route # noqa: E402
|
||||
import cast_context # noqa: E402
|
||||
import category_extensions # noqa: E402
|
||||
import category_template_metadata # noqa: E402
|
||||
@@ -605,6 +606,75 @@ def smoke_config_route_location_theme() -> None:
|
||||
_expect_formatter_outputs(row, "config_route_location_theme", target="single")
|
||||
|
||||
|
||||
def smoke_builder_prompt_route_policy() -> None:
|
||||
seed_config_json = pb.build_seed_lock_config_json(base_seed=3501, reroll_axis="content", reroll_seed=3502)
|
||||
request = builder_prompt_route.PromptBuildRequest(
|
||||
category="Casual clothes",
|
||||
subcategory="Casual clothes / Smart casual",
|
||||
row_number=3,
|
||||
start_index=8,
|
||||
seed=3501,
|
||||
clothing="random",
|
||||
ethnicity="french_european",
|
||||
poses="random",
|
||||
backside_bias=0.2,
|
||||
figure="random",
|
||||
no_plus_women=False,
|
||||
no_black=False,
|
||||
minimal_clothing_ratio=0.3,
|
||||
standard_pose_ratio=0.4,
|
||||
trigger="sxcpinup_coloredpencil",
|
||||
prepend_trigger_to_prompt=True,
|
||||
extra_positive="typed builder route marker",
|
||||
extra_negative="typed builder negative marker",
|
||||
seed_config=seed_config_json,
|
||||
women_count=1,
|
||||
men_count=0,
|
||||
camera_config=_orbit_camera(horizontal_angle=45, vertical_angle=0, zoom=5.5),
|
||||
expression_intensity=0.6,
|
||||
expression_enabled=True,
|
||||
)
|
||||
typed_route = builder_prompt_route.build_prompt_result(request, pb._prompt_build_dependencies())
|
||||
legacy_row = pb.build_prompt(
|
||||
category=request.category,
|
||||
subcategory=request.subcategory,
|
||||
row_number=request.row_number,
|
||||
start_index=request.start_index,
|
||||
seed=request.seed,
|
||||
clothing=request.clothing,
|
||||
ethnicity=request.ethnicity,
|
||||
poses=request.poses,
|
||||
backside_bias=request.backside_bias,
|
||||
figure=request.figure,
|
||||
no_plus_women=request.no_plus_women,
|
||||
no_black=request.no_black,
|
||||
minimal_clothing_ratio=request.minimal_clothing_ratio,
|
||||
standard_pose_ratio=request.standard_pose_ratio,
|
||||
trigger=request.trigger,
|
||||
prepend_trigger_to_prompt=request.prepend_trigger_to_prompt,
|
||||
extra_positive=request.extra_positive,
|
||||
extra_negative=request.extra_negative,
|
||||
seed_config=request.seed_config,
|
||||
women_count=request.women_count,
|
||||
men_count=request.men_count,
|
||||
camera_config=request.camera_config,
|
||||
expression_intensity=request.expression_intensity,
|
||||
expression_enabled=request.expression_enabled,
|
||||
)
|
||||
_expect(typed_route.row == legacy_row, "Typed builder prompt route should match public wrapper output")
|
||||
_expect(typed_route.category == "Casual clothes", "Builder prompt route changed category")
|
||||
_expect(typed_route.subcategory == "Casual clothes / Smart casual", "Builder prompt route changed subcategory")
|
||||
_expect(typed_route.branch == "custom", "Builder prompt route should use custom branch for category JSON route")
|
||||
_expect(typed_route.parsed_seed_config.get("content_seed") == 3502, "Builder prompt route lost seed config")
|
||||
_expect("typed builder route marker" in typed_route.row.get("prompt", ""), "Builder prompt route lost extra positive")
|
||||
_expect("typed builder negative marker" in typed_route.row.get("negative_prompt", ""), "Builder prompt route lost extra negative")
|
||||
_expect(
|
||||
"45-degree front-right quarter view" in typed_route.row.get("camera_directive", ""),
|
||||
"Builder prompt route lost camera config",
|
||||
)
|
||||
_expect_trigger_once("builder_prompt_route_policy.prompt", typed_route.row.get("prompt"), "sxcpinup_coloredpencil")
|
||||
|
||||
|
||||
def smoke_builder_config_route_policy() -> None:
|
||||
category_config = pb.build_category_config_json("women_casual", "Casual clothes / Smart casual")
|
||||
cast_config = pb.build_cast_config_json("solo_woman")
|
||||
@@ -5422,6 +5492,7 @@ SMOKE_CASES: list[tuple[str, Callable[[], None]]] = [
|
||||
("camera_scene_single", smoke_camera_scene_single),
|
||||
("row_camera_policy", smoke_row_camera_policy),
|
||||
("config_route_location_theme", smoke_config_route_location_theme),
|
||||
("builder_prompt_route_policy", smoke_builder_prompt_route_policy),
|
||||
("builder_config_route_policy", smoke_builder_config_route_policy),
|
||||
("krea_normal_row_routes", smoke_krea_normal_row_routes),
|
||||
("krea_row_fields_policy", smoke_krea_row_fields_policy),
|
||||
|
||||
Reference in New Issue
Block a user