aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_scene.py
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-28 10:43:38 +0100
committerDanilo M. <danix@danix.xyz>2026-10-28 10:43:38 +0100
commit91c87e7dbcb3029d23ce0baa9b2bcab1394381c3 (patch)
tree1fd3492183c3bb2097ae3b19ebe7a6f407cfdd83 /tests/test_scene.py
parent688b945b206d94e4176f69f2dc8bdcb810061b36 (diff)
downloadgenerat3D-91c87e7dbcb3029d23ce0baa9b2bcab1394381c3.tar.gz
generat3D-91c87e7dbcb3029d23ce0baa9b2bcab1394381c3.zip
Apply only the figure's own dial values
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Diffstat (limited to 'tests/test_scene.py')
-rw-r--r--tests/test_scene.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/test_scene.py b/tests/test_scene.py
index 13b80bb..6ea7fa3 100644
--- a/tests/test_scene.py
+++ b/tests/test_scene.py
@@ -190,3 +190,23 @@ class SceneTest(unittest.TestCase):
"channel": {"id": "value", "current_value": 1}}]}), [root])
self.assertIn("Fig:Bulk?value", scene.figure.morphs)
self.assertEqual(scene.graph.props["Fig:Bulk?value"].value, 1)
+
+ def tall(self, parent="#Fig", value=1, url="/data/Test/Fig/Morphs/Test/Tall.dsf#Tall"):
+ return {"id": url.split("#")[1], "url": url, "parent": parent,
+ "channel": {"id": "value", "current_value": value}}
+
+ def test_other_node_modifier_ignored(self):
+ scene, _ = load_quiet(self.duf({"nodes": self.base_nodes(), "modifiers": [
+ self.tall(),
+ self.tall("#Shirt", 0, "/data/Test/Shirt/Shirt.dsf#Tall")]}))
+ self.assertEqual(scene.graph.props["Fig:Tall?value"].value, 1)
+
+ def test_other_node_animation_ignored(self):
+ scene, _ = load_quiet(self.duf({"nodes": self.base_nodes(), "animations": [
+ {"url": "Fig:#Tall?value", "keys": [[0, 1]]},
+ {"url": "Shirt:#Tall?value", "keys": [[0, 0]]}]}))
+ self.assertEqual(scene.graph.props["Fig:Tall?value"].value, 1)
+
+ def test_follower_modifier_not_reported_missing(self):
+ load_quiet(self.duf({"nodes": self.base_nodes(), "modifiers": [
+ self.tall("#Shirt", 1, "/data/Test/Shirt/Shirt.dsf#Loose")]}))