<div><div dir="auto">Yes, I’ve added the field types.</div><div dir="auto"><br></div><div dir="auto">Now the question for the master branch is, what JavaScript is necessary to add fields to X3DScripts, and how do we mesh Protos with X3DScripts.</div><div dir="auto"><br></div><div dir="auto">The question for the Script branch is whether it’s going to work with existing X3DOM architecture, in particular, what were the issues behind previous implementation efforts. I think the best way forward would be implement a new scripting language for script nodes which includes fields.   We should be able to follow brython’s example.</div><div dir="auto"><br></div><div dir="auto">For me, the failures of previous attempts were found in the debugger.  If I recall correctly,  the Script node or field node was not considered first class X3DOM nodes so we couldn’t route to/from it.   I need to start the debugger again.</div></div><div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 15, 2020 at 8:30 AM Andreas Plesch <<a href="mailto:andreasplesch@gmail.com" target="_blank">andreasplesch@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="auto">All field type constructors and methods are defined fields.js . Since x3dom is operating together with other scripts on the page everything needs to be namespaced. Instead of <div dir="auto"><br></div><div dir="auto">new MFInt32()</div><div dir="auto"><br></div><div dir="auto">there is a</div><div dir="auto"><br></div><div dir="auto">new x3dom.fields.MFInt32()</div><div dir="auto"><br></div><div dir="auto">I think John added appropriate helpers which should work in an encapsulated function scope under which all X3Dscripts execute.</div><div dir="auto"><br></div><div dir="auto"><br><br><div data-smartmail="gmail_signature" dir="auto">---on the phone---</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 15, 2020, 2:45 AM Don Brutzman <<a href="mailto:brutzman@nps.edu" rel="noreferrer" target="_blank">brutzman@nps.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">Color me very surprised if X3DOM doesn't have field types already.<br>
<br>
On 10/14/2020 8:52 PM, John Carlson wrote:<br>
> <br>
> I've added the following test to x3dom (coderextreme's master branch).  There are some pretty basic things such that it doesn't work, below--MFInt32 not defined.   Do I need to define all field Types?  Can do, I've done it before!  I probably need to do it in the same scope as initialize?<br>
> <br>
> I will pursue adding field types for now. Wish me luck!<br>
> <br>
> Thanks.<br>
> <br>
> x3dom-full.debug.js:45007 Adding fields<br>
> x3dom.registerNodeType.defineClass.nodeChanged @ x3dom-full.debug.js:45007<br>
> x3dom-full.debug.js:45034 Number of fields 6<br>
> VM46:31 Uncaught ReferenceError: MFInt32 is not defined<br>
>      at eventsProcessed (eval at nodeChanged (x3dom-full.debug.js:45126), <anonymous>:31:16)<br>
>      at initialize (eval at nodeChanged (x3dom-full.debug.js:45126), <anonymous>:24:2)<br>
>      at eval (eval at nodeChanged (x3dom-full.debug.js:45126), <anonymous>:236:41)<br>
>      at x3dom.registerNodeType.defineClass.nodeChanged.nodeChanged (x3dom-full.debug.js:45139)<br>
>      at x3dom.NodeNameSpace.setupTree (x3dom-full.debug.js:11796)<br>
>      at x3dom.registerNodeType.defineClass.nodeChanged.nodeChanged (x3dom-full.debug.js:33648)<br>
>      at x3dom.NodeNameSpace.setupTree (x3dom-full.debug.js:11796)<br>
>      at x3dom.NodeNameSpace.<anonymous> (x3dom-full.debug.js:11789)<br>
>      at NodeList.forEach (<anonymous>)<br>
>      at x3dom.NodeNameSpace.setupTree (x3dom-full.debug.js:11787)<br>
> x3dom-full.debug.js:45007 Adding fields<br>
> x3dom.registerNodeType.defineClass.nodeChanged @ x3dom-full.debug.js:45007<br>
> x3dom-full.debug.js:45034 Number of fields 5<br>
> x3dom-full.debug.js:45007 Adding fields<br>
> x3dom.registerNodeType.defineClass.nodeChanged @ x3dom-full.debug.js:45007<br>
> x3dom-full.debug.js:45034 Number of fields 5<br>
> x3dom-full.debug.js:45007 Adding fields<br>
> x3dom.registerNodeType.defineClass.nodeChanged @ x3dom-full.debug.js:45007<br>
> <br>
>   create mode 100644 test/functional/Gears/Rotor.x3d<br>
>   create mode 100644 test/functional/Gears/gears.x3d<br>
>   create mode 100644 test/functional/Gears/index.html<br>
> <br>
> <a href="http://localhost:8000/test/functional/Gears/" rel="noreferrer noreferrer noreferrer" target="_blank">http://localhost:8000/test/functional/Gears/</a><br>
> <br>
> Thanks,<br>
> <br>
> John<br>
> <br>
> ---------- Forwarded message ---------<br>
> From: *John Carlson* <<a href="mailto:yottzumm@gmail.com" rel="noreferrer noreferrer" target="_blank">yottzumm@gmail.com</a> <mailto:<a href="mailto:yottzumm@gmail.com" rel="noreferrer noreferrer" target="_blank">yottzumm@gmail.com</a>>><br>
> Date: Wed, Oct 14, 2020 at 9:54 PM<br>
> Subject: Re: [x3d-public] Priorities<br>
> To: Don Brutzman <<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a> <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a>>><br>
> Cc: X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a> <mailto:<a href="mailto:x3d-public@web3d.org" rel="noreferrer noreferrer" target="_blank">x3d-public@web3d.org</a>>><br>
> <br>
> <br>
> I will be pursuing getting X3DScript working entirely within x3dom this evening.<br>
> <br>
> John<br>
> <br>
> On Wed, Oct 14, 2020 at 9:44 PM John Carlson <<a href="mailto:yottzumm@gmail.com" rel="noreferrer noreferrer" target="_blank">yottzumm@gmail.com</a> <mailto:<a href="mailto:yottzumm@gmail.com" rel="noreferrer noreferrer" target="_blank">yottzumm@gmail.com</a>>> wrote:<br>
> <br>
>     X3DJSONLD only has limited functionality for X3DScript.   I stripped it because X_ITE did not have support, so none of my X3DScripts were working.   I hope we can get X3DScript added to XMLSchema, X3DUOM etc<br>
> <br>
>     Thanks, Don<br>
> <br>
>       John<br>
> <br>
>     On Wed, Oct 14, 2020 at 9:33 PM John Carlson <<a href="mailto:yottzumm@gmail.com" rel="noreferrer noreferrer" target="_blank">yottzumm@gmail.com</a> <mailto:<a href="mailto:yottzumm@gmail.com" rel="noreferrer noreferrer" target="_blank">yottzumm@gmail.com</a>>> wrote:<br>
> <br>
>         If I recall correctly, full support for SAI will require a Browser implementation.   I suggest someone scope out the work for that, if any.   That is, much of the functionality may be there.  It’s important to distinguish X_ITE’s Browser from X3DOM’s in any case.<br>
> <br>
>         John<br>
> <br>
>         On Wed, Oct 14, 2020 at 9:22 PM John Carlson <<a href="mailto:yottzumm@gmail.com" rel="noreferrer noreferrer" target="_blank">yottzumm@gmail.com</a> <mailto:<a href="mailto:yottzumm@gmail.com" rel="noreferrer noreferrer" target="_blank">yottzumm@gmail.com</a>>> wrote:<br>
> <br>
>             Andreas, can you share any info about why field routing may not be working for X3DScripts in X3DOM?  See coderextreme repository.<br>
> <br>
>             When I get a chance, I will peek at proto declare/interface fields, but my understanding is those go away!<br>
> <br>
>             Note that I’m not currently working on SAI for X3DOM, but I do have some preliminary steps for declaring field types.<br>
> <br>
>             John<br>
> <br>
>             On Wed, Oct 14, 2020 at 6:45 PM Don Brutzman <<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a> <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a>>> wrote:<br>
> <br>
>                 On 10/13/2020 8:26 PM, John Carlson wrote:<br>
>                  ><br>
>                  > Here’s may be possible:  X3DScript node for X3DOM and  X_ITE.   PROTOs with scripts<br>
> <br>
>                 Script node support is is always topmost deficient.  X3DOM without scripts is not compliant X3D or VRML.<br>
> <br>
>                 Prototypes are tied for importance, as in Really Really Important for X extensibility.<br>
> <br>
>                 Please continue sharing information with Andreas so that this might all land and work.  Thanks John.<br>
> <br>
>                 all the best, Don<br>
>                 -- <br>
>                 Don Brutzman  Naval Postgraduate School, Code USW/Br <a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a> <mailto:<a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a>><br>
>                 Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149<br>
>                 X3D graphics, virtual worlds, navy robotics <a href="http://faculty.nps.edu/brutzman" rel="noreferrer noreferrer noreferrer" target="_blank">http://faculty.nps.edu/brutzman</a><br>
> <br>
<br>
all the best, Don<br>
-- <br>
Don Brutzman  Naval Postgraduate School, Code USW/Br       <a href="mailto:brutzman@nps.edu" rel="noreferrer noreferrer" target="_blank">brutzman@nps.edu</a><br>
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149<br>
X3D graphics, virtual worlds, navy robotics <a href="http://faculty.nps.edu/brutzman" rel="noreferrer noreferrer noreferrer" target="_blank">http://faculty.nps.edu/brutzman</a><br>
</blockquote></div>
</blockquote></div></div>
</div>