<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>