Cover builder prompt route branches
This commit is contained in:
+93
-26
@@ -610,6 +610,40 @@ def smoke_config_route_location_theme() -> None:
|
|||||||
|
|
||||||
|
|
||||||
def smoke_builder_prompt_route_policy() -> None:
|
def smoke_builder_prompt_route_policy() -> None:
|
||||||
|
def legacy_from_request(request: builder_prompt_route.PromptBuildRequest) -> dict[str, Any]:
|
||||||
|
return 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,
|
||||||
|
character_profile=request.character_profile,
|
||||||
|
character_cast=request.character_cast,
|
||||||
|
expression_enabled=request.expression_enabled,
|
||||||
|
expression_phase=request.expression_phase,
|
||||||
|
hardcore_position_config=request.hardcore_position_config,
|
||||||
|
location_config=request.location_config,
|
||||||
|
composition_config=request.composition_config,
|
||||||
|
)
|
||||||
|
|
||||||
seed_config_json = pb.build_seed_lock_config_json(base_seed=3501, reroll_axis="content", reroll_seed=3502)
|
seed_config_json = pb.build_seed_lock_config_json(base_seed=3501, reroll_axis="content", reroll_seed=3502)
|
||||||
request = builder_prompt_route.PromptBuildRequest(
|
request = builder_prompt_route.PromptBuildRequest(
|
||||||
category="Casual clothes",
|
category="Casual clothes",
|
||||||
@@ -638,32 +672,7 @@ def smoke_builder_prompt_route_policy() -> None:
|
|||||||
expression_enabled=True,
|
expression_enabled=True,
|
||||||
)
|
)
|
||||||
typed_route = builder_prompt_route.build_prompt_result(request, pb._prompt_build_dependencies())
|
typed_route = builder_prompt_route.build_prompt_result(request, pb._prompt_build_dependencies())
|
||||||
legacy_row = pb.build_prompt(
|
legacy_row = legacy_from_request(request)
|
||||||
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.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.category == "Casual clothes", "Builder prompt route changed category")
|
||||||
_expect(typed_route.subcategory == "Casual clothes / Smart casual", "Builder prompt route changed subcategory")
|
_expect(typed_route.subcategory == "Casual clothes / Smart casual", "Builder prompt route changed subcategory")
|
||||||
@@ -677,6 +686,64 @@ def smoke_builder_prompt_route_policy() -> None:
|
|||||||
)
|
)
|
||||||
_expect_trigger_once("builder_prompt_route_policy.prompt", typed_route.row.get("prompt"), "sxcpinup_coloredpencil")
|
_expect_trigger_once("builder_prompt_route_policy.prompt", typed_route.row.get("prompt"), "sxcpinup_coloredpencil")
|
||||||
|
|
||||||
|
built_in_request = builder_prompt_route.PromptBuildRequest(
|
||||||
|
category="woman",
|
||||||
|
subcategory="random",
|
||||||
|
row_number=1,
|
||||||
|
start_index=1,
|
||||||
|
seed=3503,
|
||||||
|
clothing="full",
|
||||||
|
ethnicity="any",
|
||||||
|
poses="standard",
|
||||||
|
backside_bias=0.0,
|
||||||
|
figure="curvy",
|
||||||
|
no_plus_women=False,
|
||||||
|
no_black=False,
|
||||||
|
minimal_clothing_ratio=0.0,
|
||||||
|
standard_pose_ratio=1.0,
|
||||||
|
trigger=Trigger,
|
||||||
|
prepend_trigger_to_prompt=True,
|
||||||
|
extra_positive="built-in route marker",
|
||||||
|
extra_negative="built-in route negative",
|
||||||
|
expression_intensity=0.5,
|
||||||
|
expression_enabled=False,
|
||||||
|
)
|
||||||
|
built_in_route = builder_prompt_route.build_prompt_result(built_in_request, pb._prompt_build_dependencies())
|
||||||
|
_expect(built_in_route.row == legacy_from_request(built_in_request), "Builder built-in route should match public wrapper")
|
||||||
|
_expect(built_in_route.branch == "built_in", "Builder prompt route lost built-in branch")
|
||||||
|
_expect(built_in_route.row.get("source") == "built_in_generator", "Builder built-in branch changed source")
|
||||||
|
_expect(built_in_route.row.get("expression_disabled") is True, "Builder built-in branch lost expression disable")
|
||||||
|
_expect("built-in route marker" in built_in_route.row.get("prompt", ""), "Builder built-in branch lost extra positive")
|
||||||
|
|
||||||
|
auto_weighted_request = builder_prompt_route.PromptBuildRequest(
|
||||||
|
category="auto_weighted",
|
||||||
|
subcategory="random",
|
||||||
|
row_number=2,
|
||||||
|
start_index=10,
|
||||||
|
seed=3504,
|
||||||
|
clothing="random",
|
||||||
|
ethnicity="any",
|
||||||
|
poses="random",
|
||||||
|
backside_bias=0.35,
|
||||||
|
figure="random",
|
||||||
|
no_plus_women=False,
|
||||||
|
no_black=False,
|
||||||
|
minimal_clothing_ratio=0.4,
|
||||||
|
standard_pose_ratio=0.6,
|
||||||
|
trigger=Trigger,
|
||||||
|
prepend_trigger_to_prompt=True,
|
||||||
|
extra_positive="auto route marker",
|
||||||
|
extra_negative="auto route negative",
|
||||||
|
seed_config=pb.build_seed_lock_config_json(base_seed=3504, reroll_axis="person", reroll_seed=3505),
|
||||||
|
expression_intensity=0.7,
|
||||||
|
expression_enabled=True,
|
||||||
|
)
|
||||||
|
auto_route = builder_prompt_route.build_prompt_result(auto_weighted_request, pb._prompt_build_dependencies())
|
||||||
|
_expect(auto_route.row == legacy_from_request(auto_weighted_request), "Builder auto-weighted route should match public wrapper")
|
||||||
|
_expect(auto_route.branch == "auto_weighted", "Builder prompt route lost auto-weighted branch")
|
||||||
|
_expect(auto_route.parsed_seed_config.get("person_seed") == 3505, "Builder auto-weighted branch lost person seed lock")
|
||||||
|
_expect("auto route marker" in auto_route.row.get("prompt", ""), "Builder auto-weighted branch lost extra positive")
|
||||||
|
|
||||||
|
|
||||||
def smoke_builder_config_route_policy() -> None:
|
def smoke_builder_config_route_policy() -> None:
|
||||||
category_config = pb.build_category_config_json("women_casual", "Casual clothes / Smart casual")
|
category_config = pb.build_category_config_json("women_casual", "Casual clothes / Smart casual")
|
||||||
|
|||||||
Reference in New Issue
Block a user