<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=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;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.EmailStyle21
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:203177887;
mso-list-template-ids:-630154238;}
@list l0:level1
{mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level2
{mso-level-tab-stop:1.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level3
{mso-level-tab-stop:1.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level4
{mso-level-tab-stop:2.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level5
{mso-level-tab-stop:2.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level6
{mso-level-tab-stop:3.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level7
{mso-level-tab-stop:3.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level8
{mso-level-tab-stop:4.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level9
{mso-level-tab-stop:4.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l1
{mso-list-id:577446980;
mso-list-template-ids:-591758516;}
@list l1:level1
{mso-level-start-at:2;
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l2
{mso-list-id:821628743;
mso-list-template-ids:-1301526782;}
@list l2:level1
{mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l2:level2
{mso-level-tab-stop:1.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l2:level3
{mso-level-tab-stop:1.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l2:level4
{mso-level-tab-stop:2.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l2:level5
{mso-level-tab-stop:2.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l2:level6
{mso-level-tab-stop:3.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l2:level7
{mso-level-tab-stop:3.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l2:level8
{mso-level-tab-stop:4.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l2:level9
{mso-level-tab-stop:4.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l3
{mso-list-id:1110202433;
mso-list-template-ids:258659926;}
@list l4
{mso-list-id:1502357499;
mso-list-template-ids:-283870578;}
@list l4:level1
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l4:level2
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:1.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l4:level3
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:1.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l4:level4
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:2.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l4:level5
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:2.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l4:level6
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:3.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l4:level7
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:3.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l4:level8
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:4.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l4:level9
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:4.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
--></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-US" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">John, thanks for your note but again no complaints (ever) by me for your worthy efforts.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Email motivation: when I post it is best effort for everyone in community (now and future) reading the archives. Avoiding confusion is important.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Please stand by on further x3d.py commentary. Last weekend made good progress (as reported to you via phone Tuesday) and almost finished initial JSON export, now need to check a regression issue on VRML export.<o:p></o:p></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">all the best, Don<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">--
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">Don Brutzman Naval Postgraduate School, Code USW/Br brutzman@nps.edu<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">X3D graphics, virtual worlds, navy robotics https://</span>
<span style="font-size:10.0pt;font-family:"Courier New",serif">faculty.nps.edu/brutzman<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> John Carlson <yottzumm@gmail.com> <br>
<b>Sent:</b> Saturday, December 4, 2021 2:08 PM<br>
<b>To:</b> Brutzman, Donald (Don) (CIV) <brutzman@nps.edu>; Joseph D Williams <joedwil@earthlink.net><br>
<b>Cc:</b> X3D Graphics public mailing list <x3d-public@web3d.org><br>
<b>Subject:</b> Re: [x3d-public] X3D Scripting for X3DOM w/o reading standard<o:p></o:p></p>
</div>
</div>
<div>
<p>I appreciate your confidence in me, but I feel that I would make a mess of it. Plus, if I can't read existing standards, I probably can't figure out how to improve them either.<o:p></o:p></p>
<p>I have similar problems with videos, TV episodes, books, etc. I've been working on doing better with videos, but it seems that YouTube makes me angry now.<o:p></o:p></p>
<p>For some reason, my ability to email people remains. I don't know if I comprehend things too well in emails.<o:p></o:p></p>
<p>I feel it's best to stick with my strong points in bug finding, problem solving and creativity. I am not sure if there's a place for that in Web3D/X3D.<o:p></o:p></p>
<p>I totally understand that X_ITE supports script <field>s, but I don't know if script <field>'s are required to be supported by the standard.<o:p></o:p></p>
<p>I think the main sticking point is that HTML does not support script <field>'s, so neither does X3D4? But somehow, X_ITE supports <field>s in scripts, and does DOM as well, via Andreas' extension. It would seem that X3DOM could support scripts given
some effort. When I tried, I ran up against <field>'s not being supported, so I bailed. But perhaps someone with a bit more persistence could get past that, IDK.<o:p></o:p></p>
<p>Integrating Protos and Scripts still seems to be an unsolved problem in X3DOM? Is my effort the only one that actually has some modicum of success (with some of my own files)? If we start somewhere, should we start with my effort, or X_ITE? Or another
path?<o:p></o:p></p>
<p>I opened email to report a possible misunderstanding in x3d.py. I'll put that in another email.<o:p></o:p></p>
<p>Thanks!<o:p></o:p></p>
<p>John<o:p></o:p></p>
<div>
<p class="MsoNormal">On 12/4/21 12:30, Brutzman, Donald (Don) (CIV) wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p>Hi John. You reasonably ask “Does the X3D4 standard eschew script <field>s? And instead offer "onclick()" events?”<o:p></o:p></p>
<p class="MsoNormal">Ummm, why wonder ever again? Why not propose fixing X3D4 if unclear or incorrect? Together we are in charge of our own destiny.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<ol style="margin-top:0in" start="1" type="1">
<li class="MsoListParagraph" style="margin-left:0in;mso-list:l0 level1 lfo3">X3D4 Architecture, Committee Draft CD1, Annex L HTML authoring guidelines<o:p></o:p></li><li class="MsoListParagraph" style="margin-left:0in;mso-list:l0 level1 lfo3"><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/htmlGuidelines.html">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/htmlGuidelines.html</a><o:p></o:p></li></ol>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">The X3D4 guidelines are intended to complement HTML5. Building up behavior examples (like the rosetta-stone bouncing ball) that show HTML DOM being HTML DOM, and X3D being X3D, is a very good approach.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Thanks for all scrutiny, demonstration, and possible improvements. Looking forward to steady continuing progress together as a community.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">p.s. Have fun with X3D4 and HTML5! 8)<o:p></o:p></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">all the best, Don</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">--
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">Don Brutzman Naval Postgraduate School, Code USW/Br
<a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a></span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New",serif">X3D graphics, virtual worlds, navy robotics https://</span>
<span style="font-size:10.0pt;font-family:"Courier New",serif">faculty.nps.edu/brutzman</span><o:p></o:p></p>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> x3d-public <a href="mailto:x3d-public-bounces@web3d.org">
<x3d-public-bounces@web3d.org></a> <b>On Behalf Of </b>John Carlson<br>
<b>Sent:</b> Friday, December 3, 2021 2:07 PM<br>
<b>To:</b> Joseph D Williams <a href="mailto:joedwil@earthlink.net"><joedwil@earthlink.net></a><br>
<b>Cc:</b> X3D Graphics public mailing list <a href="mailto:x3d-public@web3d.org">
<x3d-public@web3d.org></a><br>
<b>Subject:</b> Re: [x3d-public] X3D Scripting for X3DOM w/o reading standard<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<p>For example, if we see this: <a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.kshell.com%2Fpages%2Frosetta%2Frosetta_x3dom.html&data=04%7C01%7Cbrutzman%40nps.edu%7C3c69f0c7cc5f457ced0208d9b7728cbd%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637742525300096123%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=wsa4aY%2B8UhE%2FnLTAKQdrOMSwiq5m6L4g6SkakyjGXxA%3D&reserved=0">
https://www.kshell.com/pages/rosetta/rosetta_x3dom.html</a> copied from another email, we see that there are *no* script <field>s in the code.<o:p></o:p></p>
<p>Does the X3D4 standard eschew script <field>s? And instead offer "onclick()" events?<o:p></o:p></p>
<p>Thanks!<o:p></o:p></p>
<p>John<o:p></o:p></p>
<div>
<p class="MsoNormal">On 12/3/21 15:33, John Carlson wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<p class="MsoNormal"><br>
<br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal" style="margin-bottom:12.0pt">On Dec 3, 2021, at 1:53 PM, Joseph D Williams
<a href="mailto:joedwil@earthlink.net"><joedwil@earthlink.net></a> wrote:<o:p></o:p></p>
</blockquote>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal"> <o:p></o:p></p>
<ol style="margin-top:0in" start="1" type="1">
<li class="MsoListParagraph" style="margin-left:0in;mso-list:l2 level1 lfo6">2. What are the stumbling blocks to getting script fields into the event model?<o:p></o:p></li></ol>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Hi John,<o:p></o:p></p>
<p class="MsoNormal">Scripts are completely involved in the x3d sai event model. A script must receive an event to begin execution and then it is like an ’external’ in that when the script begins it essentially acts like a beginUpdate and when it completes
it essentially gets an endUpdate and all outputs are sent with the same time stamp as kicked off the script. Think of it as script is like any other node that can receive and send events. Only exception is, I think, that a script directOut does not initiate
a new cascade<o:p></o:p></p>
</div>
</blockquote>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<p class="MsoNormal">Part of the thing to do is try script fields in X3DOM and see if they work at all, and if they don’t, try to do a minimal amount of debugging to see what might be done.
<o:p></o:p></p>
<div>
<p class="MsoNormal">I do not recall if Roy’s work on this is available still or not.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal"> <o:p></o:p></p>
<ol style="margin-top:0in" start="2" type="1">
<li class="MsoListParagraph" style="margin-left:0in;mso-list:l2 level1 lfo6">3. If scripts are transformed, how?<o:p></o:p></li></ol>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">If it is ECMAScript then what do you do? What can be done? Break it down into json like any other node? For some reason I hope not.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</blockquote>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<p class="MsoNormal">Well, one could potentially replace field access with a node attribute util get or set method. But this can get really tricky, if not impossible to do in all cases. It would be better to implement script field routes, if possible. See
above. If one could get script field routes into the HTML standard, much, much better…<br>
<br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">Joe <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From: </b><a href="mailto:yottzumm@gmail.com">John Carlson</a><br>
<b>Sent: </b>Tuesday, November 30, 2021 11:40 AM<br>
<b>To: </b><a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br>
<b>Subject: </b>[x3d-public] X3D Scripting for X3DOM w/o reading standard<o:p></o:p></p>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Information needed:<o:p></o:p></p>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">1. Do scripts in proto bodies get copied?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2. What are the stumbling blocks to getting script fields into the event model?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">3. If scripts are transformed, how?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">4. What is the new event model for X3D4?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<p class="MsoNormal">John<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</blockquote>
</div>
</div>
</blockquote>
</blockquote>
</div>
</div>
</body>
</html>