@react-native-ohos/react-native-reanimated 3.18.2-rc.2 → 4.0.0-rc.1

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 (282) hide show
  1. package/compatibility.json +161 -0
  2. package/harmony/reanimated/BuildProfile.ets +16 -16
  3. package/harmony/reanimated/build-profile.json5 +18 -11
  4. package/harmony/reanimated/oh-package.json5 +12 -11
  5. package/harmony/reanimated/src/main/cpp/CMakeLists.txt +31 -40
  6. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.cpp +81 -86
  7. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.h +46 -47
  8. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.cpp +390 -0
  9. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.h +16 -0
  10. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/definitions.h +30 -0
  11. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.cpp +46 -0
  12. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.h +23 -0
  13. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.cpp +53 -0
  14. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.h +21 -0
  15. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.cpp +166 -0
  16. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.h +71 -0
  17. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.cpp +368 -0
  18. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.h +53 -0
  19. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.cpp +594 -0
  20. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.h +67 -0
  21. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.cpp +52 -0
  22. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.h +26 -0
  23. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.cpp +156 -0
  24. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.h +76 -0
  25. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.cpp +93 -0
  26. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.h +33 -0
  27. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.cpp +48 -0
  28. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.h +31 -0
  29. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.cpp +135 -0
  30. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.h +61 -0
  31. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.cpp +100 -0
  32. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.h +44 -0
  33. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.cpp +81 -0
  34. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.h +53 -0
  35. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.cpp +122 -0
  36. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.h +38 -0
  37. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.cpp +82 -0
  38. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.h +63 -0
  39. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValue.h +118 -0
  40. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.cpp +174 -0
  41. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.h +111 -0
  42. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.cpp +196 -0
  43. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.h +66 -0
  44. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.cpp +134 -0
  45. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.h +44 -0
  46. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.cpp +174 -0
  47. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.h +49 -0
  48. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.cpp +45 -0
  49. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.h +26 -0
  50. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.cpp +90 -0
  51. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.h +43 -0
  52. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.cpp +17 -0
  53. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.h +13 -0
  54. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.cpp +127 -0
  55. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.h +51 -0
  56. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.cpp +145 -0
  57. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.h +47 -0
  58. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.cpp +69 -0
  59. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.h +22 -0
  60. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.cpp +66 -0
  61. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.h +15 -0
  62. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.cpp +28 -0
  63. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.h +15 -0
  64. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.cpp +13 -0
  65. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.h +12 -0
  66. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.cpp +157 -0
  67. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.h +189 -0
  68. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.cpp +76 -0
  69. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.h +66 -0
  70. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/configs.h +20 -0
  71. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.cpp +136 -0
  72. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.h +40 -0
  73. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.cpp +38 -0
  74. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.h +24 -0
  75. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.cpp +58 -0
  76. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.h +24 -0
  77. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/blur.h +14 -0
  78. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/brightness.h +14 -0
  79. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/contrast.h +14 -0
  80. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/dropShadow.h +17 -0
  81. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/grayscale.h +14 -0
  82. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/hueRotate.h +14 -0
  83. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/invert.h +14 -0
  84. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/opacity.h +14 -0
  85. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/saturate.h +14 -0
  86. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/sepia.h +14 -0
  87. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.cpp +95 -0
  88. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.h +36 -0
  89. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.cpp +41 -0
  90. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.h +32 -0
  91. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.cpp +99 -0
  92. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.h +37 -0
  93. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.cpp +308 -0
  94. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.h +100 -0
  95. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.cpp +19 -0
  96. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.h +94 -0
  97. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.cpp +18 -0
  98. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.h +43 -0
  99. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/AnimationStyleInterpolator.h +26 -0
  100. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.cpp +103 -0
  101. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.h +42 -0
  102. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.cpp +224 -0
  103. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.h +52 -0
  104. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.cpp +218 -0
  105. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.h +89 -0
  106. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.cpp +149 -0
  107. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.h +33 -0
  108. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.cpp +208 -0
  109. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.h +56 -0
  110. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.cpp +42 -0
  111. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.h +20 -0
  112. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.cpp +41 -0
  113. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.h +39 -0
  114. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.cpp +28 -0
  115. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.h +25 -0
  116. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.cpp +14 -0
  117. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.h +20 -0
  118. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.cpp +39 -0
  119. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.h +25 -0
  120. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.cpp +47 -0
  121. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.h +43 -0
  122. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.cpp +70 -0
  123. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.h +40 -0
  124. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.cpp +146 -0
  125. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.h +71 -0
  126. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.cpp +155 -0
  127. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.h +53 -0
  128. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.cpp +170 -0
  129. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.h +67 -0
  130. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/KeyframeProgressProvider.h +12 -0
  131. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.cpp +41 -0
  132. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.h +31 -0
  133. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.cpp +193 -0
  134. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.h +77 -0
  135. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.cpp +340 -0
  136. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.h +80 -0
  137. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.cpp +45 -0
  138. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.h +29 -0
  139. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.cpp +167 -0
  140. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.h +51 -0
  141. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.cpp +61 -0
  142. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.h +33 -0
  143. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.cpp +80 -0
  144. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.h +39 -0
  145. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.cpp +93 -0
  146. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.h +36 -0
  147. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.cpp +110 -0
  148. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.h +33 -0
  149. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.cpp +75 -0
  150. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.h +45 -0
  151. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.cpp +12 -0
  152. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.h +10 -0
  153. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.cpp +36 -0
  154. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.h +23 -0
  155. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.cpp +149 -0
  156. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.h +32 -0
  157. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.cpp +113 -101
  158. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.h +49 -51
  159. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitShadowNode.h +46 -49
  160. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.cpp +56 -96
  161. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.h +37 -33
  162. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.cpp +104 -95
  163. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.h +22 -29
  164. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.cpp +72 -0
  165. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.h +25 -0
  166. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.cpp +160 -0
  167. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.h +71 -0
  168. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.cpp +161 -0
  169. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.h +65 -0
  170. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationType.h +11 -9
  171. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.cpp +137 -232
  172. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.h +82 -90
  173. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.cpp +79 -0
  174. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.h +81 -0
  175. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.cpp +864 -0
  176. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.h +214 -0
  177. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/{LayoutAnimationsProxy.cpp → LayoutAnimationsProxy_Legacy.cpp} +897 -870
  178. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.h +220 -0
  179. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.cpp +31 -91
  180. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.h +146 -176
  181. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.cpp +456 -0
  182. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.h +102 -0
  183. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/SharedTransitions.cpp +544 -0
  184. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.cpp +119 -0
  185. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.h +39 -0
  186. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.cpp +1376 -971
  187. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.h +228 -252
  188. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.cpp +183 -231
  189. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.h +93 -109
  190. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.cpp +54 -56
  191. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.h +28 -20
  192. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.cpp +58 -70
  193. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.h +31 -35
  194. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.cpp +18 -0
  195. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.h +44 -0
  196. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/PlatformDepMethodsHolder.h +67 -98
  197. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedSystraceSection.h +114 -135
  198. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedVersion.cpp +46 -0
  199. package/harmony/reanimated/src/main/cpp/Common/cpp/{worklets → reanimated}/Tools/ReanimatedVersion.h +18 -19
  200. package/harmony/reanimated/src/main/cpp/ReanimatedModule.cpp +60 -85
  201. package/harmony/reanimated/src/main/cpp/ReanimatedNodesManager.cpp +1 -0
  202. package/harmony/reanimated/src/main/cpp/ReanimatedPackage.cpp +0 -3
  203. package/harmony/reanimated/src/main/cpp/ReanimatedSensor.cpp +266 -0
  204. package/harmony/reanimated/src/main/cpp/ReanimatedSensor.h +36 -0
  205. package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.cpp +36 -0
  206. package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.h +23 -0
  207. package/harmony/reanimated/src/main/cpp/ReanimatedUIScheduler.h +3 -3
  208. package/harmony/reanimated/src/main/ets/ReanimatedModule.ts +5 -1
  209. package/harmony/reanimated/src/main/ets/ReanimatedPackage.ts +1 -4
  210. package/harmony/reanimated/src/main/module.json5 +12 -12
  211. package/harmony/reanimated/src/main/resources/base/element/color.json +7 -7
  212. package/harmony/reanimated/src/main/resources/base/element/string.json +15 -15
  213. package/harmony/reanimated/src/main/resources/base/profile/main_pages.json +5 -5
  214. package/harmony/reanimated/src/main/resources/en_US/element/string.json +15 -15
  215. package/harmony/reanimated/src/main/resources/zh_CN/element/string.json +15 -15
  216. package/harmony/reanimated/ts.ts +6 -6
  217. package/harmony/reanimated.har +0 -0
  218. package/package.json +68 -50
  219. package/scripts/deploy.js +191 -0
  220. package/scripts/set-reanimated-version.js +37 -0
  221. package/scripts/update-version.js +119 -0
  222. package/scripts/validate-react-native-version.js +46 -0
  223. package/scripts/validate-worklets-build.js +17 -0
  224. package/scripts/validate-worklets-version.js +79 -0
  225. package/scripts/worklets-version.json +4 -0
  226. package/LICENSE +0 -21
  227. package/README.OpenSource +0 -11
  228. package/README.md +0 -10
  229. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/PropsRegistry.cpp +0 -68
  230. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/PropsRegistry.h +0 -68
  231. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy.h +0 -147
  232. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/CollectionUtils.h +0 -14
  233. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeaturesConfig.cpp +0 -5
  234. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeaturesConfig.h +0 -19
  235. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/NativeModules/WorkletsModuleProxy.cpp +0 -47
  236. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/NativeModules/WorkletsModuleProxy.h +0 -59
  237. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/NativeModules/WorkletsModuleProxySpec.cpp +0 -27
  238. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/NativeModules/WorkletsModuleProxySpec.h +0 -25
  239. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Registries/EventHandlerRegistry.cpp +0 -94
  240. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Registries/EventHandlerRegistry.h +0 -49
  241. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Registries/WorkletRuntimeRegistry.cpp +0 -8
  242. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Registries/WorkletRuntimeRegistry.h +0 -39
  243. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/SharedItems/Shareables.cpp +0 -326
  244. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/SharedItems/Shareables.h +0 -345
  245. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/AsyncQueue.cpp +0 -52
  246. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/AsyncQueue.h +0 -35
  247. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/Defs.h +0 -10
  248. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/JSISerializer.cpp +0 -342
  249. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/JSISerializer.h +0 -47
  250. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/JSLogger.cpp +0 -16
  251. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/JSLogger.h +0 -20
  252. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/JSScheduler.cpp +0 -20
  253. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/JSScheduler.h +0 -29
  254. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/PlatformLogger.h +0 -16
  255. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/ReanimatedJSIUtils.cpp +0 -26
  256. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/ReanimatedJSIUtils.h +0 -199
  257. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/ReanimatedVersion.cpp +0 -95
  258. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/SingleInstanceChecker.h +0 -72
  259. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/ThreadSafeQueue.h +0 -49
  260. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/UIScheduler.cpp +0 -20
  261. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/UIScheduler.h +0 -22
  262. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/WorkletEventHandler.cpp +0 -29
  263. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/WorkletEventHandler.h +0 -41
  264. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/RNRuntimeWorkletDecorator.cpp +0 -16
  265. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/RNRuntimeWorkletDecorator.h +0 -19
  266. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/ReanimatedHermesRuntime.cpp +0 -112
  267. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/ReanimatedHermesRuntime.h +0 -127
  268. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/ReanimatedRuntime.cpp +0 -53
  269. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/ReanimatedRuntime.h +0 -22
  270. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/RuntimeInitialization.md +0 -191
  271. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/WorkletRuntime.cpp +0 -173
  272. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/WorkletRuntime.h +0 -90
  273. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/WorkletRuntimeCollector.h +0 -36
  274. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/WorkletRuntimeDecorator.cpp +0 -189
  275. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/WorkletRuntimeDecorator.h +0 -22
  276. package/harmony/reanimated/src/main/cpp/ReanimatedLogger.cpp +0 -33
  277. package/harmony/reanimated/src/main/cpp/WorkletsModule.cpp +0 -61
  278. package/harmony/reanimated/src/main/cpp/WorkletsModule.h +0 -22
  279. package/harmony/reanimated/src/main/cpp/patches/AnimatedSensor/AnimatedSensorModule.cpp +0 -89
  280. package/harmony/reanimated/src/main/cpp/patches/Fabric/ShadowTreeCloner.cpp +0 -95
  281. package/harmony/reanimated/src/main/cpp/patches/NativeModules/ReanimatedModuleProxy.cpp +0 -964
  282. package/harmony/reanimated/src/main/ets/WorkletsModule.ts +0 -15
