- From: L2L 2L <emanuelallen@hotmail.com>
- Date: Sun, 3 Aug 2014 19:30:02 -0400
- To: "public-fx@w3.org" <public-fx@w3.org>
- Message-ID: <BAY402-EAS60CF4983F31B2C7EB83BB4DEE50@phx.gbl>
Forgive me for any... Novice-ness. I'm just so zeal about this object coming to browsers. And I feel that it's beautiful that it is combining CSS, SVG, RAF, etc w3c specs as possible to make this. I feel strongly that utilizing what's already there can make this object stronger. CSS working group is advancing with CSS properties and capabilities of what CSS can do; it'll be more beneficial to leverage off that as much as possible. I'm copying and pasty here: Controlling the animation timing TimingDictionaries are used to control the internal timing of an animation (players control how an animation progresses relative to document time). TimingDictionaries have several properties that can be tweaked: duration: the duration of a single iteration of the animation iterations: the number of iterations of the animation that will be played (fractional iterations are allowed) iterationStart: the start offset of the first iteration fill: whether the animation has effect before starting the first iteration and/or after finishing the final iteration delay: the time between the animation's start time and the first animation effect of the animation playbackRate: the rate at which the animation progresses relative to external time direction: the direction in which successive iterations of the animation play back easing: fine-grained control over how external time impacts an animation across the total active duration of the animation. PLEASE CONSIDER LEVERAGING AS MUCH AS YOU CAN FROM CSS ALREADY DEFINED PROPERTY, AND METHOD LIKE PROPERTIES CSS Animation Properties Property Description CSS @keyframes Specifies the animation 3 animation A shorthand property for all the animation properties below, except the animation-play-state property 3 animation-delay Specifies when the animation will start 3 animation-direction Specifies whether or not the animation should play in reverse on alternate cycles 3 animation-duration Specifies how many seconds or milliseconds an animation takes to complete one cycle 3 animation-fill-mode Specifies what values are applied by the animation outside the time it is executing 3 animation-iteration-count Specifies the number of times an animation should be played 3 animation-name Specifies a name for the @keyframes animation 3 animation-timing-function Specifies the speed curve of the animation 3 animation-play-state Specifies whether the animation is running or paused 3 Transform Properties Property Description CSS backface-visibility Defines whether or not an element should be visible when not facing the screen 3 perspective Specifies the perspective on how 3D elements are viewed 3 perspective-origin Specifies the bottom position of 3D elements 3 transform Applies a 2D or 3D transformation to an element 3 transform-origin Allows you to change the position on transformed elements 3 transform-style Specifies how nested elements are rendered in 3D space 3 Transitions Properties Property Description CSS transition A shorthand property for setting the four transition properties 3 transition-property Specifies the name of the CSS property the transition effect is for 3 transition-duration Specifies how many seconds or milliseconds a transition effect takes to complete 3 transition-timing-function Specifies the speed curve of the transition effect 3 transition-delay Specifies when the transition effect will start 3 COMBINING TO CHANGE TO THIS: Controlling the animation timing TimingDictionaries are used to control the internal timing of an animation (players control how an animation progresses relative to document time). TimingDictionaries have several properties that can be tweaked: duration: the duration of a single iteration of the animation. Change to: animation-duration Specifies how many seconds or milliseconds an animation takes to complete one cycle. CSS Syntax animation-duration: time|initial|inherit; Property Values Value Description time Specifies the length an animation takes to finish. Default value is 0, meaning there will be no animation initial Sets this property to its default value. inherit Inherits this property from its parent element. iterations: the number of iterations of the animation that will be played (fractional iterations are allowed). Change to: animation-iteration-count Specifies how many seconds or milliseconds an animation takes to complete one cycle. CSS Syntax animation-iteration-count:number|infinite|initial|inherit; Property Values Value Description number A number that defines how many times an animation should be played. Default value is 1 infinite Specifies that the animation should be played infinite times (for ever) initial Sets this property to its default value. inherit Inherits this property from its parent element. CSS Syntax animation-iteration-count:number|infinite|initial|inherit; Property Values Value Description number A number that defines how many times an animation should be played. Default value is 1 infinite Specifies that the animation should be played infinite times (for ever) initial Sets this property to its default value. inherit Inherits this property from its parent element. fill: whether the animation has effect before starting the first iteration and/or after finishing the final iteration. Change to: animation-fill-mode Specifies what values are applied by the animation outside the time it is executing. direction: the direction in which successive iterations of the animation play back. Change to: animation-direction Specifies whether or not the animation should play in reverse on alternate cycles. CSS Syntax animation-direction: normal|reverse|alternate|alternate-reverse|initial|inherit; Property Values Value Description normal Default value. The animation should be played as normal reverse The animation should play in reverse direction alternate The animation will be played as normal every odd time (1,3,5,etc..) and in reverse direction every even time (2,4,6,etc...) alternate-reverse The animation will be played in reverse direction every odd time (1,3,5,etc..) and in a normal direction every even time (2,4,6,etc...) initial Sets this property to its default value. inherit Inherits this property from its parent element. delay: the time between the animation's start time and the first animation effect of the animation. Change to: animation-delay Specifies when the animation will start. CSS Syntax animation-delay: time|initial|inherit; Property Values Value Description time Optional. Defines the number of seconds or milliseconds to wait before the animation will start. Default value is 0 initial Sets this property to its default value. inherit Inherits this property from its parent element. easing: fine-grained control over how external time impacts an animation across the total active duration of the animation. Change this to: animation-timing-function Specifies the speed curve of the transition effect. CSS Syntax animation-timing-function: linear|ease|ease-in|ease-out|cubic-bezier(n,n,n,n)|initial|inherit; The animation-timing-function uses a mathematical function, called the Cubic Bezier curve, to make the speed curve. You can use your own values in this function, or use one of the pre-defined values: Property Values Value Description linear The animation has the same speed from start to end ease Default value. The animation has a slow start, then fast, before it ends slowly ease-in The animation has a slow start ease-out The animation has a slow end ease-in-out The animation has both a slow start and a slow end cubic-bezier(n,n,n,n) Define your own values in the cubic-bezier function Possible values are numeric values from 0 to 1 initial Sets this property to its default value. inherit Inherits this property from its parent element. Syntax: var anim = new Animation( ELEMENT_NODE, [{CSS PRESENTATION PROPERTIES}], {CSS ANIMATION/TRANSITION/TRANSFORM PROPERTIES}, TIMING VALUE);/*I believe this will also make the timing value optional*/ Example: var anim = elem.animate({ opacity: 0 }, 3000); CSS version: var anim = elem.animate( { opacity: 0 }, {animation-duration:"3s"});/* it could be just a short hand, but I would still express the un-short version both for readability and respect to CSS*/ ---- // Specify multiple properties at once var animA = new Animation(elem, { left: '100px', top: '300px' }, 3000); CSS version: var animA = new Animation(elem, { left: '100px', top: '300px' }, {animation-duration: "3s"}); --- // Specify multiple frames var animB = new Animation(elem, [ { left: '100px' }, { left: '300px' } ], 3000); CSS version: var animB = new Animation(elem, [ { left: '100px' }, { left: '300px' } ], {animation-duration: "3s"}); ----- elem.animate({ color: 'red' }, 2000); CSS version elem.animate( { color: 'red' }, {animation-duration: "2s"}); MIX: var anim = new Animation( element_node, [{ left: "25px"},{left: "50px"}], {animation: "linear"}, //short hand 3000); CSS version: var anim = new Animation( element_node, [{ left: '25px' },{left: "50px"}], {animation: "5s linear 2s infinite"}); /*all define in the short hand property; animation*/ No comment on these two.... They look to be driven from HTML5 audio and/or video element node. iterationStart: the start offset of the first iteration playbackRate: the rate at which the animation progresses relative to external time Thank you for taking the time to read. I... I just want to say this is beautiful... Just consider letting what is proposal above be an option for the third parameter. And I hope all of this: 5.3.2 Methods cancel: Clears all effects caused by this player and aborts it playback by running the cancel a player for this object. finish: Seeks the player to the end of the source content in the current direction by running the finish a player procedure for this object. play: Unpauses the player and rewinds if it has finished playing by running the procedure to play a player for this object. pause: Suspends the playback of this player by running the procedure to pause a player for this object. reverse: Inverts the playback rate of this player and seeks to the start of the source content if it has finished playing in the reversed direction by running the reverse a player procedure for this object. enum AnimationPlayState { "idle", "pending", "running", "paused", "finished" }; 5.3.3.1 Values idle: Corresponds to the idle play state. pending: Corresponds to the pending play state. running: Corresponds to the running play state. paused: Corresponds to the paused play state. finished: Corresponds to the finished play state. I can avoid using in favor of the CSS properties: JavaScript syntax: object.style.animationPlayState="paused" CSS Syntax animation-play-state: paused|running|initial|inherit; Property Values Value Description paused Specifies that the animation is paused running Default value. Specifies that the animation is running initial Sets this property to its default value. inherit Inherits this property from its parent element. And even consult to CSS working group of considering adding the properties you define: cancel, finish, play, pause, reverse, idle, pending, running, paused, finished. JavaScript syntax: object.style.animationPlayState="cancel|finish|play|pause|reverse|idle|pending|running|paused|finished" Sorry for any mistype/typo. If anyone is truly interested in this, and request I clear, or give more information, please email. Again, thank you for reading. E-S4L E-S4L
Received on Sunday, 3 August 2014 23:30:37 UTC