<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:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@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;}
.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;}
/* List Definitions */
@list l0
        {mso-list-id:1700010222;
        mso-list-type:hybrid;
        mso-list-template-ids:1311772482 -1 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:\F0D8;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-fareast-font-family:"Times New Roman";
        mso-bidi-font-family:"Times New Roman";}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-bidi-font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;
        mso-bidi-font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-bidi-font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;
        mso-bidi-font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-bidi-font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>> develop test cases for x3d4 or HAnim, I will do that.  Thanks to Joe for pointing me there.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I can talk with you about hanim examples/tests most any time, <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks and Best, <o:p></o:p></p><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><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:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Tuesday, March 24, 2020 7:23 PM<br><b>To: </b><a href="mailto:brutzman@nps.edu">Don Brutzman</a><br><b>Cc: </b><a href="mailto:andreasplesch@gmail.com">Andreas Plesch</a>; <a href="mailto:kunger@ssdllc.biz">Katie Unger</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>Re: [x3d-public] JSweet translation of X3DJSAIL to JavaScript: needspecific design goals first</p></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>Perhaps I haven’t been clear.   I see my position @ Web3d as a tester,  thus I expect to collaborate with other stakeholders to create test cases or example behaviors we want the system to perform.</p></div></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>We have abundant XML that I can generate test cases from.   I’m not generating code out of the blue.   I have a goal of generating code out of the blue, but that’s a long term goal.   This would be done to do code coverage.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I accidentally fell into a library writer position when we got to python.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I added my JSONParser to the browsers because no one was doing it, and I needed a real environment to test in.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I don’t see anything wrong with generating different versions of HelloWorld.js.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I resign from library development.   If someone wants me to develop test cases for x3d4 or HAnim, I will do that.  Thanks to Joe for pointing me there.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>As a tester, I build code that I assert will not work, or I check the XML to see if the scene is supposed to fail.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>The test cases for node are currently failing big time, I know.   I know I use methods instead of array access.   That needs to be fixed.   There are properties in the SAI I haven’t really spotted in the X3DUOM, so perhaps I need to look harder.   I need to add route methods to my serializer.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>John</p></div><div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>On Tue, Mar 24, 2020 at 8:23 PM John Carlson <<a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>> wrote:</p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><div><div><p class=MsoNormal>Design goal:  add existing X3D ecmascript SAI to HTML5 (chrome) and node.js</p></div></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I tend to work from examples rather than specifications.  Once we have our test cases, we can start coding the library, using “test driven development.”  or “behavior driven development.”</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>We will build an npm environment, probably using webpack and yarn, and a suitable test framework.   Then I will start coding tests using  the test framework.   I believe we can use phantomjs or similar to run test cases in.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I will look for the Transform example.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Good news is I’m saving enough money on “shelter in place “ to afford a Web3d membership.</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>John</p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><div><div><p class=MsoNormal>On Tue, Mar 24, 2020 at 7:44 PM Don Brutzman <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>> wrote:</p></div></div></div></blockquote></div></div><p class=MsoNormal style='margin-left:9.6pt'>On 3/24/2020 3:48 PM, John Carlson wrote:<br>> It seems like you have issues with the “generate first” approach. [...]<br><br>Yes.  Don't do that.  Don't even bother thinking about that.<br><br>Please look again at what I wrote.  You need specific design goals first.<br><br>all the best, Don<br>-- <br>Don Brutzman  Naval Postgraduate School, Code USW/Br       <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><br>Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149<br>X3D graphics, virtual worlds, navy robotics <a href="http://faculty.nps.edu/brutzman" target="_blank">http://faculty.nps.edu/brutzman</a></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>