<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 am not sure this is fixed yet.  See attached Java, input JSON and diff -w (running the Java should produce a JSON.json to compare).   A new example.</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">Don Brutzman</a><br><b>Sent: </b>Saturday, February 4, 2017 9:25 PM<br><b>To: </b><a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a><br><b>Cc: </b><a href="mailto:roy.walmsley@ntlworld.com">Roy Walmsley</a>; <a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a><br><b>Subject: </b>Re: X3DJSAIL. IS children of ProtoInstance not being exported</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John, took some footstep-following to agree with your diagnosis below, plus there was some additional trickiness involved (as usual).  This omission should be fixed and checked in now too.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>ProtoInstance child ordering is special and requires special handling, since IS/connect must follow any fieldValue overrides.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Pretty impressive that you were able to spot something missing!</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Hopefully it now works for both toStringX3D() and toStringClassicVRML() cases.  The ClassicVRML encoding handles IS as part of fieldValue seriealization, I think.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Source code inspection looks good, but I was not able to test fully however.  Retests welcome.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>                http://www.web3d.org/specifications/java/src/org/web3d/x3d/java/Core/ProtoInstanceObject.java</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Roaring through thousands of scenes in the X3D Examples Archive is a heckuva unit test suite!  Thanks for the tag-team efforts, very helpful.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>                https://en.wikipedia.org/wiki/Test_suite</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>                http://www.web3d.org/x3d/content/examples/X3dResources.html#Examples</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Onward we go...</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>On 2/2/2017 8:26 AM, yottzumm@gmail.com wrote:</p><p class=MsoNormal>> Although IS children of Transform are being exported, IS children of ProtoInstance are not being exported to XML or JSON in X3DJSAIL.  See attached Java example (I didn’t see that my Java was wrong, but I should probably use the new Declarative syntax to be sure).  Perhaps the IS variable is missing from toStringX3D()?</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> I believe ProtoInstanceObject.java is missing the line:</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>                           if (getIS() != null)</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>                                   stringX3D.append(getIS().toStringX3D(level + indentIncrement));</p><p class=MsoNormal>> Found in TransformObject.java</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> I believe this Java derives from these lines in: CreateX3dSceneAccessInterfaceJava.xslt:</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>> <xsl:if test="not($isX3dStatement = 'true') and not($name = 'CommentsBlock') and not($name = 'Script')"></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>                         <xsl:text></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>                         if (getIS() != null)</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>>                                 stringX3D.append(getIS().toStringX3D(level + indentIncrement));</xsl:text></p><p class=MsoNormal>>                 </xsl:if></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Probably ProtoInstance should be included instead of excluded as a statement?   We’ve been revisiting this several times.  Is ProtoInstance actually as statement?  I think ProtoInstance should be included in this test case.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Will provide diffs for your own perusal soon.</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><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>