@react-native-gpui/reanimated 4.7.0-alpha.0 → 4.7.0-alpha.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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  All notable changes to `@react-native-gpui/reanimated` are listed here. Each version's section becomes the notes of its GitHub release.
4
4
 
5
+ ## 4.7.0-alpha.1 - 2026-11-12
6
+
7
+ - CSS transitions and animations now run: the registries' updates are applied after every frame, as the display link does on iOS, where before nothing applied them and a transition or keyframe animation never changed what was painted. Needs a prebuilt runtime built with the change.
8
+
5
9
  ## 4.7.0-alpha.0 - 2026-11-01
6
10
 
7
11
  - First release, for `react-native-reanimated` 4.7.x with Worklets 0.13.x.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @react-native-gpui/reanimated
2
2
 
3
- Desktop support for [`react-native-reanimated`](https://github.com/software-mansion/react-native-reanimated): animations, layout animations and CSS animations.
3
+ Adapter for [`react-native-reanimated`](https://github.com/software-mansion/react-native-reanimated) (MIT): runs animations, layout animations and CSS animations on the desktop renderer.
4
4
 
5
5
  Part of [react-native-gpui](https://github.com/streetwriters/react-native-gpui), React Native for macOS, Windows and Linux.
6
6
 
@@ -107,6 +107,14 @@ class Module final
107
107
  methods,
108
108
  false);
109
109
  *proxyHolder = proxy_;
110
+ // The platform runs the registries' pending updates after each frame's
111
+ // animation callbacks, which is what applies a CSS transition or animation.
112
+ worklets->setAfterFrame(
113
+ [weak = std::weak_ptr<ReanimatedModuleProxy>(proxy_)] {
114
+ if (auto proxy = weak.lock()) {
115
+ proxy->performOperations();
116
+ }
117
+ });
110
118
  proxy_->init(methods);
111
119
  proxy_->initializeFabric(uiManager);
112
120
  LOG(INFO) << "[gpui-reanimated] module proxy initialized";
package/package.json CHANGED
@@ -1,21 +1,23 @@
1
1
  {
2
2
  "name": "@react-native-gpui/reanimated",
3
- "version": "4.7.0-alpha.0",
4
- "description": "GPUI platform bindings for Reanimated 4",
3
+ "version": "4.7.0-alpha.1",
4
+ "description": "Adapter for react-native-reanimated (MIT): runs animations, layout animations and CSS animations on the desktop renderer",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "git+https://github.com/streetwriters/react-native-gpui.git",
8
+ "url": "git+https://github.com/streetwriters/react-native-gpui-modules.git",
9
9
  "directory": "modules/reanimated"
10
10
  },
11
- "homepage": "https://streetwriters.github.io/react-native-gpui/",
11
+ "homepage": "https://github.com/streetwriters/react-native-gpui-modules/tree/main/modules/reanimated#readme",
12
12
  "bugs": {
13
- "url": "https://github.com/streetwriters/react-native-gpui/issues"
13
+ "url": "https://github.com/streetwriters/react-native-gpui-modules/issues"
14
14
  },
15
15
  "files": [
16
16
  "desktop",
17
17
  "react-native.config.js",
18
18
  "src",
19
+ "README.md",
20
+ "LICENSE",
19
21
  "CHANGELOG.md",
20
22
  "!**/*.test.js",
21
23
  "!**/*.test.mjs",
@@ -26,7 +28,7 @@
26
28
  "react-native": "0.87.x",
27
29
  "react-native-reanimated": "4.7.x",
28
30
  "react-native-worklets": "0.13.x",
29
- "@react-native-gpui/worklets": "0.13.0-alpha.0"
31
+ "@react-native-gpui/worklets": "0.13.0-alpha.1"
30
32
  },
31
33
  "codegenConfig": {
32
34
  "name": "GPUIReanimatedSpec",