<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>I will keep my draft email aside until it can be tested with an
      improved x3d.py.</p>
    <p>The main issue appears to be the difference between a hand-coded
      python app and a JSON-based python dict, with difference between
      how SFVec3f setter handles tuple versus list.</p>
    <p>Good luck with testing/development!</p>
    <p>I will try to flesh out the partial classes, preparing for
      integration with the classes generated by the stylesheet. 
      Hopefully, I will get to full XML output with a single JSON file.<br>
    </p>
    <p>John<br>
    </p>
    <div class="moz-cite-prefix">On 12/4/21 17:11, Brutzman, Donald
      (Don) (CIV) wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:BY3PR13MB488490129C82CECE7C519F88C46B9@BY3PR13MB4884.namprd13.prod.outlook.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style>@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;}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;}div.WordSection1
        {page:WordSection1;}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]-->
      <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        <a class="moz-txt-link-abbreviated" href="mailto:brutzman@nps.edu">brutzman@nps.edu</a><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
              <a class="moz-txt-link-rfc2396E" href="mailto:yottzumm@gmail.com"><yottzumm@gmail.com></a> <br>
              <b>Sent:</b> Saturday, December 4, 2021 2:08 PM<br>
              <b>To:</b> Brutzman, Donald (Don) (CIV)
              <a class="moz-txt-link-rfc2396E" href="mailto:brutzman@nps.edu"><brutzman@nps.edu></a>; Joseph D Williams
              <a class="moz-txt-link-rfc2396E" href="mailto:joedwil@earthlink.net"><joedwil@earthlink.net></a><br>
              <b>Cc:</b> X3D Graphics public mailing list
              <a class="moz-txt-link-rfc2396E" 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>
        <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" type="1" start="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"
                  moz-do-not-send="true" class="moz-txt-link-freetext">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"
                    moz-do-not-send="true" class="moz-txt-link-freetext">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"
                    moz-do-not-send="true">
                    <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"
                    moz-do-not-send="true"><joedwil@earthlink.net></a><br>
                  <b>Cc:</b> X3D Graphics public mailing list <a
                    href="mailto:x3d-public@web3d.org"
                    moz-do-not-send="true">
                    <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"
                moz-do-not-send="true">
                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"
                      moz-do-not-send="true"><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" type="1" start="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" type="1" start="2">
                        <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"
                            moz-do-not-send="true">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"
                            moz-do-not-send="true">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>
    </blockquote>
  </body>
</html>