Clarify modular node tooltips

This commit is contained in:
2026-06-27 18:24:37 +02:00
parent 6a65f7d35c
commit 29ca3ba369
2 changed files with 77 additions and 17 deletions
+14 -3
View File
@@ -7408,15 +7408,19 @@ def smoke_node_utility_registration() -> None:
for node_name in required_nodes:
_expect(node_name in sxcp_nodes.NODE_CLASS_MAPPINGS, f"{node_name} missing from node registry")
_expect(node_name in sxcp_nodes.NODE_DISPLAY_NAME_MAPPINGS, f"{node_name} missing from display registry")
global_seed_inputs = sxcp_nodes.NODE_CLASS_MAPPINGS["SxCPGlobalSeed"].INPUT_TYPES().get("required") or {}
global_seed_tooltip = global_seed_inputs.get("global_seed", (None, {}))[1].get("tooltip", "")
_expect("Connect seed to generator seed" in global_seed_tooltip, "Global Seed tooltip should explain generator wiring")
seed_control = sxcp_nodes.NODE_CLASS_MAPPINGS["SxCPSeedControl"]
seed_inputs = seed_control.INPUT_TYPES().get("required") or {}
_expect("category_seed_mode" in seed_inputs, "Seed Control lost category seed mode input")
_expect("tooltip" in seed_inputs["category_seed_mode"][1], "Seed Control tooltip injection missing")
_expect(seed_control.RETURN_NAMES == ("seed_config", "summary"), "Seed Control lost visible summary output")
category_seed_tooltip = node_tooltips._tooltip_for_input("SxCPSeedControl", "category_seed_mode")
_expect(
node_tooltips._tooltip_for_input("SxCPSeedControl", "category_seed_mode")
== "auto/follow_main follows the main seed; fixed uses category_seed; random rerolls this axis each queue.",
"random rerolls this axis at queue time" in category_seed_tooltip
and "field value stays unchanged" in category_seed_tooltip,
"Node tooltip policy lost Seed Control override",
)
_expect(
@@ -7928,9 +7932,16 @@ def smoke_node_character_registration() -> None:
_expect(node_name in sxcp_nodes.NODE_DISPLAY_NAME_MAPPINGS, f"{node_name} missing from display registry")
woman_slot_node = sxcp_nodes.NODE_CLASS_MAPPINGS["SxCPWomanSlot"]
woman_slot_inputs = woman_slot_node.INPUT_TYPES().get("required") or {}
woman_slot_input_types = woman_slot_node.INPUT_TYPES()
woman_slot_inputs = woman_slot_input_types.get("required") or {}
_expect("slot_seed" in woman_slot_inputs, "Woman Slot lost slot_seed input")
_expect("tooltip" in woman_slot_inputs["slot_seed"][1], "Woman Slot tooltip injection missing")
woman_slot_optional = woman_slot_input_types.get("optional") or {}
cast_tooltip = woman_slot_optional.get("character_cast", (None, {}))[1].get("tooltip", "")
_expect("incoming cast from the previous slot" in cast_tooltip, "Woman Slot character_cast tooltip should explain chain order")
man_slot_required = sxcp_nodes.NODE_CLASS_MAPPINGS["SxCPManSlot"].INPUT_TYPES().get("required") or {}
presence_tooltip = man_slot_required.get("presence_mode", (None, {}))[1].get("tooltip", "")
_expect("first-person viewer" in presence_tooltip, "Man Slot presence tooltip should explain POV behavior")
hair_config, hair_summary = sxcp_nodes.NODE_CLASS_MAPPINGS["SxCPHairColor"]().build(
"replace_axis",