<div dir="ltr"><div>1. John it is not clear what you mean by "versions of x3d.py that get out of date" since x3d.py is autogenerated by X3DUOM, and therefore guaranteed to match X3D as defined by the International Specification. As we keep refining utilities and adding features, this is a stable Python module.</div><div><br></div><div>2. Reiterating a question from this week's call: wondering if anyone has tried using x3d.py in combination with the Blender Python API. Might be interesting, and that is another alternative that might be an interesting and durable approach.</div><div><br></div><div>3. Zooming back: am thinking that improvements to native Blender X3D export has the most potential for broad usage and impact. Thanks for sharing the source link. The example that Vince shared, now online in archives, is super and demonstrates that the existing exporter has many capabilities.</div><div><ul><li style="margin-left:15px"><a href="https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/Conversions/BlenderX3dTheoremIndex.html" target="_blank">X3D4AM, X3D for Advanced Modeling Examples Archive, Conversions, Blender X3D Theorem</a></li><li style="margin-left:15px"><a href="https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/Conversions/BlenderX3dTheoremIndex.html" target="_blank">https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/Conversions/BlenderX3dTheoremIndex.html</a></li></ul><div>If someone is looking for a relatively small but important improvement to the blender exporter, namely</div></div><div><ul><li><span style="color:rgb(0,0,0);font-family:"Times New Roman"">Blender exporter for Web3D X3D/VRML2 format v2.5.1</span></li><li><a href="https://extensions.blender.org/add-ons/web3d-x3d-vrml2-format/versions" target="_blank" style="font-family:"Times New Roman"">https://extensions.blender.org/add-ons/web3d-x3d-vrml2-format/versions</a></li></ul><div>then a good entry-level challenge would be to improve how Blender exports Viewpoint nodes. Nesting them inside a Transform makes them hard to modify for a Plain Old X3D Author. Example using X3D Model Documentation:</div></div><div><ul><li><a href="https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/Conversions/BlenderX3dTheorem.html#Camera_TRANSFORM">BlenderX3dTheorem.x3d (X3dToXhtml listing)</a> lines 113-115</li><li><a href="https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/Conversions/BlenderX3dTheorem.html#Camera_TRANSFORM">https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/Conversions/BlenderX3dTheorem.html#Camera_TRANSFORM</a></li></ul><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><table id="gmail-LineNumberTable.bottom" class="gmail-lineNumber" style="color:rgb(0,0,0);font-family:"Times New Roman";font-size:medium"><tbody><tr class="gmail-lineNumber"><td class="gmail-lineNumber" style="font-family:monospace"><font size="1"><a href="https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/Conversions/BlenderX3dTheorem.html#113">113</a> </font></td><td><font size="1"><a id="gmail-113"></a><a id="gmail-Camera_TRANSFORM"></a> <span title="Transform translates, orients and scales child geometry within the local world coordinate system"><<span class="element" style="color:navy">Transform</span> <span class="gmail-attribute" style="color:green">DEF</span>='<a title="bookmark link to Camera_TRANSFORM" href="https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/Conversions/BlenderX3dTheorem.html#Camera_TRANSFORM" class="gmail-idName" style="color:maroon">Camera_TRANSFORM</a>' <span class="gmail-attribute" style="color:green">rotation</span>='<span class="gmail-value" style="color:teal">-0.788280 -0.609329 -0.085636 0.352866</span>' <span class="gmail-attribute" style="color:green">scale</span>='<span class="gmail-value" style="color:teal">1.000000 1.000000 1.000000</span>' <span class="gmail-attribute" style="color:green">translation</span>='<span class="gmail-value" style="color:teal">-1.197213 1.649556 5.238984</span>'></span></font></td></tr><tr class="gmail-lineNumber"><td class="gmail-lineNumber" style="font-family:monospace"><font size="1"><a href="https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/Conversions/BlenderX3dTheorem.html#114">114</a> </font></td><td><font size="1"><a id="gmail-114"></a><a id="gmail-CA_Camera"></a> <span title="Viewpoint provides a specific location and direction where the user may view the scene"><<span class="element" style="color:navy">Viewpoint</span> <span class="gmail-attribute" style="color:green">DEF</span>='<a title="bookmark link to CA_Camera" href="https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/Conversions/BlenderX3dTheorem.html#CA_Camera" class="gmail-idName" style="color:maroon">CA_Camera</a>' <span class="gmail-attribute" style="color:green">description</span>='<a title="viewpoint image (produced using Xj3D)" href="https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/Conversions/_viewpoints/BlenderX3dTheorem.x3d._VP_Blender_5.0.1_view.png">Blender 5.0.1 view</a>' <span class="gmail-attribute" style="color:green">fieldOfView</span>='<span class="gmail-value" style="color:teal">0.906</span>' <span class="gmail-attribute" style="color:green">orientation</span>='<span class="gmail-value" style="color:teal">0.97 -0.01 -0.22 0.00</span>' <span class="gmail-attribute" style="color:green">position</span>='<span class="gmail-value" style="color:teal">-0.00 -0.00 -0.00</span>'/></span></font></td></tr><tr><td class="gmail-lineNumber" style="font-family:monospace"><font size="1"><a id="gmail-115"></a><a href="https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/Conversions/BlenderX3dTheorem.html#115">115</a> </font></td><td><font size="1"> <span title="Transform translates, orients and scales child geometry within the local world coordinate system" style=""></<span class="element" style="color:navy">Transform</span>></span></font></td></tr></tbody></table><br></blockquote><div>Perhaps an even-simpler exporter-improvement task would be to omit trailing zeroes from floating point numbers. </div></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div style="color:rgb(34,34,34)"><font face="monospace"><br></font></div><div style="color:rgb(34,34,34)"><font face="monospace">all the best, Don</font></div><div style="color:rgb(34,34,34)"><font face="monospace">-- </font></div><div style="color:rgb(34,34,34)"><font face="monospace">X3D Graphics, Maritime Robotics, Distributed Simulation</font></div><div style="color:rgb(34,34,34)"><font face="monospace">Relative Motion Consulting <a href="https://RelativeMotion.info" target="_blank">https://RelativeMotion.info</a></font></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Feb 11, 2026 at 4:30 PM John Carlson via X3D-Ecosystem <<a href="mailto:x3d-ecosystem@web3d.org" target="_blank">x3d-ecosystem@web3d.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><br></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Feb 11, 2026 at 5:22 AM Vincent Marchetti via X3D-Ecosystem <<a href="mailto:x3d-ecosystem@web3d.org" target="_blank">x3d-ecosystem@web3d.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><br id="m_3246583959017379340m_2273510991162374979m_5350705288322146617lineBreakAtBeginningOfMessage"><div><br><div dir="auto">1. The Blender Python API documentation ; my practice for locating information is to do a search on "Blender Python API {keywords}" . Ignore the AI generated stuff, it's generally a directly plagiarize of the Blender documentation.</div></div></div></blockquote><div dir="auto"><br></div><div dir="auto">Good point, Vince. I assume you mean AI generated documentation. Of course everyone who programs in Blender Python is plagiarizing the documentation (or the glTF addon/extension code).</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div><div dir="auto"></div><div><br></div><div dir="auto">2. The source code for the Blender extension for exporting glTF; it also searches the Blender shader graph to populated the glTF material properties. This source code is at <a href="https://projects.blender.org/blender/blender/src/branch/main/scripts/addons_core/io_scene_gltf2" target="_blank">https://projects.blender.org/blender/blender/src/branch/main/scripts/addons_core/io_scene_gltf</a>2</div></div></div></blockquote><div dir="auto"><br>see above comment. The beauty of blender XML is that it uses ElementTree to generate and read XML, so there’s no custom XML API and no need to include versions of x3d.py that get out of date. Indeed, Blender XML currently operates as an external script, and may evolve independently.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div><div dir="auto"></div><div><br></div><div dir="auto">3. For deep level hacking, the results of the BlenderXML work might solve a deep-level problem; but as Michalis pointed out, what you get from that might be dependent on Blender version.</div></div></div></blockquote><div dir="auto"><br></div><div dir="auto">Yes, we will have to version blender XML, but we have to version the Web3D Blender plugin as well. The goal of Blender XML is to discover what’s in Blender without constantly referring to the web. I’m not really sure terminal-based web is ideal, but I’ve not tried it for very long. What the web offers is search.</div><div dir="auto"><br></div><div dir="auto">We can hope that the Blender XML code remains stable, but there’s really no guarantees about that, as it leverages Blender C++ code made accessible through python. Ultimately, .blend files remains the stablest way to upgrade.</div><div dir="auto"><br></div><div dir="auto">Blender XML is currently a WIP, because I now have 3 versions of the importer and 2 versions of the exporter, based on 4 models-3 that mostly work. I am currently working to resolve 2 importers into one. It has to do with skin coloring in the Shader tab.</div><div dir="auto"><br></div><div dir="auto">John</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div><div dir="auto"></div></div></div>
</blockquote></div></div>
-- <br>
X3D-Ecosystem mailing list<br>
<a href="mailto:X3D-Ecosystem@web3d.org" target="_blank">X3D-Ecosystem@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-ecosystem_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-ecosystem_web3d.org</a><br>
</blockquote></div>