<div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12pt"><p style="margin: 0.1rem 0; line-height: 1.0;">> standard set of functions, perhaps DOM </p>
<p style="margin: 0.1rem 0; line-height: 1.0;">  </p>
<p style="margin: 0.1rem 0; line-height: 1.0;">The DOM and its interfaces continue to evolve to make it more 'alive' and competent for realtime interactive simulations. </p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-family: Arial; font-size: 12pt;">Like the X3D SAI the DOM has enough power to implement a realtime fully </span><span style="font-family: Arial; font-size: 12pt;">validating authoring system. </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-family: Arial; font-size: 12pt;">Both the DOM and SAI can coexist beside or embedded in one another. </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-family: Arial; font-size: 12pt;">The DOM is represented as a tree; X3D is presented as a DAG with multiple roots and hierarchy of </span><span style="font-family: Arial; font-size: 12pt;">namespaces.   </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-family: Arial; font-size: 12pt;">Just that the X3D SAI has certain runtime advantages. </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-family: Arial; font-size: 12pt;">These are mainly derived from the idea </span><span style="font-family: Arial; font-size: 12pt;">that SAI is conceived </span><span style="font-family: Arial; font-size: 12pt;">as </span><span style="font-family: Arial; font-size: 12pt;">a realtime/anytime, internally/externally scriptable, prototypable, </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-family: Arial; font-size: 12pt;">validatable process with both declarative and imperative aspects presented human-readable form. </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-family: Arial; font-size: 12pt;">In addition, X3D runtime is both time and internal/external event-driven and fully documents frame-by-frame event flows as the scene progresses. </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-family: Arial; font-size: 12pt;">X3D is basically the xmlized version of VRML but can be produced in most any language, including ecmascript, java, json, etc. </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-family: Arial; font-size: 12pt;">  </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-family: Arial; font-size: 12pt;">So all is great. The X3D scenegraph can be represented as inline code interspersed with the html and use mainly DOM runtime, or </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-family: Arial; font-size: 12pt;">run directly using SAI contained by Canvas, or </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-family: Arial; font-size: 12pt;">run independently directly in the OS as a 3D web browser. </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;">As real 3D interactive support improves in current WWW browsers and evolves toward metaversal experiences, the value and versatility of X3D will increase.</p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-family: Arial; font-size: 12pt;">  </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-family: Arial; font-size: 12pt;">> Qt WebChannel </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-family: Arial; font-size: 12pt;">  </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-family: Arial; font-size: 12pt;">Look around, maybe a way to do HUDs and control panels, but lots of licensing involved? </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-family: Arial; font-size: 12pt;">  </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-family: Arial; font-size: 12pt;">Thanks, </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-family: Arial; font-size: 12pt;">Joe </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-family: Arial; font-size: 12pt;">-----Original Message-----</span></p>
</div>
<div class="elnk-inline-message-container" style="border-left: 1px solid #aaa; box-sizing: border-box; padding: 10px 0 10px 15px; margin: 0;">
<p>From: X3D Ecosystem public discussion <x3d-ecosystem@web3d.org><br>Sent: Feb 19, 2025 9:25 AM<br>To: Bergstrom, Aaron <aaron.bergstrom@und.edu><br>Cc: John Carlson <yottzumm@gmail.com>, X3D Ecosystem public discussion <x3d-ecosystem@web3d.org><br>Subject: Re: [X3D-Ecosystem] X3DOM/X_ITE/Castle Content Preview in RawKee X3D Exporter for Maya</p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<div dir="auto">To understand where I’m coming from, read the link, which includes: </div>
<div dir="auto"> </div>
<div dir="auto">“</div>
<div dir="auto">
<div><span style="color: #000000; font-family: 'titillium web',sans-serif; font-size: medium; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; background-color: #ffffff; text-decoration: none; display: inline!important; float: none;">Qt WebChannel enables peer-to-peer communication between a server (QML/Python application) and a client (HTML/JavaScript or QML application). It is supported out of the box by </span><span style="color: #000000; font-family: 'titillium web',sans-serif; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none;">Qt WebEngine</span><span style="color: #000000; font-family: 'titillium web',sans-serif; font-size: medium; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; background-color: #ffffff; text-decoration: none; display: inline!important; float: none;"> . In addition it can work on all browsers that support </span><span style="color: #000000; font-family: 'titillium web',sans-serif; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none;">WebSockets</span><span style="color: #000000; font-family: 'titillium web',sans-serif; font-size: medium; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; background-color: #ffffff; text-decoration: none; display: inline!important; float: none;"> , enabling Qt WebChannel clients to run in any JavaScript environment (including QML). This requires the implementation of a custom transport based on Qt WebSockets.</span></div>
“</div>
<div dir="auto">So I see client/server and websockets and I think JSONverse and <a href="http://socket.io">socket.io</a>.</div>
<div dir="auto"> </div>
<div dir="auto">AFAIK,  there’s no X3D standard which includes websockets.</div>
<div dir="auto"> </div>
<div dir="auto">But it seems like you’re more about a standard set of functions, perhaps DOM, which is common across all JS browsers.</div>
<div dir="auto"> </div>
<div dir="auto">I don’t know if there’s an X3D DOM standard, but I suspect the best place to look is the XML encoding.</div>
<div dir="auto"> </div>
<div dir="auto">John</div>
<div dir="auto"> </div>
<div dir="auto"><br>
<div class="gmail_quote gmail_quote_container" dir="auto">
<div class="gmail_attr" dir="ltr">On Tue, Feb 18, 2025 at 2:48 PM Bergstrom, Aaron <<a href="mailto:aaron.bergstrom@und.edu">aaron.bergstrom@und.edu</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin: 0 0 0 .8ex; border-left: 1px #ccc solid; padding-left: 1ex;">
<div lang="EN-US" style="word-wrap: break-word;">
<div class="m_-5175435957974849803WordSection1">
<p class="MsoNormal">John,</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">I think we are talking about two different things. What you’ve described sounds very complex and is not what I had in mind.</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">So I apologize if I gave the impression that I was looking to recreate the DIS, EAI.</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">I am thinking just a handful of Javacript functions that would be called in the same for each viewer, and allow me access the scenegraph in each of viewers.</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">The programming work, I was planning to go myself. I was looking more for feedback, and guidance. And I was planning on using the QWebChannel object built into Qt for accessing the webpage already loaded into the Qt objects that display the webpage.</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">This wouldn’t be communicating with external browsers or other websites.</p>
</div>
</div>
<div lang="EN-US" style="word-wrap: break-word;">
<div class="m_-5175435957974849803WordSection1">
<p class="MsoNormal"> </p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Aaron</p>
<p class="MsoNormal"> </p>
<div style="border: none; border-top: solid #e1e1e1 1.0pt; padding: 3.0pt 0in 0in 0in;">
<p class="MsoNormal"><strong>From:</strong> John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank" rel="noopener">yottzumm@gmail.com</a>> <br><strong>Sent:</strong> Tuesday, February 18, 2025 2:14 PM<br><strong>To:</strong> X3D Ecosystem public discussion <<a href="mailto:x3d-ecosystem@web3d.org" target="_blank" rel="noopener">x3d-ecosystem@web3d.org</a>><br><strong>Cc:</strong> Bergstrom, Aaron <<a href="mailto:aaron.bergstrom@und.edu" target="_blank" rel="noopener">aaron.bergstrom@und.edu</a>><br><strong>Subject:</strong> Re: [X3D-Ecosystem] X3DOM/X_ITE/Castle Content Preview in RawKee X3D Exporter for Maya</p>
</div>
<p class="MsoNormal"> </p>
<div>
<p class="MsoNormal">Aaron,</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">There is prior work on this, primarily DIS, EAI, which got folded into SAI, and <a href="http://socket.io" target="_blank" rel="noopener">socket.io</a> work I did on my JSONverse project. Office Towers has full multiuser avatars.</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">I would suggest creating an extension to x3d.py project which will do SAI across the network, possibly using the EAI underneath SAI.  If you want to move objects around the scene, DIS or HLA may be indicated.  There’s an X3DOM pull request for DIS.  X_ITE doesn’t support DIS.  JSONverse is written with X_ITE.  Since JSONverse uses X3D script </p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">You probably won’t see leadership supporting anything else, unless it’s in the Metaverse Standards Forum.  Web3D is a member.  I believe the Webiverse may be a proposal using existing standards.</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">I am more interested in what goes across the network, which events, etc.  WebSockets has good backing,  but people are working on WebTransport now.</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">Might I suggest we discuss what you want to communicate before we discuss standards?</p>
</div>
<div>
<p class="MsoNormal"> </p>
<div>
<div>
<p class="MsoNormal">On Tue, Feb 18, 2025 at 11:59 AM Bergstrom, Aaron wrote:</p>
</div>
<blockquote style="border: none; border-left: solid #cccccc 1.0pt; padding: 0in 0in 0in 6.0pt; margin-left: 4.8pt; margin-right: 0in;">
<div>
<div>
<p class="MsoNormal"> </p>
<p class="MsoNormal">What I’m hoping for is to collaborate with the X3D Ecosystem community and X3D viewer developers to standardize Maya/RawKee/QtWebChannel communication across the various viewers.</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">You can learn a bit more about this here:</p>
<p class="MsoNormal"><a href="https://doc.qt.io/qtforpython-6/PySide6/QtWebChannel/index.html" target="_blank" rel="noopener">https://doc.qt.io/qtforpython-6/PySide6/QtWebChannel/index.html</a></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">And by doing a Google search based on these search request:</p>
<p class="MsoNormal">‘communicate with QtWebEngine using javascript via PySide6’</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Thoughts?</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Thanks,</p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Aaron</p>
</div>
</div>
<p class="MsoNormal">-- <br>X3D-Ecosystem mailing list<br><a href="mailto:X3D-Ecosystem@web3d.org" target="_blank" rel="noopener">X3D-Ecosystem@web3d.org</a><br><a href="http://web3d.org/mailman/listinfo/x3d-ecosystem_web3d.org" target="_blank" rel="noopener">http://web3d.org/mailman/listinfo/x3d-ecosystem_web3d.org</a></p>
</blockquote>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>