36 KiB
36 KiB
Changelog
Popmotion adheres to Semantic Versioning.
[11.0.5] 2022-08-15
Update
tslib
andtypescript
.
[11.0.4] 2022-08-10
Update
- Adding
types
toexports
field.
[11.0.3] 2021-12-03
Update
- Dynamic
restDelta
for smoother springs at low values.
[11.0.2] 2021-12-02
Update
- Locking dependencies.
[11.0.1] 2021-12-02
Update
- Locking dependencies.
[11.0.0] 2021-11-03
Changed
mixColor
always outputs RGB, even when mixing HSLA.
Added
- Animate HSLA with linear color mix.
- Animate between HSLA, RGBA and Hex with
mixColor
.
[10.0.2] 2021-10-22
Fixed
- Updating
framesync
.
[10.0.0] 2021-09-23
Fixed
- Fixing
exports
andmodule
inpackage.json
. This will break (unsupported) direct file imports.
[9.4.1] 2021-09-21
Changed
- Change
mixComplex
"too complex" error to warning, and allowing instant interpolation whenp > 0
.
[9.4.0] 2021-06-18
Added
onStop
toinertia
.
[9.3.6] 2021-05-11
Fix
- Correctly end spring animation if provided
bounce
withoutduration
.
[9.3.5] 2021-03-30
Update
- Updating
framesync
.
[9.3.4] 2021-03-19
Fixed
- Updating
style-value-types
.
[9.3.3] 2021-03-19
Fixed
- Fixing
main
entry point.
[9.3.2] 2021-03-19
Added
- Adding
exports
topackage.json
.
Updated
tslib
to latest.
[9.3.1] 2021-03-02
Fixed
- Scheduling of first animation frame was previously set to
immediate
, leading to double animations for animations stopped/started within the same frame.
[9.3.0] 2021-03-01
Fixed
- Unbundling ES code to facilitate code-splitting in Webpack.
[9.2.1] 2020-02-22
Update
- Upgrading to
style-value-types@4.0.3
.
[9.2.0] 2020-02-22
Update
- Upgrading to
framesync@5.1.0
for better Node compatibility.
[9.1.0] 2020-01-08
Update
- Support for hex alpha in
mixColor
.
[9.0.2] 2020-12-18
Update
- Dependency updates.
[9.0.1] 2020-12-01
Fixed
- If
offsets
is a different length tovalues
, rather than throw an error we now just generate default offsets.
[9.0.0] 2020-10-24
- Full API revamp, see documentation.
[8.7.5] 2020-09-03
Fixed
- Refreshing published bundle.
[8.7.2] 2020-04-28
Fixed
- Decay and inertia correctly start motion at from prop when using modifyTarget
- Decay and inertia no longer round target calculation
- Inertia calls modifyTarget even with zero-velocity
Changed
- Inertia implementation refinements
[8.7.1] 2019-11-14
Upgrade
- Upgraded to Typescript 3.7.
[8.7.0] 2019-06-25
Added
repeatDelay
prop totween
.
[8.6.10] 2019-05-09
Fixed
- Fixing undefined action creator. (https://github.com/Popmotion/popmotion/issues/794)[#794]
[8.6.9] 2019-05-01
Update
- Dependencies.
[8.6.8] 2019-04-01
Update
@popmotion/popcorn@0.3.6
[8.6.7] 2019-04-01
Fixed
- Making
inertia.complete
call conditional on there not being a subsequent animation. (https://github.com/Popmotion/popmotion/pull/763)[#763]
[8.6.6] 2019-04-01
Update
@popmotion/popcorn@0.3.5
[8.6.5] 2019-04-01
Update
- Changing the behaviour of
inertia
to always spring back if the initial value is out of bounds. On multi-axisinertia
animations it used to be possible that both values are out of bounds and only one was travelling towards its bound - this led to a situation where one animation used a spring and the other used decay.
[8.6.4] 2019-03-12
Upgrade
- Upgrading
style-value-types@3.1.0
.
[8.6.3] 2019-02-21
Fixed
- Correctly integrating remainder of
elapsed
in yoyo tweens to ensure multiple concurrent tweens stay in sync.
[8.6.2] 2019-01-28
Updated
- Tightened type definitions for TransitionMapFactory #714
[8.6.1] 2019-01-23
Added
- Adding
bounceStiffness
,bounceDamping
,restDelta
,timeConstant
andpower
options toinertia
.
[8.6.0] 2019-01-16
Added
inertia
animation.
[8.5.5] 2018-12-28
Update
stylefire@8.3.4
[8.5.4] 2018-12-10
Fixed
- When a subscriber is added, only that subscriber is fired with the latest value.
[8.5.3] 2018-11-20
Fixed
- Ensuring
.stop()
is part ofColdSubscription
definition.
[8.5.2] 2018-11-16
Upgrade
- Moving to
popcorn@0.2.0
[8.5.0] 2018-11-01
Fixed
- Enforcing minor upgrade to Popcorn.
[8.4.2] 2018-11-01
Fixed
- Migrating functions to Popcorn.
[8.4.1] 2018-09-29
Fixed
- Calling
transform.steps()
should round properly to each step. #528
[8.4.0] 2018-09-21
Updated
- Moved to
framesync@4.0.0
[8.3.8] 2018-08-30
Fixed
- Calling
tween.resume()
would speed the tween up by firing multiple timers. #395
[8.3.7] 2018-08-30
Fixed
- Updating latest style-value-types and stylefire
[8.3.6] 2018-08-21
Fixed
- Fixed
postinstall
script by removing Chalk.
[8.3.4] 2018-08-20
Fixed
- Forcing
multitouch
to usepassive: true
.
[8.3.2] 2018-06-27
Fixed
- Forced fix from
style-value-types@3.0.3
[8.3.2] 2018-06-27
Fixed
- Updated color regex in
style-value-types
[8.3.1] 2018-06-27
Fixed
- Fixing some TypeScript definition incompatibilities with newer versions of TS.
[8.3.0] 2018-06-20
Added
- Support for animating value types:
px
deg
%
vw
vh
- Complex types including:
- SVG paths
- CSS gradients
- CSS shadows
[8.2.5] 2018-06-13
Fixed
- Removing
import
s from output declaration files.
[8.2.4] 2018-06-08
Added
- Exporting popular types from index.ts.
[8.2.3] 2018-05-28
Fixed
- Renaming
popmotion.min.js
back topopmotion.global.min.js
[8.2.1] 2018-05-17
Fixed
- Removing
process.env.NODE_ENV
from bundled hey-listen
[8.2.0] 2018-05-17
Changed
- Added Rollup to build process. Now just 11.1kb.
Deprecated
css
andsvg
functions fromstylefire
. Usestyler
instead.
[8.1.23] 2018-05-10
Fixed
- If an action stops more than once,
parallel
doesn't increase the stop counter.
[8.1.22] 2018-03-23
Fixed
- Making
easing
type optional ininterpolate
.
[8.1.21] 2018-03-13
Updated
- Updating
stylefire
.
[8.1.20] 2018-03-13
Updated
- Updating
stylefire
.
[8.1.19] 2018-03-13
Updated
- Updating
stylefire
.
[8.1.18] 2018-03-13
Updated
- Changed
Update
type definition toFunction
.
[8.1.17] 2018-03-09
Updated
- Stylefire updated to
1.2.6
[8.1.16] 2018-03-06
Fixed
value
now fires a velocity check at the end of the following frame to set velocity to0
if it hasn't been updated.
[8.1.15] 2018-03-06
Updated
- Stylefire updated to
1.2.5
[8.1.14] 2018-03-04
Updated
- Stylefire updated to
1.2.4
[8.1.13] 2018-03-04
Updated
- Stylefire updated to
1.2.3
[8.1.12] 2018-03-04
Update
- Running
parseFloat
on string values when returning velocity. - Stylefire and Style Value Types upgrade
[8.1.11] 2018-02-19
Update
interpolate
roughly 200x faster when interpolating between just two numbers.
[8.1.10] 2018-02-04
Fixed
- Stylefire update.
[8.1.9] 2018-01-22
Fixed
- Fix removeEventListener in Chrome 46 #248
[8.1.8] 2018-01-15
Fixed
- Fixing TS errors for
stop
[8.1.7] 2018-01-04
Changed
- Updating Framesync to improve performance at 30fps.
[8.1.6] 2018-01-03
Fixed
- Fix build.
[8.1.5] 2018-01-03
Fixed
- Upgrading Stylefire.
- Corrected types on
tween
.
[8.1.4] 2017-12-22
Added
generateStaticSpring
transformer.
[8.1.3] 2017-12-18
Added
conditional
transformer.
[8.1.2] 2017-12-12
Changed
- Removed
esnext
andmodule
settings from package.json, addedsrc
to exclude.
[8.1.1] 2017-12-12
Changed
- Adding README.md to package.
[8.1.0] 2017-12-12
Release!
[8.0.37@beta] 2017-12-11
Changed
everyFrame
now outputs thetimeSinceStart
rather than the current framestamp (which can be taken fromframesync
).
Fixed
- Actions that use internal
everyFrame
actions now stop the timer when complete.
[8.0.35@beta] 2017-12-09
Added
- The API matching of
parallel
andcomposite
can now accept arguments with the same shape. For instance:
composite({
x: physics(),
y: physics(),
}).setSpringStrength({ x: 100, y: 50 })
[8.0.34@beta] 2017-12-05
Changed
keyframes
propease
is noweasings
.ease
applies easing to the overall tween.
[8.0.33@beta] 2017-12-04
Added
timeline
animation.
Changed
stagger
now outputs array.
[8.0.32@beta] 2017-11-28
Added
- New
schedule
compositor.
Changed
transformChildValues
is nowtransformMap
, and finally docced.
[8.0.31@beta] 2017-11-27
Fixed
- Stopped new instances of actions mutating shared vars.
[8.0.30@beta] 2017-11-24
Fixed
- Published with wrong version of Stylefire.
[8.0.29@beta] 2017-11-24
Fixed
- Ensuring
everyFrame
stops when it's bloody well told to.
[8.0.28@beta] 2017-11-22
Changed
- Upgrading Stylefire
[8.0.27@beta] 2017-11-16
Fixed
delay
waits appropriate number of time beforecomplete
.
[8.0.26@beta] 2017-11-16
Fixed
- Fixing
scale
delta equation and firingpreventDefault
on multitouch events.
[8.0.25@beta] 2017-11-16
Fixed
- Providing
multitouch
scale
androtate
props outputs the delta as applied to those values.
[8.0.24@beta] 2017-11-16
Added
keyframes
ease
property can now be a single function.multitouch
accepts initialscale
androtate
properties.filter
chainable to actions and reactions.
Changed
touch
becomesmultitouch
.reaction
becomesmulticast
.onFrame
becomeseveryFrame
.
[8.0.22@beta] 2017-11-16
Fixed
- Fixed
tween
flip.
[8.0.21@beta] 2017-11-16
Added
scale
androtate
properties totouch
.listen
action.
[8.0.20@beta] 2017-11-14
Fixed
- Fixed
isActive
bug with observable. Should look at removing this in favor of Reaction.
[8.0.19@beta] 2017-11-14
[8.0.18@beta] 2017-11-14
Changed
- Changed
spring
equation.
[8.0.17@beta] 2017-11-14
Changed
- Changed
spring
equation.
[8.0.16@beta] 2017-11-14
Fixed
- Reactivating a reaction when provided a new parent.
[8.0.15@beta] 2017-11-14
Fixed
- Re-reversing
spring
initial velocity.
[8.0.14@beta] 2017-11-14
Fixed
- Not reversing
spring
initial velocity.
[8.0.13@beta] 2017-11-14
Fixed
keyframes
composite undefined value fixed.
[8.0.12@beta] 2017-11-11
Added
value
handles objects and arrays.reaction
andvalue
automatically stop previous action if used to start a new one.
Fixed
composite
APIs now map return values to the provided object, rather than as a flat array.
[8.0.11@beta] 2017-11-10
Added
- Object, array and colour support to
keyframes
.
Changed
pointerDelta
has been removed,pointer
now accepts an initial point.
[8.0.10@beta] 2017-11-09
Fixed
- Fixing broken entry point in
package.json
.
[8.0.9@beta] 2017-11-08
Added
- Color support to all vector actions.
[8.0.8@beta] 2017-11-08
Added
crossfade
,delay
,merge
andstagger
compositors.
[8.0.7@beta] 2017-11-07
Added
chain
compositor.
[8.0.4@beta] 2017-10-30
Added
- New reactive API.
keyframes
animation.decay
animation.delta
transformer.
Removed
flow
alias forpipe
- Transformers:
add
/subtract
/divide
/multiply
/conditional
/alpha
/percent
/degrees
/px
/rgbUnit
/rgba
/hex
/color
/hsla
- Renderers: Moved to Stylefire
- Render Loop: Moved to Framesync
- Color Tween: Moved to Popmotion Color Tween
- Value Types: Moved to Style Value Types
Changed
physics
propto
is nowto
physics
propspring
is nowspringStrength
physics
propautoStopSpeed
is nowrestSpeed
.spring
proprestDisplacement
is nowrestDelta
.
[7.8.2] 2017-10-02
Changed
- Now publishing
dist
folder on npm for use on CodePen via unpkg.com
Changed
spring
transformer becomeslinearSpring
to avoid clashing with thespring
action.
[7.8.1] 2017-08-29
Fixed
- Fixing mistake where Framesync's renamed
currentFrameTime
was exported instead of the previously-namedcurrentFrameTimestamp
.
[7.8.0] 2017-08-29
- Spinning off
framesync
to it's own module and deprecating render loop functions for removal in8.0.0
.
[7.7.1] 2017-08-27
Fixed
- Bug in
touches
(via Mars)
[7.7.0] 2017-08-24
Added
touches
action for multitouch support. (via Mars)parallel.getChildren
method now returns array of children actions.parallel
can now accept anonUpdate
function that is provided an array of latest child values.
[7.6.2] 2017-08-17
Fixed
- Composite Actions were firing
onUpdate
as soon as registered.
[7.6.1] 2017-08-17
Fixed
- Actions were firing
onUpdate
as soon as registered.
[7.6.0] 2017-08-07
Added
- New
spring
action based on an interpretation of Apple'sCASpringAnimation
by @skevy
[7.5.6] 2017-08-04
Fixed
- Prevent
Value.toUpdate
from being undefined.
[7.5.5] 2017-08-02
Fixed
- Only firing
onStop
on an action bound to a value if the action is active.
[7.5.4] 2017-07-31
Fixed
- A key is only added to Renderer's
changedValues
array if it doesn't already exist for that frame.
[7.5.3] 2017-07-18
Fixed
- Consistency issue with scheduling update on
value.set
- area to look at in the future.
[7.5.2] 2017-07-18
Fixed
- Bug with
css
translate map.
[7.5.1] 2017-07-17
Fixed
- Fixed a bug with
smooth
, preventing it from working if the initial given numbers were0
, or if it was called twice in the same frame.
[7.5.0] 2017-07-17
### Added
- Enforced order for css
transform
properties.
[7.4.0] 2017-07-16
Added
- Added
seek
totween
.
[7.3.1] 2017-07-13
Added
- Updated
snap
transform to take numbers for regular interval snapping.
[7.3.0] 2017-07-13
Added
- New
snap
transformer.
[7.2.9] 2017-07-12
Changed
trackOffset
now callsget
instead ofgetBeforeTransform
.
[7.2.8] 2017-07-12
Fixed
angle
calculation fixed.
[7.2.7] 2017-07-11
Fixed
steps
now returning actual value rather than stepped progress.
[7.2.6] 2017-07-05
Fixed
speedPerSecond
divide by0
bug.
[7.2.5] 2017-07-05
Fixed
lastUpdated
set to0
on action start to preventNaN
velocities.
[7.2.4] 2017-07-05
Fixed
prev = current
on action start, to preventNaN
velocities.
[7.2.3] 2017-07-04
Fixed
pointer
events are nowpassive: true
ifpreventDefault
is also set totrue
to fix bug introduced by Chrome 56.
[7.2.2] 2017-07-03
Changed
composite
action is nowpassive: true
to enable composition of other passive actions.
[7.2.0] 2017-06-26
Added
value
can now be provided to an action'sonUpdate
for automatic action management.
[7.1.1] 2017-06-23
- Minor bugfix.
[7.1.0] 2017-06-23
Added
complex
valueType
.
[7.0.3] 2017-06-23
Fixed
- Changed
pointer
to read mouse eventclient
positioning instead ofpage
, to make consistent with touch events.
[7.0.2] 2017-06-23
- Minor bugfix.
[7.0.1] 2017-06-23
- Minor bugfix.
[7.0.0] 2017-06-22
Features
trackOffset
action returns to simplify the process of tracking the offset of other actions.esnext
package.json property supported.
Deprecated
flow
is nowpipe
, to avoid terminology clashes with Flow.flow
will continue to work until7.1.0
.
Removed
blendTweens
is now an optional include.
[6.7.2] 2017-06-01
Fixed
- Removing dependencies from
package.json
[6.7.1] 2017-06-01
Fixed
colorTween
now usestransform
property to convert from progress to color, which fixes composition compatibility.
[6.7.0] 2017-06-01
Added
transform
property for actions. If set, any values passed toonUpdate
or returned fromget
will be run through this function.getBeforeTransform
method added for actions. Will return the current value, before transform is applied.
[6.3.5] 2017-03-03
Added
applyOffset
transformer.
[6.3.4] 2017-03-01
Fixed
- Undocumented range easing property in
interpolate
transformer was looking at the wrong index.
[6.3.3] 2017-18-01
Added
top
,left
,bottom
andright
CSS renderer value types.
[6.3.2] 2017-11-01
Added
smooth
transformer
[6.3.1] 2017-11-01
Fixed
transformChildValues
transformer now keeps a local mutable state rather than mutating the provided state.
[6.3.0] 2017-11-01
Added
- Actions now have an
output
shorthand for setting theonUpdate
property.
[6.2.1] 2017-09-01
Added
- Updated bezier tween blend algorithm.
- Exposed bezier resolver as a transformer.
[6.2.0] 2017-09-01
Added
- Bezier tween blending
[6.1.0] 2017-06-01
- Public release of new API
[6.0.0@alpha] 2017-01-01
- New API
[5.0.20] 2016-11-15
Fixed
- Accidentally transpiled a version of 6.0.
[5.0.19] 2016-11-15
Added
track
Can takepreventDefault
as optional second param. Defaults totrue
.
[5.0.18] 2016-08-08
Fixed
- Firing
onActivateLoop
even if task is already active to preventonce
from running more than once.
[5.0.17] 2016-05-08
Fixed
- Actually fixing spring clamping this time.
[5.0.16] 2016-05-08
Fixed
- Spring physics action now automatically ending when target is reached.
[5.0.15] 2016-18-07
Fixed
- Missing compilation of
5.0.14
[5.0.14] 2016-18-07
Fixed
- Preventing
current
being overwritten by value type default properties. Tween
s now finish automatically when scrubbed, fixing timeline/stagger bug where tweens wouldn't end.
[5.0.13] 2016-06-07
Fixed
track.start
andtrack.stop
now returningthis
, allowing chaining.from
restored astrack
default value.
[5.0.12] 2016-06-01
Fixed
- @jamieowen:
transform
now being prefixed correctly. - #156: Explicit tween
from
values now honoured byflow.start
.
Changed
- Converted project from 4 space indent to 2.
[5.0.11] 2016-05-21
Changed
- Tween
blend
property set tofalse
by default.
Fixed
- Mouse tracking in Firefox -
Object.watch
is truthy in Firefox.
[5.0.10] 2016-05-21
Fixed
- @FreakTheMighty: Setting bound pointer listener to ensure correct removal on
Pointer.stop
.
[5.0.9] 2016-05-21
Fixed
- @jamieowen: Prefixed properties now being set correctly.
[5.0.8] 2016-05-15
Added
- Unit tests for
transformers.createMapper
.
Fixed
- Fixed mapped values calculated from
transformers.createMapper
mappers that are outside of the input range returningundefined
.
[5.0.7] 2016-04-20
Changed
- Subsequent actions started on a flow are only given the flow's velocity if their velocity is 0.
[5.0.6] 2016-04-17
Changed
- Inherited actions now receive a
parentId
property with theid
of their parent action.
[5.0.5] 2016-04-13
Fixed
- On
set
,current
was returning undefined ifvalues
prop set as value, forcing anadapter
read.
[5.0.4] 2016-04-13
Fixed
- If
adapter
returns a string that should be a pure number, we parse that as a float.
[5.0.3] 2016-04-06
Fixed
- Regression from testing
5.0.2
.
[5.0.2] 2016-04-06
Fixed
- Fixing entry point in
package.json
.
[5.0.1] 2016-03-30
Minor bugfixes.
[5.0.0] 2016-03-29
Popmotion 5.0: timelines, streamlined API, tween blending, still 12kb.
Warning: This is a major API revision. Previous Popmotion code will be incompatible with this upgrade.
Added
- Timelines: Super-simple yet fully-featured nestable timelines to easily sequence
tweens
. - Tween blending: Smooth transitions between overlapping tweens.
- Standalone actions:
tween
,physics
andtrack
can all run without the need for anactor
. - Adapters: Minimal
get
/set
API wrappers for smoothing differences between DOM, SVG and frameworks. - Transformers: Composable functions to transform values between update and render.
- Unified physics engine: Handles
velocity
,friction
andspring
in one unifiedphysics
action. - Small: All this for less than 12kb minified & gzipped.
- Smaller: Rewritten entirely using ES6 exports to allow tree-shaking, ignoring the parts of Popmotion you don't include.
- Global time dilation:
setGlobalDilation
method can change the global time. - Flow layer: Replaces Actors and can work entirely in the background to manage multiple actions on the same object.
- Support
points
property forpolygon
andpolyline
tags. - MIT: Changed licence to MIT.
Removed
new
- dropped in favour of factory functions (ienew Tween()
becomestween()
). This will allow further non-API-breaking optimisations.Actor
dropped in favour offlow
. The Actor model was monolithic, flows are automatically generated forelement
s in the background and can be accessed optionally viadetectFlow
.process
: Nowtask
. Prevents conflict with global common in browsers.- Removed Action
watch
property in favour of more flexibletransform
: Simply provide a function that returns a different value. - Native Meteor support, as we kept forgetting to update it.
- jQuery support - provide elements as returned from
$('.yourElement').get()
instead. Sequence
: Dropped in favour of thetimeline
function.Iterator
: Dropped in favour of using native array methods and the newstagger
function.Simulate
: Dropped in favour of unifiedphysics
action.
Changed
friction
now a value between0
and1
-0
provides no friction,1
will strip all velocity within a single frame.
[4.3.4] 2015-12-30
Fixed
Simulate.hasChanged
incorrectly calculated.
[4.3.3] 2015-12-29
Fixed
- Added
acceleration
to list of properties that can be set as functions, resolved when an Action starts.
[4.3.2] 2015-12-26
Fixed
- Recursion bug with
Actor.sync
under specific circumstances.
[4.3.1] 2015-12-24
Removed
deceleration
fromSimulate
.
Fixed
- Fixed bug where
Tween
would start as ended if initialised duringupdate
ie via aSequence
.
[4.3.0] 2015-12-17
Added
scale
value type hooked up to CSS and SVG roles.utils.camelToDash
utility function for converting camelCase props to dash-case.
Changed
- Default
Simulate
stopSpeed
changed from5
to0.0001
to account for tiny numbers like 0-1.
[4.2.7] 2015-12-09
Fixed
- SVG properties set ie
fillOpacity
are now getting set asfill-opacity
.
[4.2.6] 2015-12-08
Fixed
- Fixed recursive loop when splitting Actor values.
[4.2.5] 2015-12-07
Added
opacity
,fillOpacity
andstrokeOpacity
toui.svg
Role type map.
[4.2.4] 2015-12-07
Added
Simulate.autoEnd
property, set tofalse
to prevent simulations from automatically ending.
Fixed
- TweenControls
reverse
now work on completed Tweens.
[4.2.3] 2015-12-06
Added
- Actors automatically
sync
on init.
[4.2.2] 2015-12-03
Update
- Moving from Babel's official es2015 preset to a custom build.
[4.2.1] 2015-12-03
Update
- Updating Babel to fix transpilation errors in IE10.
[4.2.0] 2015-12-02
Changed
- Moving to dual commercial and GPLv3 licence.
[4.1.0] 2015-11-28
Added
- Actor value
watch
property can now be a function returning any numerical value. - Added
smooth
for all actions. - Added
calc.toDecimal
calculator function.
[4.0.0] 2015-11-20
Added
- New core processing loop. Separates processes into four stages:
update
,preRender
,render
,postRender
. Process.once
to fire a Process for a single frame.- Run background processes by passing
true
toProcess.setBackground
or as the last argument to theProcess
constructor. Background processes won't spin up the process loop when activated, only running when non-background processes are active.
Changed
new ui.Process()
takescallback, scope
instead ofscope, callback
.Process
callbacks now receivescope
as the first argument, thenframestamp, frameDuration
.
Removed
Process.every
,Process.reset
andProcess.fire
. Processes should only be started/stopped withProcess.start
andProcess.stop
respectively, to ensure they're run as part of the main loop.every
is redundant with a combination ofsetInterval
andProcess.once
.Process.start
no longer takes a time period as an argument - usesetTimeout
toProcess.stop
.
[3.8.1] 2015-11-19
Fixed
- Pow easings incorrectly named var.
[3.8.0] 2015-11-19
Added
- Elliot Geno's awesome
'anticipate'
easing. Follow him at @ElliotGeno. - In-built easings now available in the
ui.ease
namespace. So instead of providing'backOut'
you can reference it literally -ui.ease.anticipate
. - Create modified easing function strengths, for instance
ease: ui.modifyEase(ui.ease.backOut, 2)
.'ease'
and'back'
in/out/inOut variants and'anticipate'
are available. You must provide the literal reference rather than string reference.
[3.7.1] 2015-11-11
Changed
- Refactored core clock to increase performance in lower-end devices.
[3.7.0] 2015-11-07
Changed
- Software licence changed. Popmotion is now free for non-commercial uses, and requires a per-project licence for commercial projects.
- More files converted to ES6 syntax.
- Moved back to small for production compilation.
- Upgraded Babel from 5 to 6.
Added
- Beginning suite of Mocha unit tests.
[3.6.3] 2015-11-03
Added
- Extra tests to ensure Popmotion is loading correctly in Meteor.
Fixed
- Explicit test for rAF for when
window
is available andrequestAnimationFrame
isn't.
[3.6.2] 2015-11-02
Added
- Meteor support. Published on Atmosphere as
popmotion:popmotion
.
Fixed
performance
andwindow
checks in Node.
[3.6.1] 2015-10-29
Fixed
- Smoothing lower than frameduration produced odd values.
- Smooth by
0
Infinity
error
[3.6.0] 2015-10-29
Added
- New
transform(value, key, actor)
property forActor
values. Allows you to return a new value after its been processed by an action, but before it's been limited/rounded etc. - Exposed our
Track
smooth
calculator asui.calc.smooth
.
Changed
- Refactored some files to cut down on filesize.
Fixed
- Fixed a regression from
3.3.3
that fixedperformance
in IE9.
[3.5.0] 2015-10-21
Added
-
Roles are now getter/setters, if
get
andset
methods are present. For example: CSS role has getter/setters, so you can call:ui.css(element, { position: 'absolute', top: 0 });
[3.4.4] 2015-10-22
Fixed
Actor.stop().start()
was failing to run.
[3.4.3] 2015-10-21
Fixed
Actor.sync
now returnsActor
rather than the bound syncAction
.
[3.4.2] 2015-10-21
Fixed
svg
tags are now assignedui.css
role.
[3.4.1] 2015-10-17
Fixed
- Delaying test element creation in CSS Role prevents error in server-side rendering.
[3.4.0] 2015-10-16
Added
Sequence
class, for creating a sequence of non-sequential actions.onComplete
property toIterator.stagger
.- Pass an action as the
Iterator.each
andIterator.stagger
method
argument to automatically runstart
on eachActor
.
Changed
- Using rAF-provided timestamp instead of
performance.now
for smoother motion.
[3.3.3] 2015-10-13
Fixed
- @stoikerty: Fixed
performance.now
check for IE9.
[3.3.2] 2015-10-10
Fixed
Pointer
events now properly unbound onActor
stop.
[3.3.1] 2015-10-09
Added
Actor.smooth
now settable on a per-value basis.direct
value property added to take direct input values instead of inputOffset.
[3.3.0] 2015-10-08
Added
smooth
property added toTrack
- smoothes out values coming fromInput
sources.
[3.2.1] 2015-10-07
Fixed
watch
no longer overwritten onset
.
[3.2.0] 2015-10-06
Added
ui.select
now caches and finds cached Actors bound to DOM elements. If one Actor is found, it returns an Actor. If multiple Actors are found, an Iterator.reverse
method toIterator
.
[3.1.7] 2015-10-05
Fixed
- Adjusting
hasChanged
logic to always fire on first frame. - Changing
Iterator.stagger
logic for more even staggers.
[3.1.6] 2015-10-05
Fixed
- Manually moved the library class filenames to uppercase.
[3.1.5] 2015-10-05
Fixed
- Renamed some class files to uppercase to fix include fails in some Browserify compilations.
[3.1.4] 2015-10-05
Added
- Simulation functions are now sent
value <object>, frameDuration <int>, timeStarted <timestamp>
as arguments.
[3.1.3] 2015-10-04
Fixed
- Actions fired within an
onComplete
wouldn't start because the number of active Actions was being counted incorrectly.
[3.1.2] 2015-10-03
Fixed
- Major Firefox bug 1)
values
false-positive test forwatch
property, now explicitly checking forstring
. - Major Firefox bug 2)
element.style.hasOwnProperty()
always returning false, switching toin element.style
.
[3.1.1] 2015-10-02
Fixed
- Clearing Actor then/next queue on
start
. - Saving all arguments to queue via
then
so we can pass Inputs.
[3.1.0] 2015-10-01
Added
- Action-specific
onStart
,onUpdate
,onFrame
andonComplete
callbacks. These callbacks will be active only for the duration of the action, while callbacks attached to the host Actor will persist through all actions.
Changed
onStart
callbacks are now fired immediately before the Actor is activated, giving actions extra time to initiate and make use of the < 100ms response window.
Fixed
- Bugfix for deep-copying Actions on Action start. That was a whoops and a half.
[3.0.4] 2015-09-30
Fixed
- Bugfix for subvalues not being flipped correctly.
[3.0.3] 2015-09-30
Fixed
- SVG Role divide by 0 error when
scale
=== 0.
[3.0.2] 2015-09-29
Fixed
- Bugfix where Popmotion would attempt to split numerical values.
- Bugfix for
complex
valueType regex where negative numbers were made positive.
[3.0.0] 2015-09-29
Added
- Full SVG support.
- Multiple simultaneous Actions on a single Actor - mix Simulations, Tracking and Tweens on the same elements!
- Animate complex strings, like
path
d
attributes. - Iterator - to allow single classes to be extended the ActorCollector has been dropped in favour of a generic Iterator class, which can iterate over any set of classes. This also makes it clearer when you're interacting with multiple items vs a single Actor, and these items are not longer limited to Actors.
- Roles -
ui.css
,ui.attr
,ui.svg
,ui.draw
. These are auto-assigned to Actors when initialised with anelement
property, but can also be manually assigned with theas
property on Actor initialisation. - Actors can have multiple roles by providing an array to
as
. - New roles can be created with
new ui.Role()
. - Value names can be translated before a Role accesses it, via a Role's
map
property. For exampleui.cssRole
mapsx
totranslateX
. - Action classes/definitions -
Tween
,Simulate
,Track
Removed
ui.addRoute
- see Rolesui.addPreset
,ui.addAction
- see Tween, Simulate and Track classesActorCollection
- see Iteratorplay
,run
,track
Actor methods - usestart
Changed
addToQueue
Actor method is nowthen
and takes Tween, Simulate and Track instances instead of raw properties.mapLink
Actor value property is nowmapFrom
.- Default tween
duration
set to300
. - Default tween
ease
set to"easeOut"
. reverse
,reset
->restart
,seek
methods moved toTweenControls
(returned when aTween
is passed tostart
)
Deprecated
flipValues
,reverse
,reset
,resetProgress
,resetOrigins
andseek
Actor methods - these are all going to be moved to theTween
class in3.2.0
[2.0.4] 2015-08-10
Fixed
- Fixing
bounce
andcapture
simulation calls.
[2.0.3] 2015-08-10
Removed
- Removed undocumented
ui.addSimulation
- new simulations now passed as function instead of simulation name.
[2.0.2] 2015-08-10
Changed
Actor.seek
no longer an Action, much higher performance.
[2.0.1] 2015-08-07
Changed
- Only numerical properties can be set as functions to be resolved on action start.
[2.0.0] 2015-08-07
Removed
ui.addEasing()
Added
- New easing functions are now generated with
new ui.Easing()
and provided as theease
property. When provided an easeIn function,in
,out
andinOut
methods are returned.
[1.0.0] 2015-08-06
Note: Forked from Redshift v2.1.1.
Changed
redshift
object name nowui
.- Terminology changes to fix API semantics:
- Action: Actor
- ActionCollection: ActionCollection
- Rubix: Action (as in, an Action an Actor can perform)
Added
- Add new easing functions with
ui.addEasing()
. Provide the easeIn function and Popmotion will generate easeOut and easeInOut variants. - Add new simulation functions to
run
withui.addSimulation()
. - Any value can be a special value type, ie a color.
'#FFF'
splits into four numerical properties,Red
,Blue
,Green
andAlpha
. - Add new value types with
ui.addValueType()
. - HSLA value type support.
[2.1.1] 2015-06-11
Fixed
- Change Action
rubix
from"seek"
to"play"
onEnd.
[2.1.0] 2015-06-11
Added
- Added
.seek()
method to Actions.
[2.0.5] 2015-06-02
Added
- ActionGroup returns array of values when a getter is called.
[2.0.4] 2015-06-01
Fixed
onStart
regression from 2.0.0 - only firing for 'values' route.
[2.0.3] 2015-06-01
Fixed
- Fixing hasChanged regression, prevented .run() from stopping automatically.
[2.0.2] 2015-06-01
Fixed
- Adding Alpha property to all split color values (default: 1), in case a value has mixed RGB and RGBA properties.
[2.0.1] 2015-06-01
Added
- CSS values travelling through a splitter (ie backgroundColor is split into RGB values) can be set as functions like normal values.
[2.0.0] 2015-06-01
Changed
- Upgraded stepped easing algorithm.
Action.hasChanged
set totrue
whenAction.isActive(true)
Removed
.props()
method removed - properties now saved directly to Action object..data()
functionality removed, just set properties of Action instead..flip()
is now.flipValues()
.
[1.4.1] 2015-05-31
Fixed
- ActionGroup.stagger() wasn't returning
this
[1.4.0] 2015-05-31
Added
- Action Groups for controlling multiple Actions at once.
- Stagger method for Action Groups.
- DOM selection support for creating Actions prepopulated with DOM elements.
Fixed
- Calling .play(preset) while Action was in progress failed to add that call to the play queue.
- Added check for Process timers before clearing as clearTimeout is costing ~.4ms.