<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>I do not know why Material nodes are getting their containerField set to material in Nashorn0.x3d. Another puzzle.   This is related to line 273 of X3DJSONLD.js, but I don’t see what is happening. != versus !== in JavaScript???</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:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Friday, June 29, 2018 6:16 AM<br><b>To: </b><a href="mailto:brutzman@nps.edu">Don Brutzman</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>RE: [x3d-public] FW: X3DJSAIL build. Junit jar missing.</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Don, Great!  Now there are a several more Nashorn related issues to resolve.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I will try to get to them in the short term, but you can look at the nashorn build.xml and figure out what needs to be updated to build nashorn/examples.  I don’t think it’s all up to date, and not all the tests are active, I don’t think, thus when diffs are made, there are excess errors I think.  The test.nashorn build.xml needs to be cleaned up and checked for real issues.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>These two diffs should be up to date.   Variation in comments and the missing fieldValues and ProtoInstances seem the most pressing.  There is no way to add containerField in JavaScript, so we’ll have to figure out something (LIKE IF I CALL setMaterial, set the containerField!).<o:p></o:p></p><p class=MsoNormal><br>Here are some errors being thrown from test.nashorn that seem related to the second diff:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>  [exec] [X3DLoaderObject error] ProtoInstance ArtDeco01Material found and node type is Material but containerField is missing, unable to add to scene graph<o:p></o:p></p><p class=MsoNormal>     [exec] [X3DLoaderObject error] ProtoInstance ArtDeco02Material found and node type is ExternProtoDeclare but containerField is missing, unable to add to scene graph<o:p></o:p></p><p class=MsoNormal>     [exec] [X3DLoaderObject error] ProtoInstance  found and node type is ExternProtoDeclare but containerField is missing, unable to add to scene graph<o:p></o:p></p><p class=MsoNormal>     [exec] [X3DLoaderObject error] ProtoInstance MaterialModulator found and node type is Material but containerField is missing, unable to add to scene graph<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>This may be the lack of X3DJSONLD adding a containerField.  I will have to check versions and language differences.  I made one change to X3DJSONLD.js, but I don’t see any differences.  Also, I addFieldValue at the end of the scenegraph in Nashorn.js.  I am not sure if that makes a difference or not. Let me know.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Note that Nashorn0.x3d contains fieldValue, but Nashorn.x3d does not.   See nashorn/test.bat for producing Nashorn0.x3d<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>As far as I know, the process for building Nashorn.x3d and Nashorn0.x3d are similar, but the results are different (Nashorn0.x3d is the result of X3DJSONLD and Nashorn.x3d is the result of X3DJSAIL).  Weird. Please check my work.  If you find a difference in how they are built, let me know. Thanks!  Nashorn0.x3d seems more correct right now.  Please fix X3DJSAIL if possible.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Please look into missing ProtoInstances and fieldValues. Thanks!<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>$ diff HelloWorldProgramOutput.x3d HelloWorldProgramOutput.Nashorn.js.new.x3d<o:p></o:p></p><p class=MsoNormal>88c88<o:p></o:p></p><p class=MsoNormal><                     <!-- alternative Java source: .setString(new String [] {"One, Two, Comment", "", "He said, \"Immel did it!\""}) --><o:p></o:p></p><p class=MsoNormal>---<o:p></o:p></p><p class=MsoNormal>>                     <!-- alternative Java source: .setString(new String [] {"One, Two, Comment", "", "He said, \""Immel did it!\"""}) --><o:p></o:p></p><p class=MsoNormal>107a108,109<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>114a117,119<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>151c156<o:p></o:p></p><p class=MsoNormal><                 <ProtoInstance name='ArtDeco01Material' containerField='material'><o:p></o:p></p><p class=MsoNormal>---<o:p></o:p></p><p class=MsoNormal>>                 <ProtoInstance name='ArtDeco01Material'><o:p></o:p></p><p class=MsoNormal>161c166<o:p></o:p></p><p class=MsoNormal><                 <ProtoInstance DEF='ArtDeco02MaterialDEF' name='ArtDeco02Material' containerField='material'><o:p></o:p></p><p class=MsoNormal>---<o:p></o:p></p><p class=MsoNormal>>                 <ProtoInstance DEF='ArtDeco02MaterialDEF' name='ArtDeco02Material'><o:p></o:p></p><p class=MsoNormal>171c176<o:p></o:p></p><p class=MsoNormal><                 <ProtoInstance USE='ArtDeco02MaterialDEF' containerField='material'/><o:p></o:p></p><p class=MsoNormal>---<o:p></o:p></p><p class=MsoNormal>>                 <ProtoInstance USE='ArtDeco02MaterialDEF'/><o:p></o:p></p><p class=MsoNormal>209a215,216<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>225c232<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>232a240,242<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>243c253<o:p></o:p></p><p class=MsoNormal><                     <ProtoInstance DEF='MyMaterialModulator' name='MaterialModulator' containerField='material'/><o:p></o:p></p><p class=MsoNormal>---<o:p></o:p></p><p class=MsoNormal>>                     <ProtoInstance DEF='MyMaterialModulator' name='MaterialModulator'/><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>diff -w HelloWorldProgramOutput.x3d Nashorn.x3d<o:p></o:p></p><p class=MsoNormal>32a33,35<o:p></o:p></p><p class=MsoNormal>>         <meta name='translated' content='29 June 2018'/><o:p></o:p></p><p class=MsoNormal>>         <meta name='generator' content='X3dToJson.xslt, http://www.web3d.org/x3d/stylesheets/X3dToJson.html'/><o:p></o:p></p><p class=MsoNormal>>         <meta name='reference' content='X3D JSON encoding: http://www.web3d.org/wiki/index.php/X3D_JSON_Encoding'/><o:p></o:p></p><p class=MsoNormal>88c91<o:p></o:p></p><p class=MsoNormal><                     <!-- alternative Java source: .setString(new String [] {"One, Two, Comment", "", "He said, \"Immel did it!\""}) --><o:p></o:p></p><p class=MsoNormal>---<o:p></o:p></p><p class=MsoNormal>>                     <!-- alternative Java source: .setString(new String [] {"One, Two, Comment", "", "He said, \""Immel did it!\"\"}) --><o:p></o:p></p><p class=MsoNormal>151,154d153<o:p></o:p></p><p class=MsoNormal><                 <ProtoInstance name='ArtDeco01Material' containerField='material'><o:p></o:p></p><p class=MsoNormal><                     <!-- [HelloWorldProgram diagnostic] ArtDeco01ProtoInstance.getNodeType()="Material" --><o:p></o:p></p><p class=MsoNormal><                     <fieldValue name='description' value='ArtDeco01Material can substitute for a Material node'/><o:p></o:p></p><p class=MsoNormal><                 </ProtoInstance><o:p></o:p></p><p class=MsoNormal>161,164d159<o:p></o:p></p><p class=MsoNormal><                 <ProtoInstance DEF='ArtDeco02MaterialDEF' name='ArtDeco02Material' containerField='material'><o:p></o:p></p><p class=MsoNormal><                     <!-- [HelloWorldProgram diagnostic] ArtDeco02ProtoInstance.getNodeType()="ERROR_UNKNOWN_EXTERNPROTODECLARE_NODE_TYPE: ExternProtoDeclare name='ArtDeco02Material' type cannot be remotely accessed at run time, TODO X3DJSAIL needs to add further capability." --><o:p></o:p></p><p class=MsoNormal><                     <fieldValue name='description' value='ArtDeco02Material can substitute for another Material node'/><o:p></o:p></p><p class=MsoNormal><                 </ProtoInstance><o:p></o:p></p><p class=MsoNormal>171d165<o:p></o:p></p><p class=MsoNormal><                 <ProtoInstance USE='ArtDeco02MaterialDEF' containerField='material'/><o:p></o:p></p><p class=MsoNormal>243d236<o:p></o:p></p><p class=MsoNormal><                     <ProtoInstance DEF='MyMaterialModulator' name='MaterialModulator' containerField='material'/><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>