<div style="font-family: Arial, sans-serif; font-size: 14px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">Note: My advise about schema yesterday, which was admittedly unclear (sorry!) was to "use X3D schema when talking with AI".</div><div style="font-family: Arial, sans-serif; font-size: 14px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">Explanation:</div><div style="font-family: Arial, sans-serif; font-size: 14px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"><ul style="margin-top: 0px; margin-bottom: 0px;" data-editing-info="{"orderedStyleType":1,"unorderedStyleType":2}"><li style="list-style-type: "- ";"><span>In my experience with AI usage (Claude Code, Augment), if you want to get useful results -> it's beneficial to put unambiguous "validation step" to the goal you give to AI.  Because AI is stupid, but it can iterate and eventually get to a result that satisfies the validation.</span></li></ul></div><div style="font-family: Arial, sans-serif; font-size: 14px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"><ul style="margin-top: 0px; margin-bottom: 0px;" data-editing-info="{"orderedStyleType":1,"unorderedStyleType":2}"><li style="list-style-type: "- ";"><span>Those who know me -> know that my opinion of AI is both "somewhat skeptic" and "<span>somewhat </span>enthusiastic" at the same time :) It's a complicated topic. The AI can make terrible stupid useless stuff. But it can also be useful and impressive in certain cases. Some of my guidelines about AI usage are on <span><a target="_blank" rel="noreferrer nofollow noopener" href="https://castle-engine.io/ai">https://castle-engine.io/ai</a></span> , and their short version is "use AI as a tool to make yourself smarter / faster; do not use AI to lose understanding (and/or control) and get dumber".</span></li></ul><div><br></div><div>With regards to John work on .blxml, my recommendation would be use Claude Code in a directory with produced .blxml file <b>and</b>​ with the X3D schema (xsd) from <span><a target="_blank" rel="noreferrer nofollow noopener" href="https://www.web3d.org/specifications/">https://www.web3d.org/specifications/</a></span> . The fact that files are large is not a problem -- we don't need AI to keep the .blxml in context as a whole. Try instructions like:</div><div><br></div><div>"""</div><div>Develop a conversion script to convert </div><div><br></div><div><ul style="margin-top: 0px; margin-bottom: 0px;" data-editing-info="{"orderedStyleType":1,"unorderedStyleType":2}"><li style="list-style-type: "- ";"><span>from provided .blxml file (this is an XML dump of the Blender data extracted using "bpy.data" API)</span></li></ul><div><br></div><ul style="margin-top: 0px; margin-bottom: 0px;" data-editing-info="{"orderedStyleType":1,"unorderedStyleType":2}"><li style="list-style-type: "- ";"><span>to an X3D format (in the XML encoding). </span></li></ul><div><br></div></div><div>The resulting X3D must be valid, confirming to the provided X3D schema in <span> x3d-4.0.xsd </span> . Optionally, use DTD from ... </div><div> </div><div>Start by converting mesh and transformations, ignore animations and materials. </div><div>"""</div><div><br></div><div>(and in next steps, if it manages to do sthg useful, try to add stuff - animations, materials etc.)</div><div><br></div><div>Of course, I expect the script to be an unmaintainable hack. But it _may_ be a useful starting point to develop the real, maintainable and scalable, conversion application.</div><div><br></div><div>Regards,</div><div>Michalis</div></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div><div class="protonmail_quote">
        On Wednesday, February 11th, 2026 at 04:06, John Carlson via x3d-public <x3d-public@web3d.org> wrote:<br>
        <blockquote class="protonmail_quote" type="cite">
            <div dir="ltr"><div dir="auto">Here’s the Blender X3D import/export code.  We might use this to generate X3D for potential mapping with blender XML, realizing this exporter is missing animation and HAnim:</div><div dir="auto"><br></div><div dir="auto"><div style="font-size:inherit"><a href="https://projects.blender.org/extensions/io_scene_x3d/src/branch/main/source" style="font-size:inherit" target="_blank" rel="noreferrer nofollow noopener">https://projects.blender.org/extensions/io_scene_x3d/src/branch/main/source</a></div><div style="font-size:inherit" dir="auto"><br></div><div style="font-size:inherit" dir="auto">You can also download the web3d extension/addon in blender and find the modifiable source on your system.</div><div dir="auto"><br></div>I don’t know if shader graphs are present in this exporter, Vince or Michalis might know better.</div><div dir="auto"><br></div><div dir="auto">Lessons learned from import/export of Blender XML can feed into this effort.</div><div dir="auto"><br></div><div dir="auto">What I will be pursuing is an XML schema for Blender XML, and then a mapping, either using ElementTree or stylesheets for mapping Blender XML to and from X3D.  I think this was Michalis’ suggestion.  Attached is an initial schema, as generated by "Russian Doll" @ <a href="http://freeformatter.com" target="_blank" rel="noreferrer nofollow noopener">freeformatter.com</a> XSD generator, and it's already missing things like enums, type enums, regex, etc.  More attention with AI might fill in some missing enums!  This was generated from skinned_animation_from_scratch.blxml (from .blend from Michalis).</div></div><div dir="auto"><br></div><div dir="auto">John</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Tue, Feb 10, 2026 at 10:55 AM Don Brutzman via X3D-Ecosystem <<a href="mailto:x3d-ecosystem@web3d.org" target="_blank" rel="noreferrer nofollow noopener">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 dir="ltr"><div>Thanks for an excellent meeting.  Some inputs:</div><div><ul><li><a href="https://pypi.org/project/x3d/" target="_blank" rel="noreferrer nofollow noopener">x3d.py</a> module published on PyPi</li><li><a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/" target="_blank" rel="noreferrer nofollow noopener">HAnim   Medical examples</a> now being updated, working on "broken arm" use case that has cast as a coveroid</li><li><a href="https://www.web3d.org/x3d/tools/X3D-Edit/X3D-Edit.html" target="_blank" rel="noreferrer nofollow noopener">X3D-Edit</a> update soon, hopefully including feature for authors to reduce unnecessary precision of floating-point output to reduce file size.</li></ul></div><div>New topic of potential interest:  create a new X3D node <b>InlineGeometry</b> to support direct loading of STL or PLY geometry files, simplifying the current import process.  Something like</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><pre style="font-size:11.05px;margin-left:25px;font-family:monospace;color:rgb(0,0,0)">InlineGeometry : X3DGeometryNode, X3DUrlObject {
  SFTime   [in,out] autoRefresh          0.0      [0,∞)
  SFTime   [in,out] autoRefreshTimeLimit 3600.0   [0,∞)\
  SFString [in,out] description          ""
  SFBool   [in,out] load                 TRUE
  SFNode   [in,out] metadata             NULL     [X3DMetadataObject]
  MFString [in,out] url                  []       [URI]
}</pre></blockquote><div>For convenience, here were chat comments about blender API to xml:</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><b style="font-family:"Segoe UI"">Don </b><span style="font-family:"Segoe UI"">8:12 AM</span></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-family:"Segoe UI"">Wondering what is the goal of the blendxml work?  Blender has a .blend format already.  Not understanding the connection to X3D.<br><br><b style="font-family:"Segoe UI"">Michalis Kamburelis</b> 8:13 AM<br>As an introspection into Blender stuff it is useful -- to see what is there in Blender.<br><br><b style="font-family:"Segoe UI"">Michalis Kamburelis</b> 8:13 AM<br>(that's how I see it at least)<br><br><b style="font-family:"Segoe UI"">Don </b>8:17 AM<br>OK, now wondering if we have a consistent mapping from Blender to X3D (for shapes at least).  Is that written down online, or in the blender export source code somewhere?  That seems necessary step for a corresponding effort that maps .blend files to X3D.<br>Response on call:  blendxml file is serializing blender API in python, then will need to explore how blender constructions can be turned into X3D.<br><br><b style="font-family:"Segoe UI"">Don </b>8:27 AM<br>If there are some basic examples and descriptions we might add to the X3D Examples Archives to show good practice.  If it is "ugly" output, we might publish that along with a "cleaned up" version that shows what improvements are possible.  This can help authors using Blender for X3D, and also future improvements to Blender exporters and Blender converters.</span></blockquote><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div style="color:rgb(34,34,34)"><font face="monospace" style="font-family:monospace;color:rgb(34,34,34)"><br></font></div><div style="color:rgb(34,34,34)"><font face="monospace" style="font-family:monospace;color:rgb(34,34,34)">all the best, Don</font></div></div></div></div></div><div dir="ltr"><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div style="color:rgb(34,34,34)"><font face="monospace" style="font-family:monospace;color:rgb(34,34,34)">-- </font></div><div style="color:rgb(34,34,34)"><font face="monospace" style="font-family:monospace;color:rgb(34,34,34)">X3D Graphics, Maritime Robotics, Distributed Simulation</font></div><div style="color:rgb(34,34,34)"><font face="monospace" style="font-family:monospace;color:rgb(34,34,34)">Relative Motion Consulting  <a href="https://RelativeMotion.info" style="font-family:monospace" target="_blank" rel="noreferrer nofollow noopener">https://RelativeMotion.info</a></font></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Feb 9, 2026 at 7:51 PM Bergstrom, Aaron via X3D-Ecosystem <<a href="mailto:x3d-ecosystem@web3d.org" target="_blank" rel="noreferrer nofollow noopener">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>





