<div dir="ltr"><div>Thanks for thinking about these things. As you requested, here are comments on your proposed approach.</div><div><br></div><div>Please think about how to map MuJoCo to X3D. We have a standard for many reasons, aligning with it provides much value. Defining correspondences for export, import and conversion is powerful. Writing prototypes is another powerful approach.</div><div><br></div><div>Redesigning X3D is not a goal. Redefining X3DUOM (which matches the X3D Architecture specification) is not a goal. X3DPSAIL x3d.py Python and X3DJSAIL Java will continue to map to X3D exactly, autogenerated by X3DUOM, and so redefining them is not a goal. Issue reports that identify implementation gaps when producing valid X3D eventually get fixed.</div><div><br></div><div>May I suggest focusing on an example model independently in MUJOCO and X3D that does the kind of things you want. X3D has a great many capabilities, so exercising them is always interesting. Using a language to express what you are thinking is an effective way to use that language.</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 gmail_quote_container"><div dir="ltr" class="gmail_attr">On Wed, Dec 10, 2025 at 5:23 AM John Carlson <<a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</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">My current thought is to export X3D as MuJoCo using X3DPSAIL, with any added MuJoCo "niceities" added to the X3DPSAIL API, and provide another X3D encoding export method called MuJoCo() for lack of a better name. Perhaps I will subclass existing X3D stuff and add the MuJoCo methods. So I'm looking at extending X3DUOM to include MuJoCo's unique features. This will provide a smooth migration for X3DPSAIL and X3DUOM to an eventual soft body physics standard (currently avoiding HAnim), if anything doesn't already exist.<div><br></div><div>Does this approach sound feasible, without consideration for computationally expensive actions?</div><div><br></div><div>So the main thing would be to subclass or complement existing X3D nodes. I expect that existing X3D field types can be used.</div><div><br></div><div>I don't quite know what will happen to x3d.py, but I might require assistance on the X3DPSAIL generating stylesheet.</div><div><br></div><div>My first plan is to use the X3DUOM.xsd to create a fully MuJoCo-compatible object model using the schema. Then, I will attempt to combine the MuJoCo-COM with X3DUOM. Then I will attempt to create X3DMUJOCOSAIL.</div><div><br></div><div>Then, the task of integrating MuJoCo and X3D begins, by unifying MuJoCo-COM with X3DUOM.</div><div><br></div><div>Thus we will be following a similar method that we took when we added glTF's PBR Next to X3DUOM. Once the neo-X3DUOM is created, and neo-X3DPSAIL is done, we will move to JavaScript, Pascal, Java, C++ and other languages.</div><div><br></div><div>Another approach might be to plaster a x3d.py compatible layer on the MuJoCo python API, (or Java, I guess)..</div><div><br></div><div>Hmm!</div><div><br></div><div>John</div></div>
</blockquote></div>