Normalize built-in row appearance metadata
This commit is contained in:
@@ -580,6 +580,10 @@ def smoke_builtin_single() -> None:
|
||||
_expect(row.get("scene_entry", {}).get("slug") == row.get("scene"), "builtin single row lost scene_entry slug")
|
||||
item = _expect_text("builtin_single_woman.item", row.get("item"), 8)
|
||||
pose = _expect_text("builtin_single_woman.pose", row.get("pose"), 8)
|
||||
body_phrase = _expect_text("builtin_single_woman.body_phrase", row.get("body_phrase"), 8)
|
||||
skin = _expect_text("builtin_single_woman.skin", row.get("skin"), 8)
|
||||
hair = _expect_text("builtin_single_woman.hair", row.get("hair"), 5)
|
||||
eyes = _expect_text("builtin_single_woman.eyes", row.get("eyes"), 4)
|
||||
_expect(row.get("item_label") == "Clothing", "builtin single row lost item label")
|
||||
_expect(row.get("clothing") == item, "builtin single row did not mirror clothing into item metadata")
|
||||
_expect("fashion editorial styling" not in item.lower(), "builtin single item kept generic styling suffix")
|
||||
@@ -613,13 +617,24 @@ def smoke_builtin_single() -> None:
|
||||
)
|
||||
_expect(item in str(krea_metadata.get("krea_prompt", "")), "Krea metadata-only built-in route lost explicit item")
|
||||
_expect(pose in str(krea_metadata.get("krea_prompt", "")), "Krea metadata-only built-in route lost explicit pose")
|
||||
_expect(body_phrase in str(krea_metadata.get("krea_prompt", "")), "Krea metadata-only built-in route lost body phrase")
|
||||
_expect(skin in str(krea_metadata.get("krea_prompt", "")), "Krea metadata-only built-in route lost skin")
|
||||
_expect(hair in str(krea_metadata.get("krea_prompt", "")), "Krea metadata-only built-in route lost hair")
|
||||
_expect(eyes in str(krea_metadata.get("krea_prompt", "")), "Krea metadata-only built-in route lost eyes")
|
||||
item_anchor = " ".join(re.findall(r"[a-z0-9]+", item.lower())[:3])
|
||||
pose_anchor = " ".join(re.findall(r"[a-z0-9]+", pose.lower())[:4])
|
||||
sdxl_metadata_prompt = str(sdxl_metadata.get("sdxl_prompt", "")).lower()
|
||||
_expect(item_anchor in sdxl_metadata_prompt, "SDXL metadata-only built-in route lost explicit item")
|
||||
_expect(pose_anchor in sdxl_metadata_prompt, "SDXL metadata-only built-in route lost explicit pose")
|
||||
for body_tag in sdxl_tag_policy.split_tag_text(body_phrase):
|
||||
_expect(body_tag.lower() in sdxl_metadata_prompt, f"SDXL metadata-only built-in route lost body tag: {body_tag}")
|
||||
_expect(skin.lower() in sdxl_metadata_prompt, "SDXL metadata-only built-in route lost skin")
|
||||
_expect(hair.lower() in sdxl_metadata_prompt, "SDXL metadata-only built-in route lost hair")
|
||||
_expect(eyes.lower() in sdxl_metadata_prompt, "SDXL metadata-only built-in route lost eyes")
|
||||
_expect(caption_metadata_method.endswith("metadata(single)"), "Caption metadata-only built-in route did not use single metadata branch")
|
||||
_expect(item in caption_metadata and pose in caption_metadata, "Caption metadata-only built-in route lost explicit item or pose")
|
||||
_expect(body_phrase in caption_metadata and skin in caption_metadata, "Caption metadata-only built-in route lost appearance")
|
||||
_expect(hair in caption_metadata and eyes in caption_metadata, "Caption metadata-only built-in route lost hair or eyes")
|
||||
_expect_formatter_outputs(row, "builtin_single_woman", target="single")
|
||||
|
||||
|
||||
@@ -2877,6 +2892,33 @@ def smoke_row_normalization_policy() -> None:
|
||||
_expect("calm smile" in str(legacy_couple.get("expression", "")), "Legacy couple row lost expression metadata")
|
||||
_expect("cast_summary" not in legacy_couple, "Legacy couple row should not gain configured-cast summary")
|
||||
|
||||
legacy_single = row_normalization.normalize_prompt_row(
|
||||
{
|
||||
"source": "built_in_generator",
|
||||
"primary_subject": "woman",
|
||||
"scene": "studio",
|
||||
"age_band": "25-year-old adult",
|
||||
"body_type": "curvy",
|
||||
"figure": "soft curves, defined waist",
|
||||
"caption": (
|
||||
f"{Trigger}, woman, 25-year-old adult, curvy figure with soft curves, defined waist, "
|
||||
"warm skin, short blonde hair, blue eyes, pose, expression, clothing, scene, composition"
|
||||
),
|
||||
"prompt": (
|
||||
"A woman. Scene: old studio. Pose: standing calmly. "
|
||||
"Facial expression: direct look. Clothing: fitted dress, fashion editorial styling. "
|
||||
"Composition: vertical portrait."
|
||||
),
|
||||
"negative_prompt": "bad anatomy",
|
||||
},
|
||||
active_trigger=Trigger,
|
||||
prepend_trigger_to_prompt=False,
|
||||
)
|
||||
_expect(legacy_single.get("body_phrase") == "curvy figure with soft curves, defined waist", "Legacy single row lost body phrase")
|
||||
_expect(legacy_single.get("skin") == "warm skin", "Legacy single row lost skin metadata")
|
||||
_expect(legacy_single.get("hair") == "short blonde hair", "Legacy single row lost hair metadata")
|
||||
_expect(legacy_single.get("eyes") == "blue eyes", "Legacy single row lost eye metadata")
|
||||
|
||||
legacy_group = row_normalization.normalize_prompt_row(
|
||||
{
|
||||
"source": "built_in_generator",
|
||||
|
||||
Reference in New Issue
Block a user