<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Mike McCann and I have been having a
private discussion that we both thought should be put on
x3d-public and perhaps x3dom-users.<br>
<br>
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.<br>
<br>
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.<br>
<br>
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.<br>
<br>
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. <br>
<br>
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.<br>
<br>
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).<br>
<br>
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. <br>
<br>
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).
<br>
<br>
1) Is this a case of not a spec problem, because the developer
needs to ensure this kind of integrity<br>
2) This is a security issue that needs to be handled inside the
X3D application<br>
3) This is a major vulnerability that needs specification
definition<br>
4) This is interpreted code that is run on the user's computer and
there is nothing that can be done.<br>
5) Something else or not listed.<br>
<br>
<br>
<br>
</div>
<br>
<div class="moz-signature">-- <br>
<font class="tahoma,arial,helvetica san serif" color="#333366">
<font size="+1"><b>Leonard Daly</b></font><br>
3D Systems & Cloud Consultant<br>
X3D Co-Chair on Sabbatical<br>
LA ACM SIGGRAPH Chair<br>
President, Daly Realism - <i>Creating the Future</i>
</font></div>
</body>
</html>