@react-native-ohos/react-native-reanimated 4.0.0-rc.1 → 4.0.2-beta.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 (235) hide show
  1. package/compatibility.json +161 -161
  2. package/harmony/reanimated/BuildProfile.ets +16 -16
  3. package/harmony/reanimated/build-profile.json5 +18 -18
  4. package/harmony/reanimated/hvigorfile.ts +4 -4
  5. package/harmony/reanimated/index.ets +4 -4
  6. package/harmony/reanimated/oh-package-lock.json5 +39 -0
  7. package/harmony/reanimated/oh-package.json5 +12 -12
  8. package/harmony/reanimated/src/main/cpp/CMakeLists.txt +65 -62
  9. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.cpp +81 -81
  10. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.h +46 -46
  11. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.cpp +390 -390
  12. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.h +16 -16
  13. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/definitions.h +30 -30
  14. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.cpp +46 -46
  15. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.h +23 -23
  16. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.cpp +53 -53
  17. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.h +21 -21
  18. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.cpp +166 -166
  19. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.h +71 -71
  20. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.cpp +368 -368
  21. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.h +53 -53
  22. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.cpp +594 -594
  23. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.h +67 -67
  24. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.cpp +52 -52
  25. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.h +26 -26
  26. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.cpp +156 -156
  27. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.h +76 -76
  28. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.cpp +94 -93
  29. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.h +33 -33
  30. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.cpp +48 -48
  31. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.h +31 -31
  32. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.cpp +135 -135
  33. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.h +61 -61
  34. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.cpp +100 -100
  35. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.h +45 -44
  36. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.cpp +81 -81
  37. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.h +53 -53
  38. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.cpp +122 -122
  39. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.h +38 -38
  40. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.cpp +82 -82
  41. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.h +63 -63
  42. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValue.h +118 -118
  43. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.cpp +174 -174
  44. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.h +111 -111
  45. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.cpp +196 -196
  46. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.h +66 -66
  47. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.cpp +134 -134
  48. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.h +44 -44
  49. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.cpp +174 -174
  50. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.h +49 -49
  51. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.cpp +45 -45
  52. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.h +26 -26
  53. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.cpp +90 -90
  54. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.h +43 -43
  55. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.cpp +17 -17
  56. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.h +13 -13
  57. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.cpp +127 -127
  58. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.h +51 -51
  59. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.cpp +145 -145
  60. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.h +47 -47
  61. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.cpp +69 -69
  62. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.h +22 -22
  63. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.cpp +66 -66
  64. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.h +15 -15
  65. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.cpp +28 -28
  66. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.h +15 -15
  67. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.cpp +13 -13
  68. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.h +12 -12
  69. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.cpp +157 -157
  70. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.h +189 -189
  71. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.cpp +76 -76
  72. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.h +66 -66
  73. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/configs.h +20 -20
  74. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.cpp +136 -136
  75. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.h +40 -40
  76. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.cpp +38 -38
  77. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.h +24 -24
  78. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.cpp +58 -58
  79. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.h +24 -24
  80. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/blur.h +14 -14
  81. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/brightness.h +14 -14
  82. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/contrast.h +14 -14
  83. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/dropShadow.h +17 -17
  84. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/grayscale.h +14 -14
  85. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/hueRotate.h +14 -14
  86. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/invert.h +14 -14
  87. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/opacity.h +14 -14
  88. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/saturate.h +14 -14
  89. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/sepia.h +14 -14
  90. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.cpp +95 -95
  91. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.h +36 -36
  92. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.cpp +41 -41
  93. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.h +32 -32
  94. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.cpp +99 -99
  95. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.h +37 -37
  96. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.cpp +308 -308
  97. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.h +100 -100
  98. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.cpp +19 -19
  99. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.h +94 -94
  100. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.cpp +18 -18
  101. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.h +43 -43
  102. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/AnimationStyleInterpolator.h +26 -26
  103. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.cpp +103 -103
  104. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.h +42 -42
  105. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.cpp +224 -224
  106. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.h +52 -52
  107. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.cpp +218 -218
  108. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.h +89 -89
  109. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.cpp +149 -149
  110. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.h +33 -33
  111. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.cpp +208 -208
  112. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.h +56 -56
  113. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.cpp +42 -42
  114. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.h +20 -20
  115. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.cpp +41 -41
  116. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.h +39 -39
  117. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.cpp +28 -28
  118. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.h +25 -25
  119. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.cpp +14 -14
  120. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.h +20 -20
  121. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.cpp +39 -39
  122. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.h +25 -25
  123. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.cpp +47 -47
  124. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.h +43 -43
  125. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.cpp +70 -70
  126. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.h +40 -40
  127. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.cpp +146 -146
  128. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.h +71 -71
  129. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.cpp +155 -155
  130. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.h +53 -53
  131. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.cpp +170 -170
  132. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.h +67 -67
  133. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/KeyframeProgressProvider.h +12 -12
  134. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.cpp +41 -41
  135. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.h +31 -31
  136. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.cpp +193 -193
  137. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.h +77 -77
  138. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.cpp +340 -340
  139. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.h +80 -80
  140. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.cpp +45 -45
  141. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.h +29 -29
  142. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.cpp +167 -167
  143. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.h +51 -51
  144. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.cpp +61 -61
  145. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.h +33 -33
  146. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.cpp +80 -80
  147. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.h +39 -39
  148. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.cpp +93 -93
  149. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.h +36 -36
  150. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.cpp +111 -110
  151. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.h +33 -33
  152. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.cpp +75 -75
  153. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.h +45 -45
  154. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.cpp +12 -12
  155. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.h +10 -10
  156. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.cpp +36 -36
  157. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.h +23 -23
  158. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.cpp +149 -149
  159. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.h +32 -32
  160. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.cpp +113 -113
  161. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.h +49 -49
  162. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitShadowNode.h +46 -46
  163. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.cpp +56 -56
  164. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.h +37 -37
  165. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.cpp +104 -104
  166. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.h +22 -22
  167. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.cpp +72 -72
  168. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.h +25 -25
  169. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.cpp +160 -160
  170. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.h +71 -71
  171. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.cpp +161 -161
  172. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.h +65 -65
  173. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationType.h +11 -11
  174. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.cpp +137 -137
  175. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.h +82 -82
  176. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.cpp +79 -79
  177. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.h +81 -81
  178. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.cpp +864 -864
  179. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.h +214 -214
  180. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.cpp +897 -897
  181. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.h +220 -220
  182. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.cpp +31 -31
  183. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.h +146 -146
  184. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.cpp +456 -456
  185. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.h +102 -102
  186. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/SharedTransitions.cpp +544 -544
  187. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.cpp +119 -119
  188. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.h +39 -39
  189. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.cpp +1380 -1376
  190. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.h +230 -228
  191. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.cpp +183 -183
  192. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.h +93 -93
  193. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.cpp +54 -54
  194. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.h +28 -28
  195. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.cpp +58 -58
  196. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.h +31 -31
  197. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.cpp +18 -18
  198. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.h +44 -44
  199. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/PlatformDepMethodsHolder.h +67 -67
  200. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedSystraceSection.h +114 -114
  201. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedVersion.cpp +46 -46
  202. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedVersion.h +18 -18
  203. package/harmony/reanimated/src/main/cpp/ReanimatedModule.cpp +233 -230
  204. package/harmony/reanimated/src/main/cpp/ReanimatedModule.h +23 -23
  205. package/harmony/reanimated/src/main/cpp/ReanimatedNodesManager.cpp +56 -56
  206. package/harmony/reanimated/src/main/cpp/ReanimatedNodesManager.h +30 -30
  207. package/harmony/reanimated/src/main/cpp/ReanimatedPackage.cpp +44 -44
  208. package/harmony/reanimated/src/main/cpp/ReanimatedPackage.h +16 -16
  209. package/harmony/reanimated/src/main/cpp/ReanimatedSensor.cpp +265 -265
  210. package/harmony/reanimated/src/main/cpp/ReanimatedSensor.h +36 -36
  211. package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.cpp +35 -35
  212. package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.h +23 -23
  213. package/harmony/reanimated/src/main/cpp/ReanimatedUIScheduler.cpp +23 -23
  214. package/harmony/reanimated/src/main/cpp/ReanimatedUIScheduler.h +19 -19
  215. package/harmony/reanimated/src/main/cpp/TransformParser.h +93 -93
  216. package/harmony/reanimated/src/main/ets/AnimationManager.ts +60 -60
  217. package/harmony/reanimated/src/main/ets/ReanimatedModule.ts +51 -51
  218. package/harmony/reanimated/src/main/ets/ReanimatedPackage.ts +25 -25
  219. package/harmony/reanimated/src/main/module.json5 +12 -12
  220. package/harmony/reanimated/src/main/resources/base/element/color.json +7 -7
  221. package/harmony/reanimated/src/main/resources/base/element/string.json +15 -15
  222. package/harmony/reanimated/src/main/resources/base/profile/main_pages.json +5 -5
  223. package/harmony/reanimated/src/main/resources/en_US/element/string.json +15 -15
  224. package/harmony/reanimated/src/main/resources/zh_CN/element/string.json +15 -15
  225. package/harmony/reanimated/ts.ts +6 -6
  226. package/harmony/reanimated.har +0 -0
  227. package/package.json +70 -68
  228. package/scripts/deploy.js +191 -191
  229. package/scripts/set-reanimated-version.js +37 -37
  230. package/scripts/update-version.js +119 -119
  231. package/scripts/validate-react-native-version.js +46 -46
  232. package/scripts/validate-worklets-build.js +17 -17
  233. package/scripts/validate-worklets-version.js +84 -79
  234. package/scripts/worklets-version.json +4 -4
  235. package/src/index.ts +9 -9
