<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;}
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;}
.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>Don,</p><p class=MsoNormal><br>I am just expressing frustration about my lack of motivation to do things besides emails.  Sorry.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John</p><p class=MsoNormal><o:p> </o:p></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:brutzman@nps.edu">Brutzman, Donald (Don) (CIV)</a><br><b>Sent: </b>Monday, March 4, 2019 10:06 AM<br><b>To: </b><a href="mailto:yottzumm@gmail.com">John Carlson</a><br><b>Cc: </b><a href="mailto:x3d@web3d.org">X3D Graphics Working Group</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>Re: [x3d] X3D-HTML event passing, let's look at simplest aspectsfirst</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sorry, some confusion here - not sure what you were reacting to.  These were general observations, not a critique of your excellent work.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Am simply trying to break the problem down into building-block pieces, we should work to get basic event passing consistent first.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Comparing X3DOM to X_ITE approaches for simple cases of HTML+X3D should add a lot of clarity regarding how things work.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>v/r Don</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>On 3/3/2019 10:51 PM, John Carlson wrote:</p><p class=MsoNormal>> Don, I am not interested in chasing loops around.   I put a full effort into creating a scenegraph to JavaScript connection for X3DOM.   It’s time to go somewhere else to look at the alternatives.   I highly suggest looking at X_ITE’s code and other working code.  My code seems to be fundamentally incomplete (does not handle namespaces properly for one).</p><p class=MsoNormal>> </p><p class=MsoNormal>> It starts to get really complex when you use a node as a field.  A field is not just a signpost</p><p class=MsoNormal>> </p><p class=MsoNormal>> If someone wants to tell me X3D scripting is done for X3DOM, I will go look at it.   I see absolutely no evidence that fields are handled for Scripts.</p><p class=MsoNormal>> </p><p class=MsoNormal>> I am not focused on X3Dv4 and have other tasks.</p><p class=MsoNormal>> </p><p class=MsoNormal>> I do not want to battle over email.   I am just trying the best I can to report the effort I made.</p><p class=MsoNormal>> </p><p class=MsoNormal>> John</p><p class=MsoNormal>> </p><p class=MsoNormal>> On Sun, Mar 3, 2019 at 4:33 PM Brutzman, Donald (Don) (CIV) <brutzman@nps.edu <mailto:brutzman@nps.edu>> wrote:</p><p class=MsoNormal>> </p><p class=MsoNormal>>     Thanks for your helpful analysis John.  Here are some reactions.</p><p class=MsoNormal>> </p><p class=MsoNormal>>     Expectation: field definitions for Script and ProtoInstance merely define logical connections where events are sent + received.  Of course a particular DOM node labeled "field" with name/type/accessType/value attributes is not the final destination we are interested in connecting - that particular DOM node is simply a signpost label, pointing towards author code living elsewhere inside the actual X3D player.</p><p class=MsoNormal>> </p><p class=MsoNormal>>     Basics: the X3D scene is integral within the X3D browser, and the HTML scripts are external in the HTML page within the HTML browser.  Each is a separate set of content, handled by a pair of browsers running in separate blocks of code.</p><p class=MsoNormal>> </p><p class=MsoNormal>>     We are figuring out the best way for an author to define connections for those events that are expected to pass back and forth between HTML page and X3D scene.</p><p class=MsoNormal>> </p><p class=MsoNormal>>     The DOM representation of X3D scene content is just that - a representation - and any X3D player needs to listen and relay events in either direction.</p><p class=MsoNormal>> </p><p class=MsoNormal>>     Remember that an "event" is simply a timestamp + value, getting passed from source to destination.</p><p class=MsoNormal>> </p><p class=MsoNormal>>     There may be several ways for browsers to implement such event passing between HTML and X3D content using JavaScript.  Varieties of implementation are fine since the X3D Specifications do not legislate how the code must be written - rather the X3Dv4 specification will simply define syntax and semantics for such event passing.</p><p class=MsoNormal>> </p><p class=MsoNormal>>     Thinking even more simply: of course the same activity must happen for all the other X3D nodes that produce or consume events.  The functionality for other nodes is already defined in the specification already, so that is considered straightforward in comparison.</p><p class=MsoNormal>> </p><p class=MsoNormal>>     Why not start easy and gradually step up the sophistication, rather than first "diving into the deep end of the pool" with Script and ProtoInstance.</p><p class=MsoNormal>> </p><p class=MsoNormal>>     Suggest we focus first on easiest aspects:</p><p class=MsoNormal>>     a. defining HTML/X3D syntax for how simple string events can get passed between X3D scene and HTML page.</p><p class=MsoNormal>>     b. defining HTML/X3D syntax for how numeric/typed events can similarly get passed.</p><p class=MsoNormal>>     c. Look at X3DOM and X_ITE respectively and see how they do it currently.</p><p class=MsoNormal>>     d. Get through basic event-passing first before tackling variations for author-defined Script and Proto fields (the extensible X in X3D).</p><p class=MsoNormal>> </p><p class=MsoNormal>>     Wondering what our simplest possible [HTML page + X3D scene] example might be to show simple string event passing?</p><p class=MsoNormal>> </p><p class=MsoNormal>>     v/r Don</p><p class=MsoNormal>> </p><p class=MsoNormal>> </p><p class=MsoNormal>>     On 3/2/2019 1:57 PM, John Carlson wrote:</p><p class=MsoNormal>>      > Yeah, I was relaxing most of the day yesterday.  I may have posted incorrect information.    But I still believe x3dom fields are not handled at all for scripts, based on prior research, and up-to-date investigation in the chrome browser (fields and related attributes are black for scripts).   .  They are handled for ComposedShader, and we might use that as an example for handling Script fields.</p><p class=MsoNormal>>      ></p><p class=MsoNormal>>      > Good luck, it’s up to someone else besides me.  It should be fairly simple to activate script fields I hope.  I am not sure you want them in HTML scripts anyway.</p><p class=MsoNormal>>      ></p><p class=MsoNormal>>      > John</p><p class=MsoNormal>>      ></p><p class=MsoNormal>>      > Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10</p><p class=MsoNormal>>      ></p><p class=MsoNormal>>      > *From: *Brutzman, Donald (Don) (CIV) <mailto:brutzman@nps.edu <mailto:brutzman@nps.edu>></p><p class=MsoNormal>>      > *Sent: *Friday, March 1, 2019 6:11 PM</p><p class=MsoNormal>>      > *To: *John Carlson <mailto:yottzumm@gmail.com <mailto:yottzumm@gmail.com>></p><p class=MsoNormal>>      > *Cc: *X3D Graphics Working Group <mailto:x3d@web3d.org <mailto:x3d@web3d.org>>; X3D Graphics public mailing list <mailto:x3d-public@web3d.org <mailto:x3d-public@web3d.org>></p><p class=MsoNormal>>      > *Subject: *Re: [x3d] X3D meeting minutes 22 FEB 2019: X3D v4 Development statuscategories</p><p class=MsoNormal>>      ></p><p class=MsoNormal>>      > Thanks for these observations John.</p><p class=MsoNormal>>      ></p><p class=MsoNormal>>      > I think this points us at the importance of syntax for sending events to destinations, either (X3D -> HTML) or (HTML -> X3D).</p><p class=MsoNormal>>      ></p><p class=MsoNormal>>      > There are several links in today's minutes of relevance: event descriptions and diagrams for both X3D and HTML.</p><p class=MsoNormal>>      ></p><p class=MsoNormal>>      > The X3Dv4 spec defines functionality - this will tell authors how to construct what they need, and tell implementers what syntax/semantics to support.  In other words, interoperable content.  It does not mandate how an implementation gets coded.</p><p class=MsoNormal>>      ></p><p class=MsoNormal>>      > Building examples and comparing X3DOM and X_ITE together should get us on path to convergence.</p><p class=MsoNormal>>      ></p><p class=MsoNormal>>      > It would be good to get Roy Walmsley's original HTML+SVG+X3D+Javascript demo of "bouncing ball" back on center stage and refreshed.  Anyone know where it is?  Valuable role here for someone...</p><p class=MsoNormal>>      ></p><p class=MsoNormal>>      > On 3/1/2019 2:19 PM, John Carlson wrote:</p><p class=MsoNormal>>      ></p><p class=MsoNormal>>      >  > In other words, to prevent script source code from appearing on the rendered page, I had to remove the text or CDATA node. I am fairly sure I removed the field nodes as well for X3DOM in X3DJSONLD, favoring my own implementation.</p><p class=MsoNormal>>      ></p><p class=MsoNormal>>      >  > I believe that text nodes are incompatible with execution, but it might be worth seeing how something like jsfiddle does it, if they keep a shadow script or what.</p><p class=MsoNormal>>      ></p><p class=MsoNormal>>      >  > I believe you can keep the fields in DOM (I didn’t) if you have an X3DOM implementation of them.</p><p class=MsoNormal>>      ></p><p class=MsoNormal>>      >  > On Fri, Mar 1, 2019 at 4:03 PM John Carlson <yottzumm@gmail.com <mailto:yottzumm@gmail.com> <mailto:yottzumm@gmail.com <mailto:yottzumm@gmail.com>>> wrote:</p><p class=MsoNormal>>      >  >     In other words, scripts (really script fields) do not appear in DOM and do not receive or generate DOM events.</p><p class=MsoNormal>>      ></p><p class=MsoNormal>>      >  >     John</p><p class=MsoNormal>>      ></p><p class=MsoNormal>>      >  >     On Fri, Mar 1, 2019 at 3:46 PM John Carlson <yottzumm@gmail.com <mailto:yottzumm@gmail.com> <mailto:yottzumm@gmail.com <mailto:yottzumm@gmail.com>>> wrote:</p><p class=MsoNormal>>      ></p><p class=MsoNormal>>      >  >         As far as I know there is no Script “class” or source file in X3DOM, thus no place to hang fields, thus nowhere to hook up routes.  I did write one at one time, it didn’t seem that difficult, but I’m not presently on board to rewrite it.   I suggest looking at other implementations of fields.</p><p class=MsoNormal>>      ></p><p class=MsoNormal>>      > [...]</p><p class=MsoNormal>>     all the best, Don</p><p class=MsoNormal>>     -- </p><p class=MsoNormal>>     Don Brutzman  Naval Postgraduate School, Code USW/Br brutzman@nps.edu <mailto:brutzman@nps.edu></p><p class=MsoNormal>>     Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149</p><p class=MsoNormal>>     X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman</p><p class=MsoNormal>> </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>all the best, Don</p><p class=MsoNormal>-- </p><p class=MsoNormal>Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman@nps.edu</p><p class=MsoNormal>Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149</p><p class=MsoNormal>X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>