react-native-reanimated 2.6.0 → 3.0.0-rc.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.
Files changed (405) hide show
  1. package/Common/cpp/Fabric/FabricUtils.cpp +128 -0
  2. package/Common/cpp/Fabric/ReanimatedUIManagerBinding.cpp +197 -0
  3. package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +311 -6
  4. package/Common/cpp/Registries/EventHandlerRegistry.cpp +14 -1
  5. package/Common/cpp/Registries/NewestShadowNodesRegistry.cpp +68 -0
  6. package/Common/cpp/SharedItems/ShareableValue.cpp +20 -2
  7. package/Common/cpp/Tools/Mapper.cpp +23 -4
  8. package/Common/cpp/Tools/RuntimeDecorator.cpp +92 -46
  9. package/Common/cpp/Tools/Scheduler.cpp +4 -0
  10. package/Common/cpp/headers/Fabric/FabricUtils.h +78 -0
  11. package/Common/cpp/headers/Fabric/ReanimatedUIManagerBinding.h +46 -0
  12. package/Common/cpp/headers/NativeModules/NativeReanimatedModule.h +72 -2
  13. package/Common/cpp/headers/Registries/EventHandlerRegistry.h +8 -0
  14. package/Common/cpp/headers/Registries/NewestShadowNodesRegistry.h +41 -0
  15. package/Common/cpp/headers/SharedItems/SharedParent.h +3 -0
  16. package/Common/cpp/headers/SharedItems/ValueWrapper.h +25 -0
  17. package/Common/cpp/headers/SpecTools/ErrorHandler.h +5 -0
  18. package/Common/cpp/headers/Tools/Mapper.h +1 -1
  19. package/Common/cpp/headers/Tools/PlatformDepMethodsHolder.h +43 -8
  20. package/Common/cpp/headers/Tools/RuntimeDecorator.h +8 -3
  21. package/README.md +4 -0
  22. package/RNReanimated.podspec +22 -11
  23. package/android/CMakeLists.txt +139 -27
  24. package/android/build.gradle +86 -209
  25. package/android/local.properties +1 -0
  26. package/android/src/fabric/java/com/swmansion/reanimated/NativeProxy.java +310 -0
  27. package/android/src/fabric/java/com/swmansion/reanimated/ReaCompatibility.java +25 -0
  28. package/android/src/main/cpp/NativeProxy.cpp +196 -41
  29. package/android/src/main/cpp/headers/NativeProxy.h +45 -7
  30. package/android/src/main/java/com/swmansion/reanimated/NodesManager.java +13 -245
  31. package/android/src/main/java/com/swmansion/reanimated/ReanimatedModule.java +0 -125
  32. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/AnimationsManager.java +13 -6
  33. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/LayoutAnimations.java +2 -1
  34. package/android/src/{main → paper}/java/com/swmansion/reanimated/NativeProxy.java +26 -10
  35. package/android/src/paper/java/com/swmansion/reanimated/ReaCompatibility.java +17 -0
  36. package/ios/Fabric/REAInitializerRCTFabricSurface.h +12 -0
  37. package/ios/Fabric/REAInitializerRCTFabricSurface.mm +73 -0
  38. package/ios/LayoutReanimation/REAAnimationsManager.h +1 -1
  39. package/ios/LayoutReanimation/REAAnimationsManager.m +2 -2
  40. package/ios/LayoutReanimation/REASnapshot.m +1 -1
  41. package/ios/LayoutReanimation/REAUIManager.h +1 -1
  42. package/ios/LayoutReanimation/REAUIManager.mm +4 -5
  43. package/ios/REAEventDispatcher.m +1 -2
  44. package/ios/REAModule.h +10 -1
  45. package/ios/REAModule.mm +284 -0
  46. package/ios/REANodesManager.h +27 -52
  47. package/ios/{REANodesManager.m → REANodesManager.mm} +92 -226
  48. package/ios/native/NativeMethods.h +1 -3
  49. package/ios/native/NativeMethods.mm +1 -1
  50. package/ios/native/NativeProxy.h +2 -2
  51. package/ios/native/NativeProxy.mm +162 -32
  52. package/ios/native/REAIOSErrorHandler.h +2 -4
  53. package/ios/native/REAIOSErrorHandler.mm +1 -1
  54. package/ios/native/REAIOSLogger.h +1 -3
  55. package/ios/native/REAIOSLogger.mm +1 -1
  56. package/ios/native/REAIOSScheduler.h +1 -3
  57. package/ios/native/REAIOSScheduler.mm +2 -2
  58. package/ios/native/REAInitializer.h +0 -7
  59. package/ios/native/REAInitializer.mm +14 -6
  60. package/ios/native/UIResponder+Reanimated.h +3 -1
  61. package/ios/native/UIResponder+Reanimated.mm +6 -4
  62. package/ios/sensor/ReanimatedSensor.h +1 -1
  63. package/ios/sensor/ReanimatedSensor.m +1 -1
  64. package/ios/sensor/ReanimatedSensorContainer.h +1 -1
  65. package/ios/sensor/ReanimatedSensorContainer.m +2 -2
  66. package/lib/Animated.js +0 -13
  67. package/lib/ConfigHelper.js +0 -1
  68. package/lib/createAnimatedComponent.js +30 -169
  69. package/lib/index.js +0 -13
  70. package/lib/reanimated2/Easing.js +8 -44
  71. package/lib/reanimated2/NativeMethods.js +20 -3
  72. package/lib/reanimated2/UpdateProps.js +25 -10
  73. package/lib/reanimated2/core.js +4 -37
  74. package/lib/reanimated2/fabricUtils.js +18 -0
  75. package/lib/reanimated2/globals.d.ts +18 -3
  76. package/lib/reanimated2/hook/useAnimatedRef.js +6 -2
  77. package/lib/reanimated2/hook/utils.js +0 -5
  78. package/lib/reanimated2/interpolateColor.js +5 -2
  79. package/lib/reanimated2/interpolation.js +0 -15
  80. package/lib/reanimated2/js-reanimated/index.js +3 -0
  81. package/lib/types/{lib/ConfigHelper.d.ts → ConfigHelper.d.ts} +0 -0
  82. package/lib/types/{lib/ReanimatedEventEmitter.d.ts → ReanimatedEventEmitter.d.ts} +0 -0
  83. package/lib/types/{lib/ReanimatedModule.d.ts → ReanimatedModule.d.ts} +0 -0
  84. package/lib/types/{lib/ReanimatedModule.macos.d.ts → ReanimatedModule.macos.d.ts} +0 -0
  85. package/lib/types/{lib/ReanimatedModule.native.d.ts → ReanimatedModule.native.d.ts} +0 -0
  86. package/lib/types/{lib/ReanimatedModule.windows.d.ts → ReanimatedModule.windows.d.ts} +0 -0
  87. package/lib/types/{lib/ReanimatedModuleCompat.d.ts → ReanimatedModuleCompat.d.ts} +0 -0
  88. package/lib/types/{lib/createAnimatedComponent.d.ts → createAnimatedComponent.d.ts} +0 -0
  89. package/lib/types/{lib/reanimated2 → reanimated2}/Bezier.d.ts +0 -0
  90. package/lib/types/{lib/reanimated2 → reanimated2}/Colors.d.ts +0 -0
  91. package/lib/types/{lib/reanimated2 → reanimated2}/Easing.d.ts +0 -0
  92. package/lib/types/{lib/reanimated2 → reanimated2}/NativeMethods.d.ts +2 -1
  93. package/lib/types/{lib/reanimated2 → reanimated2}/NativeReanimated/NativeReanimated.d.ts +0 -0
  94. package/lib/types/{lib/reanimated2 → reanimated2}/NativeReanimated/index.d.ts +0 -0
  95. package/lib/types/{lib/reanimated2 → reanimated2}/PlatformChecker.d.ts +0 -0
  96. package/lib/types/{lib/reanimated2 → reanimated2}/PropAdapters.d.ts +0 -0
  97. package/lib/types/{lib/reanimated2 → reanimated2}/UpdateProps.d.ts +0 -0
  98. package/lib/types/{lib/reanimated2 → reanimated2}/ViewDescriptorsSet.d.ts +0 -0
  99. package/lib/types/{lib/reanimated2 → reanimated2}/WorkletEventHandler.d.ts +0 -0
  100. package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/MutableValue.d.ts +0 -0
  101. package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/NativeReanimated.d.ts +0 -0
  102. package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/NativeReanimated.native.d.ts +0 -0
  103. package/lib/types/{lib/reanimated2 → reanimated2}/animation/commonTypes.d.ts +0 -0
  104. package/lib/types/{lib/reanimated2 → reanimated2}/animation/decay.d.ts +0 -0
  105. package/lib/types/{lib/reanimated2 → reanimated2}/animation/delay.d.ts +0 -0
  106. package/lib/types/{lib/reanimated2 → reanimated2}/animation/index.d.ts +0 -0
  107. package/lib/types/{lib/reanimated2 → reanimated2}/animation/repeat.d.ts +0 -0
  108. package/lib/types/{lib/reanimated2 → reanimated2}/animation/sequence.d.ts +0 -0
  109. package/lib/types/{lib/reanimated2 → reanimated2}/animation/spring.d.ts +0 -0
  110. package/lib/types/{lib/reanimated2 → reanimated2}/animation/styleAnimation.d.ts +0 -0
  111. package/lib/types/{lib/reanimated2 → reanimated2}/animation/timing.d.ts +0 -0
  112. package/lib/types/{lib/reanimated2 → reanimated2}/animation/util.d.ts +0 -0
  113. package/lib/types/{lib/reanimated2 → reanimated2}/commonTypes.d.ts +2 -2
  114. package/lib/types/{lib/reanimated2 → reanimated2}/component/FlatList.d.ts +0 -0
  115. package/lib/types/{lib/reanimated2 → reanimated2}/component/WrappedComponents.d.ts +0 -0
  116. package/lib/types/{lib/reanimated2 → reanimated2}/component/index.d.ts +0 -0
  117. package/lib/types/{lib/reanimated2 → reanimated2}/core.d.ts +0 -0
  118. package/lib/types/reanimated2/fabricUtils.d.ts +4 -0
  119. package/lib/types/{lib/reanimated2 → reanimated2}/hook/Hooks.d.ts +0 -0
  120. package/lib/types/{lib/reanimated2 → reanimated2}/hook/commonTypes.d.ts +2 -1
  121. package/lib/types/{lib/reanimated2 → reanimated2}/hook/index.d.ts +1 -1
  122. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedGestureHandler.d.ts +2 -2
  123. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedReaction.d.ts +0 -0
  124. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedRef.d.ts +0 -0
  125. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedScrollHandler.d.ts +2 -2
  126. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedSensor.d.ts +1 -3
  127. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedStyle.d.ts +0 -0
  128. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useDerivedValue.d.ts +0 -0
  129. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useSharedValue.d.ts +0 -0
  130. package/lib/types/{lib/reanimated2 → reanimated2}/hook/utils.d.ts +2 -2
  131. package/lib/types/{lib/reanimated2 → reanimated2}/index.d.ts +0 -0
  132. package/lib/types/{lib/reanimated2 → reanimated2}/interpolateColor.d.ts +5 -0
  133. package/lib/types/{lib/reanimated2 → reanimated2}/interpolation.d.ts +1 -4
  134. package/lib/types/{lib/reanimated2 → reanimated2}/jestUtils.d.ts +0 -0
  135. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/JSReanimated.d.ts +0 -0
  136. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/Mapper.d.ts +0 -0
  137. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/MapperRegistry.d.ts +0 -0
  138. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/MutableValue.d.ts +0 -0
  139. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/commonTypes.d.ts +0 -0
  140. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/index.d.ts +0 -0
  141. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/LayoutAnimationRepository.d.ts +0 -0
  142. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/BaseAnimationBuilder.d.ts +0 -0
  143. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/ComplexAnimationBuilder.d.ts +0 -0
  144. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/Keyframe.d.ts +0 -0
  145. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/commonTypes.d.ts +0 -0
  146. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/index.d.ts +0 -0
  147. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Bounce.d.ts +0 -0
  148. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Default.d.ts +0 -0
  149. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Fade.d.ts +0 -0
  150. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Flip.d.ts +0 -0
  151. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Lightspeed.d.ts +0 -0
  152. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Pinwheel.d.ts +0 -0
  153. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Roll.d.ts +0 -0
  154. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Rotate.d.ts +0 -0
  155. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Slide.d.ts +0 -0
  156. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Stretch.d.ts +0 -0
  157. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Zoom.d.ts +0 -0
  158. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/index.d.ts +0 -0
  159. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/CurvedTransition.d.ts +0 -0
  160. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/EntryExitTransition.d.ts +0 -0
  161. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/FadingTransition.d.ts +0 -0
  162. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/JumpingTransition.d.ts +0 -0
  163. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/LinearTransition.d.ts +0 -0
  164. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/SequencedTransition.d.ts +0 -0
  165. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/index.d.ts +0 -0
  166. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/index.d.ts +0 -0
  167. package/lib/types/{lib/reanimated2 → reanimated2}/mock.d.ts +0 -0
  168. package/lib/types/{lib/reanimated2 → reanimated2}/platform-specific/RNRenderer.d.ts +0 -0
  169. package/lib/types/{lib/reanimated2 → reanimated2}/platform-specific/RNRenderer.web.d.ts +0 -0
  170. package/lib/types/{lib/reanimated2 → reanimated2}/utils.d.ts +0 -0
  171. package/lib/types/{lib/setAndForwardRef.d.ts → setAndForwardRef.d.ts} +0 -0
  172. package/package.json +10 -10
  173. package/plugin.js +29 -33
  174. package/react-native-reanimated.d.ts +15 -3
  175. package/src/Animated.js +0 -13
  176. package/src/ConfigHelper.ts +0 -1
  177. package/src/createAnimatedComponent.tsx +37 -197
  178. package/src/reanimated2/Easing.ts +8 -55
  179. package/src/reanimated2/NativeMethods.ts +39 -7
  180. package/src/reanimated2/UpdateProps.ts +38 -19
  181. package/src/reanimated2/commonTypes.ts +4 -2
  182. package/src/reanimated2/component/FlatList.tsx +8 -5
  183. package/src/reanimated2/core.ts +7 -48
  184. package/src/reanimated2/fabricUtils.ts +27 -0
  185. package/src/reanimated2/globals.d.ts +18 -3
  186. package/src/reanimated2/hook/commonTypes.ts +4 -2
  187. package/src/reanimated2/hook/index.ts +1 -1
  188. package/src/reanimated2/hook/useAnimatedGestureHandler.ts +2 -2
  189. package/src/reanimated2/hook/useAnimatedRef.ts +8 -3
  190. package/src/reanimated2/hook/useAnimatedScrollHandler.ts +2 -2
  191. package/src/reanimated2/hook/useAnimatedSensor.ts +1 -3
  192. package/src/reanimated2/hook/utils.ts +2 -11
  193. package/src/reanimated2/interpolateColor.ts +6 -2
  194. package/src/reanimated2/interpolation.ts +1 -26
  195. package/src/reanimated2/js-reanimated/index.ts +5 -0
  196. package/android/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock +0 -0
  197. package/android/.gradle/7.2/dependencies-accessors/gc.properties +0 -0
  198. package/android/.gradle/7.2/executionHistory/executionHistory.bin +0 -0
  199. package/android/.gradle/7.2/executionHistory/executionHistory.lock +0 -0
  200. package/android/.gradle/7.2/fileChanges/last-build.bin +0 -0
  201. package/android/.gradle/7.2/fileHashes/fileHashes.bin +0 -0
  202. package/android/.gradle/7.2/fileHashes/fileHashes.lock +0 -0
  203. package/android/.gradle/7.2/fileHashes/resourceHashesCache.bin +0 -0
  204. package/android/.gradle/7.2/gc.properties +0 -0
  205. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  206. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  207. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  208. package/android/.gradle/checksums/checksums.lock +0 -0
  209. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  210. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  211. package/android/.gradle/vcs-1/gc.properties +0 -0
  212. package/android/react-native-reanimated-64-hermes.aar +0 -0
  213. package/android/react-native-reanimated-64-jsc.aar +0 -0
  214. package/android/react-native-reanimated-65-hermes.aar +0 -0
  215. package/android/react-native-reanimated-65-jsc.aar +0 -0
  216. package/android/react-native-reanimated-66-hermes.aar +0 -0
  217. package/android/react-native-reanimated-66-jsc.aar +0 -0
  218. package/android/react-native-reanimated-67-hermes.aar +0 -0
  219. package/android/react-native-reanimated-67-jsc.aar +0 -0
  220. package/android/react-native-reanimated-68-hermes.aar +0 -0
  221. package/android/react-native-reanimated-68-jsc.aar +0 -0
  222. package/android/src/main/java/com/swmansion/reanimated/UpdateContext.java +0 -11
  223. package/android/src/main/java/com/swmansion/reanimated/nodes/AlwaysNode.java +0 -29
  224. package/android/src/main/java/com/swmansion/reanimated/nodes/BezierNode.java +0 -87
  225. package/android/src/main/java/com/swmansion/reanimated/nodes/BlockNode.java +0 -24
  226. package/android/src/main/java/com/swmansion/reanimated/nodes/CallFuncNode.java +0 -49
  227. package/android/src/main/java/com/swmansion/reanimated/nodes/ClockNode.java +0 -38
  228. package/android/src/main/java/com/swmansion/reanimated/nodes/ClockOpNode.java +0 -73
  229. package/android/src/main/java/com/swmansion/reanimated/nodes/ConcatNode.java +0 -36
  230. package/android/src/main/java/com/swmansion/reanimated/nodes/CondNode.java +0 -41
  231. package/android/src/main/java/com/swmansion/reanimated/nodes/DebugNode.java +0 -33
  232. package/android/src/main/java/com/swmansion/reanimated/nodes/EventNode.java +0 -83
  233. package/android/src/main/java/com/swmansion/reanimated/nodes/FinalNode.java +0 -5
  234. package/android/src/main/java/com/swmansion/reanimated/nodes/FunctionNode.java +0 -20
  235. package/android/src/main/java/com/swmansion/reanimated/nodes/JSCallNode.java +0 -41
  236. package/android/src/main/java/com/swmansion/reanimated/nodes/Node.java +0 -139
  237. package/android/src/main/java/com/swmansion/reanimated/nodes/NoopNode.java +0 -37
  238. package/android/src/main/java/com/swmansion/reanimated/nodes/OperatorNode.java +0 -377
  239. package/android/src/main/java/com/swmansion/reanimated/nodes/ParamNode.java +0 -71
  240. package/android/src/main/java/com/swmansion/reanimated/nodes/PropsNode.java +0 -153
  241. package/android/src/main/java/com/swmansion/reanimated/nodes/SetNode.java +0 -32
  242. package/android/src/main/java/com/swmansion/reanimated/nodes/StyleNode.java +0 -40
  243. package/android/src/main/java/com/swmansion/reanimated/nodes/TransformNode.java +0 -84
  244. package/android/src/main/java/com/swmansion/reanimated/nodes/ValueNode.java +0 -40
  245. package/android/src/main/java/com/swmansion/reanimated/transitions/ChangeTransition.java +0 -84
  246. package/android/src/main/java/com/swmansion/reanimated/transitions/SaneSidePropagation.java +0 -25
  247. package/android/src/main/java/com/swmansion/reanimated/transitions/Scale.java +0 -86
  248. package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionModule.java +0 -41
  249. package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionUtils.java +0 -161
  250. package/ios/Nodes/REAAlwaysNode.h +0 -4
  251. package/ios/Nodes/REAAlwaysNode.m +0 -35
  252. package/ios/Nodes/REABezierNode.h +0 -5
  253. package/ios/Nodes/REABezierNode.m +0 -104
  254. package/ios/Nodes/REABlockNode.h +0 -5
  255. package/ios/Nodes/REABlockNode.m +0 -25
  256. package/ios/Nodes/REACallFuncNode.h +0 -6
  257. package/ios/Nodes/REACallFuncNode.m +0 -69
  258. package/ios/Nodes/REAClockNodes.h +0 -19
  259. package/ios/Nodes/REAClockNodes.m +0 -118
  260. package/ios/Nodes/REAConcatNode.h +0 -5
  261. package/ios/Nodes/REAConcatNode.m +0 -32
  262. package/ios/Nodes/REACondNode.h +0 -5
  263. package/ios/Nodes/REACondNode.m +0 -36
  264. package/ios/Nodes/READebugNode.h +0 -5
  265. package/ios/Nodes/READebugNode.m +0 -30
  266. package/ios/Nodes/REAEventNode.h +0 -9
  267. package/ios/Nodes/REAEventNode.m +0 -35
  268. package/ios/Nodes/REAFunctionNode.h +0 -6
  269. package/ios/Nodes/REAFunctionNode.m +0 -24
  270. package/ios/Nodes/REAJSCallNode.h +0 -5
  271. package/ios/Nodes/REAJSCallNode.m +0 -30
  272. package/ios/Nodes/REANode.h +0 -40
  273. package/ios/Nodes/REANode.m +0 -155
  274. package/ios/Nodes/REAOperatorNode.h +0 -5
  275. package/ios/Nodes/REAOperatorNode.m +0 -115
  276. package/ios/Nodes/REAParamNode.h +0 -10
  277. package/ios/Nodes/REAParamNode.m +0 -79
  278. package/ios/Nodes/REAPropsNode.h +0 -9
  279. package/ios/Nodes/REAPropsNode.m +0 -98
  280. package/ios/Nodes/REASetNode.h +0 -5
  281. package/ios/Nodes/REASetNode.m +0 -34
  282. package/ios/Nodes/REAStyleNode.h +0 -5
  283. package/ios/Nodes/REAStyleNode.m +0 -28
  284. package/ios/Nodes/REATransformNode.h +0 -5
  285. package/ios/Nodes/REATransformNode.m +0 -36
  286. package/ios/Nodes/REAValueNode.h +0 -11
  287. package/ios/Nodes/REAValueNode.m +0 -26
  288. package/ios/REAModule.m +0 -185
  289. package/ios/Transitioning/RCTConvert+REATransition.h +0 -12
  290. package/ios/Transitioning/RCTConvert+REATransition.m +0 -53
  291. package/ios/Transitioning/REAAllTransitions.h +0 -26
  292. package/ios/Transitioning/REAAllTransitions.m +0 -297
  293. package/ios/Transitioning/REATransition.h +0 -65
  294. package/ios/Transitioning/REATransition.m +0 -211
  295. package/ios/Transitioning/REATransitionAnimation.h +0 -17
  296. package/ios/Transitioning/REATransitionAnimation.m +0 -80
  297. package/ios/Transitioning/REATransitionManager.h +0 -9
  298. package/ios/Transitioning/REATransitionManager.m +0 -62
  299. package/ios/Transitioning/REATransitionValues.h +0 -15
  300. package/ios/Transitioning/REATransitionValues.m +0 -26
  301. package/lib/reanimated1/Easing.js +0 -231
  302. package/lib/reanimated1/SpringConfig.js +0 -79
  303. package/lib/reanimated1/Transitioning.js +0 -158
  304. package/lib/reanimated1/animations/Animation.js +0 -32
  305. package/lib/reanimated1/animations/SpringUtils.js +0 -199
  306. package/lib/reanimated1/animations/backwardCompatibleAnimWrapper.js +0 -117
  307. package/lib/reanimated1/animations/decay.js +0 -54
  308. package/lib/reanimated1/animations/spring.js +0 -198
  309. package/lib/reanimated1/animations/timing.js +0 -74
  310. package/lib/reanimated1/base.js +0 -13
  311. package/lib/reanimated1/core/AnimatedAlways.js +0 -33
  312. package/lib/reanimated1/core/AnimatedBezier.js +0 -150
  313. package/lib/reanimated1/core/AnimatedBlock.js +0 -52
  314. package/lib/reanimated1/core/AnimatedCall.js +0 -55
  315. package/lib/reanimated1/core/AnimatedCallFunc.js +0 -72
  316. package/lib/reanimated1/core/AnimatedClock.js +0 -90
  317. package/lib/reanimated1/core/AnimatedClockTest.js +0 -22
  318. package/lib/reanimated1/core/AnimatedCode.js +0 -32
  319. package/lib/reanimated1/core/AnimatedConcat.js +0 -32
  320. package/lib/reanimated1/core/AnimatedCond.js +0 -57
  321. package/lib/reanimated1/core/AnimatedDebug.js +0 -62
  322. package/lib/reanimated1/core/AnimatedEvent.js +0 -126
  323. package/lib/reanimated1/core/AnimatedFunction.js +0 -55
  324. package/lib/reanimated1/core/AnimatedNode.js +0 -223
  325. package/lib/reanimated1/core/AnimatedOperator.js +0 -103
  326. package/lib/reanimated1/core/AnimatedParam.js +0 -88
  327. package/lib/reanimated1/core/AnimatedProps.js +0 -108
  328. package/lib/reanimated1/core/AnimatedSet.js +0 -38
  329. package/lib/reanimated1/core/AnimatedStartClock.js +0 -30
  330. package/lib/reanimated1/core/AnimatedStopClock.js +0 -30
  331. package/lib/reanimated1/core/AnimatedStyle.js +0 -78
  332. package/lib/reanimated1/core/AnimatedTransform.js +0 -78
  333. package/lib/reanimated1/core/AnimatedValue.js +0 -38
  334. package/lib/reanimated1/core/Core.test.js +0 -30
  335. package/lib/reanimated1/core/InternalAnimatedValue.js +0 -87
  336. package/lib/reanimated1/core/__mocks__/AnimatedProps.js +0 -86
  337. package/lib/reanimated1/core/createEventObjectProxyPolyfill.js +0 -44
  338. package/lib/reanimated1/derived/__mocks__/evaluateOnce.js +0 -14
  339. package/lib/reanimated1/derived/acc.js +0 -11
  340. package/lib/reanimated1/derived/color.js +0 -47
  341. package/lib/reanimated1/derived/diff.js +0 -16
  342. package/lib/reanimated1/derived/diffClamp.js +0 -11
  343. package/lib/reanimated1/derived/evaluateOnce.js +0 -35
  344. package/lib/reanimated1/derived/index.js +0 -8
  345. package/lib/reanimated1/derived/interpolate.js +0 -152
  346. package/lib/reanimated1/derived/interpolateColors.js +0 -62
  347. package/lib/reanimated1/derived/onChange.js +0 -14
  348. package/lib/reanimated1/derived/useCode.js +0 -41
  349. package/lib/reanimated1/index.js +0 -53
  350. package/lib/reanimated1/operators.js +0 -35
  351. package/lib/reanimated1/useValue.js +0 -10
  352. package/lib/reanimated1/val.js +0 -3
  353. package/lib/types/react-native-reanimated-tests.d.ts +0 -1
  354. package/src/reanimated1/Easing.js +0 -231
  355. package/src/reanimated1/SpringConfig.js +0 -79
  356. package/src/reanimated1/Transitioning.js +0 -158
  357. package/src/reanimated1/animations/Animation.js +0 -32
  358. package/src/reanimated1/animations/SpringUtils.js +0 -199
  359. package/src/reanimated1/animations/backwardCompatibleAnimWrapper.js +0 -117
  360. package/src/reanimated1/animations/decay.js +0 -54
  361. package/src/reanimated1/animations/spring.js +0 -198
  362. package/src/reanimated1/animations/timing.js +0 -74
  363. package/src/reanimated1/base.js +0 -13
  364. package/src/reanimated1/core/AnimatedAlways.js +0 -33
  365. package/src/reanimated1/core/AnimatedBezier.js +0 -150
  366. package/src/reanimated1/core/AnimatedBlock.js +0 -52
  367. package/src/reanimated1/core/AnimatedCall.js +0 -55
  368. package/src/reanimated1/core/AnimatedCallFunc.js +0 -72
  369. package/src/reanimated1/core/AnimatedClock.js +0 -90
  370. package/src/reanimated1/core/AnimatedClockTest.js +0 -22
  371. package/src/reanimated1/core/AnimatedCode.js +0 -32
  372. package/src/reanimated1/core/AnimatedConcat.js +0 -32
  373. package/src/reanimated1/core/AnimatedCond.js +0 -57
  374. package/src/reanimated1/core/AnimatedDebug.js +0 -62
  375. package/src/reanimated1/core/AnimatedEvent.js +0 -126
  376. package/src/reanimated1/core/AnimatedFunction.js +0 -55
  377. package/src/reanimated1/core/AnimatedNode.js +0 -223
  378. package/src/reanimated1/core/AnimatedOperator.js +0 -103
  379. package/src/reanimated1/core/AnimatedParam.js +0 -88
  380. package/src/reanimated1/core/AnimatedProps.js +0 -108
  381. package/src/reanimated1/core/AnimatedSet.js +0 -38
  382. package/src/reanimated1/core/AnimatedStartClock.js +0 -30
  383. package/src/reanimated1/core/AnimatedStopClock.js +0 -30
  384. package/src/reanimated1/core/AnimatedStyle.js +0 -78
  385. package/src/reanimated1/core/AnimatedTransform.js +0 -78
  386. package/src/reanimated1/core/AnimatedValue.js +0 -38
  387. package/src/reanimated1/core/Core.test.js +0 -30
  388. package/src/reanimated1/core/InternalAnimatedValue.js +0 -87
  389. package/src/reanimated1/core/__mocks__/AnimatedProps.js +0 -86
  390. package/src/reanimated1/core/createEventObjectProxyPolyfill.js +0 -44
  391. package/src/reanimated1/derived/__mocks__/evaluateOnce.js +0 -14
  392. package/src/reanimated1/derived/acc.js +0 -11
  393. package/src/reanimated1/derived/color.js +0 -47
  394. package/src/reanimated1/derived/diff.js +0 -16
  395. package/src/reanimated1/derived/diffClamp.js +0 -11
  396. package/src/reanimated1/derived/evaluateOnce.js +0 -35
  397. package/src/reanimated1/derived/index.js +0 -8
  398. package/src/reanimated1/derived/interpolate.js +0 -152
  399. package/src/reanimated1/derived/interpolateColors.js +0 -62
  400. package/src/reanimated1/derived/onChange.js +0 -14
  401. package/src/reanimated1/derived/useCode.js +0 -41
  402. package/src/reanimated1/index.js +0 -53
  403. package/src/reanimated1/operators.js +0 -35
  404. package/src/reanimated1/useValue.js +0 -10
  405. package/src/reanimated1/val.js +0 -3
