<html xmlns:v="urn:schemas-microsoft-com:vml" 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=us-ascii"><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:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.EmailStyle19
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-GB link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Minutes of the X3D V4.0 Open Meeting on X3D / DOM Integration held 0800 PST, 1600 GMT 9<sup>th</sup> November 2016.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Attendees: Roy Walmsley, Leonard Daly, Joe Williams, Vince Marchetti, Mike McCann, Anita Havele, Don Brutzman, Dick Puk, Justin Ryan<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Apologies: Andreas Plesch<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><u>Welcome<o:p></o:p></u></p><p class=MsoNormal><u><o:p><span style='text-decoration:none'> </span></o:p></u></p><p class=MsoNormal>The co-chair welcomed all attendees. Since all attendees were known to each other, introductions were not carried out.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><u>Opening remarks by the co-chair</u><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The goal is to develop a standard, or series of standards, for X3D that includes the integration of X3D into HTML web pages. So I ask:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'>To achieve that goal what topics do you think are important? <o:p></o:p></p><p class=MsoNormal style='margin-left:36.0pt'>For example, in order to integrate with the DOM/HTML event model what topics do we need to cover?<o:p></o:p></p><p class=MsoNormal style='margin-left:36.0pt'>Do we need DOM/HTML element interface definitions, and what form should these take? Should these be of a similar nature to those in SVG 2 (<a href="https://www.w3.org/TR/SVG2/">https://www.w3.org/TR/SVG2/</a>) or XML3D (<a href="http://xml3d.org/xml3d/specification/latest/">http://xml3d.org/xml3d/specification/latest/</a>)?<o:p></o:p></p><p class=MsoNormal style='margin-left:36.0pt'>What part should CSS play?<o:p></o:p></p><p class=MsoNormal style='margin-left:36.0pt'>Do we need any additional nodes that might cover VR/AR/MAR/ or specific platform usage such as mobile?<o:p></o:p></p><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p><p class=MsoNormal>There are other issues I was not intending to cover today, such as Prototypes and Scripts, DEF/USE vs id/idref, capitalization.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><u>Discussion by all<o:p></o:p></u></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Mike McCann explained that he uses X3DOM and JQuery. The X3DOM implementation of event handling and ROUTES, allows for mixed event handling, i.e. handling both X3D and HTML events. He uses a namespacing scheme for Inlines, but only use a single inline level, not nested Inlines.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>For scripting and routes  a mixed model works. The question of what are the boundary lines between working and not working was raised? X3DOM does not have X3D Scripts.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The usage of the HTML5 slider, a new input element, was discussed. However, Vince noted that his example related incorporating volume rendering is not dynamically updating, requiring some other action to stimulate an update. An example of an HTML tutorial has the same problem. However, Mike has an instance that works OK. It was pointed out that this requires the usage of an OnInput event to have dynamic updating. However, since this may not be fully supported it may be necessary to include OnChange as well.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>It was noted that an event cascade in X3D is completed before a redraw. In contrast, HTML can render within an event cascade. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Leonard noted that in VR it is important to render at a high frame rate, currently 90 frames / second. That is only 11 milliseconds between rendering. The classic X3D event model, therefore, might also be a problem in non-Web applications for VR, because of timing limitations.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>With respect to namespaces it was noted that X3D has multiple, and both XML and  XHTML have them. HTML5, although not having them, may have some additional semantics for this.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Roy asked the question: To support event models what do we need to specify with respect to the DOM? Don reminded everyone that Andreas Plesch had offered an extended version of the conceptual execution model diagram (Figure 4.3 in 19775-1, see <a href="http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/concepts.html#f-ConceptualExecutionModel">http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/concepts.html#f-ConceptualExecutionModel</a>). The revised diagram is attached.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The question of whether the DOM is an API was raised? The abstract within the DOM4 specification says “DOM defines a platform-neutral model for events and node trees.” However, clause 4.1 states that “In its original sense, ‘The DOM’ is an API for accessing and manipulating documents (in particular, HTML and XML documents).” Don noted that HTML5 proceeded because it was recognized that the DOM was at the heart of everything. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Questions were asked about SVG. What does SVG do with respect to events? Do they have an event diagram? Roy noted that the latest W3C Candidate Recommendation for SVG2 has clause 15 dedicated to Scripting and interactivity (<a href="https://www.w3.org/TR/SVG2/interact.html">https://www.w3.org/TR/SVG2/interact.html</a>).<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The loading of an inlined X3D file within an HTML file was covered. It was asked whether the elements available for inspection within the DOM tree. Roy noted that they are, unless they are within an Inline node, when they may not be. How do we define X3D element interfaces for appearance in the DOM? <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Leonard reported that for an X3DOM scene containing an Inline if the namespacename attribute is specified, nodes within the Inline are added to the DOM. If not, nodes are not in the DOM, and are handled in parallel. The application knows, however, that they are not in the DOM.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>It was commented that the X3D scene graph is an directed acyclic graph (DAG). Traversal creates a tree. Can it be a separate activity within the browser, so we do not have to rely on DOM specifications? <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><u>Other news<o:p></o:p></u></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John Carlson is developing a python binding for X3D.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Don reported an Incremental improvement in the Java binding, including Classic VRML and VRML exports.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Don reported that the H-Anim working group meeting had a good conversation about facial animation. They are considering three different levels of expression (LOE), including coordinate interpolators, although these interpolators could be replaced by Displacers. The next step is to integrate the face with the skeleton, also including joints for skullbase, eyes, etc. Leonard added that industry mostly uses morphing, not joint animation. Animation export is primarily via FBX. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Don put forward a possible improvement. For example, when animating a Background node, a user may want to animate all the colours in the groundColor or skyColor fields. These are MFColor fields, and there is no straightforward interpolator node for this.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The meeting closed with thanks from the co-chair for the time and contributions of all attendees.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Roy Walmsley<o:p></o:p></p><p class=MsoNormal>X3D WG co-chair<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>