Tighten Krea2 POV selector formatting

This commit is contained in:
2026-06-30 20:12:09 +02:00
parent f5ba07e340
commit 5f4dd7d77f
5 changed files with 194 additions and 21 deletions
+17 -1
View File
@@ -705,6 +705,18 @@ def _hardcore_position_summary(config: dict[str, Any]) -> str:
return hardcore_position_policy.hardcore_position_summary(config)
def _axis_values_with_krea2_variant_keys(
axis_values: dict[str, Any],
hardcore_position_config: dict[str, Any],
) -> dict[str, Any]:
variant_keys = hardcore_position_config.get("krea2_variant_keys") if isinstance(hardcore_position_config, dict) else []
if not isinstance(variant_keys, list) or not variant_keys:
return axis_values
merged = dict(axis_values)
merged["krea2_variant_keys"] = [str(key) for key in variant_keys if str(key).strip()]
return merged
def build_hardcore_position_pool_json(
hardcore_position_config: str | dict[str, Any] | None = "",
combine_mode: str = "replace",
@@ -2459,6 +2471,10 @@ def _build_custom_row(
action_family = action_route.action_family
text_fields = _row_text_fields(category, subcategory, item, style_config)
formatter_axis_values = _axis_values_with_krea2_variant_keys(
item_axis_values,
parsed_hardcore_position_config,
)
assembly_request = row_assembly_policy.CustomRowAssemblyRequest(
row_number=row_number,
@@ -2470,7 +2486,7 @@ def _build_custom_row(
subject_type=subject_type,
item_text=item_text,
item_name=item_name,
item_axis_values=item_axis_values,
item_axis_values=formatter_axis_values,
item_template_metadata=item_template_metadata,
formatter_hints=item_formatter_hints,
item_label=text_fields.item_label,