<div lang="EN-US">
<div>
<p class="MsoNormal"><b><span style="font-size:12pt">Reminder for X3D Ecosystem Meeting<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span style="font-size:12pt">Date: </span></b><span style="font-size:12pt">Feb 10, 2026<u></u><u></u></span></p>
<p class="MsoNormal"><b><span style="font-size:12pt">Time:</span></b><span style="font-size:12pt"> 11am Eastern (US), 8am Pacific<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:12pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span style="font-size:12pt">Location – Zoom:</span></b><span style="font-size:12pt">
<a href="https://us02web.zoom.us/j/86225731225?pwd=aUh3twfhNUaacXLyJolEof1tsZXSyA.1" target="_blank" rel="noreferrer nofollow noopener">
https://us02web.zoom.us/j/86225731225?pwd=aUh3twfhNUaacXLyJolEof1tsZXSyA.1</a> <u></u>
<u></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><b>High Level Agenda<u></u><u></u></b></p>
<ul style="margin-top:0in" type="disc">
<li style="margin-top:0in;margin-bottom:0in;vertical-align:baseline;color:black">
Cesium Funding Award – Project Update<u></u><u></u></li><li style="margin-top:0in;margin-bottom:0in;vertical-align:baseline;color:black">
Blender Topics<u></u><u></u></li><ul style="margin-top:0in" type="circle">
<li style="margin-top:0in;margin-bottom:0in;vertical-align:baseline;color:black">
Blender XML - John Carlson<u></u><u></u></li><li style="margin-top:0in;margin-bottom:0in;vertical-align:baseline;color:black">
Discussion of Blender Armature<u></u><u></u></li></ul>
<li style="margin-top:0in;margin-bottom:0in;vertical-align:baseline;color:black">
UND Updates<u></u><u></u></li><ul style="margin-top:0in" type="circle">
<li style="margin-top:0in;margin-bottom:0in;vertical-align:baseline;color:black">
RawKee Python Edition for Maya - Current Status<u></u><u></u></li></ul>
</ul>
<ul style="margin-top:0in" type="disc">
<ul style="margin-top:0in" type="circle">
<li style="margin-top:0in;margin-bottom:0in;vertical-align:baseline;color:black">
UND Asset Library - Github - MIT License<u></u><u></u></li><ul style="margin-top:0in" type="square">
<li style="margin-top:0in;margin-bottom:0in;vertical-align:baseline;color:black">
<a href="https://github.com/und-dream-lab/assets" target="_blank" rel="noreferrer nofollow noopener"><span style="color:rgb(17,85,204)">https://github.com/und-dream-lab/assets</span></a> <u></u><u></u></li></ul>
</ul>
<li style="margin-top:0in;margin-bottom:0in;vertical-align:baseline;color:black">
Other Topics – As suggested in meeting<u></u><u></u></li></ul>
<p style="margin:0in;vertical-align:baseline"><span style="color:black"><u></u> <u></u></span></p>
<p style="margin:0in;vertical-align:baseline"><span style="color:black">Aaron<u></u><u></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>

-- <br>
X3D-Ecosystem mailing list<br>
<a href="mailto:X3D-Ecosystem@web3d.org" target="_blank" rel="noreferrer nofollow noopener">X3D-Ecosystem@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-ecosystem_web3d.org" rel="noreferrer nofollow noopener" target="_blank">http://web3d.org/mailman/listinfo/x3d-ecosystem_web3d.org</a><br>
</div></blockquote></div>
-- <br>
X3D-Ecosystem mailing list<br>
<a href="mailto:X3D-Ecosystem@web3d.org" target="_blank" rel="noreferrer nofollow noopener">X3D-Ecosystem@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-ecosystem_web3d.org" rel="noreferrer nofollow noopener" target="_blank">http://web3d.org/mailman/listinfo/x3d-ecosystem_web3d.org</a><br>
</blockquote></div></div>

        </blockquote><br>
    </div>