Add H3 prompt subject count guard
This commit is contained in:
@@ -448,6 +448,7 @@ class DumasImageNodeTests(unittest.TestCase):
|
||||
result = node.curate_prompt(
|
||||
action_prompt="Dave runs from the Coffee Shop into the rain.",
|
||||
anatomy_guard="auto",
|
||||
subject_count_guard="auto",
|
||||
anchor="grounded handheld thriller",
|
||||
soundscape="steady rain",
|
||||
ref_1=dave,
|
||||
@@ -460,6 +461,8 @@ class DumasImageNodeTests(unittest.TestCase):
|
||||
self.assertIn("<Picture 2> Coffee Shop", prompt)
|
||||
self.assertIn("Action: Dave runs from the Coffee Shop into the rain.", prompt)
|
||||
self.assertIn("Anatomy guard:", prompt)
|
||||
self.assertIn("Subject count guard:", prompt)
|
||||
self.assertIn("exactly one named character: <Picture 1> Dave", prompt)
|
||||
self.assertIs(result[1], dave_image)
|
||||
self.assertIs(result[2], cafe_image)
|
||||
self.assertIsNone(result[3])
|
||||
@@ -478,6 +481,7 @@ class DumasImageNodeTests(unittest.TestCase):
|
||||
result = node.curate_prompt(
|
||||
action_prompt="<Picture 1> Maya crosses to <ref3> as the wind rises.",
|
||||
anatomy_guard="off",
|
||||
subject_count_guard="off",
|
||||
ref_1=first,
|
||||
ref_2=second,
|
||||
ref_3=third,
|
||||
@@ -491,6 +495,24 @@ class DumasImageNodeTests(unittest.TestCase):
|
||||
self.assertIsNone(result[3])
|
||||
self.assertEqual(result[10], 2)
|
||||
|
||||
def test_h3_prompt_curator_can_force_subject_count_without_character_refs(self):
|
||||
node = self.image_nodes.DumasH3PromptCuratorNode()
|
||||
|
||||
result = node.curate_prompt(
|
||||
action_prompt="A locked-off shot of the empty corridor.",
|
||||
anatomy_guard="off",
|
||||
subject_count_guard="on",
|
||||
)
|
||||
|
||||
self.assertIn("Subject count guard:", result[0])
|
||||
self.assertIn("Only include the people explicitly described", result[0])
|
||||
self.assertEqual(result[10], 0)
|
||||
|
||||
def test_h3_prompt_curator_defaults_anatomy_guard_to_on(self):
|
||||
required = self.image_nodes.DumasH3PromptCuratorNode.INPUT_TYPES()["required"]
|
||||
|
||||
self.assertEqual(required["anatomy_guard"][1]["default"], "on")
|
||||
|
||||
def test_helper_node_mappings_use_general_purpose_helpers(self):
|
||||
mappings = self.image_nodes.NODE_CLASS_MAPPINGS
|
||||
display = self.image_nodes.NODE_DISPLAY_NAME_MAPPINGS
|
||||
|
||||
Reference in New Issue
Block a user