<div dir="ltr">Thanks Joe, seems similar to the Andreas 2-TimeSensor chain, except the vizx showing it for loop true scenario. -Doug </div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Aug 13, 2022 at 3:10 PM Joseph D Williams <<a href="mailto:joedwil@earthlink.net">joedwil@earthlink.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US" style="overflow-wrap: break-word;"><div class="gmail-m_548172812968200676WordSection1"><p class="MsoNormal">Here is an example Keith used in vizx3d</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><TimeSensor DEF='Time'  cycleInterval='8.200'</p><p class="MsoNormal"> loop='true'  startTime='-1.000' /></p><p class="MsoNormal"><TimeSensor DEF='Time2'  cycleInterval='19.000'</p><p class="MsoNormal"> loop='true'  startTime='-1.000' /></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><OrientationInterpolator DEF='Time2_rot0'</p><p class="MsoNormal"> key='  0 .2 .4 .6 .8  1  '</p><p class="MsoNormal"> keyValue='  0 1 0 0  0 1 0 1.256  0 1 0 2.512  0 1 0 3.768  0 1 0 5.024  0 1 0 6.28 '/></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><TimeSensor DEF='Time3'  cycleInterval='23.000'</p><p class="MsoNormal"> loop='true'  startTime='-1.000' /></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><TimeSensor DEF='vizx_init'  cycleInterval='0.100'  loop='true' /></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><ROUTE fromNode='vizx_init' fromField='cycleTime' toNode='Time' toField='startTime'/></p><p class="MsoNormal"><ROUTE fromNode='vizx_init' fromField='cycleTime' toNode='Time2' toField='startTime'/></p><p class="MsoNormal"><ROUTE fromNode='vizx_init' fromField='cycleTime' toNode='Time3' toField='startTime'/></p><p class="MsoNormal"><ROUTE fromNode='vizx_init' fromField='cycleTime' toNode='vizx_init' toField='stopTime'/></p><p class="MsoNormal"><ROUTE fromNode='Time2' fromField='fraction_changed' toNode='Time2_rot0' toField='set_fraction'/></p><p class="MsoNormal"><ROUTE fromNode='Time2_rot0' fromField='value_changed' toNode='dad_Group1' toField='set_rotation'/></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in"><p class="MsoNormal" style="border:none;padding:0in"><b>From: </b><a href="mailto:gpugroup@gmail.com" target="_blank">GPU Group</a><br><b>Sent: </b>Wednesday, August 10, 2022 2:31 PM<br><b>To: </b><a href="mailto:andreasplesch@gmail.com" target="_blank">Andreas Plesch</a><br><b>Cc: </b><a href="mailto:x3d-public@web3d.org" target="_blank">X3D Graphics public mailing list</a><br><b>Subject: </b>Re: [x3d-public] TimeSensor > specs vs nist example</p></div><p class="MsoNormal"><u></u> <u></u></p><div><div><div><p class="MsoNormal">Thanks very much Andreas, this works (I'll use round brackets here but angle brackets in x3d)</p><div><div><p class="MsoNormal">      (TimeSensor DEF='TIME0' loop='true' cycleInterval='1' /)</p></div><div><p class="MsoNormal">      (ROUTE fromNode='TIME0' fromField='cycleTime' toNode='TIME0' toField='stopTime'/) </p></div><div><p class="MsoNormal">      (TimeSensor DEF='TIME' cycleInterval='2' loop='false' /)</p></div><div><p class="MsoNormal">      (ROUTE fromNode='TIME0' fromField='cycleTime' toNode='TIME' toField='startTime' /)</p></div></div><div><p class="MsoNormal">TIME0 does a 1 second delay, then starts TIME which does a 2 second animation.</p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">I need it for semi-automated regression testing: the human tester watches a screen with old browser running on the left, new running on the right, and hits a key if the scenes look different, otherwise the testing software loads the next test scene in a few seconds. </p></div><div><p class="MsoNormal">Some scenes need a trigger to get some one-time animation going on load.</p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">-Doug</p></div><div><p class="MsoNormal">more..</p></div><div><p class="MsoNormal">regression testing Key can be any CAPS key so can use B for blackscreen, D for different, A for abort etc. saved to a report file at end.</p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Freewrl is a spaghetti monster, change one little thing and something else breaks. So the inner guts never get refactored, too fragile, and bandaid on top of bandaid.</p></div><div><p class="MsoNormal">x tried fully automating years ago but screen shots a bit different so need fuzzy compare on screen shots, messy</p></div><div><p class="MsoNormal">* trying semi-automated, can give a component number or 0 for all, working a bit</p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div></div></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Wed, Aug 10, 2022 at 2:51 PM Andreas Plesch <<a href="mailto:andreasplesch@gmail.com" target="_blank">andreasplesch@gmail.com</a>> wrote:</p></div></div><p class="MsoNormal" style="margin-left:4.8pt">Yes, the time origin is 1970. This works with the web which has the<br>same time origin.<br><br>There are ways to set startTime, for example with TimeTrigger from any<br>boolean event source. A Loadsensor of a texture url (perhaps just a<br>tracking pixel) could also be a source for startTime. For the addition<br>of a delay scripting becomes necessary.<br><br>I think I have seen delayed autostart built from a first Timsensor<br>with loop=true to autostart, disabling itself after the first cycle,<br>and activating then a second Timesensor by setting the startTime from<br>stopTime.<br><br>Often it is a better user experience anyways to wait for some<br>interaction which then can be sensed to start a Timesensor, at least<br>on the web.<br><br>Hope this helps, Andreas<br><br>><br>> Message: 1<br>> Date: Wed, 10 Aug 2022 11:47:40 -0600<br>> From: GPU Group <<a href="mailto:gpugroup@gmail.com" target="_blank">gpugroup@gmail.com</a>><br>> To: X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>> Subject: [x3d-public] TimeSensor > specs vs nist example<br>> Message-ID:<br>>         <<a href="mailto:CAM2ogRfy6C15GiB%2BuL5_26oBKW3pA2Zw8Q5eadVN5NYCfoKVmA@mail.gmail.com" target="_blank">CAM2ogRfy6C15GiB+uL5_26oBKW3pA2Zw8Q5eadVN5NYCfoKVmA@mail.gmail.com</a>><br>> Content-Type: text/plain; charset="utf-8"<br>><br>> When trying to do a startup delay timer, I didn't find a match in the nist<br>> examples<br>> <a href="https://www.web3d.org/x3d/content/examples/ConformanceNist/Sensors/TimeSensor/index.html" target="_blank">https://www.web3d.org/x3d/content/examples/ConformanceNist/Sensors/TimeSensor/index.html</a><br>><br>> in the specs,<br>> <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/time.html#Timeactivation" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/time.html#Timeactivation</a><br>><br>> the first diagram shows loop false, stoptime less than or equal startime<br>> - it should ignore stoptime and use cycleInterval<br>> The closest match I could find in nist examples:<br>> <a href="https://www.web3d.org/x3d/content/examples/ConformanceNist/Sensors/TimeSensor/stopltstartloopfalseIndex.html" target="_blank">https://www.web3d.org/x3d/content/examples/ConformanceNist/Sensors/TimeSensor/stopltstartloopfalseIndex.html</a><br>> - nist comment for this scene:<br>> "The result is: Because loop is false, a red Sphere geometry should NOT<br>> move from right to center to left and back to center one time when the<br>> world is loaded."<br>> - and all browsers conform to nist comment that it doesn't animate on<br>> startup.<br>> ?? To me it looks like all web3d browsers are failing the first specs<br>> diagram (and passing the NIST test). If we honored the first diagram, then<br>> I could do a startup delay loop=false, stopTime=- 0, startTime=0,<br>> cycleInterval=2 to get a 2 second isActive on startup<br>> Q1. does the nist example stopeqstartloopfalse or stopltstartloopfalse<br>> comment 'there should be no startup animation' match Component Time ><br>> Activation Figure 8.1 top diagram of loop false, starttime .gt. stoptime?<br>> Q. how to do a delay: one-time event x seconds after scene load?<br>> Thanks, Doug Sanden<br>> -------------- next part --------------<br>> An HTML attachment was scrubbed...<br>> URL: <<a href="http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20220810/aeb60063/attachment-0001.html" target="_blank">http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20220810/aeb60063/attachment-0001.html</a>><br>><br>> ------------------------------<br>><br>> Message: 2<br>> Date: Wed, 10 Aug 2022 12:54:44 -0600<br>> From: GPU Group <<a href="mailto:gpugroup@gmail.com" target="_blank">gpugroup@gmail.com</a>><br>> To: X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>> Subject: Re: [x3d-public] TimeSensor > specs vs nist example<br>> Message-ID:<br>>         <<a href="mailto:CAM2ogRecv4G%2Bz8LbW2OkFv4tYDxbN1hTUyDmn2VW6dG3by0FOw@mail.gmail.com" target="_blank">CAM2ogRecv4G+z8LbW2OkFv4tYDxbN1hTUyDmn2VW6dG3by0FOw@mail.gmail.com</a>><br>> Content-Type: text/plain; charset="utf-8"<br>><br>> Could relate to confusion between a) time since 1970 and b) time relative<br>> to loadtime==0<br>> For example<br>> startTime = stopTime= 0, cycleTime = 5, loop=false, all browsers show the<br>> isActive session is over when the scene loads.<br>> startTime = stopTime = 0, cycleTime = 1660156846 (seconds since 1970 plus<br>> some), loop=false will show isActive true on load in most browsers<br>> Suggestion - a timesensor field saying if times are relative to load-time<br>> == 0 or from 1970, allowing scene to be designed in loadtime relative<br>> seconds.<br>> -Doug<br>><br>> On Wed, Aug 10, 2022 at 11:47 AM GPU Group <<a href="mailto:gpugroup@gmail.com" target="_blank">gpugroup@gmail.com</a>> wrote:<br>><br>> > When trying to do a startup delay timer, I didn't find a match in the nist<br>> > examples<br>> ><br>> > <a href="https://www.web3d.org/x3d/content/examples/ConformanceNist/Sensors/TimeSensor/index.html" target="_blank">https://www.web3d.org/x3d/content/examples/ConformanceNist/Sensors/TimeSensor/index.html</a><br>> ><br>> > in the specs,<br>> ><br>> > <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/time.html#Timeactivation" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/time.html#Timeactivation</a><br>> ><br>> > the first diagram shows loop false, stoptime less than or equal startime<br>> > - it should ignore stoptime and use cycleInterval<br>> > The closest match I could find in nist examples:<br>> ><br>> > <a href="https://www.web3d.org/x3d/content/examples/ConformanceNist/Sensors/TimeSensor/stopltstartloopfalseIndex.html" target="_blank">https://www.web3d.org/x3d/content/examples/ConformanceNist/Sensors/TimeSensor/stopltstartloopfalseIndex.html</a><br>> > - nist comment for this scene:<br>> > "The result is: Because loop is false, a red Sphere geometry should NOT<br>> > move from right to center to left and back to center one time when the<br>> > world is loaded."<br>> > - and all browsers conform to nist comment that it doesn't animate on<br>> > startup.<br>> > ?? To me it looks like all web3d browsers are failing the first specs<br>> > diagram (and passing the NIST test). If we honored the first diagram, then<br>> > I could do a startup delay loop=false, stopTime=- 0, startTime=0,<br>> > cycleInterval=2 to get a 2 second isActive on startup<br>> > Q1. does the nist example stopeqstartloopfalse or stopltstartloopfalse<br>> > comment 'there should be no startup animation' match Component Time ><br>> > Activation Figure 8.1 top diagram of loop false, starttime .gt. stoptime?<br>> > Q. how to do a delay: one-time event x seconds after scene load?<br>> > Thanks, Doug Sanden<br>> ><br>> ><br>> -------------- next part --------------<br>> An HTML attachment was scrubbed...<br>> URL: <<a href="http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20220810/e1da7e26/attachment-0001.html" target="_blank">http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20220810/e1da7e26/attachment-0001.html</a>><br>><br>> ------------------------------<br>><br>> Subject: Digest Footer<br>><br>> _______________________________________________<br>> x3d-public mailing list<br>> <a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>> <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>><br>><br>> ------------------------------<br>><br>> End of x3d-public Digest, Vol 161, Issue 11<br>> *******************************************<br><br><br><br>-- <br>Andreas Plesch<br>Waltham, MA 02453</p><p class="MsoNormal"><u></u> <u></u></p></div></div></blockquote></div>