<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>So I propose a 3 prong approach to getting X3D HTML/XML scripting
approach (with <field>s) working in X3DOM:</p>
<p>1. Create a new node, say X3DScript, if not otherwise taken by
other nodes and statements. Get <field>'s working inside
it. Any execution should be put off at this point, until we
figure out how to integrate Protos and Scripts.<br>
</p>
<p>2. Try to get existing script <field>s working inside HTML
script nodes. Figure out how to integrate Protos and Scripts<br>
</p>
<p>3. Try to copy what X_ITE does in X3DOM.<br>
</p>
<p>Maybe we should vote on the order to pursue these in, if we have
limited resources.</p>
<p>I am currently exploring loading JSON into x3d.py. My primary
focus has been JSON. If someone requires that JSON scripts work in
X3DOM, I can work on that instead.<br>
</p>
<p>John<br>
</p>
<p><br>
</p>
<p><br>
</p>
<div class="moz-cite-prefix">On 12/4/21 17:06, Brutzman, Donald
(Don) (CIV) wrote:<br>
</div>
<blockquote type="cite"
cite="mid:BY3PR13MB4884FF1A7AC622462095D58AC46B9@BY3PR13MB4884.namprd13.prod.outlook.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator" content="Microsoft Word 15 (filtered
medium)">
<style>@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}@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;}@font-face
{font-family:Verdana;
panose-1:2 11 6 4 3 5 4 4 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}p.m-442342095952319720msolistparagraph, li.m-442342095952319720msolistparagraph, div.m-442342095952319720msolistparagraph
{mso-style-name:m_-442342095952319720msolistparagraph;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}span.EmailStyle21
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;
font-family:"Calibri",sans-serif;}div.WordSection1
{page:WordSection1;}ol
{margin-bottom:0in;}ul
{margin-bottom:0in;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<div
style="mso-element:para-border-div;border:none;border-bottom:solid
windowtext 1.5pt;padding:0in 0in 1.0pt 0in">
<p class="MsoNormal" style="border:none;padding:0in">John, for
everyone’s convenience, here is current paragraph in X3D4
Architecture Annex L HTML Guidelines.<o:p></o:p></p>
<p class="MsoNormal" style="border:none;padding:0in"><o:p> </o:p></p>
</div>
<p class="MsoNormal">*
<a class="moz-txt-link-freetext" href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/htmlGuidelines.html#JavaScriptECMAScript">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/htmlGuidelines.html#JavaScriptECMAScript</a><o:p></o:p></p>
<p class="MsoNormal"
style="margin-top:13.5pt;mso-margin-bottom-alt:auto"><b><span
style="font-size:15.5pt;font-family:"Verdana",sans-serif;color:black">L.4.2
JavaScript/ECMAScript considerations<o:p></o:p></span></b></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span
style="font-size:12.0pt;font-family:"Verdana",sans-serif;color:black">JavaScript
is a programming language that conforms to the ECMAScript
specification. The names are often used interchangeably,
with ECMAScript indicating strictly specified formal
definitions (see <a
href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/references.html#I16262"
moz-do-not-send="true">ISO/IEC 16262 Information
technology — ECMAScript language specification</a>).<o:p></o:p></span></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span
style="font-size:12.0pt;font-family:"Verdana",sans-serif;color:black">Specified
ECMAScript Application Programming Interface (API)
capabilities for X3D Script node are defined functionally
and syntactically in <a
href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/references.html#I19775_2"
moz-do-not-send="true">ISO/IEC 19775-2 X3D Scene Authoring
Interface (SAI)</a> and <a
href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/references.html#I19776"
moz-do-not-send="true">ISO/IEC 19776-1 — X3D ECMAScript
encoding</a>, respectively.<o:p></o:p></span></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span
style="font-size:12.0pt;font-family:"Verdana",sans-serif;color:black">Browser
implementations and language versions for
JavaScript/ECMAScript engines can vary. Since X3D SAI
functional requirements are carefully scoped to match the
essential capabilities of this core Web programming
language, a single JavaScript/ECMAScript engine can
typically be used for both HTML and X3D event handling.<o:p></o:p></span></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span
style="font-size:12.0pt;font-family:"Verdana",sans-serif;color:black">Within
a Web browser, implementations for HTML and X3D may share a
single JavaScript/ECMAScript engine. Such integration is
often important for both performance and synchronization
issues. This consideration is especially important when
considering the demanding response-time requirements of
immersive interfaces and spatial body-tracking devices. To
aid portability and avoid unintended overloading of variable
references, it is good practice for X3D Script authors to
avoid the use of variables with global scope.<o:p></o:p></span></p>
<div
style="mso-element:para-border-div;border:none;border-bottom:solid
windowtext 1.5pt;padding:0in 0in 1.0pt 0in">
<p class="MsoNormal" style="border:none;padding:0in"><o:p> </o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Yes an X3D Script node is still a node.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l3 level1 lfo1">X3D4
Architecture Clause 29 Scripting component<o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l3 level1 lfo1"><a class="moz-txt-link-freetext" href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/scripting.html">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/scripting.html</a><o:p></o:p></li>
</ul>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Node that XML encoding of all X3D4 nodes
and statements includes id, class and style elements so that
they can be manipulated via DOM if desired without losing full
support for strong XML validation.<o:p></o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l3 level1 lfo1"><a class="moz-txt-link-freetext" href="https://www.web3d.org/x3d/content/X3dTooltips.html#Anchor.class">https://www.web3d.org/x3d/content/X3dTooltips.html#Anchor.class</a><o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l3 level1 lfo1"><a class="moz-txt-link-freetext" href="https://www.web3d.org/x3d/content/X3dTooltips.html#Anchor.id">https://www.web3d.org/x3d/content/X3dTooltips.html#Anchor.id</a><o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l3 level1 lfo1"><a class="moz-txt-link-freetext" href="https://www.web3d.org/x3d/content/X3dTooltips.html#Anchor.style">https://www.web3d.org/x3d/content/X3dTooltips.html#Anchor.style</a><o:p></o:p></li>
</ul>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">There has been some speculation in the past
that an implementation might need to internally rename
embedded X3D Script nodes (to X3dScript or whatnot) in order
disambiguate connections via X3D Script ROUTEs (for X3D event
passing) and HTML Script callbacks (for DOM event passing).
However no one has ever made the case that authors must do
something like that, so that possibility was not included in
draft prose by spec editors after working-group review.
Further
<o:p></o:p></p>
<ol style="margin-top:0in" type="A" start="1">
<li class="MsoListParagraph"
style="margin-left:-.25in;mso-list:l0 level1 lfo2">X_ITE
seems to load an X3D scene together with the whole DOM, and
<o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:-.25in;mso-list:l0 level1 lfo2">both
current open-source players seem to run the Rosetta Stone
Bouncing Ball pretty well, and
<o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:-.25in;mso-list:l0 level1 lfo2">X3D DEF
values for ROUTES are not the same as HTML id/class/style
values for an X3D Script present in the DOM, and
<o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:-.25in;mso-list:l0 level1 lfo2">it seems
like even the slightest Javascript inspection by a program
can easily disambiguate the difference between the two kinds
of Script.
<o:p></o:p></li>
</ol>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">So, as ever, X3D Script and HTML Script can
coexist nicely, and it sure seems like a proven path for
implementation.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Confirming: still looks like X_ITE has
gotten it right for several years now (thank you Holger).
Still looks like X3DOM has not figured it out.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l3 level1 lfo1">X3D Example
Archives: VRML 2 Sourcebook, Chapter 30 Scripts, Figure 30 1
Script Sliding Ball<o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l3 level1 lfo1"><a class="moz-txt-link-freetext" href="https://www.web3d.org/x3d/content/examples/Vrml2.0Sourcebook/Chapter30Scripts/Figure30_1ScriptSlidingBallIndex.html">https://www.web3d.org/x3d/content/examples/Vrml2.0Sourcebook/Chapter30Scripts/Figure30_1ScriptSlidingBallIndex.html</a><o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l3 level1 lfo1"><a class="moz-txt-link-freetext" href="https://www.web3d.org/x3d/content/examples/Vrml2.0Sourcebook/Chapter30Scripts/Figure30_1ScriptSlidingBallX_ITE.html">https://www.web3d.org/x3d/content/examples/Vrml2.0Sourcebook/Chapter30Scripts/Figure30_1ScriptSlidingBallX_ITE.html</a><o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l3 level1 lfo1"><a class="moz-txt-link-freetext" href="https://www.web3d.org/x3d/content/examples/Vrml2.0Sourcebook/Chapter30Scripts/Figure30_1ScriptSlidingBallX3dom.xhtml">https://www.web3d.org/x3d/content/examples/Vrml2.0Sourcebook/Chapter30Scripts/Figure30_1ScriptSlidingBallX3dom.xhtml</a><o:p></o:p></li>
</ul>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Some worthy work is doubtless needed for
X3DOM. Addition of X3D Prototype support with embedded X3D
Script nodes adds perhaps more implementation code with
yet-another layer of indirection, but such is Computer
Science. Saving grace: an implementation only has to “get it
right once” when aligning with stable standards.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Summary: X3D is unchanged, coexistence with
HTML is possible and proven by X_ITE, further work needed by
X3DOM.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Have fun reading X3D4 Committee Draft (CD1)
Standard! 8)<o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier New"">all
the best, Don<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier New"">--
<o:p>
</o:p></span></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier New"">Don
Brutzman Naval Postgraduate School, Code USW/Br
<a class="moz-txt-link-abbreviated" href="mailto:brutzman@nps.edu">brutzman@nps.edu</a><o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier New"">Watkins
270, MOVES Institute, Monterey CA 93943-5000 USA
+1.831.656.2149<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier New"">X3D
graphics, virtual worlds, navy robotics https://</span>
<span style="font-size:10.0pt;font-family:"Courier
New"">faculty.nps.edu/brutzman<o:p></o:p></span></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> x3d-public
<a class="moz-txt-link-rfc2396E" href="mailto:x3d-public-bounces@web3d.org"><x3d-public-bounces@web3d.org></a> <b>On Behalf Of
</b>John Carlson<br>
<b>Sent:</b> Friday, December 3, 2021 8:06 PM<br>
<b>To:</b> Joseph D Williams <a class="moz-txt-link-rfc2396E" href="mailto:joedwil@earthlink.net"><joedwil@earthlink.net></a><br>
<b>Cc:</b> X3D Graphics public mailing list
<a class="moz-txt-link-rfc2396E" href="mailto:x3d-public@web3d.org"><x3d-public@web3d.org></a><br>
<b>Subject:</b> Re: [x3d-public] X3D Scripting for X3DOM w/o
reading standard<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">I don’t see how scripts are handled in
the CD, or if scripts are actually nodes.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Fri, Dec 3, 2021 at 4:54 PM Joseph
D Williams <<a href="mailto:joedwil@earthlink.net"
moz-do-not-send="true" class="moz-txt-link-freetext">joedwil@earthlink.net</a>>
wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC
1.0pt;padding:0in 0in 0in
6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">To
me, that example does not show how a script node in
the scene fails.<o:p></o:p></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Since
this topic hardly sees this list (anymore), maybe
need to hear from developers and what changes need
to be made in x3d4 text up on the web.<o:p></o:p></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><a class="moz-txt-link-freetext" href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/concepts.html#Eventmodel">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/concepts.html#Eventmodel</a><o:p></o:p></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Joe<o:p></o:p></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">the
<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<div style="border:none;border-top:solid #E1E1E1
1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b>From:
</b><a href="mailto:yottzumm@gmail.com"
target="_blank" moz-do-not-send="true">John
Carlson</a><br>
<b>Sent: </b>Friday, December 3, 2021 2:07 PM<br>
<b>To: </b><a href="mailto:joedwil@earthlink.net"
target="_blank" moz-do-not-send="true">Joseph D
Williams</a><br>
<b>Cc: </b><a href="mailto:x3d-public@web3d.org"
target="_blank" moz-do-not-send="true">X3D
Graphics public mailing list</a><br>
<b>Subject: </b>Re: [x3d-public] X3D Scripting
for X3DOM w/o reading standard<o:p></o:p></p>
</div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p>For example, if we see this:
<a class="moz-txt-link-freetext" href="https://www.kshell.com/pages/rosetta/rosetta_x3dom.html">https://www.kshell.com/pages/rosetta/rosetta_x3dom.html</a>
copied from another email, we see that there are
*no* script <field>s in the code.<o:p></o:p></p>
<p>Does the X3D4 standard eschew script
<field>s? And instead offer "onclick()"
events?<o:p></o:p></p>
<p>Thanks!<o:p></o:p></p>
<p>John<o:p></o:p></p>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">On
12/3/21 15:33, John Carlson wrote:<o:p></o:p></p>
</div>
<blockquote
style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><o:p> </o:p></p>
<blockquote
style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"
style="mso-margin-top-alt:auto;margin-bottom:12.0pt">On
Dec 3, 2021, at 1:53 PM, Joseph D Williams
<a href="mailto:joedwil@earthlink.net"
target="_blank" moz-do-not-send="true"><joedwil@earthlink.net></a>
wrote:<o:p></o:p></p>
</blockquote>
</div>
<blockquote
style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">
<o:p></o:p></p>
<ol type="1" start="1">
<li
class="m-442342095952319720msolistparagraph"
style="mso-list:l2 level1 lfo3">
2. What are the stumbling blocks to getting
script fields into the event model?<o:p></o:p></li>
</ol>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Hi
John,<o:p></o:p></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Scripts
are completely involved in the x3d sai event
model. A script must receive an event to begin
execution and then it is like an ’external’ in
that when the script begins it essentially
acts like a beginUpdate and when it completes
it essentially gets an endUpdate and all
outputs are sent with the same time stamp as
kicked off the script. Think of it as script
is like any other node that can receive and
send events. Only exception is, I think, that
a script directOut does not initiate a new
cascade<o:p></o:p></p>
</div>
</blockquote>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Part
of the thing to do is try script fields in X3DOM
and see if they work at all, and if they don’t,
try to do a minimal amount of debugging to see
what might be done.
<o:p></o:p></p>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I
do not recall if Roy’s work on this is available
still or not.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<div>
<blockquote
style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<ol type="1" start="2">
<li
class="m-442342095952319720msolistparagraph"
style="mso-list:l1 level1 lfo4">
3. If scripts are transformed, how?<o:p></o:p></li>
</ol>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">If
it is ECMAScript then what do you do? What
can be done? Break it down into json like
any other node? For some reason I hope
not.<o:p></o:p></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
</blockquote>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;margin-bottom:12.0pt">Well,
one could potentially replace field access
with a node attribute util get or set method.
But this can get really tricky, if not
impossible to do in all cases. It would be
better to implement script field routes, if
possible. See above. If one could get script
field routes into the HTML standard, much,
much better…<o:p></o:p></p>
<blockquote
style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Joe
<o:p></o:p></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<div style="border:none;border-top:solid
#E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b>From:
</b><a href="mailto:yottzumm@gmail.com"
target="_blank" moz-do-not-send="true">John
Carlson</a><br>
<b>Sent: </b>Tuesday, November 30, 2021
11:40 AM<br>
<b>To: </b>X3D Graphics public mailing
list<br>
<b>Subject: </b>[x3d-public] X3D
Scripting for X3DOM w/o reading standard<o:p></o:p></p>
</div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Information
needed:<o:p></o:p></p>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">1.
Do scripts in proto bodies get copied?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">2.
What are the stumbling blocks to getting
script fields into the event model?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">3.
If scripts are transformed, how?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">4.
What is the new event model for X3D4?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">John<o:p></o:p></p>
</div>
</blockquote>
</div>
</div>
</blockquote>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;margin-right:1.0in;margin-bottom:5.0pt;margin-left:1.0in"> <o:p></o:p></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
</body>
</html>