@@ -1,36 +0,0 @@
1
- #pragma once
2
-
3
- #include <worklets/Registries/WorkletRuntimeRegistry.h>
4
-
5
- #include <jsi/jsi.h>
6
-
7
- #include <memory>
8
-
9
- namespace worklets {
10
-
11
- class WorkletRuntimeCollector : public jsi::HostObject {
12
- // When worklet runtime is created, we inject an instance of this class as a
13
- // `jsi::HostObject` into the global object. When worklet runtime is
14
- // terminated, the object is garbage-collected, which runs the C++ destructor.
15
- // In the destructor, we unregister the worklet runtime from the registry.
16
-
17
- public:
18
- explicit WorkletRuntimeCollector(jsi::Runtime &runtime) : runtime_(runtime) {
19
- WorkletRuntimeRegistry::registerRuntime(runtime_);
20
- }
21
-
22
- ~WorkletRuntimeCollector() {
23
- WorkletRuntimeRegistry::unregisterRuntime(runtime_);
24
- }
25
-
26
- static void install(jsi::Runtime &rt) {
27
- auto collector = std::make_shared<WorkletRuntimeCollector>(rt);
28
- auto object = jsi::Object::createFromHostObject(rt, collector);
29
- rt.global().setProperty(rt, "__workletRuntimeCollector", object);
30
- }
31
-
32
- private:
33
- jsi::Runtime &runtime_;
34
- };
35
-
36
- } // namespace worklets
@@ -1,189 +0,0 @@
1
- #include <worklets/SharedItems/Shareables.h>
2
- #include <worklets/Tools/JSISerializer.h>
3
- #include <worklets/Tools/PlatformLogger.h>
4
- #include <worklets/Tools/ReanimatedJSIUtils.h>
5
- #include <worklets/WorkletRuntime/WorkletRuntime.h>
6
- #include <worklets/WorkletRuntime/WorkletRuntimeDecorator.h>
7
-
8
- #include <vector>
9
-
10
- namespace worklets {
11
-
12
- static inline double performanceNow() {
13
- // copied from JSExecutor.cpp
14
- auto time = std::chrono::steady_clock::now();
15
- auto duration = std::chrono::duration_cast<std::chrono::nanoseconds>(
16
- time.time_since_epoch())
17
- .count();
18
-
19
- constexpr double NANOSECONDS_IN_MILLISECOND = 1000000.0;
20
- return duration / NANOSECONDS_IN_MILLISECOND;
21
- }
22
-
23
- static inline std::vector<jsi::Value> parseArgs(
24
- jsi::Runtime &rt,
25
- std::shared_ptr<ShareableArray> shareableArgs) {
26
- if (shareableArgs == nullptr) {
27
- return {};
28
- }
29
-
30
- auto argsArray = shareableArgs->toJSValue(rt).asObject(rt).asArray(rt);
31
- auto argsSize = argsArray.size(rt);
32
- std::vector<jsi::Value> result(argsSize);
33
- for (size_t i = 0; i < argsSize; i++) {
34
- result[i] = argsArray.getValueAtIndex(rt, i);
35
- }
36
- return result;
37
- }
38
-
39
- void WorkletRuntimeDecorator::decorate(
40
- jsi::Runtime &rt,
41
- const std::string &name,
42
- const std::shared_ptr<JSScheduler> &jsScheduler) {
43
- // resolves "ReferenceError: Property 'global' doesn't exist at ..."
44
- rt.global().setProperty(rt, "global", rt.global());
45
-
46
- rt.global().setProperty(rt, "_WORKLET", true);
47
-
48
- rt.global().setProperty(rt, "_LABEL", jsi::String::createFromAscii(rt, name));
49
-
50
- #ifdef RCT_NEW_ARCH_ENABLED
51
- constexpr auto isFabric = true;
52
- #else
53
- constexpr auto isFabric = false;
54
- #endif // RCT_NEW_ARCH_ENABLED
55
- rt.global().setProperty(rt, "_IS_FABRIC", isFabric);
56
-
57
- #ifndef NDEBUG
58
- auto evalWithSourceUrl = [](jsi::Runtime &rt,
59
- const jsi::Value &thisValue,
60
- const jsi::Value *args,
61
- size_t count) -> jsi::Value {
62
- auto code = std::make_shared<const jsi::StringBuffer>(
63
- args[0].asString(rt).utf8(rt));
64
- std::string url;
65
- if (count > 1 && args[1].isString()) {
66
- url = args[1].asString(rt).utf8(rt);
67
- }
68
- return rt.evaluateJavaScript(code, url);
69
- };
70
- rt.global().setProperty(
71
- rt,
72
- "evalWithSourceUrl",
73
- jsi::Function::createFromHostFunction(
74
- rt,
75
- jsi::PropNameID::forAscii(rt, "evalWithSourceUrl"),
76
- 1,
77
- evalWithSourceUrl));
78
- #endif // NDEBUG
79
-
80
- jsi_utils::installJsiFunction(
81
- rt, "_log", [](jsi::Runtime &rt, const jsi::Value &value) {
82
- PlatformLogger::log(stringifyJSIValue(rt, value));
83
- });
84
-
85
- jsi_utils::installJsiFunction(
86
- rt, "_toString", [](jsi::Runtime &rt, const jsi::Value &value) {
87
- return jsi::String::createFromUtf8(rt, stringifyJSIValue(rt, value));
88
- });
89
-
90
- jsi_utils::installJsiFunction(
91
- rt,
92
- "_makeShareableClone",
93
- [](jsi::Runtime &rt,
94
- const jsi::Value &value,
95
- const jsi::Value &nativeStateSource) {
96
- auto shouldRetainRemote = jsi::Value::undefined();
97
- return makeShareableClone(
98
- rt, value, shouldRetainRemote, nativeStateSource);
99
- });
100
-
101
- jsi_utils::installJsiFunction(
102
- rt,
103
- "_scheduleRemoteFunctionOnJS",
104
- [jsScheduler](
105
- jsi::Runtime &rt,
106
- const jsi::Value &funValue,
107
- const jsi::Value &argsValue) {
108
- auto shareableRemoteFun = extractShareableOrThrow<
109
- ShareableRemoteFunction>(
110
- rt,
111
- funValue,
112
- "[Reanimated] Incompatible object passed to scheduleOnJS. It is only allowed to schedule worklets or functions defined on the React Native JS runtime this way.");
113
-
114
- auto shareableArgs = argsValue.isUndefined()
115
- ? nullptr
116
- : extractShareableOrThrow<ShareableArray>(
117
- rt, argsValue, "[Reanimated] Args must be an array.");
118
-
119
- jsScheduler->scheduleOnJS([=](jsi::Runtime &rt) {
120
- auto fun =
121
- shareableRemoteFun->toJSValue(rt).asObject(rt).asFunction(rt);
122
- if (shareableArgs == nullptr) {
123
- // fast path for remote function w/o arguments
124
- fun.call(rt);
125
- } else {
126
- auto args = parseArgs(rt, shareableArgs);
127
- fun.call(
128
- rt, const_cast<const jsi::Value *>(args.data()), args.size());
129
- }
130
- });
131
- });
132
-
133
- jsi_utils::installJsiFunction(
134
- rt,
135
- "_scheduleHostFunctionOnJS",
136
- [jsScheduler](
137
- jsi::Runtime &rt,
138
- const jsi::Value &hostFunValue,
139
- const jsi::Value &argsValue) {
140
- if (hostFunValue.isUndefined() || !hostFunValue.isObject()) {
141
- return;
142
- }
143
- auto hostFunObject = hostFunValue.asObject(rt);
144
- if (!hostFunObject.isFunction(rt) || !hostFunObject.asFunction(rt).isHostFunction(rt)) {
145
- return;
146
- }
147
- auto hostFun =
148
- hostFunObject.asFunction(rt).getHostFunction(rt);
149
-
150
- auto shareableArgs = argsValue.isUndefined()
151
- ? nullptr
152
- : extractShareableOrThrow<ShareableArray>(
153
- rt, argsValue, "[Reanimated] Args must be an array.");
154
-
155
- jsScheduler->scheduleOnJS([=](jsi::Runtime &rt) {
156
- auto args = parseArgs(rt, shareableArgs);
157
- hostFun(
158
- rt,
159
- jsi::Value::undefined(),
160
- const_cast<const jsi::Value *>(args.data()),
161
- args.size());
162
- });
163
- });
164
-
165
- jsi_utils::installJsiFunction(
166
- rt,
167
- "_scheduleOnRuntime",
168
- [](jsi::Runtime &rt,
169
- const jsi::Value &workletRuntimeValue,
170
- const jsi::Value &shareableWorkletValue) {
171
- scheduleOnRuntime(rt, workletRuntimeValue, shareableWorkletValue);
172
- });
173
-
174
- jsi::Object performance(rt);
175
- performance.setProperty(
176
- rt,
177
- "now",
178
- jsi::Function::createFromHostFunction(
179
- rt,
180
- jsi::PropNameID::forAscii(rt, "now"),
181
- 0,
182
- [](jsi::Runtime &runtime,
183
- const jsi::Value &,
184
- const jsi::Value *args,
185
- size_t count) { return jsi::Value(performanceNow()); }));
186
- rt.global().setProperty(rt, "performance", performance);
187
- }
188
-
189
- } // namespace worklets
@@ -1,22 +0,0 @@
1
- #pragma once
2
-
3
- #include <worklets/Tools/JSScheduler.h>
4
-
5
- #include <jsi/jsi.h>
6
-
7
- #include <memory>
8
- #include <string>
9
-
10
- using namespace facebook;
11
-
12
- namespace worklets {
13
-
14
- class WorkletRuntimeDecorator {
15
- public:
16
- static void decorate(
17
- jsi::Runtime &rt,
18
- const std::string &name,
19
- const std::shared_ptr<JSScheduler> &jsScheduler);
20
- };
21
-
22
- } // namespace worklets
@@ -1,33 +0,0 @@
1
- // Copyright (c) 2025 Huawei Device Co., Ltd. All rights reserved
2
- // Use of this source code is governed by a MIT license that can be
3
- // found in the LICENSE file.
4
-
5
- #include <PlatformLogger.h>
6
- #include "glog/logging.h"
7
-
8
- namespace worklets {
9
- void PlatformLogger::log(const char *str)
10
- {
11
- LOG(INFO) << str;
12
- }
13
-
14
- void PlatformLogger::log(const std::string &str)
15
- {
16
- log(str.c_str());
17
- }
18
-
19
- void PlatformLogger::log(const double d)
20
- {
21
- LOG(INFO) << d;
22
- }
23
-
24
- void PlatformLogger::log(const int i)
25
- {
26
- LOG(INFO) << i;
27
- }
28
-
29
- void PlatformLogger::log(const bool b)
30
- {
31
- LOG(INFO) << b;
32
- }
33
- } // namespace worklets
@@ -1,61 +0,0 @@
1
- // Copyright (c) 2025 Huawei Device Co., Ltd. All rights reserved
2
- // Use of this source code is governed by a MIT license that can be
3
- // found in the LICENSE file.
4
-
5
- #include "RNOH/ArkTSTurboModule.h"
6
- #include "ReanimatedUIScheduler.h"
7
- #include "WorkletsModule.h"
8
- #include "RNRuntimeWorkletDecorator.h"
9
- #include "PlatformLogger.h"
10
-
11
- using namespace facebook;
12
- namespace worklets {
13
- jsi::Value installTurboModule(facebook::jsi::Runtime &rt, react::TurboModule &turboModule,
14
- const facebook::jsi::Value *args, size_t count)
15
- {
16
- auto self = static_cast<WorkletsModule *>(&turboModule);
17
- if (count < 1) {
18
- LOG(ERROR) << "WorkletsModule: Missing required argument";
19
- return facebook::jsi::Value(false);
20
- }
21
- if (!args[0].isString()) {
22
- LOG(ERROR) << "WorkletsModule: First argument must be a string";
23
- return facebook::jsi::Value(false);
24
- }
25
-
26
- std::string valueUnpackerCode = args[0].getString(rt).utf8(rt);
27
- if (self == nullptr) {
28
- return facebook::jsi::Value::undefined();
29
- }
30
- self->installTurboModule(rt, valueUnpackerCode);
31
- return facebook::jsi::Value(true);
32
- }
33
-
34
- WorkletsModule::WorkletsModule(const ArkTSTurboModule::Context ctx, const std::string name)
35
- : ArkTSTurboModule(ctx, name)
36
- {
37
- methodMap_ = { { "installTurboModule", { 0, worklets::installTurboModule } } };
38
- }
39
-
40
- WorkletsModule::~WorkletsModule()
41
- {
42
- LOG(INFO) << "WorkletsModule::~WorkletsModule";
43
- }
44
-
45
- void WorkletsModule::installTurboModule(facebook::jsi::Runtime &runtime, std::string valueUnpackerCode)
46
- {
47
- if (workletsModuleProxy_) {
48
- LOG(WARNING) << "WorkletsModuleProxy already initialized";
49
- return;
50
- }
51
-
52
- workletsModuleProxy_ = std::make_shared<WorkletsModuleProxy>(valueUnpackerCode, m_ctx.jsQueue, jsInvoker_,
53
- std::make_shared<worklets::JSScheduler>(runtime, jsInvoker_),
54
- std::make_shared<rnoh::ReanimatedUIScheduler>(m_ctx.taskExecutor));
55
- RNRuntimeWorkletDecorator::decorate(runtime, workletsModuleProxy_);
56
- }
57
- std::shared_ptr<worklets::WorkletsModuleProxy> WorkletsModule::getWorkletsModuleProxy()
58
- {
59
- return workletsModuleProxy_;
60
- }
61
- } // namespace worklets
@@ -1,22 +0,0 @@
1
- // Copyright (c) 2025 Huawei Device Co., Ltd. All rights reserved
2
- // Use of this source code is governed by a MIT license that can be
3
- // found in the LICENSE file.
4
-
5
- #pragma once
6
-
7
- #include "RNOH/ArkTSTurboModule.h"
8
- #include "worklets/NativeModules/WorkletsModuleProxy.h"
9
-
10
- namespace worklets {
11
-
12
- class JSI_EXPORT WorkletsModule : public std::enable_shared_from_this<WorkletsModule>, public rnoh::ArkTSTurboModule {
13
- public:
14
- WorkletsModule(const ArkTSTurboModule::Context ctx, const std::string name);
15
- ~WorkletsModule() override;
16
- void installTurboModule(facebook::jsi::Runtime &rt, const std::string valueUnpackerCode);
17
- std::shared_ptr<worklets::WorkletsModuleProxy> getWorkletsModuleProxy();
18
- private:
19
- std::shared_ptr<worklets::WorkletsModuleProxy> workletsModuleProxy_ = nullptr;
20
- };
21
-
22
- } // namespace worklets
@@ -1,89 +0,0 @@
1
- #include <reanimated/AnimatedSensor/AnimatedSensorModule.h>
2
-
3
- #include <utility>
4
-
5
- namespace reanimated {
6
-
7
- AnimatedSensorModule::AnimatedSensorModule(
8
- const PlatformDepMethodsHolder &platformDepMethodsHolder)
9
- : platformRegisterSensorFunction_(platformDepMethodsHolder.registerSensor),
10
- platformUnregisterSensorFunction_(
11
- platformDepMethodsHolder.unregisterSensor) {}
12
-
13
- AnimatedSensorModule::~AnimatedSensorModule() {
14
- assert(sensorsIds_.empty());
15
- }
16
-
17
- jsi::Value AnimatedSensorModule::registerSensor(
18
- jsi::Runtime &rt,
19
- const std::shared_ptr<WorkletRuntime> &uiWorkletRuntime,
20
- const jsi::Value &sensorTypeValue,
21
- const jsi::Value &interval,
22
- const jsi::Value &iosReferenceFrame,
23
- const jsi::Value &sensorDataHandler) {
24
- SensorType sensorType = static_cast<SensorType>(sensorTypeValue.asNumber());
25
-
26
- auto shareableHandler = extractShareableOrThrow<ShareableWorklet>(
27
- rt,
28
- sensorDataHandler,
29
- "[Reanimated] Sensor event handler must be a worklet.");
30
-
31
- int sensorId = platformRegisterSensorFunction_(
32
- sensorType,
33
- interval.asNumber(),
34
- iosReferenceFrame.asNumber(),
35
- [sensorType,
36
- shareableHandler,
37
- weakUiWorkletRuntime = std::weak_ptr<WorkletRuntime>(uiWorkletRuntime)](
38
- double newValues[], int orientationDegrees) {
39
- auto uiWorkletRuntime = weakUiWorkletRuntime.lock();
40
- if (uiWorkletRuntime == nullptr) {
41
- return;
42
- }
43
-
44
- jsi::Runtime &uiRuntime = uiWorkletRuntime->getJSIRuntime();
45
- jsi::Object value(uiRuntime);
46
- if (sensorType == SensorType::ROTATION_VECTOR) {
47
- // TODO: timestamp should be provided by the platform implementation
48
- // such that the native side has a chance of providing a true event
49
- // timestamp
50
- value.setProperty(uiRuntime, "qx", newValues[0]);
51
- value.setProperty(uiRuntime, "qy", newValues[1]);
52
- value.setProperty(uiRuntime, "qz", newValues[2]);
53
- value.setProperty(uiRuntime, "qw", newValues[3]);
54
- value.setProperty(uiRuntime, "yaw", newValues[4]);
55
- value.setProperty(uiRuntime, "pitch", newValues[5]);
56
- value.setProperty(uiRuntime, "roll", newValues[6]);
57
- } else {
58
- value.setProperty(uiRuntime, "x", newValues[0]);
59
- value.setProperty(uiRuntime, "y", newValues[1]);
60
- value.setProperty(uiRuntime, "z", newValues[2]);
61
- }
62
- value.setProperty(
63
- uiRuntime, "interfaceOrientation", orientationDegrees);
64
-
65
- uiWorkletRuntime->runGuarded(shareableHandler, value);
66
- });
67
- if (sensorId != -1) {
68
- sensorsIds_.insert(sensorId);
69
- }
70
- return jsi::Value(sensorId);
71
- }
72
-
73
- void AnimatedSensorModule::unregisterSensor(const jsi::Value &sensorId) {
74
- // It is called during sensor hook unmounting
75
- if (!sensorId.isNumber()) {
76
- return;
77
- }
78
- sensorsIds_.erase(sensorId.getNumber());
79
- platformUnregisterSensorFunction_(sensorId.asNumber());
80
- }
81
-
82
- void AnimatedSensorModule::unregisterAllSensors() {
83
- for (auto sensorId : sensorsIds_) {
84
- platformUnregisterSensorFunction_(sensorId);
85
- }
86
- sensorsIds_.clear();
87
- }
88
-
89
- } // namespace reanimated
@@ -1,95 +0,0 @@
1
- #ifdef RCT_NEW_ARCH_ENABLED
2
-
3
- #include <reanimated/Fabric/ShadowTreeCloner.h>
4
-
5
- #include <ranges>
6
- #include <utility>
7
-
8
- namespace reanimated {
9
-
10
- Props::Shared mergeProps(
11
- const ShadowNode &shadowNode,
12
- const PropsMap &propsMap,
13
- const ShadowNodeFamily &family) {
14
- const auto it = propsMap.find(&family);
15
-
16
- if (it == propsMap.end()) {
17
- return ShadowNodeFragment::propsPlaceholder();
18
- }
19
-
20
- PropsParserContext propsParserContext{
21
- shadowNode.getSurfaceId(), *shadowNode.getContextContainer()};
22
- const auto &propsVector = it->second;
23
- auto newProps = shadowNode.getProps();
24
-
25
- #ifdef ANDROID
26
- if (propsVector.size() > 1) {
27
- folly::dynamic newPropsDynamic = folly::dynamic::object;
28
- for (const auto &props : propsVector) {
29
- newPropsDynamic = folly::dynamic::merge(
30
- props.operator folly::dynamic(), newPropsDynamic);
31
- }
32
- return shadowNode.getComponentDescriptor().cloneProps(
33
- propsParserContext, newProps, RawProps(newPropsDynamic));
34
- }
35
- #endif
36
-
37
- for (const auto &props : propsVector) {
38
- newProps = shadowNode.getComponentDescriptor().cloneProps(
39
- propsParserContext, newProps, RawProps(props));
40
- }
41
-
42
- return newProps;
43
- }
44
-
45
- ShadowNode::Unshared cloneShadowTreeWithNewPropsRecursive(
46
- const ShadowNode &shadowNode,
47
- const ChildrenMap &childrenMap,
48
- const PropsMap &propsMap) {
49
- const auto family = &shadowNode.getFamily();
50
- const auto affectedChildrenIt = childrenMap.find(family);
51
- auto children = shadowNode.getChildren();
52
-
53
- if (affectedChildrenIt != childrenMap.end()) {
54
- for (const auto index : affectedChildrenIt->second) {
55
- children[index] = cloneShadowTreeWithNewPropsRecursive(
56
- *children[index], childrenMap, propsMap);
57
- }
58
- }
59
-
60
- return shadowNode.clone(
61
- {mergeProps(shadowNode, propsMap, *family),
62
- std::make_shared<ShadowNode::ListOfShared>(children),
63
- shadowNode.getState()});
64
- }
65
-
66
- RootShadowNode::Unshared cloneShadowTreeWithNewProps(
67
- const RootShadowNode &oldRootNode,
68
- const PropsMap &propsMap) {
69
- ChildrenMap childrenMap;
70
-
71
- for (auto &[family, _] : propsMap) {
72
- const auto ancestors = family->getAncestors(oldRootNode);
73
-
74
- for (auto it = ancestors.rbegin(); it != ancestors.rend(); ++it) {
75
- const auto &[parentNode, index] = *it;
76
- const auto parentFamily = &parentNode.get().getFamily();
77
- auto &affectedChildren = childrenMap[parentFamily];
78
-
79
- if (affectedChildren.contains(index)) {
80
- continue;
81
- }
82
-
83
- affectedChildren.insert(index);
84
- }
85
- }
86
-
87
- // This cast is safe, because this function returns a clone
88
- // of the oldRootNode, which is an instance of RootShadowNode
89
- return std::static_pointer_cast<RootShadowNode>(
90
- cloneShadowTreeWithNewPropsRecursive(oldRootNode, childrenMap, propsMap));
91
- }
92
-
93
- } // namespace reanimated
94
-
95
- #endif // RCT_NEW_ARCH_ENABLED