Accept flexible hardcore metadata labels

This commit is contained in:
2026-06-27 14:33:34 +02:00
parent 95dc8939b6
commit 0a0951e5e5
3 changed files with 98 additions and 5 deletions
+23
View File
@@ -44,6 +44,7 @@ import filter_config # noqa: E402
import formatter_detail # noqa: E402
import formatter_input # noqa: E402
import formatter_target # noqa: E402
import hardcore_action_metadata # noqa: E402
import hardcore_position_config # noqa: E402
import __init__ as sxcp_nodes # noqa: E402
import generation_profile_config # noqa: E402
@@ -3741,6 +3742,22 @@ def smoke_hardcore_position_config_policy() -> None:
)
_expect("outercourse_only" in hardcore_position_config.hardcore_position_focus_choices(), "Hardcore focus choices lost outercourse_only")
_expect("boobjob" in hardcore_position_config.hardcore_position_key_choices(), "Hardcore position keys lost boobjob")
_expect(
category_template_metadata.template_action_family({"action_family": "toy double"}) == "toy_double",
"Template action-family normalizer should accept spaced aliases",
)
_expect(
category_template_metadata.template_action_family({"action_family": "manual stimulation"}) == "foreplay",
"Template action-family normalizer should accept subcategory-style aliases",
)
_expect(
category_template_metadata.template_position_family({"position_family": "penetration"}) == "penetrative",
"Template position-family normalizer should accept action-style aliases",
)
_expect(
category_template_metadata.template_position_family({"position_family": "outer-course"}) == "outercourse",
"Template position-family normalizer should accept hyphenated aliases",
)
base = json.loads(
pb.build_hardcore_position_pool_json(
@@ -3876,6 +3893,12 @@ def smoke_hardcore_position_config_policy() -> None:
_expect(keys == ["doggy"], "Hardcore position key detection changed")
source_family = hardcore_position_config.hardcore_source_position_family({"slug": "manual_stimulation"}, filtered)
_expect(source_family == "manual", "Hardcore source family lookup changed")
source_action_family = hardcore_action_metadata.source_hardcore_action_family(
"outer-course",
"",
"generic contact",
)
_expect(source_action_family == "outercourse", "Source action-family fallback should accept hyphenated source aliases")
item_text, item_name, axis_values, template_metadata = pb._compose_item(
random.Random(42),
{},