@@ -1,67 +1,67 @@
1
- #pragma once
2
-
3
- #include <reanimated/CSS/common/transforms/Quaternion.h>
4
- #include <reanimated/CSS/common/transforms/TransformMatrix2D.h>
5
- #include <reanimated/CSS/common/transforms/TransformOp.h>
6
- #include <reanimated/CSS/common/transforms/vectors.h>
7
-
8
- #include <folly/dynamic.h>
9
- #include <utility>
10
-
11
- namespace reanimated::css {
12
-
13
- static constexpr size_t MATRIX_3D_DIMENSION = 4; // 4x4 matrix
14
-
15
- class TransformMatrix3D : public TransformMatrixBase<TransformMatrix3D, MATRIX_3D_DIMENSION> {
16
- public:
17
- struct Decomposed {
18
- Vector3D scale;
19
- Vector3D skew;
20
- Quaternion quaternion;
21
- Vector3D translation;
22
- Vector4D perspective;
23
-
24
- #ifndef NDEBUG
25
- friend std::ostream &operator<<(std::ostream &os, const Decomposed &decomposed);
26
- #endif // NDEBUG
27
-
28
- Decomposed interpolate(double progress, const Decomposed &to) const;
29
- };
30
-
31
- using TransformMatrixBase<TransformMatrix3D, MATRIX_3D_DIMENSION>::TransformMatrixBase;
32
-
33
- explicit TransformMatrix3D(jsi::Runtime &rt, const jsi::Value &value);
34
- explicit TransformMatrix3D(const folly::dynamic &array);
35
-
36
- template <TransformOp TOperation>
37
- static TransformMatrix3D create(double value);
38
- static TransformMatrix3D from2D(const TransformMatrix2D &matrix);
39
-
40
- #ifndef NDEBUG
41
- friend std::ostream &operator<<(std::ostream &os, const TransformMatrix3D &matrix);
42
- #endif // NDEBUG
43
-
44
- double determinant() const override;
45
- void adjugate();
46
- bool invert();
47
- void translate3d(const Vector3D &translation);
48
- void scale3d(const Vector3D &scale);
49
-
50
- std::optional<Decomposed> decompose() const;
51
- static TransformMatrix3D recompose(const Decomposed &decomposed);
52
- static TransformMatrix3D fromQuaternion(const Quaternion &q);
53
-
54
- private:
55
- std::optional<Vector4D> computePerspective() const;
56
-
57
- Vector3D getTranslation() const;
58
- static std::pair<Vector3D, Vector3D> computeScaleAndSkew(std::array<Vector3D, 3> &rows);
59
- static Quaternion computeQuaternion(std::array<Vector3D, 3> &columns);
60
-
61
- inline static double
62
- determinant3x3(double a, double b, double c, double d, double e, double f, double g, double h, double i);
63
- };
64
-
65
- Vector4D operator*(const Vector4D &v, const TransformMatrix3D &m);
66
-
67
- } // namespace reanimated::css
1
+ #pragma once
2
+
3
+ #include <reanimated/CSS/common/transforms/Quaternion.h>
4
+ #include <reanimated/CSS/common/transforms/TransformMatrix2D.h>
5
+ #include <reanimated/CSS/common/transforms/TransformOp.h>
6
+ #include <reanimated/CSS/common/transforms/vectors.h>
7
+
8
+ #include <folly/dynamic.h>
9
+ #include <utility>
10
+
11
+ namespace reanimated::css {
12
+
13
+ static constexpr size_t MATRIX_3D_DIMENSION = 4; // 4x4 matrix
14
+
15
+ class TransformMatrix3D : public TransformMatrixBase<TransformMatrix3D, MATRIX_3D_DIMENSION> {
16
+ public:
17
+ struct Decomposed {
18
+ Vector3D scale;
19
+ Vector3D skew;
20
+ Quaternion quaternion;
21
+ Vector3D translation;
22
+ Vector4D perspective;
23
+
24
+ #ifndef NDEBUG
25
+ friend std::ostream &operator<<(std::ostream &os, const Decomposed &decomposed);
26
+ #endif // NDEBUG
27
+
28
+ Decomposed interpolate(double progress, const Decomposed &to) const;
29
+ };
30
+
31
+ using TransformMatrixBase<TransformMatrix3D, MATRIX_3D_DIMENSION>::TransformMatrixBase;
32
+
33
+ explicit TransformMatrix3D(jsi::Runtime &rt, const jsi::Value &value);
34
+ explicit TransformMatrix3D(const folly::dynamic &array);
35
+
36
+ template <TransformOp TOperation>
37
+ static TransformMatrix3D create(double value);
38
+ static TransformMatrix3D from2D(const TransformMatrix2D &matrix);
39
+
40
+ #ifndef NDEBUG
41
+ friend std::ostream &operator<<(std::ostream &os, const TransformMatrix3D &matrix);
42
+ #endif // NDEBUG
43
+
44
+ double determinant() const override;
45
+ void adjugate();
46
+ bool invert();
47
+ void translate3d(const Vector3D &translation);
48
+ void scale3d(const Vector3D &scale);
49
+
50
+ std::optional<Decomposed> decompose() const;
51
+ static TransformMatrix3D recompose(const Decomposed &decomposed);
52
+ static TransformMatrix3D fromQuaternion(const Quaternion &q);
53
+
54
+ private:
55
+ std::optional<Vector4D> computePerspective() const;
56
+
57
+ Vector3D getTranslation() const;
58
+ static std::pair<Vector3D, Vector3D> computeScaleAndSkew(std::array<Vector3D, 3> &rows);
59
+ static Quaternion computeQuaternion(std::array<Vector3D, 3> &columns);
60
+
61
+ inline static double
62
+ determinant3x3(double a, double b, double c, double d, double e, double f, double g, double h, double i);
63
+ };
64
+
65
+ Vector4D operator*(const Vector4D &v, const TransformMatrix3D &m);
66
+
67
+ } // namespace reanimated::css
@@ -1,52 +1,52 @@
1
- #include <reanimated/CSS/common/transforms/TransformOp.h>
2
-
3
- #include <array>
4
- #include <string>
5
- #include <unordered_map>
6
-
7
- namespace reanimated::css {
8
-
9
- constexpr std::array<const char *, 13> transformOperationStrings = {
10
- "perspective",
11
- "rotate",
12
- "rotateX",
13
- "rotateY",
14
- "rotateZ",
15
- "scale",
16
- "scaleX",
17
- "scaleY",
18
- "translateX",
19
- "translateY",
20
- "skewX",
21
- "skewY",
22
- "matrix"};
23
-
24
- TransformOp getTransformOperationType(const std::string &property) {
25
- static const std::unordered_map<std::string, TransformOp> stringToEnumMap = {
26
- {"perspective", TransformOp::Perspective},
27
- {"rotate", TransformOp::Rotate},
28
- {"rotateX", TransformOp::RotateX},
29
- {"rotateY", TransformOp::RotateY},
30
- {"rotateZ", TransformOp::RotateZ},
31
- {"scale", TransformOp::Scale},
32
- {"scaleX", TransformOp::ScaleX},
33
- {"scaleY", TransformOp::ScaleY},
34
- {"translateX", TransformOp::TranslateX},
35
- {"translateY", TransformOp::TranslateY},
36
- {"skewX", TransformOp::SkewX},
37
- {"skewY", TransformOp::SkewY},
38
- {"matrix", TransformOp::Matrix}};
39
-
40
- auto it = stringToEnumMap.find(property);
41
- if (it != stringToEnumMap.end()) {
42
- return it->second;
43
- } else {
44
- throw std::invalid_argument("[Reanimated] Unknown transform operation: " + property);
45
- }
46
- }
47
-
48
- std::string getTransformOperationName(const TransformOp type) {
49
- return transformOperationStrings[static_cast<uint8_t>(type)];
50
- }
51
-
52
- } // namespace reanimated::css
1
+ #include <reanimated/CSS/common/transforms/TransformOp.h>
2
+
3
+ #include <array>
4
+ #include <string>
5
+ #include <unordered_map>
6
+
7
+ namespace reanimated::css {
8
+
9
+ constexpr std::array<const char *, 13> transformOperationStrings = {
10
+ "perspective",
11
+ "rotate",
12
+ "rotateX",
13
+ "rotateY",
14
+ "rotateZ",
15
+ "scale",
16
+ "scaleX",
17
+ "scaleY",
18
+ "translateX",
19
+ "translateY",
20
+ "skewX",
21
+ "skewY",
22
+ "matrix"};
23
+
24
+ TransformOp getTransformOperationType(const std::string &property) {
25
+ static const std::unordered_map<std::string, TransformOp> stringToEnumMap = {
26
+ {"perspective", TransformOp::Perspective},
27
+ {"rotate", TransformOp::Rotate},
28
+ {"rotateX", TransformOp::RotateX},
29
+ {"rotateY", TransformOp::RotateY},
30
+ {"rotateZ", TransformOp::RotateZ},
31
+ {"scale", TransformOp::Scale},
32
+ {"scaleX", TransformOp::ScaleX},
33
+ {"scaleY", TransformOp::ScaleY},
34
+ {"translateX", TransformOp::TranslateX},
35
+ {"translateY", TransformOp::TranslateY},
36
+ {"skewX", TransformOp::SkewX},
37
+ {"skewY", TransformOp::SkewY},
38
+ {"matrix", TransformOp::Matrix}};
39
+
40
+ auto it = stringToEnumMap.find(property);
41
+ if (it != stringToEnumMap.end()) {
42
+ return it->second;
43
+ } else {
44
+ throw std::invalid_argument("[Reanimated] Unknown transform operation: " + property);
45
+ }
46
+ }
47
+
48
+ std::string getTransformOperationName(const TransformOp type) {
49
+ return transformOperationStrings[static_cast<uint8_t>(type)];
50
+ }
51
+
52
+ } // namespace reanimated::css
@@ -1,26 +1,26 @@
1
- #pragma once
2
-
3
- #include <string>
4
-
5
- namespace reanimated::css {
6
-
7
- enum class TransformOp : uint8_t {
8
- Perspective,
9
- Rotate,
10
- RotateX,
11
- RotateY,
12
- RotateZ,
13
- Scale,
14
- ScaleX,
15
- ScaleY,
16
- TranslateX,
17
- TranslateY,
18
- SkewX,
19
- SkewY,
20
- Matrix,
21
- };
22
-
23
- TransformOp getTransformOperationType(const std::string &property);
24
- std::string getTransformOperationName(const TransformOp type);
25
-
26
- } // namespace reanimated::css
1
+ #pragma once
2
+
3
+ #include <string>
4
+
5
+ namespace reanimated::css {
6
+
7
+ enum class TransformOp : uint8_t {
8
+ Perspective,
9
+ Rotate,
10
+ RotateX,
11
+ RotateY,
12
+ RotateZ,
13
+ Scale,
14
+ ScaleX,
15
+ ScaleY,
16
+ TranslateX,
17
+ TranslateY,
18
+ SkewX,
19
+ SkewY,
20
+ Matrix,
21
+ };
22
+
23
+ TransformOp getTransformOperationType(const std::string &property);
24
+ std::string getTransformOperationName(const TransformOp type);
25
+
26
+ } // namespace reanimated::css
@@ -1,156 +1,156 @@
1
- #include <reanimated/CSS/common/transforms/vectors.h>
2
-
3
- namespace reanimated::css {
4
-
5
- // Vector2D
6
-
7
- double &Vector2D::operator[](const size_t idx) {
8
- return vec[idx];
9
- }
10
-
11
- const double &Vector2D::operator[](const size_t idx) const {
12
- return vec[idx];
13
- }
14
-
15
- Vector2D &Vector2D::operator*=(const double scalar) {
16
- vec[0] *= scalar;
17
- vec[1] *= scalar;
18
- return *this;
19
- }
20
-
21
- #ifndef NDEBUG
22
-
23
- std::ostream &operator<<(std::ostream &os, const Vector2D &vector) {
24
- os << "Vector2D(" << vector.vec[0] << ", " << vector.vec[1] << ")";
25
- return os;
26
- }
27
-
28
- #endif // NDEBUG
29
-
30
- double Vector2D::length() const {
31
- return std::hypot(vec[0], vec[1]);
32
- }
33
-
34
- void Vector2D::scaleToLength(double targetLength) {
35
- double currentLength = length();
36
- if (currentLength != 0) {
37
- double factor = targetLength / currentLength;
38
- vec[0] *= factor;
39
- vec[1] *= factor;
40
- }
41
- }
42
-
43
- void Vector2D::normalize() {
44
- scaleToLength(1);
45
- }
46
-
47
- double Vector2D::dot(const Vector2D &other) const {
48
- return vec[0] * other.vec[0] + vec[1] * other.vec[1];
49
- }
50
-
51
- double Vector2D::cross(const Vector2D &other) const {
52
- return vec[0] * other.vec[1] - vec[1] * other.vec[0];
53
- }
54
-
55
- Vector2D Vector2D::addScaled(const Vector2D &other, const double scale) const {
56
- return Vector2D{vec[0] + scale * other.vec[0], vec[1] + scale * other.vec[1]};
57
- }
58
-
59
- Vector2D Vector2D::interpolate(const double progress, const Vector2D &other) const {
60
- return Vector2D{vec[0] + progress * (other.vec[0] - vec[0]), vec[1] + progress * (other.vec[1] - vec[1])};
61
- }
62
-
63
- // Vector3D
64
-
65
- double &Vector3D::operator[](const size_t idx) {
66
- return vec[idx];
67
- }
68
-
69
- const double &Vector3D::operator[](const size_t idx) const {
70
- return vec[idx];
71
- }
72
-
73
- Vector3D &Vector3D::operator*=(const double scalar) {
74
- vec[0] *= scalar;
75
- vec[1] *= scalar;
76
- vec[2] *= scalar;
77
- return *this;
78
- }
79
-
80
- #ifndef NDEBUG
81
-
82
- std::ostream &operator<<(std::ostream &os, const Vector3D &vector) {
83
- os << "Vector3D(" << vector.vec[0] << ", " << vector.vec[1] << ", " << vector.vec[2] << ")";
84
- return os;
85
- }
86
-
87
- #endif // NDEBUG
88
-
89
- double Vector3D::length() const {
90
- return std::hypot(vec[0], vec[1], vec[2]);
91
- }
92
-
93
- void Vector3D::scaleToLength(double targetLength) {
94
- double currentLength = length();
95
- if (currentLength != 0) {
96
- double factor = targetLength / currentLength;
97
- vec[0] *= factor;
98
- vec[1] *= factor;
99
- vec[2] *= factor;
100
- }
101
- }
102
-
103
- void Vector3D::normalize() {
104
- scaleToLength(1);
105
- }
106
-
107
- double Vector3D::dot(const Vector3D &other) const {
108
- return vec[0] * other.vec[0] + vec[1] * other.vec[1] + vec[2] * other.vec[2];
109
- }
110
-
111
- Vector3D Vector3D::cross(const Vector3D &other) const {
112
- return Vector3D{
113
- vec[1] * other.vec[2] - vec[2] * other.vec[1],
114
- vec[2] * other.vec[0] - vec[0] * other.vec[2],
115
- vec[0] * other.vec[1] - vec[1] * other.vec[0]};
116
- }
117
-
118
- Vector3D Vector3D::addScaled(const Vector3D &other, const double scale) const {
119
- return Vector3D{vec[0] + scale * other.vec[0], vec[1] + scale * other.vec[1], vec[2] + scale * other.vec[2]};
120
- }
121
-
122
- Vector3D Vector3D::interpolate(const double progress, const Vector3D &other) const {
123
- return Vector3D{
124
- vec[0] + progress * (other.vec[0] - vec[0]),
125
- vec[1] + progress * (other.vec[1] - vec[1]),
126
- vec[2] + progress * (other.vec[2] - vec[2])};
127
- }
128
-
129
- // Vector4D
130
-
131
- double &Vector4D::operator[](const size_t idx) {
132
- return vec[idx];
133
- }
134
-
135
- const double &Vector4D::operator[](const size_t idx) const {
136
- return vec[idx];
137
- }
138
-
139
- Vector4D Vector4D::interpolate(const double progress, const Vector4D &other) const {
140
- return Vector4D{
141
- vec[0] + progress * (other.vec[0] - vec[0]),
142
- vec[1] + progress * (other.vec[1] - vec[1]),
143
- vec[2] + progress * (other.vec[2] - vec[2]),
144
- vec[3] + progress * (other.vec[3] - vec[3])};
145
- }
146
-
147
- #ifndef NDEBUG
148
-
149
- std::ostream &operator<<(std::ostream &os, const Vector4D &vector) {
150
- os << "Vector4D(" << vector.vec[0] << ", " << vector.vec[1] << ", " << vector.vec[2] << ", " << vector.vec[3] << ")";
151
- return os;
152
- }
153
-
154
- #endif // NDEBUG
155
-
156
- } // namespace reanimated::css
1
+ #include <reanimated/CSS/common/transforms/vectors.h>
2
+
3
+ namespace reanimated::css {
4
+
5
+ // Vector2D
6
+
7
+ double &Vector2D::operator[](const size_t idx) {
8
+ return vec[idx];
9
+ }
10
+
11
+ const double &Vector2D::operator[](const size_t idx) const {
12
+ return vec[idx];
13
+ }
14
+
15
+ Vector2D &Vector2D::operator*=(const double scalar) {
16
+ vec[0] *= scalar;
17
+ vec[1] *= scalar;
18
+ return *this;
19
+ }
20
+
21
+ #ifndef NDEBUG
22
+
23
+ std::ostream &operator<<(std::ostream &os, const Vector2D &vector) {
24
+ os << "Vector2D(" << vector.vec[0] << ", " << vector.vec[1] << ")";
25
+ return os;
26
+ }
27
+
28
+ #endif // NDEBUG
29
+
30
+ double Vector2D::length() const {
31
+ return std::hypot(vec[0], vec[1]);
32
+ }
33
+
34
+ void Vector2D::scaleToLength(double targetLength) {
35
+ double currentLength = length();
36
+ if (currentLength != 0) {
37
+ double factor = targetLength / currentLength;
38
+ vec[0] *= factor;
39
+ vec[1] *= factor;
40
+ }
41
+ }
42
+
43
+ void Vector2D::normalize() {
44
+ scaleToLength(1);
45
+ }
46
+
47
+ double Vector2D::dot(const Vector2D &other) const {
48
+ return vec[0] * other.vec[0] + vec[1] * other.vec[1];
49
+ }
50
+
51
+ double Vector2D::cross(const Vector2D &other) const {
52
+ return vec[0] * other.vec[1] - vec[1] * other.vec[0];
53
+ }
54
+
55
+ Vector2D Vector2D::addScaled(const Vector2D &other, const double scale) const {
56
+ return Vector2D{vec[0] + scale * other.vec[0], vec[1] + scale * other.vec[1]};
57
+ }
58
+
59
+ Vector2D Vector2D::interpolate(const double progress, const Vector2D &other) const {
60
+ return Vector2D{vec[0] + progress * (other.vec[0] - vec[0]), vec[1] + progress * (other.vec[1] - vec[1])};
61
+ }
62
+
63
+ // Vector3D
64
+
65
+ double &Vector3D::operator[](const size_t idx) {
66
+ return vec[idx];
67
+ }
68
+
69
+ const double &Vector3D::operator[](const size_t idx) const {
70
+ return vec[idx];
71
+ }
72
+
73
+ Vector3D &Vector3D::operator*=(const double scalar) {
74
+ vec[0] *= scalar;
75
+ vec[1] *= scalar;
76
+ vec[2] *= scalar;
77
+ return *this;
78
+ }
79
+
80
+ #ifndef NDEBUG
81
+
82
+ std::ostream &operator<<(std::ostream &os, const Vector3D &vector) {
83
+ os << "Vector3D(" << vector.vec[0] << ", " << vector.vec[1] << ", " << vector.vec[2] << ")";
84
+ return os;
85
+ }
86
+
87
+ #endif // NDEBUG
88
+
89
+ double Vector3D::length() const {
90
+ return std::hypot(vec[0], vec[1], vec[2]);
91
+ }
92
+
93
+ void Vector3D::scaleToLength(double targetLength) {
94
+ double currentLength = length();
95
+ if (currentLength != 0) {
96
+ double factor = targetLength / currentLength;
97
+ vec[0] *= factor;
98
+ vec[1] *= factor;
99
+ vec[2] *= factor;
100
+ }
101
+ }
102
+
103
+ void Vector3D::normalize() {
104
+ scaleToLength(1);
105
+ }
106
+
107
+ double Vector3D::dot(const Vector3D &other) const {
108
+ return vec[0] * other.vec[0] + vec[1] * other.vec[1] + vec[2] * other.vec[2];
109
+ }
110
+
111
+ Vector3D Vector3D::cross(const Vector3D &other) const {
112
+ return Vector3D{
113
+ vec[1] * other.vec[2] - vec[2] * other.vec[1],
114
+ vec[2] * other.vec[0] - vec[0] * other.vec[2],
115
+ vec[0] * other.vec[1] - vec[1] * other.vec[0]};
116
+ }
117
+
118
+ Vector3D Vector3D::addScaled(const Vector3D &other, const double scale) const {
119
+ return Vector3D{vec[0] + scale * other.vec[0], vec[1] + scale * other.vec[1], vec[2] + scale * other.vec[2]};
120
+ }
121
+
122
+ Vector3D Vector3D::interpolate(const double progress, const Vector3D &other) const {
123
+ return Vector3D{
124
+ vec[0] + progress * (other.vec[0] - vec[0]),
125
+ vec[1] + progress * (other.vec[1] - vec[1]),
126
+ vec[2] + progress * (other.vec[2] - vec[2])};
127
+ }
128
+
129
+ // Vector4D
130
+
131
+ double &Vector4D::operator[](const size_t idx) {
132
+ return vec[idx];
133
+ }
134
+
135
+ const double &Vector4D::operator[](const size_t idx) const {
136
+ return vec[idx];
137
+ }
138
+
139
+ Vector4D Vector4D::interpolate(const double progress, const Vector4D &other) const {
140
+ return Vector4D{
141
+ vec[0] + progress * (other.vec[0] - vec[0]),
142
+ vec[1] + progress * (other.vec[1] - vec[1]),
143
+ vec[2] + progress * (other.vec[2] - vec[2]),
144
+ vec[3] + progress * (other.vec[3] - vec[3])};
145
+ }
146
+
147
+ #ifndef NDEBUG
148
+
149
+ std::ostream &operator<<(std::ostream &os, const Vector4D &vector) {
150
+ os << "Vector4D(" << vector.vec[0] << ", " << vector.vec[1] << ", " << vector.vec[2] << ", " << vector.vec[3] << ")";
151
+ return os;
152
+ }
153
+
154
+ #endif // NDEBUG
155
+
156
+ } // namespace reanimated::css