react-native-reanimated 3.2.0-nightly-20230529-8b4fef8af → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/reanimated2/animation/spring.js +2 -2
- package/lib/module/reanimated2/animation/spring.js.map +1 -1
- package/lib/module/reanimated2/platform-specific/jsVersion.js +1 -1
- package/lib/module/reanimated2/platform-specific/jsVersion.js.map +1 -1
- package/package.json +1 -1
- package/src/reanimated2/animation/spring.ts +3 -2
- package/src/reanimated2/platform-specific/jsVersion.ts +1 -1
|
@@ -105,7 +105,7 @@ export function withSpring(toValue, userConfig, callback) {
|
|
|
105
105
|
animation.omega0 = (previousAnimation === null || previousAnimation === void 0 ? void 0 : previousAnimation.omega0) || 0;
|
|
106
106
|
animation.omega1 = (previousAnimation === null || previousAnimation === void 0 ? void 0 : previousAnimation.omega1) || 0;
|
|
107
107
|
} else {
|
|
108
|
-
if (
|
|
108
|
+
if (config.useDuration) {
|
|
109
109
|
const acutalDuration = triggeredTwice ?
|
|
110
110
|
// If animation is triggered twice we want to continue the previous animation
|
|
111
111
|
// so we need to include the time that already elapsed
|
|
@@ -122,7 +122,7 @@ export function withSpring(toValue, userConfig, callback) {
|
|
|
122
122
|
animation.omega0 = omega0;
|
|
123
123
|
animation.omega1 = omega1;
|
|
124
124
|
}
|
|
125
|
-
animation.lastTimestamp = now;
|
|
125
|
+
animation.lastTimestamp = (previousAnimation === null || previousAnimation === void 0 ? void 0 : previousAnimation.lastTimestamp) || now;
|
|
126
126
|
animation.startTimestamp = triggeredTwice ? (previousAnimation === null || previousAnimation === void 0 ? void 0 : previousAnimation.startTimestamp) || now : now;
|
|
127
127
|
}
|
|
128
128
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["defineAnimation","initialCalculations","calcuateNewMassToMatchDuration","underDampedSpringCalculations","criticallyDampedSpringCalculations","isAnimationTerminatingCalculation","withSpring","toValue","userConfig","callback","defaultConfig","damping","mass","stiffness","overshootClamping","restDisplacementThreshold","restSpeedThreshold","velocity","duration","dampingRatio","config","useDuration","spring","animation","now","startTimestamp","current","timeFromStart","lastTimestamp","deltaTime","Math","min","t","v0","x0","zeta","omega0","omega1","position","newPosition","newVelocity","isOvershooting","isVelocity","isDisplacement","springIsNotInMove","isTriggeredTwice","previousAnimation","onStart","value","startValue","triggeredTwice","Number","acutalDuration","onFrame"],"sources":["spring.ts"],"sourcesContent":["import { defineAnimation } from './util';\nimport {\n Animation,\n AnimationCallback,\n AnimatableValue,\n Timestamp,\n} from '../commonTypes';\nimport {\n SpringConfig,\n initialCalculations,\n calcuateNewMassToMatchDuration,\n SpringAnimation,\n InnerSpringAnimation,\n underDampedSpringCalculations,\n criticallyDampedSpringCalculations,\n isAnimationTerminatingCalculation,\n} from './springUtils';\n\nexport function withSpring(\n toValue: AnimatableValue,\n userConfig?: SpringConfig,\n callback?: AnimationCallback\n): Animation<SpringAnimation> {\n 'worklet';\n\n return defineAnimation<SpringAnimation>(toValue, () => {\n 'worklet';\n const defaultConfig: Record<keyof SpringConfig, any> = {\n damping: 10,\n mass: 1,\n stiffness: 100,\n overshootClamping: false,\n restDisplacementThreshold: 0.01,\n restSpeedThreshold: 2,\n velocity: 0,\n duration: 2000,\n dampingRatio: 0.5,\n } as const;\n\n const config = {\n ...defaultConfig,\n ...userConfig,\n useDuration: userConfig?.duration || userConfig?.dampingRatio,\n };\n\n function spring(animation: InnerSpringAnimation, now: Timestamp): boolean {\n const { toValue, startTimestamp, current } = animation;\n\n const timeFromStart = now - startTimestamp;\n\n if (config.useDuration && timeFromStart >= config.duration) {\n animation.current = toValue;\n\n // clear lastTimestamp to avoid using stale value by the next spring animation that starts after this one\n animation.lastTimestamp = 0;\n return true;\n }\n\n const { lastTimestamp, velocity } = animation;\n\n const deltaTime = Math.min(now - lastTimestamp, 64);\n animation.lastTimestamp = now;\n\n const t = deltaTime / 1000;\n const v0 = -velocity;\n const x0 = toValue - current;\n\n const { zeta, omega0, omega1 } = animation;\n\n const { position: newPosition, velocity: newVelocity } =\n zeta < 1\n ? underDampedSpringCalculations(animation, {\n zeta,\n v0,\n x0,\n omega0,\n omega1,\n t,\n })\n : criticallyDampedSpringCalculations(animation, {\n v0,\n x0,\n omega0,\n t,\n });\n\n if (!config.useDuration) {\n const { isOvershooting, isVelocity, isDisplacement } =\n isAnimationTerminatingCalculation(animation, config);\n\n animation.current = newPosition;\n animation.velocity = newVelocity;\n\n const springIsNotInMove =\n isOvershooting || (isVelocity && isDisplacement);\n\n if (springIsNotInMove) {\n if (config.stiffness !== 0) {\n animation.velocity = 0;\n animation.current = toValue;\n }\n // clear lastTimestamp to avoid using stale value by the next spring animation that starts after this one\n animation.lastTimestamp = 0;\n return true;\n }\n }\n return false;\n }\n\n function isTriggeredTwice(\n previousAnimation: SpringAnimation | undefined,\n animation: SpringAnimation\n ) {\n return (\n previousAnimation?.toValue === animation.toValue &&\n previousAnimation?.duration === animation.duration &&\n previousAnimation?.dampingRatio === animation.dampingRatio\n );\n }\n\n function onStart(\n animation: SpringAnimation,\n value: number,\n now: Timestamp,\n previousAnimation: SpringAnimation | undefined\n ): void {\n animation.current = value;\n animation.startValue = value;\n\n let mass = config.mass;\n const triggeredTwice = isTriggeredTwice(previousAnimation, animation);\n\n const duration = config.duration;\n\n const x0 = triggeredTwice\n ? // If animation is triggered twice we want to continue the previous animation\n // form the previous starting point\n (previousAnimation?.startValue as number)\n : Number(animation.toValue) - value;\n\n animation.velocity = previousAnimation\n ? triggeredTwice\n ? previousAnimation.velocity\n : previousAnimation.velocity + config.velocity\n : config.velocity;\n\n if (triggeredTwice) {\n animation.zeta = previousAnimation?.zeta || 0;\n animation.omega0 = previousAnimation?.omega0 || 0;\n animation.omega1 = previousAnimation?.omega1 || 0;\n } else {\n if (duration) {\n const acutalDuration = triggeredTwice\n ? // If animation is triggered twice we want to continue the previous animation\n // so we need to include the time that already elapsed\n duration -\n ((previousAnimation?.lastTimestamp || 0) -\n (previousAnimation?.startTimestamp || 0))\n : duration;\n\n config.duration = acutalDuration;\n mass = calcuateNewMassToMatchDuration(x0, config, animation.velocity);\n }\n\n const { zeta, omega0, omega1 } = initialCalculations(mass, config);\n animation.zeta = zeta;\n animation.omega0 = omega0;\n animation.omega1 = omega1;\n }\n\n animation.lastTimestamp = now;\n animation.startTimestamp = triggeredTwice\n ? previousAnimation?.startTimestamp || now\n : now;\n }\n\n return {\n onFrame: spring,\n onStart,\n toValue,\n velocity: config.velocity || 0,\n current: toValue,\n startValue: 0,\n callback,\n lastTimestamp: 0,\n startTimestamp: 0,\n zeta: 0,\n omega0: 0,\n omega1: 0,\n } as SpringAnimation;\n });\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["defineAnimation","initialCalculations","calcuateNewMassToMatchDuration","underDampedSpringCalculations","criticallyDampedSpringCalculations","isAnimationTerminatingCalculation","withSpring","toValue","userConfig","callback","defaultConfig","damping","mass","stiffness","overshootClamping","restDisplacementThreshold","restSpeedThreshold","velocity","duration","dampingRatio","config","useDuration","spring","animation","now","startTimestamp","current","timeFromStart","lastTimestamp","deltaTime","Math","min","t","v0","x0","zeta","omega0","omega1","position","newPosition","newVelocity","isOvershooting","isVelocity","isDisplacement","springIsNotInMove","isTriggeredTwice","previousAnimation","onStart","value","startValue","triggeredTwice","Number","acutalDuration","onFrame"],"sources":["spring.ts"],"sourcesContent":["import { defineAnimation } from './util';\nimport {\n Animation,\n AnimationCallback,\n AnimatableValue,\n Timestamp,\n} from '../commonTypes';\nimport {\n SpringConfig,\n initialCalculations,\n calcuateNewMassToMatchDuration,\n SpringAnimation,\n InnerSpringAnimation,\n underDampedSpringCalculations,\n criticallyDampedSpringCalculations,\n isAnimationTerminatingCalculation,\n} from './springUtils';\n\nexport function withSpring(\n toValue: AnimatableValue,\n userConfig?: SpringConfig,\n callback?: AnimationCallback\n): Animation<SpringAnimation> {\n 'worklet';\n\n return defineAnimation<SpringAnimation>(toValue, () => {\n 'worklet';\n const defaultConfig: Record<keyof SpringConfig, any> = {\n damping: 10,\n mass: 1,\n stiffness: 100,\n overshootClamping: false,\n restDisplacementThreshold: 0.01,\n restSpeedThreshold: 2,\n velocity: 0,\n duration: 2000,\n dampingRatio: 0.5,\n } as const;\n\n const config = {\n ...defaultConfig,\n ...userConfig,\n useDuration: userConfig?.duration || userConfig?.dampingRatio,\n };\n\n function spring(animation: InnerSpringAnimation, now: Timestamp): boolean {\n const { toValue, startTimestamp, current } = animation;\n\n const timeFromStart = now - startTimestamp;\n\n if (config.useDuration && timeFromStart >= config.duration) {\n animation.current = toValue;\n\n // clear lastTimestamp to avoid using stale value by the next spring animation that starts after this one\n animation.lastTimestamp = 0;\n return true;\n }\n\n const { lastTimestamp, velocity } = animation;\n\n const deltaTime = Math.min(now - lastTimestamp, 64);\n animation.lastTimestamp = now;\n\n const t = deltaTime / 1000;\n const v0 = -velocity;\n const x0 = toValue - current;\n\n const { zeta, omega0, omega1 } = animation;\n\n const { position: newPosition, velocity: newVelocity } =\n zeta < 1\n ? underDampedSpringCalculations(animation, {\n zeta,\n v0,\n x0,\n omega0,\n omega1,\n t,\n })\n : criticallyDampedSpringCalculations(animation, {\n v0,\n x0,\n omega0,\n t,\n });\n\n if (!config.useDuration) {\n const { isOvershooting, isVelocity, isDisplacement } =\n isAnimationTerminatingCalculation(animation, config);\n\n animation.current = newPosition;\n animation.velocity = newVelocity;\n\n const springIsNotInMove =\n isOvershooting || (isVelocity && isDisplacement);\n\n if (springIsNotInMove) {\n if (config.stiffness !== 0) {\n animation.velocity = 0;\n animation.current = toValue;\n }\n // clear lastTimestamp to avoid using stale value by the next spring animation that starts after this one\n animation.lastTimestamp = 0;\n return true;\n }\n }\n return false;\n }\n\n function isTriggeredTwice(\n previousAnimation: SpringAnimation | undefined,\n animation: SpringAnimation\n ) {\n return (\n previousAnimation?.toValue === animation.toValue &&\n previousAnimation?.duration === animation.duration &&\n previousAnimation?.dampingRatio === animation.dampingRatio\n );\n }\n\n function onStart(\n animation: SpringAnimation,\n value: number,\n now: Timestamp,\n previousAnimation: SpringAnimation | undefined\n ): void {\n animation.current = value;\n animation.startValue = value;\n\n let mass = config.mass;\n const triggeredTwice = isTriggeredTwice(previousAnimation, animation);\n\n const duration = config.duration;\n\n const x0 = triggeredTwice\n ? // If animation is triggered twice we want to continue the previous animation\n // form the previous starting point\n (previousAnimation?.startValue as number)\n : Number(animation.toValue) - value;\n\n animation.velocity = previousAnimation\n ? triggeredTwice\n ? previousAnimation.velocity\n : previousAnimation.velocity + config.velocity\n : config.velocity;\n\n if (triggeredTwice) {\n animation.zeta = previousAnimation?.zeta || 0;\n animation.omega0 = previousAnimation?.omega0 || 0;\n animation.omega1 = previousAnimation?.omega1 || 0;\n } else {\n if (config.useDuration) {\n const acutalDuration = triggeredTwice\n ? // If animation is triggered twice we want to continue the previous animation\n // so we need to include the time that already elapsed\n duration -\n ((previousAnimation?.lastTimestamp || 0) -\n (previousAnimation?.startTimestamp || 0))\n : duration;\n\n config.duration = acutalDuration;\n mass = calcuateNewMassToMatchDuration(x0, config, animation.velocity);\n }\n\n const { zeta, omega0, omega1 } = initialCalculations(mass, config);\n animation.zeta = zeta;\n animation.omega0 = omega0;\n animation.omega1 = omega1;\n }\n\n animation.lastTimestamp = previousAnimation?.lastTimestamp || now;\n\n animation.startTimestamp = triggeredTwice\n ? previousAnimation?.startTimestamp || now\n : now;\n }\n\n return {\n onFrame: spring,\n onStart,\n toValue,\n velocity: config.velocity || 0,\n current: toValue,\n startValue: 0,\n callback,\n lastTimestamp: 0,\n startTimestamp: 0,\n zeta: 0,\n omega0: 0,\n omega1: 0,\n } as SpringAnimation;\n });\n}\n"],"mappings":"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"}
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* with the version used to build the native part of the library in runtime.
|
|
4
4
|
* Remember to keep this in sync with the version declared in `package.json`
|
|
5
5
|
*/
|
|
6
|
-
export const jsVersion = '3.2.0
|
|
6
|
+
export const jsVersion = '3.2.0';
|
|
7
7
|
//# sourceMappingURL=jsVersion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsVersion"],"sources":["jsVersion.ts"],"sourcesContent":["/**\n * We hardcode the version of Reanimated here in order to compare it\n * with the version used to build the native part of the library in runtime.\n * Remember to keep this in sync with the version declared in `package.json`\n */\nexport const jsVersion = '3.2.0
|
|
1
|
+
{"version":3,"names":["jsVersion"],"sources":["jsVersion.ts"],"sourcesContent":["/**\n * We hardcode the version of Reanimated here in order to compare it\n * with the version used to build the native part of the library in runtime.\n * Remember to keep this in sync with the version declared in `package.json`\n */\nexport const jsVersion = '3.2.0';\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,SAAS,GAAG,OAAO"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-reanimated",
|
|
3
|
-
"version": "3.2.0
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"description": "More powerful alternative to Animated library for React Native.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "yarn run format:js && yarn run lint:js && yarn run test:unit",
|
|
@@ -149,7 +149,7 @@ export function withSpring(
|
|
|
149
149
|
animation.omega0 = previousAnimation?.omega0 || 0;
|
|
150
150
|
animation.omega1 = previousAnimation?.omega1 || 0;
|
|
151
151
|
} else {
|
|
152
|
-
if (
|
|
152
|
+
if (config.useDuration) {
|
|
153
153
|
const acutalDuration = triggeredTwice
|
|
154
154
|
? // If animation is triggered twice we want to continue the previous animation
|
|
155
155
|
// so we need to include the time that already elapsed
|
|
@@ -168,7 +168,8 @@ export function withSpring(
|
|
|
168
168
|
animation.omega1 = omega1;
|
|
169
169
|
}
|
|
170
170
|
|
|
171
|
-
animation.lastTimestamp = now;
|
|
171
|
+
animation.lastTimestamp = previousAnimation?.lastTimestamp || now;
|
|
172
|
+
|
|
172
173
|
animation.startTimestamp = triggeredTwice
|
|
173
174
|
? previousAnimation?.startTimestamp || now
|
|
174
175
|
: now;
|