[x3d-public] start timer at fraction 0 after scene loading

John Carlson yottzumm at gmail.com
Sat Sep 9 22:20:07 PDT 2023


Here’s actual JavaScript code that takes a JSON file.

https://github.com/coderextreme/jaminate/blob/main/Jaminate/app/src/main/javascript/takes.js


This is one place to look to see if I’ve done stuff with fair use.

As you can see from the comments, I had a lot of tries.

John

On Sun, Sep 10, 2023 at 12:13 AM John Carlson <yottzumm at gmail.com> wrote:

> I am in total agreement with what Andreas described.   The VRML in the
> link below is some of what I’ve implemented in my examples that I derived
> from his  emails.  I’ve also done stuff like BooleanSequencer.next, which I
> think came from Joe?  That’s still in my code as well.
>
> I did not click on these links Andreas, I trust you enough so I don’t even
> need to see evidence of it working.
>
> I realize that Joe has to rewrite this to give to Don.  That’s the deal,
> apparently.  I just want to give people credit for helping.  Thank you,
> Andreas, Michalis, Holger, Don, Joe, Roy, etc.  we’re standing on the
> shoulders of giants.
>
> Rinse, repeat, until it sinks in.
>
> The code is currently under Apache 2.0 license and is available below.  No
> WS specific stuff is there.  Some stuff is waiting on publication before
> checkin.  The Java code is mine. I’m not responsible for publishing full
> humanoids or actual animation, just timing examples for (multiple) actors.
>
> https://github.com/coderextreme/jaminate
>
> If someone issues a takedown of the code, please report it to the list as
> well.
>
> I am currently in the process of delivering JSON output. JSON was my idea,
> I gave an example because I we haven’t published the actual report yet.
> I’m waiting until some of the pain fades before I start coding again.
>
> You can’t see that it works without downloading, but I can do silent
> videos. To make people more comfy about it.
>
> John
>
> On Sat, Sep 9, 2023 at 11:15 PM Andreas Plesch <andreasplesch at gmail.com>
> wrote:
>
>> Thanks Joe for putting together this example. I can confirm that using
>> stopTime_changed does not work with x3dom. First I thought it was a
>> bug but it also does not work with x-ite so there is probably more to
>> it..
>>
>> Rereading the spec at
>>
>> https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/components/time.html#Timeactivation
>> ,
>> generating a stopTime_changed would fall into 'final events' at the
>> end of a cycle. But it is actually not clear that stopTime_changed
>> should be generated according to the spec. The spec. only seems to
>> refer to stopTime_changed for the case when a set_stopTime event is
>> received. Which is what both x3dom and x-ite are doing.
>>
>> So I am now uncertain that stopTime should be used to chain
>> TimeSensors although it would seem natural.
>>
>> Instead it is possible to use the isActive field which unequivocally
>> becomes false at the end of a cycle. Routing isActive through
>> BooleanFilter to check for false and then TimeTrigger to startTime
>> then works fine:
>>
>>
>> https://create3000.github.io/x_ite/playground/?url=https://gist.githubusercontent.com/andreasplesch/3f7ea30b9860b6399c797c51e3235459/raw/c9ddf16c10baa683c7c5cdfbb96db7be4464152b/JoeStarterTest.x3d
>>
>>
>> https://andreasplesch.github.io/Library/Viewer/index.html?url=https://gist.githubusercontent.com/andreasplesch/3f7ea30b9860b6399c797c51e3235459/raw/c9ddf16c10baa683c7c5cdfbb96db7be4464152b/JoeStarterTest.x3d
>>
>> Also note that the position of the red ball is arbitrary which seems
>> correct.
>>
>> Andreas
>>
>> On Sat, Sep 9, 2023 at 3:36 PM Joe D Williams <joedwil at earthlink.net>
>> wrote:
>> >
>> > inline comments
>> > -----Original Message-----
>> > From: Andreas Plesch <andreasplesch at gmail.com>
>> > Sent: Sep 8, 2023 9:27 PM
>> > To: Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>
>> > Cc: X3D Graphics public mailing list <x3d-public at web3d.org>
>> > Subject: Re: [x3d-public] start timer at fraction 0 after scene loading
>> >
>> > > A variation would be for the start timer to self-disable by routing
>> > its cycleTime through event utilities to set its enabled field to
>> > false.
>> >
>> > Right, I have done that and it works, If I send a false to loop before
>> fraction 1 best results. Seems like the loop false needs to be sent
>> slightly before sequencer fraction 1 to get the timer to stop at last frame.
>> >
>> > What I need is to catch the second StartTimer cycleTime to send to
>> MainTimer startTime.
>> >
>> > For some reason the StartTimer, when halted like that, does not have a
>> useable stopTime.
>> > In fact, I can't find a usable stop-Time. This should work:
>> >
>> >     <TimeSensor DEF='TIME1' cycleInterval='1' loop='true'/>
>> >     <TimeSensor DEF='TIME2' cycleInterval='5' loop='false'/>
>> >     <TimeSensor DEF='TIME3' cycleInterval='10' loop='false'/>:
>> >    <ROUTE fromField='cycleTime' fromNode='TIME1' toField='set_stopTime'
>> toNode='TIME1'/>
>> >    <ROUTE fromField='stopTime' fromNode='TIME1' toField='set_startTime'
>> toNode='TIME2'/>
>> >    <ROUTE fromField='stopTime' fromNode='TIME2' toField='set_startTime'
>> toNode='TIME3'/>
>> >
>> > Timer1 should start and be stopped a tic or two after its cycleTime is
>> sent.
>> > Timer 2 gets started by Timer1 cycleTime (couldn't get Timer1 startTime
>> or stopTime to be usable).
>> > TImer2 completes at fraction 1 and sends its stopTime to Timer3
>> startTime.
>> > Timer 3 starts, then stops at fraction 1.
>> > Wait, the timer2 stopTime doesn't work like expected, so Timer 3 never
>> Starts.
>> >
>> > So, attached is what I have. I don't see why timer3 never gets started.
>> > Thanks,
>> > Joe
>> >
>> > >  is more verbose but may help a bit with performance since
>> > the browser then does not need to check stopTime against the actual
>> > current time at each tick, for a timer which is never used again.
>> >
>> > > It would be useful if BooleanFilter would have a triggerFalse field in
>> > addition to its triggerTrue, in order to switch off things. It could
>> > be just added without backward compatibility issues. A BooleanFilter
>> > can invert but it seems arbitrary and unsymmetrical to only have
>> > triggerTrue. I have a sense of Dejavu since event utilities had been
>> > discussed before.
>> >
>> > Cheers, Andreas
>> >
>> > On Fri, Sep 8, 2023 at 3:18 PM Brutzman, Donald (Don) (CIV)
>> > wrote:
>> > >
>> > > Very interesting, thanks for sharing Andreas. We should all be
>> thinking of regularizing some example design patterns like animation.
>> > >
>> > >
>> > >
>> > > Meanwhile, your example is the kind that makes me think we should
>> have a description field for ROUTE.
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > > Potential alternative approaches for ROUTE comments:
>> > >
>> > >
>> > >
>> > > Comments? Sure, but sometimes get stripped, and not unambiguously
>> readable by tools.
>> > > Prototype extension? Too complex and error prone, fuggedaboutit.
>> > > Metadata nodes? Hmm, we can't make those part of ROUTE statements
>> themselves, not allowed.
>> > >
>> > >
>> > >
>> > > Maybe some clumsy-but-unambiguous convention like the following
>> already-legal X3D fragment:
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > > Of course simplest future approach would be to give ROUTE a
>> description field. Hmmm, maybe someday.
>> > >
>> > >
>> > >
>> > > Might deserve a Mantis issue for X3D4.1 if others agree some
>> potential value exists for future consideation.
>> > >
>> > >
>> > >
>> > > all the best, Don
>> > >
>> > > --
>> > >
>> > > Don Brutzman Naval Postgraduate School, Code USW/Br brutzman at nps.edu
>> > >
>> > > Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA
>> +1.831.656.2149
>> > >
>> > > X3D graphics, virtual worlds, navy robotics
>> https://faculty.nps.edu/brutzman
>> > >
>> > >
>> > >
>> > > -----Original Message-----
>> > > From: x3d-public On Behalf Of Andreas Plesch
>> > > Sent: Thursday, September 7, 2023 1:43 PM
>> > > To: X3D Graphics public mailing list
>> > > Subject: Re: [x3d-public] start timer at fraction 0 after scene
>> loading
>> > >
>> > >
>> > >
>> > > Here is an initial count down after loading the scene using the same
>> autostart method, and a sequencer:
>> > >
>> > >
>> > >
>> > >
>> https://andreasplesch.github.io/Library/Viewer/dev.html?url=https://gist.githubusercontent.com/andreasplesch/3f7ea30b9860b6399c797c51e3235459/raw/d17f9d2a0a258569ac5a474c36a68208674d535e/countdown.x3d
>> > >
>> > >
>> > >
>> > >
>> https://create3000.github.io/x_ite/playground/?url=https://gist.githubusercontent.com/andreasplesch/3f7ea30b9860b6399c797c51e3235459/raw/d17f9d2a0a258569ac5a474c36a68208674d535e/countdown.x3d
>> > >
>> > >
>> > >
>> > > -Andreas
>> > >
>> > >
>> > >
>> > > On Thu, Sep 7, 2023 at 1:01 AM Andreas Plesch wrote:
>> > >
>> > > >
>> > >
>> > > > Another method apart from a ProximitySensor to start a timer without
>> > >
>> > > > user interaction after scene loading is to use two TimeSensors. The
>> > >
>> > > > first has loop=true and its only purpose is to trigger the second by
>> > >
>> > > > routing its cycleTime to the startTime of the second TimeSensor. The
>> > >
>> > > > first also stops itself by routing its cycleTime to its own
>> stopTime.
>> > >
>> > > >
>> > >
>> > > > Here is an example modified from the cycleTime NIST example:
>> > >
>> > > >
>> > >
>> > > >
>> https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Frent
>> > >
>> > > > ry.co%2Fx3d-startTimer&data=05%7C01%7Cbrutzman%40nps.edu
>> %7C4b415083034
>> > >
>> > > >
>> 641d371e608dbafe335ef%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638
>> > >
>> > > >
>> 297162641403741%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2
>> > >
>> > > >
>> luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=v3ah%2F2OY7
>> > >
>> > > > NVzEwTUIhRhBjG%2BNHdMZoJTbsC3lEnHR1I%3D&reserved=0
>> > >
>> > > >
>> > >
>> > > >
>> https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fandr
>> > >
>> > > > easplesch.github.io
>> %2FLibrary%2FViewer%2Fdev.html%3Furl%3Dhttps%3A%2F%
>> > >
>> > > > 2Fgist.githubusercontent.com
>> %2Fandreasplesch%2F3f7ea30b9860b6399c797c5
>> > >
>> > > >
>> 1e3235459%2Fraw%2F118d65438f9cfdc152c01fc5a24a8eccec705511%2FstartTime
>> > >
>> > > > r.x3d&data=05%7C01%7Cbrutzman%40nps.edu
>> %7C4b415083034641d371e608dbafe3
>> > >
>> > > >
>> 35ef%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638297162641403741%7
>> > >
>> > > >
>> CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1
>> > >
>> > > >
>> haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=m8xOnL%2BHHQy5gXlqLQaec6vBIi
>> > >
>> > > > %2BSchjeWtKfYWNDMHw%3D&reserved=0
>> > >
>> > > >
>> > >
>> > > > --
>> > >
>> > > > Andreas Plesch
>> > >
>> > > > Waltham, MA 02453
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > > --
>> > >
>> > > Andreas Plesch
>> > >
>> > > Waltham, MA 02453
>> > >
>> > >
>> > >
>> > > _______________________________________________
>> > >
>> > > x3d-public mailing list
>> > >
>> > > x3d-public at web3d.org
>> > >
>> > > http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>> >
>> >
>> >
>> > --
>> > Andreas Plesch
>> > Waltham, MA 02453
>> >
>> > _______________________________________________
>> > x3d-public mailing list
>> > x3d-public at web3d.org
>> > http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>> >
>>
>>
>> --
>> Andreas Plesch
>> Waltham, MA 02453
>>
>> _______________________________________________
>> x3d-public mailing list
>> x3d-public at web3d.org
>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230910/1413c85f/attachment-0001.html>


More information about the x3d-public mailing list