@@ -1,32 +0,0 @@
1
- import AnimatedValue from '../core/InternalAnimatedValue';
2
-
3
- class Animation {
4
- static springDefaultState() {
5
- return {
6
- position: new AnimatedValue(0),
7
- finished: new AnimatedValue(0),
8
- velocity: new AnimatedValue(0),
9
- time: new AnimatedValue(0),
10
- };
11
- }
12
-
13
- static decayDefaultState() {
14
- return {
15
- position: new AnimatedValue(0),
16
- finished: new AnimatedValue(0),
17
- velocity: new AnimatedValue(0),
18
- time: new AnimatedValue(0),
19
- };
20
- }
21
-
22
- static timingDefaultState() {
23
- return {
24
- position: new AnimatedValue(0),
25
- finished: new AnimatedValue(0),
26
- time: new AnimatedValue(0),
27
- frameTime: new AnimatedValue(0),
28
- };
29
- }
30
- }
31
-
32
- export default Animation;
@@ -1,199 +0,0 @@
1
- import {
2
- cond,
3
- sub,
4
- divide,
5
- multiply,
6
- add,
7
- pow,
8
- lessOrEq,
9
- and,
10
- greaterThan,
11
- } from './../base';
12
- import AnimatedValue from './../core/InternalAnimatedValue';
13
-
14
- function stiffnessFromOrigamiValue(oValue) {
15
- return (oValue - 30) * 3.62 + 194;
16
- }
17
-
18
- function dampingFromOrigamiValue(oValue) {
19
- return (oValue - 8) * 3 + 25;
20
- }
21
-
22
- function stiffnessFromOrigamiNode(oValue) {
23
- return add(multiply(sub(oValue, 30), 3.62), 194);
24
- }
25
-
26
- function dampingFromOrigamiNode(oValue) {
27
- return add(multiply(sub(oValue, 8), 3), 25);
28
- }
29
-
30
- function makeConfigFromOrigamiTensionAndFriction(prevConfig) {
31
- const { tension, friction, ...rest } = prevConfig;
32
- return {
33
- ...rest,
34
- stiffness:
35
- typeof tension === 'number'
36
- ? stiffnessFromOrigamiValue(tension)
37
- : stiffnessFromOrigamiNode(tension),
38
- damping:
39
- typeof friction === 'number'
40
- ? dampingFromOrigamiValue(friction)
41
- : dampingFromOrigamiNode(friction),
42
- };
43
- }
44
-
45
- function makeConfigFromBouncinessAndSpeed(prevConfig) {
46
- const { bounciness, speed, ...rest } = prevConfig;
47
- if (typeof bounciness === 'number' && typeof speed === 'number') {
48
- return fromBouncinessAndSpeedNumbers(bounciness, speed, rest);
49
- }
50
- return fromBouncinessAndSpeedNodes(bounciness, speed, rest);
51
- }
52
-
53
- function fromBouncinessAndSpeedNodes(bounciness, speed, rest) {
54
- function normalize(value, startValue, endValue) {
55
- return divide(sub(value, startValue), sub(endValue, startValue));
56
- }
57
-
58
- function projectNormal(n, start, end) {
59
- return add(start, multiply(n, sub(end, start)));
60
- }
61
-
62
- function linearInterpolation(t, start, end) {
63
- return add(multiply(t, end), multiply(sub(1, t), start));
64
- }
65
-
66
- function quadraticOutInterpolation(t, start, end) {
67
- return linearInterpolation(sub(multiply(2, t), multiply(t, t)), start, end);
68
- }
69
-
70
- function b3Friction1(x) {
71
- return add(
72
- sub(multiply(0.0007, pow(x, 3)), multiply(0.031, pow(x, 2))),
73
- multiply(0.64, x),
74
- 1.28
75
- );
76
- }
77
-
78
- function b3Friction2(x) {
79
- return add(
80
- sub(multiply(0.000044, pow(x, 3)), multiply(0.006, pow(x, 2))),
81
- multiply(0.36, x),
82
- 2
83
- );
84
- }
85
-
86
- function b3Friction3(x) {
87
- return add(
88
- sub(multiply(0.00000045, pow(x, 3)), multiply(0.000332, pow(x, 2))),
89
- multiply(0.1078, x),
90
- 5.84
91
- );
92
- }
93
-
94
- function b3Nobounce(tension) {
95
- return cond(
96
- lessOrEq(tension, 18),
97
- b3Friction1(tension),
98
- cond(
99
- and(greaterThan(tension, 18), lessOrEq(tension, 44)),
100
- b3Friction2(tension),
101
- b3Friction3(tension)
102
- )
103
- );
104
- }
105
-
106
- let b = normalize(divide(bounciness, 1.7), 0, 20);
107
- b = projectNormal(b, 0, 0.8);
108
- const s = normalize(divide(speed, 1.7), 0, 20);
109
- const bouncyTension = projectNormal(s, 0.5, 200);
110
- const bouncyFriction = quadraticOutInterpolation(
111
- b,
112
- b3Nobounce(bouncyTension),
113
- 0.01
114
- );
115
- return {
116
- ...rest,
117
- stiffness: stiffnessFromOrigamiNode(bouncyTension),
118
- damping: dampingFromOrigamiNode(bouncyFriction),
119
- };
120
- }
121
-
122
- function fromBouncinessAndSpeedNumbers(bounciness, speed, rest) {
123
- function normalize(value, startValue, endValue) {
124
- return (value - startValue) / (endValue - startValue);
125
- }
126
-
127
- function projectNormal(n, start, end) {
128
- return start + n * (end - start);
129
- }
130
-
131
- function linearInterpolation(t, start, end) {
132
- return t * end + (1 - t) * start;
133
- }
134
-
135
- function quadraticOutInterpolation(t, start, end) {
136
- return linearInterpolation(2 * t - t * t, start, end);
137
- }
138
-
139
- function b3Friction1(x) {
140
- return 0.0007 * Math.pow(x, 3) - 0.031 * Math.pow(x, 2) + 0.64 * x + 1.28;
141
- }
142
-
143
- function b3Friction2(x) {
144
- return 0.000044 * Math.pow(x, 3) - 0.006 * Math.pow(x, 2) + 0.36 * x + 2;
145
- }
146
-
147
- function b3Friction3(x) {
148
- return (
149
- 0.00000045 * Math.pow(x, 3) -
150
- 0.000332 * Math.pow(x, 2) +
151
- 0.1078 * x +
152
- 5.84
153
- );
154
- }
155
-
156
- function b3Nobounce(tension) {
157
- if (tension <= 18) {
158
- return b3Friction1(tension);
159
- } else if (tension > 18 && tension <= 44) {
160
- return b3Friction2(tension);
161
- } else {
162
- return b3Friction3(tension);
163
- }
164
- }
165
-
166
- let b = normalize(bounciness / 1.7, 0, 20);
167
- b = projectNormal(b, 0, 0.8);
168
- const s = normalize(speed / 1.7, 0, 20);
169
- const bouncyTension = projectNormal(s, 0.5, 200);
170
- const bouncyFriction = quadraticOutInterpolation(
171
- b,
172
- b3Nobounce(bouncyTension),
173
- 0.01
174
- );
175
-
176
- return {
177
- ...rest,
178
- stiffness: stiffnessFromOrigamiValue(bouncyTension),
179
- damping: dampingFromOrigamiValue(bouncyFriction),
180
- };
181
- }
182
-
183
- function makeDefaultConfig() {
184
- return {
185
- stiffness: new AnimatedValue(100),
186
- mass: new AnimatedValue(1),
187
- damping: new AnimatedValue(10),
188
- overshootClamping: false,
189
- restSpeedThreshold: 0.001,
190
- restDisplacementThreshold: 0.001,
191
- toValue: new AnimatedValue(0),
192
- };
193
- }
194
-
195
- export default {
196
- makeDefaultConfig,
197
- makeConfigFromBouncinessAndSpeed,
198
- makeConfigFromOrigamiTensionAndFriction,
199
- };
@@ -1,117 +0,0 @@
1
- import {
2
- always,
3
- block,
4
- call,
5
- clockRunning,
6
- cond,
7
- set,
8
- startClock,
9
- stopClock,
10
- } from '../base';
11
- import Clock from '../core/AnimatedClock';
12
- import { evaluateOnce } from '../derived/evaluateOnce';
13
-
14
- function createOldAnimationObject(node, animationStateDefaults, value, config) {
15
- const newClock = new Clock();
16
- const currentState = animationStateDefaults();
17
- let alwaysNode;
18
- let isStarted = false;
19
- let isDone = false;
20
- let wasStopped = false;
21
- let animationCallback;
22
- const animation = {
23
- start: (currentAnimationCallback) => {
24
- animationCallback = currentAnimationCallback;
25
- if (isStarted) {
26
- animationCallback && animationCallback({ finished: false });
27
- return;
28
- }
29
- if (isDone) {
30
- console.warn('Animation has been finished before');
31
- // inconsistent with React Native
32
- return;
33
- }
34
-
35
- if (!value.isNativelyInitialized()) {
36
- return;
37
- }
38
-
39
- isStarted = true;
40
- evaluateOnce(
41
- set(currentState.position, value),
42
- currentState.position,
43
- () => {
44
- alwaysNode = always(
45
- set(
46
- value,
47
- block([
48
- cond(clockRunning(newClock), 0, startClock(newClock)),
49
- node(newClock, currentState, config),
50
- cond(currentState.finished, [
51
- call([], () => {
52
- isStarted = false;
53
- if (!wasStopped) {
54
- isDone = true;
55
- }
56
- value.__detachAnimation(animation);
57
- isDone = true;
58
- if (!wasStopped) {
59
- wasStopped = false;
60
- }
61
- }),
62
- stopClock(newClock),
63
- ]),
64
- currentState.position,
65
- ])
66
- )
67
- );
68
- value.__attachAnimation(animation);
69
- alwaysNode.__addChild(value);
70
- }
71
- );
72
- },
73
- __detach: () => {
74
- animationCallback && animationCallback({ finished: isDone });
75
- animationCallback = null;
76
- value.__initialized && alwaysNode.__removeChild(value);
77
- },
78
- stop: () => {
79
- if (isDone) {
80
- console.warn(
81
- 'Calling stop has no effect as the animation has already completed'
82
- );
83
- return;
84
- }
85
- if (!isStarted) {
86
- console.warn(
87
- "Calling stop has no effect as the animation hasn't been started"
88
- );
89
- return;
90
- }
91
- wasStopped = true;
92
- evaluateOnce(set(currentState.finished, 1), currentState.finished);
93
- },
94
- __stopImmediately_testOnly: (result) => {
95
- animation.stop();
96
- isDone = result;
97
- value.__detachAnimation(animation);
98
- },
99
- };
100
- return animation;
101
- }
102
-
103
- /**
104
- * Depending on the arguments list we either return animation node or return an
105
- * animation object that is compatible with the original Animated API
106
- */
107
- export default function backwardsCompatibleAnimWrapper(
108
- node,
109
- animationStateDefaults
110
- ) {
111
- return (clock, state, config) => {
112
- if (config !== undefined) {
113
- return node(clock, state, config);
114
- }
115
- return createOldAnimationObject(node, animationStateDefaults, clock, state);
116
- };
117
- }
@@ -1,54 +0,0 @@
1
- import {
2
- cond,
3
- sub,
4
- pow,
5
- divide,
6
- multiply,
7
- add,
8
- block,
9
- set,
10
- lessThan,
11
- proc,
12
- abs,
13
- } from '../base';
14
-
15
- const VELOCITY_EPS = 5;
16
-
17
- function decay(clock, state, config) {
18
- const lastTime = cond(state.time, state.time, clock);
19
- const deltaTime = sub(clock, lastTime);
20
-
21
- // v0 = v / 1000
22
- // v = v0 * powf(deceleration, dt);
23
- // v = v * 1000;
24
-
25
- // x0 = x;
26
- // x = x0 + v0 * deceleration * (1 - powf(deceleration, dt)) / (1 - deceleration)
27
- const kv = pow(config.deceleration, deltaTime);
28
- const kx = divide(
29
- multiply(config.deceleration, sub(1, kv)),
30
- sub(1, config.deceleration)
31
- );
32
- const v0 = divide(state.velocity, 1000);
33
- const v = multiply(v0, kv, 1000);
34
- const x = add(state.position, multiply(v0, kx));
35
- return block([
36
- set(state.position, x),
37
- set(state.velocity, v),
38
- set(state.time, clock),
39
- cond(lessThan(abs(v), VELOCITY_EPS), set(state.finished, 1)),
40
- ]);
41
- }
42
-
43
- const procDecay = proc(
44
- (clock, time, velocity, position, finished, deceleration) =>
45
- decay(clock, { time, velocity, position, finished }, { deceleration })
46
- );
47
-
48
- export default function decayAnimation(
49
- clock,
50
- { time, velocity, position, finished },
51
- { deceleration }
52
- ) {
53
- return procDecay(clock, time, velocity, position, finished, deceleration);
54
- }
@@ -1,198 +0,0 @@
1
- import {
2
- cond,
3
- sub,
4
- divide,
5
- multiply,
6
- sqrt,
7
- add,
8
- block,
9
- set,
10
- exp,
11
- sin,
12
- cos,
13
- eq,
14
- or,
15
- neq,
16
- and,
17
- lessThan,
18
- greaterThan,
19
- proc,
20
- min,
21
- abs,
22
- } from '../base';
23
- import AnimatedValue from '../core/InternalAnimatedValue';
24
-
25
- const MAX_STEPS_MS = 64;
26
-
27
- function spring(clock, state, config) {
28
- const lastTime = cond(state.time, state.time, clock);
29
-
30
- const deltaTime = min(sub(clock, lastTime), MAX_STEPS_MS);
31
-
32
- const c = config.damping;
33
- const m = config.mass;
34
- const k = config.stiffness;
35
-
36
- const v0 = multiply(-1, state.velocity);
37
- const x0 = sub(config.toValue, state.position);
38
-
39
- const zeta = divide(c, multiply(2, sqrt(multiply(k, m)))); // damping ratio
40
- const omega0 = sqrt(divide(k, m)); // undamped angular frequency of the oscillator (rad/ms)
41
- const omega1 = multiply(omega0, sqrt(sub(1, multiply(zeta, zeta)))); // exponential decay
42
-
43
- const t = divide(deltaTime, 1000); // in seconds
44
-
45
- const sin1 = sin(multiply(omega1, t));
46
- const cos1 = cos(multiply(omega1, t));
47
-
48
- // under damped
49
- const underDampedEnvelope = exp(multiply(-1, zeta, omega0, t));
50
- const underDampedFrag1 = multiply(
51
- underDampedEnvelope,
52
- add(
53
- multiply(sin1, divide(add(v0, multiply(zeta, omega0, x0)), omega1)),
54
- multiply(x0, cos1)
55
- )
56
- );
57
- const underDampedPosition = sub(config.toValue, underDampedFrag1);
58
- // This looks crazy -- it's actually just the derivative of the oscillation function
59
- const underDampedVelocity = sub(
60
- multiply(zeta, omega0, underDampedFrag1),
61
- multiply(
62
- underDampedEnvelope,
63
- sub(
64
- multiply(cos1, add(v0, multiply(zeta, omega0, x0))),
65
- multiply(omega1, x0, sin1)
66
- )
67
- )
68
- );
69
-
70
- // critically damped
71
- const criticallyDampedEnvelope = exp(multiply(-1, omega0, t));
72
- const criticallyDampedPosition = sub(
73
- config.toValue,
74
- multiply(
75
- criticallyDampedEnvelope,
76
- add(x0, multiply(add(v0, multiply(omega0, x0)), t))
77
- )
78
- );
79
- const criticallyDampedVelocity = multiply(
80
- criticallyDampedEnvelope,
81
- add(
82
- multiply(v0, sub(multiply(t, omega0), 1)),
83
- multiply(t, x0, omega0, omega0)
84
- )
85
- );
86
-
87
- // conditions for stopping the spring animations
88
- const prevPosition = state.prevPosition
89
- ? state.prevPosition
90
- : new AnimatedValue(0);
91
-
92
- const isOvershooting = cond(
93
- and(config.overshootClamping, neq(config.stiffness, 0)),
94
- cond(
95
- lessThan(prevPosition, config.toValue),
96
- greaterThan(state.position, config.toValue),
97
- lessThan(state.position, config.toValue)
98
- )
99
- );
100
- const isVelocity = lessThan(abs(state.velocity), config.restSpeedThreshold);
101
- const isDisplacement = or(
102
- eq(config.stiffness, 0),
103
- lessThan(
104
- abs(sub(config.toValue, state.position)),
105
- config.restDisplacementThreshold
106
- )
107
- );
108
-
109
- return block([
110
- set(prevPosition, state.position),
111
- cond(
112
- lessThan(zeta, 1),
113
- [
114
- set(state.position, underDampedPosition),
115
- set(state.velocity, underDampedVelocity),
116
- ],
117
- [
118
- set(state.position, criticallyDampedPosition),
119
- set(state.velocity, criticallyDampedVelocity),
120
- ]
121
- ),
122
- set(state.time, clock),
123
- cond(or(isOvershooting, and(isVelocity, isDisplacement)), [
124
- cond(neq(config.stiffness, 0), [
125
- set(state.velocity, 0),
126
- set(state.position, config.toValue),
127
- ]),
128
- set(state.finished, 1),
129
- ]),
130
- ]);
131
- }
132
-
133
- const procSpring = proc(
134
- (
135
- finished,
136
- velocity,
137
- position,
138
- time,
139
- prevPosition,
140
- toValue,
141
- damping,
142
- mass,
143
- stiffness,
144
- overshootClamping,
145
- restSpeedThreshold,
146
- restDisplacementThreshold,
147
- clock
148
- ) =>
149
- spring(
150
- clock,
151
- {
152
- finished,
153
- velocity,
154
- position,
155
- time,
156
- prevPosition,
157
- },
158
- {
159
- toValue,
160
- damping,
161
- mass,
162
- stiffness,
163
- overshootClamping,
164
- restDisplacementThreshold,
165
- restSpeedThreshold,
166
- }
167
- )
168
- );
169
-
170
- export default function springAnimation(
171
- clock,
172
- { finished, velocity, position, time, prevPosition },
173
- {
174
- toValue,
175
- damping,
176
- mass,
177
- stiffness,
178
- overshootClamping,
179
- restDisplacementThreshold,
180
- restSpeedThreshold,
181
- }
182
- ) {
183
- return procSpring(
184
- finished,
185
- velocity,
186
- position,
187
- time,
188
- prevPosition,
189
- toValue,
190
- damping,
191
- mass,
192
- stiffness,
193
- overshootClamping,
194
- restSpeedThreshold,
195
- restDisplacementThreshold,
196
- clock
197
- );
198
- }
@@ -1,74 +0,0 @@
1
- import {
2
- cond,
3
- sub,
4
- divide,
5
- multiply,
6
- add,
7
- block,
8
- set,
9
- greaterOrEq,
10
- proc,
11
- } from '../base';
12
-
13
- const internalTiming = proc(function (
14
- clock,
15
- time,
16
- frameTime,
17
- position,
18
- finished,
19
- toValue,
20
- duration,
21
- nextProgress,
22
- progress,
23
- newFrameTime
24
- ) {
25
- const state = {
26
- time,
27
- finished,
28
- frameTime,
29
- position,
30
- };
31
-
32
- const config = {
33
- duration,
34
- toValue,
35
- };
36
-
37
- const distanceLeft = sub(config.toValue, state.position);
38
- const fullDistance = divide(distanceLeft, sub(1, progress));
39
- const startPosition = sub(config.toValue, fullDistance);
40
- const nextPosition = add(startPosition, multiply(fullDistance, nextProgress));
41
-
42
- return block([
43
- cond(
44
- greaterOrEq(newFrameTime, config.duration),
45
- [set(state.position, config.toValue), set(state.finished, 1)],
46
- set(state.position, nextPosition)
47
- ),
48
- set(state.frameTime, newFrameTime),
49
- set(state.time, clock),
50
- ]);
51
- });
52
-
53
- export default function timing(clock, state, config) {
54
- if (config.duration === 0) {
55
- // when duration is zero we end the timing immediately
56
- return block([set(state.position, config.toValue), set(state.finished, 1)]);
57
- }
58
- const lastTime = cond(state.time, state.time, clock);
59
- const newFrameTime = add(state.frameTime, sub(clock, lastTime));
60
- const nextProgress = config.easing(divide(newFrameTime, config.duration));
61
- const progress = config.easing(divide(state.frameTime, config.duration));
62
- return internalTiming(
63
- clock,
64
- state.time,
65
- state.frameTime,
66
- state.position,
67
- state.finished,
68
- config.toValue,
69
- config.duration,
70
- nextProgress,
71
- progress,
72
- newFrameTime
73
- );
74
- }
@@ -1,13 +0,0 @@
1
- export { createAnimatedCond as cond } from './core/AnimatedCond';
2
- export { createAnimatedSet as set } from './core/AnimatedSet';
3
- export { createAnimatedStartClock as startClock } from './core/AnimatedStartClock';
4
- export { createAnimatedStopClock as stopClock } from './core/AnimatedStopClock';
5
- export { createAnimatedClockTest as clockRunning } from './core/AnimatedClockTest';
6
- export { createAnimatedDebug as debug } from './core/AnimatedDebug';
7
- export { createAnimatedCall as call } from './core/AnimatedCall';
8
- export { createAnimatedEvent as event } from './core/AnimatedEvent';
9
- export { createAnimatedAlways as always } from './core/AnimatedAlways';
10
- export { createAnimatedConcat as concat } from './core/AnimatedConcat';
11
- export { createAnimatedBlock as block, adapt } from './core/AnimatedBlock';
12
- export { createAnimatedFunction as proc } from './core/AnimatedFunction';
13
- export * from './operators';