<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 16, 2015 at 11:19 AM, Don Brutzman <span dir="ltr"><<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">First, congratulations X3DOM developers.  Getting to embedded Script nodes inside of Prototype declarations is about the most sophisticated thing that there is in X3D.  Indeed it is a major language feature for Extensibility (the X in X3D).  So if we get that working in X3DOM, everything else is easier.   8)<br>
<br>
Attached please find a recently drawn diagram that sheds some light on when values of embedded Script fields get initialized or overridden, and also when they don't.  Perhaps some folks will find it helpful.  Comments and improvements welcome, I'll be cleaning it up and adding an electronic version to the other prototype resources.<br>
<br>
I'm pretty sure that Xj3D satisfactorily supports everything (ProtoInstance fieldValue ExternProtoDeclare ProtoDeclare Script field IS connect).  We recently improved some of the console diagnostics there, which has helped in scene debugging.  If problems are still encountered, then they are typically elsewhere in the scene graph.  Running open-source Xj3D within Netbeans in debug mode lets us drill down to any line of code necessary.<br>
<br></blockquote><div>Xj3D never got all the interactions working completely right.  We made an heroic effort but getting cross browser PROTO's working is not easy.  I'd suggest this has proven not possible at least given all the data points we've seen on interop issues.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
So implementing this proven, standard, working capability would seem to be worthwhile.  Certainly seems easier than creating a new nonstandard extension mechanism that doesn't support X3D content.<br>
<br></blockquote><div>The only thing proven is that after a decade of trying a bunch of dedicated people cannot make them work.  </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">
<br>
<br>
<br>
On 2/16/2015 9:13 AM, Don Brutzman wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
It would be good to discuss strategies for eventually implementing X3D prototypes.<br>
<br>
Lots of X3D players have implemented prototypes, so they are a well-proven technology.<br>
<br>
Other opportunities for implementation in X3DOM may emerge. For example, if there is a design pattern for mapping an X3D ProtoDeclare into X3DOM source code, then we could write an XSLT stylesheet to provide such a conversion on demand.<br>
<br>
Sounds less efficient than simply implementing prototypes in X3DOM, but it is a path.<br>
<br>
Incidentally, in case anyone had a mistaken impression, there are no "native XML tags" for prototypes in the .x3d syntax.  Example invocation:<br>
<br>
      <ProtoInstance name='TimeDelaySensor' DEF='TimeDelaySensorExample'><br>
        <fieldValue name='description' value='double click to initiate time-delayed event'/><br>
        <fieldValue name='delayInterval' value='1'/><br>
      </ProtoInstance><br>
<br>
Similar syntax using the @name attribute is provided for ProtoDeclare and ExternProtoDeclare.  References:<br>
<br>
<a href="http://www.web3d.org/x3d/content/X3dTooltips.html#ProtoInstance" target="_blank">http://www.web3d.org/x3d/<u></u>content/X3dTooltips.html#<u></u>ProtoInstance</a><br>
<a href="http://www.web3d.org/x3d/content/X3dTooltips.html#ProtoDeclare" target="_blank">http://www.web3d.org/x3d/<u></u>content/X3dTooltips.html#<u></u>ProtoDeclare</a><br>
<a href="http://www.web3d.org/x3d/content/X3dTooltips.html#ExternProtoDeclare" target="_blank">http://www.web3d.org/x3d/<u></u>content/X3dTooltips.html#<u></u>ExternProtoDeclare</a><br>
<br>
<a href="http://x3dgraphics.com/examples/X3dForWebAuthors/Chapter14-Prototypes" target="_blank">http://x3dgraphics.com/<u></u>examples/X3dForWebAuthors/<u></u>Chapter14-Prototypes</a><br>
<a href="http://x3dgraphics.com/slidesets/X3dForWebAuthors/Chapter14-Prototypes.pdf" target="_blank">http://x3dgraphics.com/<u></u>slidesets/X3dForWebAuthors/<u></u>Chapter14-Prototypes.pdf</a><br>
<a href="https://www.movesinstitute.org/Video/Courses/X3dForWebAuthors/X3dForWebAuthorsVideo.html#14" target="_blank">https://www.movesinstitute.<u></u>org/Video/Courses/<u></u>X3dForWebAuthors/<u></u>X3dForWebAuthorsVideo.html#14</a><br>
<br>
all the best, Don<br>
<br>
</blockquote>
<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   <a href="tel:%2B1.831.656.2149" value="+18316562149" target="_blank">+1.831.656.2149</a><br>
X3D graphics, virtual worlds, navy robotics <a href="http://faculty.nps.edu/brutzman" target="_blank">http://faculty.nps.edu/<u></u>brutzman</a><br>
</div></div><br>_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
<br></blockquote></div><br></div></div>