<div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12pt"><p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<p style="margin: 0.1rem 0; line-height: 1.0;">you don't need script. Look at the stuff and quit worrying.Learn this and then figure a better way. </p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
</div>
<div class="elnk-inline-message-container" style="border-left: 1px solid #aaa; box-sizing: border-box; padding: 10px 0 10px 15px; margin: 0;">
<p>-----Original Message-----<br>From: John Carlson <yottzumm@gmail.com><br>Sent: Aug 6, 2023 6:04 PM<br>To: Brutzman, Donald (Don) (CIV) <brutzman@nps.edu>, Joe D Williams <joedwil@earthlink.net>, Michalis Kamburelis <michalis.kambi@gmail.com><br>Cc: GPU Group <gpugroup@gmail.com>, X3D Graphics public mailing list <x3d-public@web3d.org><br>Subject: Re: [x3d-public] Super simple animations?</p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<div dir="auto">We can’t use (Java)Script nodes on view3dscene, so that doesn’t work.</div>
<div dir="auto"> </div>
<div dir="auto">I’m getting ready to start with interpolators, but  I’m thinking two lines of code will turn into 50 or more.</div>
<div dir="auto"> </div>
<div dir="auto">So yes, expressible, but extremely painful.</div>
<div dir="auto"> </div>
<div dir="auto">Did you hear my screams of agony yet?</div>
<div dir="auto"> </div>
<div dir="auto">Recommended tools for exporting animations that’s open source?</div>
<div dir="auto"> </div>
<div dir="auto">I’m not really a drag and drop guy, I like mathematical formulas.</div>
<div dir="auto"> </div>
<div dir="auto">Is there some way to do this that uses the DRY principle?</div>
<div dir="auto"> </div>
<div dir="auto">Can you suggest a good name for a prototype?</div>
<div dir="auto"> </div>
<div dir="auto">John</div>
<div><br>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Sun, Aug 6, 2023 at 6:27 PM Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin: 0 0 0 .8ex; border-left: 1px #ccc solid; padding-left: 1ex;">
<div>
<div dir="ltr">
<div> </div>
<div>
<div dir="ltr">
<ol>
<li> John, i know of no event animation chain for X3D that cannot be expressed using X3D4 ROUTE connections using interpolators, sequencers, and event utility nodes. Chasers, dampers, and Script node provides further capabilities for variation. X3D4 architecture appears to have full expressive power for animation.</li>
</ol>
<div dir="ltr">If you want to adapt things in a different way, repeatably, then great - please write a prototype. The X in X3D is Extensible. </div>
<div dir="ltr"> </div>
<div dir="ltr">Of course Script nodes, and programming libraries like X3DJSONLD, X3DJSAIL, x3d.py and others, are both declarative and imperative simultaneously when manipulating the scene graph. </div>
<div dir="ltr"> </div>
<ol start="2">
<li dir="ltr"> Doug, we have had great success mapping Web Audio API to X3D4.  I think we have a similar path forward to X3D4.1 for MIDI.</li>
</ol>
<div dir="ltr">
<ul>
<li>W3C Web MIDI API, draft</li>
<li><a href="https://webaudio.github.io/web-midi-api/" target="_blank" rel="noreferrer noopener">https://webaudio.github.io/web-midi-api/</a></li>
</ul>
</div>
</div>
<div id="m_1086076452253110073ms-outlook-mobile-signature">
<div>Once again, X3D prototypes and Script node can provide a useful path forward for design, implementation, and evaluation of new nodes.  <span style="text-align: left; background-color: #ffffff; text-decoration: none; display: inline!important;">Usage of stable prototypes can encourage significant usage and deployment.</span></div>
<div dir="ltr"> </div>
<div dir="ltr">Given that Web3D Consortium has a formal liaison partnership with W3C, designated Web3D members can further participate in Audio Working Group to share design considerations and suggest refinements in the draft W3C MIDI API. Membership has value!</div>
<div dir="ltr"> </div>
<div>v/r Don</div>
</div>
<div id="m_1086076452253110073mail-editor-reference-message-container"><hr style="display: inline-block; width: 98%;">
<div id="m_1086076452253110073divRplyFwdMsg" dir="ltr"><span style="font-family: Calibri, sans-serif;"><strong>From:</strong> x3d-public <<a href="mailto:x3d-public-bounces@web3d.org" target="_blank" rel="noopener">x3d-public-bounces@web3d.org</a>> on behalf of GPU Group <<a href="mailto:gpugroup@gmail.com" target="_blank" rel="noopener">gpugroup@gmail.com</a>><br><strong>Sent:</strong> Sunday, August 6, 2023 10:25<br><strong>To:</strong> X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank" rel="noopener">x3d-public@web3d.org</a>></span></div>
</div>
</div>
</div>
</div>
<div>
<div dir="ltr">
<div>
<div id="m_1086076452253110073mail-editor-reference-message-container">
<div id="m_1086076452253110073divRplyFwdMsg" dir="ltr"><span style="font-family: Calibri, sans-serif;"><span style="font-family: Calibri, sans-serif;"><br><strong>Subject:</strong> Re: [x3d-public] Super simple animations?</span></span>
<div> </div>
</div>
<div dir="ltr">MIDI nodes are a bit like that - you can design the event sequence / timing in a MIDI authoring tool, then play the .mid file and route from ToneSplitter. I'm thinking about a fireworks scene combining particle physics and midi event sequencing. Perhaps we need something more general, as a utility node set.
<div>-Doug</div>
</div>
<br>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Sun, Aug 6, 2023 at 11:14 AM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank" rel="noopener">yottzumm@gmail.com</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left: 1px solid #cccccc; padding-left: 1ex;">
<div dir="auto">Conceptually one could do this with a switch, but i don’t know about events from the switch to enable the child TimeSensor or the startTime.</div>
<div dir="auto"> </div>
<div dir="auto">If you tell me to do use a Script, why not put imperative code in an encoding instead?</div>
<div dir="auto"> </div>
<div dir="auto">John </div>
<div><br>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Sun, Aug 6, 2023 at 11:17 AM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank" rel="noopener">yottzumm@gmail.com</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left: 1px solid #cccccc; padding-left: 1ex;">I would like something like a TimeSensorSequencerGroup that enables and disables children TimeSensors in order of appearance in the code, if such a thing exists.  No need to fiddle with TimeSensor fields, the SequencerGroup does it for you.
<div dir="auto"> </div>
<div dir="auto">I know this is imperative programming, and not declarative, but sometimes, you’ve got to bite the bullet of simplicity.</div>
<div dir="auto"> </div>
<div dir="auto">Thanks!</div>
<div dir="auto"> </div>
<div dir="auto">John</div>
</blockquote>
</div>
</div>
_______________________________________________<br>x3d-public mailing list<br><a href="mailto:x3d-public@web3d.org" target="_blank" rel="noopener">x3d-public@web3d.org</a><br><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank" rel="noopener noreferrer">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a></blockquote>
</div>
</div>
</div>
</div>
</div>
_______________________________________________<br>x3d-public mailing list<br><a href="mailto:x3d-public@web3d.org" target="_blank" rel="noopener">x3d-public@web3d.org</a><br><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank" rel="noopener noreferrer">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a></blockquote>
</div>
</div>
</div>

<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>