<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
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-smi
        {mso-style-name:pl-smi;}
.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></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>My plan for X3D JSON is to use the Proxy object and avoid the DOM.  I suggest we add an attribute that says “SETTABLE” and “GETTABLE” as two fields of each object so that we don’t overload the Proxy object with a bunch of changes.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>If you want something that interacts with the DOM, go for it.  I will report on modifications to three-x3d-loader later.  It uses another variety of JSON, but converts the JSON to DOM.   I don’t know if it has observers or not.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John</p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10</p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:Leonard.Daly@realism.com">Leonard Daly</a><br><b>Sent: </b>Tuesday, April 11, 2017 2:11 PM<br><b>To: </b><a href="mailto:x3d-public@web3d.org">X3D Public</a><br><b>Subject: </b>[x3d-public] X3DOM and Three.js</p></div><p class=MsoNormal><o:p> </o:p></p><p>I would like to have an application that merged X3DOM and Three.js. The specific requirements are below. I would like to use this to easily handle X3D declarative data and the ability to investigate additional capabilities that are included in Three (animation, shaders, rendering, VR, etc.). There are also many tools that work in conjunction with Three that would be nice to use at various times. I also want to have the DOM interaction provided by X3DOM.</p><p>There is an X3D loader for Three (<span class=pl-smi><a href="https://github.com/jonaskello/three-x3d-loader">https://github.com/jonaskello/three-x3d-loader</a>); however, it's node set is very limited (e.g., no animation) and it does not appear to provide a DOM interface. John Carlson mentioned he had one, but I am not sure if it meets the DOM interface requirements. Johannes mentioned that they looked into Three as a renderer, but at the time there were too many differences between X3D and how Three handled the scene graph and rendered the result.</span></p><p>Initial Requirements<br>1) Use Three.js for all rendering<br>2) Provides DOM interface to X3D scene<br>3) Handle most X3D nodes<br>4) Easy to add new nodes or features (see A-Frame for an example of "easy")</p><p>The application needs to be able to run in the DOM and construct a scene graph using Three from X3D tags (nodes) in the HTML file. In general all tags and attributes (nodes and fields) need to be accessible from DOM (both read and write). Internal animations (TimeSensor --> Interpolator --> TargetNode) need to work. </p><p>So far my preliminary investigation indicates that the problem is doable. The difficult part appears to be parsing the nodes In the HTML file and keeping the DOM reference from the node to the Three object. I have no idea of the performance would be, though it does need to be near 90 fps (browser willing).</p><p>Does anyone have any insights, comments, or thoughts on such an application?</p><p class=MsoNormal>-- <br><b><span style='font-size:13.5pt;color:#333366'>Leonard Daly</span></b><span style='color:#333366'><br>3D Systems & Cloud Consultant<br>LA ACM SIGGRAPH Chair<br>President, Daly Realism - <i>Creating the Future</i> </span><o:p></o:p></p><p class=MsoNormal><span style='color:black'><o:p> </o:p></span></p></div></body></html>