[x3d-public] [x3dom-developers] Prototype

Alan Hudson alan at shapeways.com
Tue Feb 17 08:49:36 PST 2015


On Mon, Feb 16, 2015 at 11:19 AM, Don Brutzman <brutzman at nps.edu> wrote:

> 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)
>
> 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.
>
> 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.
>
> 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.


>
> 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.
>
> The only thing proven is that after a decade of trying a bunch of
dedicated people cannot make them work.


>
>
>
>
> On 2/16/2015 9:13 AM, Don Brutzman wrote:
>
>> It would be good to discuss strategies for eventually implementing X3D
>> prototypes.
>>
>> Lots of X3D players have implemented prototypes, so they are a
>> well-proven technology.
>>
>> 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.
>>
>> Sounds less efficient than simply implementing prototypes in X3DOM, but
>> it is a path.
>>
>> Incidentally, in case anyone had a mistaken impression, there are no
>> "native XML tags" for prototypes in the .x3d syntax.  Example invocation:
>>
>>       <ProtoInstance name='TimeDelaySensor' DEF='TimeDelaySensorExample'>
>>         <fieldValue name='description' value='double click to initiate
>> time-delayed event'/>
>>         <fieldValue name='delayInterval' value='1'/>
>>       </ProtoInstance>
>>
>> Similar syntax using the @name attribute is provided for ProtoDeclare and
>> ExternProtoDeclare.  References:
>>
>> http://www.web3d.org/x3d/content/X3dTooltips.html#ProtoInstance
>> http://www.web3d.org/x3d/content/X3dTooltips.html#ProtoDeclare
>> http://www.web3d.org/x3d/content/X3dTooltips.html#ExternProtoDeclare
>>
>> http://x3dgraphics.com/examples/X3dForWebAuthors/Chapter14-Prototypes
>> http://x3dgraphics.com/slidesets/X3dForWebAuthors/
>> Chapter14-Prototypes.pdf
>> https://www.movesinstitute.org/Video/Courses/X3dForWebAuthors/
>> X3dForWebAuthorsVideo.html#14
>>
>> all the best, Don
>>
>>
>
> all the best, Don
> --
> Don Brutzman  Naval Postgraduate School, Code USW/Br
> brutzman at nps.edu
> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA
> +1.831.656.2149
> X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/
> brutzman
>
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20150217/ba4036d9/attachment.html>


More information about the x3d-public mailing list