aboutsummaryrefslogtreecommitdiffstats
path: root/generat3d
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-28 10:44:34 +0100
committerDanilo M. <danix@danix.xyz>2026-10-28 10:44:34 +0100
commitd9ed29956b111c0881f546d7f6beddf9af26dc48 (patch)
treef10fb0f4a5d088f9040ba2559ab77be965d9d328 /generat3d
parent072edd76f8c6d567561c81a19b55a001bb5ea416 (diff)
downloadgenerat3D-d9ed29956b111c0881f546d7f6beddf9af26dc48.tar.gz
generat3D-d9ed29956b111c0881f546d7f6beddf9af26dc48.zip
Map bone names to ids in formula keys
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Diffstat (limited to 'generat3d')
-rw-r--r--generat3d/scene.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/generat3d/scene.py b/generat3d/scene.py
index 28dc00c..cccfcff 100644
--- a/generat3d/scene.py
+++ b/generat3d/scene.py
@@ -126,6 +126,7 @@ class _Loader:
self.pending = []
self.figure = self._figure(*figs[0])
self.ids = {n.id for n in self.figure.nodes} | {n.name for n in self.figure.nodes}
+ self.name2id = {n.name: n.id for n in self.figure.nodes}
for f, source in self.pending:
self._formula(f, source)
self._morphs(figs[0][1])
@@ -168,6 +169,7 @@ class _Loader:
node, _, ident, channel = parse_url(url)
if node not in self.ids or node == self.figure.name:
node = self.figure.id
+ node = self.name2id.get(node, node)
return key(node, ident, channel)
def _formula(self, f, source):