<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">John,<br>
      <br>
      These are all reasonable questions. I'll try to answer each one.<br>
      <br>
    </div>
    <blockquote type="cite"
      cite="mid:5961a83f.13a46b0a.ad813.53f4@mx.google.com">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.pl-en
        {mso-style-name:pl-en;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
      <div class="WordSection1">
        <p class="MsoNormal">Leonard writes:<o:p></o:p></p>
        <p class="MsoNormal">>X3D in all public releases of the
          standard is not DOM integrated. There are no public documents
          that explicitly show how a future generation of X3D would be
          DOM integrated. That may happen in the future, but that has
          been worked on without public results for over three years. <o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">I have some questions.  What are the
          requirements for being DOM integrated? </p>
      </div>
    </blockquote>
    <br>
    At this time there are no public requirements for DOM integration.
    See
<a class="moz-txt-link-freetext" href="http://www.web3d.org/wiki/index.php/X3D_version_4.0_Development#Candidate_Capabilities">http://www.web3d.org/wiki/index.php/X3D_version_4.0_Development#Candidate_Capabilities</a>
    for the most complete statement I could find on that.<br>
    <br>
    <br>
    <blockquote type="cite"
      cite="mid:5961a83f.13a46b0a.ad813.53f4@mx.google.com">
      <div class="WordSection1">
        <p class="MsoNormal">Which DOM do you refer to? Isn’t DOM more
          of a language or library feature rather than a potential X3D
          feature? <br>
        </p>
      </div>
    </blockquote>
    <br>
    DOM is an API for HTML/XHTML pages. From <a class="moz-txt-link-freetext" href="https://www.w3.org/DOM/">https://www.w3.org/DOM/</a><br>
    <br>
    "<span class="summary">The Document Object Model is a platform- and
      language-neutral interface that will allow programs and scripts to
      dynamically access and update the content, structure and style of
      documents. The document can be further processed and the results
      of that processing can be incorporated back into the presented
      page. This is an overview of DOM-related materials here at W3C and
      around the web."<br>
      <br>
      It's not a language, it's an API. It's not a feature, its the API
      of the web browser. <br>
    </span><br>
    <blockquote type="cite"
      cite="mid:5961a83f.13a46b0a.ad813.53f4@mx.google.com">
      <div class="WordSection1">
        <p class="MsoNormal"> Is it merely that X3D Scripts support
          DOM?  </p>
      </div>
    </blockquote>
    <br>
    No. Since it is the API and describes how all of the components of a
    web page interact with each other and the browser, it defines
    element interaction. Everything (tag, attribute, etc.) in the DOM is
    an element.<br>
    <br>
    <br>
    <blockquote type="cite"
      cite="mid:5961a83f.13a46b0a.ad813.53f4@mx.google.com">
      <div class="WordSection1">
        <p class="MsoNormal">I have loaded DOM into both Cobweb and
          X3DOM, without the need for many complex extensions, just a
          DOM producer and JQuery or interfaces to the browser (<span
            class="pl-en"><span
style="font-size:9.0pt;font-family:Consolas;color:#6F42C1;background:white">$</span></span><span
style="font-size:9.0pt;font-family:Consolas;color:#24292E;background:white">(selector).</span>append
          () line 405 of <a
href="https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/node/loaderJQuery.js"
            moz-do-not-send="true">https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/node/loaderJQuery.js</a> 
          for X3DOM, importDocument() line 205 of <a
href="https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/node/loaderJQuery.js"
            moz-do-not-send="true">https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/node/loaderJQuery.js</a> 
          for Cobweb).</p>
      </div>
    </blockquote>
    <br>
    <br>
    You can't load DOM into anything. Things interact with other things
    via DOM. The $(selector) interface is jQuery, which is a support
    library on top of DOM, originally designed to provide a standardized
    interface to different browsers. Much of the basic functionality of
    jQuery has been included in standardized DOM, which all modern (FF,
    Chrome, Edge, Safari, Opera (I think)) support.<br>
    <br>
    <br>
    <br>
    <blockquote type="cite"
      cite="mid:5961a83f.13a46b0a.ad813.53f4@mx.google.com">
      <div class="WordSection1">
        <p class="MsoNormal"><o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">By using DOM, you can get DOM events,
          however, I think what you are saying is that Cobweb and X3DOM
          scenegraphs are not DOM event integrated.  I can see that.<o:p></o:p></p>
      </div>
    </blockquote>
    <br>
    You get DOM events once you are in a browser. What you do with them
    is up to your code. Once you are in a browser, you can produce DOM
    events. These are not the same as X3D events, nor do they follow the
    X3D event cascade. X3DOM does use DOM events (at least for some or
    maybe all) operations. If there is a cascade mechanism in X3DOM,
    then it is all custom-built as part of X3DOM. I do not know enough
    about Cobweb to comment.<br>
    <br>
    <br>
    <blockquote type="cite"
      cite="mid:5961a83f.13a46b0a.ad813.53f4@mx.google.com">
      <div class="WordSection1">
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">If we want the X3D scenegraph integrated
          with the DOM events, that will likely take a lot of work,
          which I believe Leonard is the only brave soul doing—I have
          been off generating events from JavaScript. However, I would
          warn him that it’s likely that the THREE.js scenegraph isn’t
          DOM integrated either, but likely he knows the answer to this
          better than I do.<o:p></o:p></p>
      </div>
    </blockquote>
    <br>
    There are incompatibilities between X3D and DOM. It might be
    possible to build a lot of software that runs in a DOM environment
    to emulate X3D, particularly the event model. I have a partial
    implementation of events. I can handle events <br>
     1) from HTML elements to XSeen nodes<br>
     2) from XSeen nodes to XSeen nodes<br>
     3) from XSeen nodes to HTML elements<br>
    <br>
    all using regular (including custom) DOM events. I don't think this
    solution is particularly elegant, so I think it needs more thought;
    but it does work. Examples to be posted within a couple of days.<br>
    <br>
    <br>
    I don't believe it is possible to have the 3D scene graph fully
    integrated with the DOM. If it were, we wouldn't be doing this work.
    What is really needed is that the interface to the 3D scene graph is
    fully integrated. That means changing the property (not necessarily
    the attribute) of an element shows up in the 3D scene graph and a
    scene graph change shows up in the element's property. It means that
    events are handled uniformly throughout the page. It means that
    scripts are defined and work the same whether they operate on X3D
    nodes, HTML elements, or the browser.<br>
    <br>
    The whole goal of this effort is to get W3C approval of a 3D
    language that is as fully integrated into the browser as HTML
    rendering is now.<br>
    <br>
    <br>
    <blockquote type="cite"
      cite="mid:5961a83f.13a46b0a.ad813.53f4@mx.google.com">
      <div class="WordSection1">
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Will we ever see a scenegraph integrated
          with the DOM events? Isn’t that the goal?<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Perhaps the best approach to DOM
          integration is to try it OUTSIDE the web environment first.</p>
      </div>
    </blockquote>
    <br>
    It is possible as the W3C has defined bindings for Java. There are
    also non-W3C DOM Bindings that could be used.<br>
    <br>
    But, if you worked outside the web environment, why is this
    organization called Web3D Consortium?<br>
    <br>
    <br>
    <div class="moz-signature">-- <br>
      <font class="tahoma,arial,helvetica san serif" color="#333366">
        <font size="+1"><b>Leonard Daly</b></font><br>
        3D Systems & Cloud Consultant<br>
        LA ACM SIGGRAPH Chair<br>
        President, Daly Realism - <i>Creating the Future</i>
      </font></div>
  </body>
</html>