<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>