[x3d-public] Discussion of TimeSensor Controls

Leonard Daly Leonard.Daly at realism.com
Tue Feb 2 17:38:27 PST 2016


On 2/2/2016 4:58 PM, Joe D Williams wrote:
> Hey Guys this is really great thinking; some of it along the lines of 
> the proposed HAnim Motion node and W3C Timed Text stuffs. I want to 
> add this to my HUD! I reach out and touch it then play it forward or 
> reverse.
>
> I am happy to say that from what you have described here and implied I 
> truely believe that this user convenience can be implemented in a 
> typical X3D browser using a relatively straightforward Prototype 
> including a few scripts. Of course this is because this typical 
> 'standard' Interactive or above browser contains al the underlying 
> features to produce the abstract interface being discussed.
> I would suggest BSContact Free, but there are, and must be, several 
> other free browsers capable of running this proto in 'native' X3D or 
> VRML SAI

Joe,

This is strictly for connecting an X3D scene running in a browser to 
HTML. The slider is in HTML (perhaps a jQuery implementation). Many of 
the concerns also apply to in-scene controls, but the solutions might be 
widely different.

The 5 items listed at the end were meant to scope the problem to user 
code, browser code, specification design, or other realms. It is far too 
early to propose an IDL.

I anticipate that discussion of this feature will occur primarily on the 
x3d-public list.


Leonard Daly





>
> Please let me know as you begin to scope the details of the interfaces 
> and interactions and I can probably help test some things.
>
> Also, since you are experimenting with fractional temporality 
> exhibiting quantum or multiquantum incremental steps and moreover 
> arbitrary jumps, then it might make some connections to actually 
> mention the uses this control could have in producing fixed and 
> variable frame rate videos.
>
> (more)
>
>
>
>
>
> ----- Original Message ----- From: "Leonard Daly" 
> <Leonard.Daly at realism.com>
> To: "X3D Graphics public mailing list" <x3d-public at web3d.org>; 
> <x3dom-users at lists.sourceforge.net>
> Sent: Tuesday, February 02, 2016 11:53 AM
> Subject: [x3d-public] Discussion of TimeSensor Controls
>
>
>> Mike McCann and I have been having a private discussion that we both
>> thought should be put on x3d-public and perhaps x3dom-users.
>>
>> I had announced the initial availability of a new node in work that I am
>> doing for V4. This node is a functional replacement for TImeSensor and
>> the various interpolation nodes. It is called Animate. I will go into
>> more detail on that node later on. The particular question also arises
>> with V3.x nodes.
>>
>> Mike was wondering what it would take to have an HTML slider that would
>> show where in the animation loop and allow control of playback, much
>> like a slider on an audio or video playback you might find with YouTube,
>> NetFlix, etc.
>
> Does MIke have a budget?
>
>>
>> IOW, in hands-off mode, the slider moves from start to finish as
>> fractional time advances. This is easy to implement as you can get the
>> fractional time value and apply it to the slider position.
>
> OK,
>
>>
>> In hands-on mode, a button-click on the slider needs to pause the time
>> control. A drag on the slider would change the fractional time of the
>> sensor and button release would start playback from that position. Also
>> clicking at a location on the slider widget would have the same effect
>> as a drag.
>
> I think most al top browsers would be able to do this without a lot of 
> special code.
> Of oourse this will work best when the author decides which objects 
> will be controllable using which clocks.
>
>>
>> TimeSensor has 'startTime', 'pauseTIme', 'resumeTime', and 'stopTIme'
>> fields. This all take local-time in seconds from epoch as the time of
>> action. There is also 'cycleInterval' for the duration of a single pass,
>> and 'loop' to indicate if the animation should repeat.
>
> Yes, those are well-founded interfaces of TimeSensor.
>
>>
>> To implement a controlling slider, it would be nice to have 'pause' and
>> 'resume' fields that pause and resume the sensor without needing to
>> explicitly supply time. For the slider to control where (when?) in the
>> playback, it might be possible to manipulate the existing 'startTime'
>> and 'stopTIme' fields to achieve the desired results, but some of those
>> changes are ignored if the TImeSensor is currently active (paused counts
>> as active).
>
> Yes, some of that would get tricky but most all of the inerfaces 
> required are exposed in standard nodes.
>
>>
>> I think adding a new field called (something like) 'set_fraction' would
>> make the user's work much easier and obvious. This would set the current
>> fractional time and everything would proceed from there.
>
> Good that there are very proven ways to get a time set (set_fraction) 
> in an interpolators and event utilies.
> Even now some folks don't use a Timesensor but just use a script or 
> direct user inputs to tell the interps and others when to emit.
>
>>
>> There are open questions when things need to run for certain and
>> specific intervals. For example, an animation needed to run from 11:03
>> to 11:05 local time. At 11:04:48 (fractional time = 0.9) someone changes
>> the fractional time to 0.1 (essentially 11:03:12).
>
> Well, then you need to know local time, which is great if you can get 
> it from your system with sufficient resolution and accuracy.
>
>>
>> 1) Is this a case of not a spec problem, because the developer needs to
>> ensure this kind of integrity
>
> Not sure I saw reference to a spec problem. I think the spec covers 
> all the X3D basic interfaces for all this. Not to sure about html, 
> though TTML might help. And, that platform is always improving to 
> provide competent timing and event ordering.
>
>> 2) This is a security issue that needs to be handled inside the X3D
>> application
>
> Which security issue? access to real or imaginary time?
>
>> 3) This is a major vulnerability that needs specification definition
>
> Where is the hole?
>
>> 4) This is interpreted code that is run on the user's computer and there
>> is nothing that can be done.
>
> It should be up to the user that has responsibility for the system. If 
> the user needs to be warned that time is out of his control or might 
> be, then there should be a Big Warning.
>
>> 5) Something else or not listed.
>
> I think there is plenty not listed here, including a proposed IDL.
>
> Thanks and Best,
> Joe
>
>
>>
>>
>>
>>
>> -- 
>> *Leonard Daly*
>> 3D Systems & Cloud Consultant
>> X3D Co-Chair on Sabbatical
>> LA ACM SIGGRAPH Chair
>> President, Daly Realism - /Creating the Future/
>>
>
>
> -------------------------------------------------------------------------------- 
>
>
>
>> _______________________________________________
>> x3d-public mailing list
>> x3d-public at web3d.org
>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>
>
>


-- 
*Leonard Daly*
3D Systems & Cloud Consultant
X3D Co-Chair on Sabbatical
LA ACM SIGGRAPH Chair
President, Daly Realism - /Creating the Future/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20160202/faf15f7b/attachment.html>


More information about the x3d-public mailing list