<div dir="ltr"><div>Hi Don,<br><br></div>to me, the idea here is to be very pragmatic in order to make some progress with html integration.<br><div><div><div><div><br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Date: Sun, 28 Aug 2016 11:57:37 -0700<br>
From: Don Brutzman <<a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a>><br>
To: Leonard Daly <<a href="mailto:web3d@realism.com">web3d@realism.com</a>><br>
Cc: X3Dom Users <<a href="mailto:x3dom-users@lists.sourceforge.net">x3dom-users@lists.<wbr>sourceforge.net</a>>, X3D Public<br>
<<a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>><br>
Subject: Re: [x3d-public] Nodes for V4<br>
<br>
<br>
a. Not clear what your motivation is. What functionality does a Macro node provide that isn't already available using Script and Prototype definitions? Getting clear about differences helps getting clear about goals.<br></blockquote><div><br></div><div>I agree, the Macro node would offer nothing that is not already available with Protos. The issue is, however, that in the foreseeable future Protos are not actually available with x3dom. To me it makes sense to give a node with a more narrow and simpler functionality than Protos a distinct name and distinct semantics. <br></div><div>Even outside of x3dom it would be nice (although not necessary) to have a simpler to understand, limited Proto, eg. just a Macro with parameter substitution.<br></div><div><br></div><div>A related question is if such a Macro node could coexist with Protos if it would come to it, given their overlap. I think it probably could. [To make it simple, one could disallow usage of Macros within proto declarations and vice versa.] [[I think, usage of Macro instances within Macro templates is currently not possible. Should it?]]<br><br>As a side note, in an html/DOM environment many scene creators would use a templating engine:<br><a href="https://www.sitepoint.com/overview-javascript-templating-engines/">https://www.sitepoint.com/overview-javascript-templating-engines/</a><br></div><div>But this requires some non-declarative programming and as such is outside the scope of x3d.<br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
b. Usage examples are often helpful for illustrating goals at this stage of design.<br></blockquote><div> <br></div><div>Since no internal computations are possible, usage would be limited. There is still a class of useful templates: variations of color, dimensions (eg., an arrow macro), perhaps timesensor/interpolator/route animation macros, perhaps shaders with parameters, probably many others.<br><br></div><div>[Currently, one could likely (ab-)use the Macro to also include a DOM script node which would be affected by parameter substitution and which then could set fields of x3d nodes in the instance with computed/generated values upon execution during final parsing].<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
c. Previous efforts on NetworkSensor node, and the difficulties encountered, may be worth considering:<br>
<br>
<a href="http://www.web3d.org/x3d/content/examples/Basic/Networking/" rel="noreferrer" target="_blank">http://www.web3d.org/x3d/<wbr>content/examples/Basic/<wbr>Networking/</a><br>
<a href="http://www.web3d.org/x3d/content/examples/Basic/Networking/NetworkSensorConnectionPrototypes.x3d" rel="noreferrer" target="_blank">http://www.web3d.org/x3d/<wbr>content/examples/Basic/<wbr>Networking/<wbr>NetworkSensorConnectionPrototy<wbr>pes.x3d</a><br>
<a href="http://www.web3d.org/x3d/content/examples/Basic/Networking/NetworkSensorConnectionPrototypes.html" rel="noreferrer" target="_blank">http://www.web3d.org/x3d/<wbr>content/examples/Basic/<wbr>Networking/<wbr>NetworkSensorConnectionPrototy<wbr>pes.html</a><br>
<br>
<a href="http://www.web3d.org/x3d/content/examples/Basic/Networking/NetworkSensorConnectionNodes.html" rel="noreferrer" target="_blank">http://www.web3d.org/x3d/<wbr>content/examples/Basic/<wbr>Networking/<wbr>NetworkSensorConnectionNodes.<wbr>html</a><br>
<br></blockquote><div><br></div><div>I think the Macro node would not be able define new fields if this is the concern. Is it ?<br></div><br></div><div class="gmail_quote">some input,<br></div><div class="gmail_quote"><br clear="all"></div>Andreas<br></div><div class="gmail_extra"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Andreas Plesch<br>39 Barbara Rd.<br>Waltham, MA 02453</div>
</div></div></div></div></div></div>