aboutsummaryrefslogtreecommitdiffstats
path: root/tests/data/lib
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-28 10:32:19 +0100
committerDanilo M. <danix@danix.xyz>2026-10-28 10:32:31 +0100
commit2f037b14ee5fe799b19bfaf838c13dca649574e1 (patch)
tree3919b550128a8fc1d244aa26934d39e67f3e39c2 /tests/data/lib
parent1402ca7d6c2bb0cea2cf52a4ecce7b809ebf31b1 (diff)
downloadgenerat3D-2f037b14ee5fe799b19bfaf838c13dca649574e1.tar.gz
generat3D-2f037b14ee5fe799b19bfaf838c13dca649574e1.zip
Load .duf scenes: figure, bones, morphs, dials and formulas
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Diffstat (limited to 'tests/data/lib')
-rw-r--r--tests/data/lib/data/Test/Fig/Fig.dsf21
-rw-r--r--tests/data/lib/data/Test/Fig/Morphs/Test/Broken.dsf1
-rw-r--r--tests/data/lib/data/Test/Fig/Morphs/Test/Tall.dsf18
-rw-r--r--tests/data/lib/data/Test/Fig/Morphs/Test/Wide.dsf8
4 files changed, 48 insertions, 0 deletions
diff --git a/tests/data/lib/data/Test/Fig/Fig.dsf b/tests/data/lib/data/Test/Fig/Fig.dsf
new file mode 100644
index 0000000..5589a23
--- /dev/null
+++ b/tests/data/lib/data/Test/Fig/Fig.dsf
@@ -0,0 +1,21 @@
+{
+ "file_version": "0.6.0.0",
+ "node_library": [
+ {"id": "Fig", "name": "Fig", "label": "Test Figure", "type": "figure",
+ "rotation_order": "XYZ",
+ "center_point": [{"id": "x", "value": 0}, {"id": "y", "value": 0}, {"id": "z", "value": 0}],
+ "end_point": [{"id": "x", "value": 0}, {"id": "y", "value": 10}, {"id": "z", "value": 0}],
+ "orientation": [{"id": "x", "value": 0}, {"id": "y", "value": 0}, {"id": "z", "value": 0}]},
+ {"id": "hip", "name": "hip", "label": "Hip", "type": "bone", "parent": "#Fig",
+ "rotation_order": "YZX",
+ "center_point": [{"id": "x", "value": 0}, {"id": "y", "value": 5}, {"id": "z", "value": 0}],
+ "end_point": [{"id": "x", "value": 0}, {"id": "y", "value": 8}, {"id": "z", "value": 0}],
+ "orientation": [{"id": "x", "value": 0}, {"id": "y", "value": 0}, {"id": "z", "value": 0}]}
+ ],
+ "geometry_library": [
+ {"id": "Fig-geom",
+ "vertices": {"count": 3, "values": [[0, 0, 0], [1, 0, 0], [0, 1, 0]]},
+ "polygon_material_groups": {"count": 1, "values": ["Skin"]},
+ "polylist": {"count": 1, "values": [[0, 0, 0, 1, 2]]}}
+ ]
+}
diff --git a/tests/data/lib/data/Test/Fig/Morphs/Test/Broken.dsf b/tests/data/lib/data/Test/Fig/Morphs/Test/Broken.dsf
new file mode 100644
index 0000000..e0c93d7
--- /dev/null
+++ b/tests/data/lib/data/Test/Fig/Morphs/Test/Broken.dsf
@@ -0,0 +1 @@
+{not json
diff --git a/tests/data/lib/data/Test/Fig/Morphs/Test/Tall.dsf b/tests/data/lib/data/Test/Fig/Morphs/Test/Tall.dsf
new file mode 100644
index 0000000..dff777e
--- /dev/null
+++ b/tests/data/lib/data/Test/Fig/Morphs/Test/Tall.dsf
@@ -0,0 +1,18 @@
+{
+ "file_version": "0.6.0.0",
+ "modifier_library": [
+ {"id": "Tall", "parent": "/data/Test/Fig/Fig.dsf#Fig",
+ "channel": {"id": "value", "type": "float", "value": 0, "min": 0, "max": 1, "clamped": true},
+ "morph": {"vertex_count": 3, "deltas": {"count": 1, "values": [[1, 0, 2, 0]]}},
+ "formulas": [
+ {"output": "hip:/data/Test/Fig/Fig.dsf#hip?center_point/y",
+ "operations": [{"op": "push", "url": "Fig:/data/Test/Fig/Morphs/Test/Tall.dsf#Tall?value"},
+ {"op": "push", "val": 2}, {"op": "mult"}]},
+ {"output": "Fig:/data/Test/Fig/Morphs/Test/Wide.dsf#Wide?value",
+ "operations": [{"op": "push", "url": "Fig:/data/Test/Fig/Morphs/Test/Tall.dsf#Tall?value"},
+ {"op": "push", "val": 0.5}, {"op": "mult"}]},
+ {"output": "Fig:/data/Test/Fig/Morphs/Test/Wide.dsf#Wide?value",
+ "operations": [{"op": "push", "url": "hip:/data/Test/Fig/Fig.dsf#hip?rotation/x"}]}
+ ]}
+ ]
+}
diff --git a/tests/data/lib/data/Test/Fig/Morphs/Test/Wide.dsf b/tests/data/lib/data/Test/Fig/Morphs/Test/Wide.dsf
new file mode 100644
index 0000000..721606c
--- /dev/null
+++ b/tests/data/lib/data/Test/Fig/Morphs/Test/Wide.dsf
@@ -0,0 +1,8 @@
+{
+ "file_version": "0.6.0.0",
+ "modifier_library": [
+ {"id": "Wide", "parent": "/data/Test/Fig/Fig.dsf#Fig",
+ "channel": {"id": "value", "type": "float", "value": 0, "min": 0, "max": 1, "clamped": true},
+ "morph": {"vertex_count": 3, "deltas": {"count": 2, "values": [[0, -1, 0, 0], [1, 1, 0, 0]]}}}
+ ]
+}