<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>Once, I put the try catch around replaceWorld, X3DJSONLD X_ITE seems to work flawlessly with NancyDivingProtoInstances.json.  However, X3DOM has all kinds of problems.  I do recommend that Andreas attempt to rewrite it for X3DOM, if not already done. We should get some positive bonuses, like SFRotation, if that’s possible in X3DOM.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>So both NancyPrototypes.json and NancyDivingProtoInstances.json are candidates for X3DOM porting. I’ll let someone decide which has the lowest hanging fruit.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>And don’t forget my script preprocessor:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><a href="https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/node/Script.js">https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/node/Script.js</a><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>[ yes, it’s a hack, improvements are welcome ]<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Yes, I did work fairly hard to get NancyPrototypes.json working in the ProtoExpander.  Thank goodness Cobweb was available at the time to execute behaviors.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Do people want me to check in my Nancy Proto JSONs?<o:p></o:p></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:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Tuesday, May 29, 2018 5:21 AM<br><b>To: </b><a href="mailto:joedwil@earthlink.net">Joseph D Williams</a>; <a href="mailto:andreasplesch@gmail.com">Andreas Plesch</a><br><b>Cc: </b><a href="mailto:x3dom-users@lists.sourceforge.net">x3dom mlist</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>RE: both X3DOM and X_ITE.</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>If on the other hand, our goal is to get all types of HAnim working everywhere,<o:p></o:p></p><p class=MsoNormal>We can focus on the Nancy Protos.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I do know that currently, NancyDivingProtoInstances.json does not load in X3DJSONLD.   And probably won’t in X3DOM due to no conversion from XML to JSON for the ProtoExpander (oops).   You’ll probably have to provide JSON urls for the ProtoExpander, or put<o:p></o:p></p><p class=MsoNormal>    <script type="text/javascript" src="https://coderextreme.net/X3DJSONLD/src/main/node/fieldTypes.js"></script><o:p></o:p></p><p class=MsoNormal>    <script type="text/javascript" src="https://coderextreme.net/X3DJSONLD/src/main/node/mapToMethod.js"></script><o:p></o:p></p><p class=MsoNormal>    <script type="text/javascript" src="https://coderextreme.net/X3DJSONLD/src/main/node/DOM2JSONSerializer.js"></script><o:p></o:p></p><p class=MsoNormal>before x3dom…js in your html file.  I had the best luck using local JSON urls.  I would attach the files, but I think they are rather big.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>And it still won’t load. Hmm. Getting:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>loaderJQuery.js:389 TypeError: Cannot read property 'push' of undefined<o:p></o:p></p><p class=MsoNormal>    at x3dom.Mesh.calcNormals (x3dom-full.debug.js:15345)<o:p></o:p></p><p class=MsoNormal>    at x3dom.registerNodeType.defineClass.nodeChanged.nodeChanged (x3dom-full.debug.js:57213)<o:p></o:p></p><p class=MsoNormal>    at x3dom.NodeNameSpace.setupTree (x3dom-full.debug.js:30582)<o:p></o:p></p><p class=MsoNormal>    at x3dom-full.debug.js:30576<o:p></o:p></p><p class=MsoNormal>    at Function.Array.forEach (x3dom-full.debug.js:35)<o:p></o:p></p><p class=MsoNormal>    at x3dom.NodeNameSpace.setupTree (x3dom-full.debug.js:30575)<o:p></o:p></p><p class=MsoNormal>    at x3dom-full.debug.js:30576<o:p></o:p></p><p class=MsoNormal>    at Function.Array.forEach (x3dom-full.debug.js:35)<o:p></o:p></p><p class=MsoNormal>    at x3dom.NodeNameSpace.setupTree (x3dom-full.debug.js:30575)<o:p></o:p></p><p class=MsoNormal>    at x3dom-full.debug.js:30576<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>In X3DJSONLD. This is when x3dom.reload() is called in replaceWorld (without loadJS()—I haven’t tried with loadJS()). Haven’t really figured out a reason yet. I put a breakpoint right after x3dom.reload() and it doesn’t do anything, so I figure it’s someplace in x3dom.reload(). I saw that sometimes a uri being loaded can be an X3D element, so that’s cool. I will put a try catch around replaceWorld so that the error is localized. I often put try/catch around x3dom.reload(), just because it’s so problematic, perhaps we should in this case. Your call, since you seem have the best ideas for replaceWorld, Andreas.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Or from X3DOM:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Uncaught TypeError: Cannot read property 'push' of undefined<o:p></o:p></p><p class=MsoNormal>    at x3dom.Mesh.calcNormals (x3dom-full.debug.js:15345)<o:p></o:p></p><p class=MsoNormal>    at x3dom.registerNodeType.defineClass.nodeChanged.nodeChanged (x3dom-full.debug.js:57213)<o:p></o:p></p><p class=MsoNormal>    at x3dom.NodeNameSpace.setupTree (x3dom-full.debug.js:30582)<o:p></o:p></p><p class=MsoNormal>    at x3dom-full.debug.js:30576<o:p></o:p></p><p class=MsoNormal>    at Function.Array.forEach (x3dom-full.debug.js:35)<o:p></o:p></p><p class=MsoNormal>    at x3dom.NodeNameSpace.setupTree (x3dom-full.debug.js:30575)<o:p></o:p></p><p class=MsoNormal>    at x3dom-full.debug.js:30576<o:p></o:p></p><p class=MsoNormal>   at Function.Array.forEach (x3dom-full.debug.js:35)<o:p></o:p></p><p class=MsoNormal>    at x3dom.NodeNameSpace.setupTree (x3dom-full.debug.js:30575)<o:p></o:p></p><p class=MsoNormal>    at x3dom-full.debug.js:30576<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>So it’s probably unrelated to replaceWorld() would be my best guess. More likely, it’s something  in the file itself (missing normals?).<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>It is interesting to note that NancyPrototypes.json had schema errors, but apparently, NancyDivingProtoInstances.json does not.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Note: X_ITE was successful at loading, displaying, and running both files.    X3DOM still needs work.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Do we want to work with continuous skin (seamless I guess) on not?<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Note I was successful at displaying the NancyPrototypes.json model in X3DOM, just no interaction buttons appear as they do in X_ITE, so it’s difficult to test behaviors.   Can you look into why the interaction buttons don’t appear, Andreas?  Maybe we can use something else in X3DOM? Something similar to BoxManAnimationPanel.json  perhaps?  Thanks!<o:p></o:p></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<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, May 29, 2018 12:31 AM<br><b>To: </b><a href="mailto:joedwil@earthlink.net">Joseph D Williams</a>; <a href="mailto:andreasplesch@gmail.com">Andreas Plesch</a><br><b>Cc: </b><a href="mailto:x3dom-users@lists.sourceforge.net">x3dom mlist</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>RE: both X3DOM and X_ITE.<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Let’s keep the focus on “HAnim skeleton controlled deformable skin.” If the Nancy PROTO examples do that, good.  As far as I know, the skin mesh on NancyPrototypes.x3d is NOT continuous—It’s made up of separate pieces that follow separate pieces of the skeleton. I do not know about the other Nancy Proto.  I don’t know if continuous skin is a requirement or not.<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><o:p> </o:p></p></div></body></html>