diff options
| author | Danilo M. <danix@danix.xyz> | 2026-10-28 10:44:24 +0100 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-10-28 10:44:24 +0100 |
| commit | 1ef886da7e29aa619ab33e71c8136d87e40cdf37 (patch) | |
| tree | d9e1103bd9e2743fbf12dd4f52360362b61ba77d | |
| parent | 0838881b87f3a59ccd841d247e4b975347529220 (diff) | |
| download | generat3D-1ef886da7e29aa619ab33e71c8136d87e40cdf37.tar.gz generat3D-1ef886da7e29aa619ab33e71c8136d87e40cdf37.zip | |
Name the .dbz figure entry after the scene instance
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
| -rw-r--r-- | generat3d/dbz.py | 2 | ||||
| -rw-r--r-- | tests/test_dbz.py | 11 |
2 files changed, 13 insertions, 0 deletions
diff --git a/generat3d/dbz.py b/generat3d/dbz.py index 2a56230..e5b1aea 100644 --- a/generat3d/dbz.py +++ b/generat3d/dbz.py @@ -54,6 +54,8 @@ def build(scene, roots): root, bones = fig.nodes[0], fig.nodes[1:] entry = _node(root, rest[root.id]) entry.update({ + "name": fig.name, + "label": fig.label, "class": "DzFigure", "material groups": fig.material_groups, "num verts": len(verts), diff --git a/tests/test_dbz.py b/tests/test_dbz.py index 35c7699..2e5ffe8 100644 --- a/tests/test_dbz.py +++ b/tests/test_dbz.py @@ -83,3 +83,14 @@ class DbzTest(unittest.TestCase): with tempfile.TemporaryDirectory() as d: with self.assertRaisesRegex(Error, "cannot write"): write(self.doc, Path(d) / "missing" / "s.dbz") + + def test_instance_name_and_label_on_entry(self): + with tempfile.TemporaryDirectory() as d: + duf = Path(d) / "s.duf" + duf.write_text(json.dumps({"scene": {"nodes": [ + {"id": "Fig", "url": "/data/Test/Fig/Fig.dsf#Fig", + "name": "Alice", "label": "Alice Label"}]}})) + with contextlib.redirect_stderr(io.StringIO()): + doc = build(load(duf, Library([DATA / "lib"])), [DATA / "lib"]) + fig = doc["figures"][0] + self.assertEqual((fig["name"], fig["label"], fig["id"]), ("Alice", "Alice Label", "Fig")) |
