<div dir="ltr">I know this is controversial, but hear me out.<div><br></div><div>Why not just do a dynamic import of X3D Python binding (X3DPSAIL) models into Blender, and have the importer map the X3D scene graph to Blender?  No XML, JSON, VRML, etc.</div><div><br></div><div>Also, just export X3D Python binding code (X3DPSAIL) from Blender models.  Then we can run the python to create VRML, XML, etc.</div><div><br></div><div>Similarly, we can convert XML to Python, and different encodings to XML.</div><div><br></div><div>The missing link appears to the X3DPSAIL to Blender mapping, which is currently encoded in the importers/exporters that we have.  Aaron is studying the Blender API.  I can't really do that successfully.  I think it's critical to create a mapping specification for posterity.  I think that Aaron, Doug, NIST or Don or others may be best able to do that.  I can help a little with armature and vertex groups.</div><div><br></div><div>I do not know if this is possible, but look at this code I did in Java:</div><div><br></div><div><a href="https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/java/net/coderextreme/visitor/X3DElement.java">https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/java/net/coderextreme/visitor/X3DElement.java</a></div><div><br></div><div><br class="gmail-Apple-interchange-newline">The whole folder is generated code. I can probably easily generate a visitor pattern for Python, possibly separate from X3DPSAIL.  We just have to know what to do for each node in the scenegraph.</div><div><br></div><div>and:</div><div><br></div><div><a href="https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/java/net/coderextreme/Remove.java">https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/java/net/coderextreme/Remove.java</a></div><div><br></div><div>This allows you to remove nodes from the scene graph.</div><div><br></div><div>The way the Python models are exported from X3DJSAIL and stylesheets,  It's comparable to XML and VRML.  Maybe we could make a Python X3D encoding for safety?</div><div><br></div><div>I think at this point, we start with a small python example, say just a sphere with different colors, lighting and materials, and try to create a mapping to Blender.  Perhaps HelloWorld.py will do:</div><div><br></div><div><a href="https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloWorld.py">web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloWorld.py</a></div><div><br></div><div>I think what we may want to do is just change the x3d import at the top to something like what does the Blender Python API loading.  We may have 2 hierarchies, one for import and one for export.</div><div><br></div><div>IDK.  I'm a dummy.</div><div><br></div><div>John</div><div><br></div></div>