<div dir="ltr"><div dir="ltr"><div dir="ltr">Thanks very much Andreas, this works (I'll use round brackets here but angle brackets in x3d)<div><div>      (TimeSensor DEF='TIME0' loop='true' cycleInterval='1' /)</div><div>      (ROUTE fromNode='TIME0' fromField='cycleTime' toNode='TIME0' toField='stopTime'/) </div><div>      (TimeSensor DEF='TIME' cycleInterval='2' loop='false' /)</div><div>      (ROUTE fromNode='TIME0' fromField='cycleTime' toNode='TIME' toField='startTime' /)</div></div><div>TIME0 does a 1 second delay, then starts TIME which does a 2 second animation.</div><div><br></div><div>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. </div><div>Some scenes need a trigger to get some one-time animation going on load.</div><div><br></div><div>-Doug</div><div>more..</div><div>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.<br></div><div><br></div><div>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.</div><div>x tried fully automating years ago but screen shots a bit different so need fuzzy compare on screen shots, messy</div><div>* trying semi-automated, can give a component number or 0 for all, working a bit</div><div><br></div><div><br></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Aug 10, 2022 at 2:51 PM Andreas Plesch <<a href="mailto:andreasplesch@gmail.com">andreasplesch@gmail.com</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">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" rel="noreferrer" 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" rel="noreferrer" 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" rel="noreferrer" 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" rel="noreferrer" 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" rel="noreferrer" 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" rel="noreferrer" 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" rel="noreferrer" 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" rel="noreferrer" 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" rel="noreferrer" 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<br>
</blockquote></div>