<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 2/2/2016 4:58 PM, Joe D Williams
      wrote:<br>
    </div>
    <blockquote
      cite="mid:58514A00183E4EE59B1299DF9F731F43@joe1446a4150a8"
      type="cite">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.
      <br>
      <br>
      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.
      <br>
      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
      <br>
    </blockquote>
    <br>
    Joe,<br>
    <br>
    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.<br>
    <br>
    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.<br>
    <br>
    I anticipate that discussion of this feature will occur primarily on
    the x3d-public list.<br>
    <br>
    <br>
    Leonard Daly<br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <blockquote
      cite="mid:58514A00183E4EE59B1299DF9F731F43@joe1446a4150a8"
      type="cite">
      <br>
      Please let me know as you begin to scope the details of the
      interfaces and interactions and I can probably help test some
      things.
      <br>
      <br>
      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.
      <br>
      <br>
      (more)
      <br>
      <br>
      <br>
      <br>
      <br>
      <br>
      ----- Original Message ----- From: "Leonard Daly"
      <a class="moz-txt-link-rfc2396E" href="mailto:Leonard.Daly@realism.com"><Leonard.Daly@realism.com></a>
      <br>
      To: "X3D Graphics public mailing list"
      <a class="moz-txt-link-rfc2396E" href="mailto:x3d-public@web3d.org"><x3d-public@web3d.org></a>;
      <a class="moz-txt-link-rfc2396E" href="mailto:x3dom-users@lists.sourceforge.net"><x3dom-users@lists.sourceforge.net></a>
      <br>
      Sent: Tuesday, February 02, 2016 11:53 AM
      <br>
      Subject: [x3d-public] Discussion of TimeSensor Controls
      <br>
      <br>
      <br>
      <blockquote type="cite">Mike McCann and I have been having a
        private discussion that we both
        <br>
        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
        <br>
        doing for V4. This node is a functional replacement for
        TImeSensor and
        <br>
        the various interpolation nodes. It is called Animate. I will go
        into
        <br>
        more detail on that node later on. The particular question also
        arises
        <br>
        with V3.x nodes.
        <br>
        <br>
        Mike was wondering what it would take to have an HTML slider
        that would
        <br>
        show where in the animation loop and allow control of playback,
        much
        <br>
        like a slider on an audio or video playback you might find with
        YouTube,
        <br>
        NetFlix, etc.
        <br>
      </blockquote>
      <br>
      Does MIke have a budget?
      <br>
      <br>
      <blockquote type="cite">
        <br>
        IOW, in hands-off mode, the slider moves from start to finish as
        <br>
        fractional time advances. This is easy to implement as you can
        get the
        <br>
        fractional time value and apply it to the slider position.
        <br>
      </blockquote>
      <br>
      OK,
      <br>
      <br>
      <blockquote type="cite">
        <br>
        In hands-on mode, a button-click on the slider needs to pause
        the time
        <br>
        control. A drag on the slider would change the fractional time
        of the
        <br>
        sensor and button release would start playback from that
        position. Also
        <br>
        clicking at a location on the slider widget would have the same
        effect
        <br>
        as a drag.
        <br>
      </blockquote>
      <br>
      I think most al top browsers would be able to do this without a
      lot of special code.
      <br>
      Of oourse this will work best when the author decides which
      objects will be controllable using which clocks.
      <br>
      <br>
      <blockquote type="cite">
        <br>
        TimeSensor has 'startTime', 'pauseTIme', 'resumeTime', and
        'stopTIme'
        <br>
        fields. This all take local-time in seconds from epoch as the
        time of
        <br>
        action. There is also 'cycleInterval' for the duration of a
        single pass,
        <br>
        and 'loop' to indicate if the animation should repeat.
        <br>
      </blockquote>
      <br>
      Yes, those are well-founded interfaces of TimeSensor.
      <br>
      <br>
      <blockquote type="cite">
        <br>
        To implement a controlling slider, it would be nice to have
        'pause' and
        <br>
        'resume' fields that pause and resume the sensor without needing
        to
        <br>
        explicitly supply time. For the slider to control where (when?)
        in the
        <br>
        playback, it might be possible to manipulate the existing
        'startTime'
        <br>
        and 'stopTIme' fields to achieve the desired results, but some
        of those
        <br>
        changes are ignored if the TImeSensor is currently active
        (paused counts
        <br>
        as active).
        <br>
      </blockquote>
      <br>
      Yes, some of that would get tricky but most all of the inerfaces
      required are exposed in standard nodes.
      <br>
      <br>
      <blockquote type="cite">
        <br>
        I think adding a new field called (something like)
        'set_fraction' would
        <br>
        make the user's work much easier and obvious. This would set the
        current
        <br>
        fractional time and everything would proceed from there.
        <br>
      </blockquote>
      <br>
      Good that there are very proven ways to get a time set
      (set_fraction) in an interpolators and event utilies.
      <br>
      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.
      <br>
      <br>
      <blockquote type="cite">
        <br>
        There are open questions when things need to run for certain and
        <br>
        specific intervals. For example, an animation needed to run from
        11:03
        <br>
        to 11:05 local time. At 11:04:48 (fractional time = 0.9) someone
        changes
        <br>
        the fractional time to 0.1 (essentially 11:03:12).
        <br>
      </blockquote>
      <br>
      Well, then you need to know local time, which is great if you can
      get it from your system with sufficient resolution and accuracy.
      <br>
      <br>
      <blockquote type="cite">
        <br>
        1) Is this a case of not a spec problem, because the developer
        needs to
        <br>
        ensure this kind of integrity
        <br>
      </blockquote>
      <br>
      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.
      <br>
      <br>
      <blockquote type="cite">2) This is a security issue that needs to
        be handled inside the X3D
        <br>
        application
        <br>
      </blockquote>
      <br>
      Which security issue? access to real or imaginary time?
      <br>
      <br>
      <blockquote type="cite">3) This is a major vulnerability that
        needs specification definition
        <br>
      </blockquote>
      <br>
      Where is the hole?
      <br>
      <br>
      <blockquote type="cite">4) This is interpreted code that is run on
        the user's computer and there
        <br>
        is nothing that can be done.
        <br>
      </blockquote>
      <br>
      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.
      <br>
      <br>
      <blockquote type="cite">5) Something else or not listed.
        <br>
      </blockquote>
      <br>
      I think there is plenty not listed here, including a proposed IDL.
      <br>
      <br>
      Thanks and Best,
      <br>
      Joe
      <br>
      <br>
      <br>
      <blockquote type="cite">
        <br>
        <br>
        <br>
        <br>
        -- <br>
        *Leonard Daly*
        <br>
        3D Systems & Cloud Consultant
        <br>
        X3D Co-Chair on Sabbatical
        <br>
        LA ACM SIGGRAPH Chair
        <br>
        President, Daly Realism - /Creating the Future/
        <br>
        <br>
      </blockquote>
      <br>
      <br>
--------------------------------------------------------------------------------
      <br>
      <br>
      <br>
      <blockquote type="cite">_______________________________________________
        <br>
        x3d-public mailing list
        <br>
        <a class="moz-txt-link-abbreviated" href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>
        <br>
        <a class="moz-txt-link-freetext" href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a>
        <br>
        <br>
      </blockquote>
      <br>
      <br>
    </blockquote>
    <br>
    <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>