Skip to content

feat: add worklet bridge for Reanimated shared value support#249

Closed
mfazekas wants to merge 3 commits into
feat/rive-ios-experimentalfrom
feat/worklet-bridge
Closed

feat: add worklet bridge for Reanimated shared value support#249
mfazekas wants to merge 3 commits into
feat/rive-ios-experimentalfrom
feat/worklet-bridge

Conversation

@mfazekas
Copy link
Copy Markdown
Collaborator

Summary

Port of #79 to the experimental repo. Adds RiveWorkletBridge HybridObject that installs Nitro's dispatcher on Reanimated's UI runtime, enabling ViewModel property listeners to drive SharedValues on the UI thread.

  • iOS: GCD dispatch_async/dispatch_sync to main queue
  • Android: Handler(Looper.getMainLooper()) via JNI bridge
  • Exports installWorkletDispatcher() from package
  • Includes bouncing ball exerciser demo
  • Bumps rive-ios to 6.20.2

Test plan

  • iOS build passes
  • Android build passes
  • TypeScript typecheck passes
  • Bouncing ball exerciser works on both platforms

mfazekas added 3 commits May 8, 2026 18:13
Adds coverage-ios dependency and portal resolutions pointing to the local
react-native-harness fork (feat/native-ios-coverage branch).
Adds getPropertiesAsync() to ViewModel and ViewModelInstance for runtime
introspection. Returns ViewModelPropertyInfo[] with name and type for each
property.
Port from #79. Adds RiveWorkletBridge
HybridObject that installs Nitro's dispatcher on Reanimated's UI runtime,
enabling ViewModel property listeners to drive SharedValues on the UI
thread without blocking when JS is busy.

Also bumps rive-ios to 6.20.2 and adds bouncing ball exerciser demo.
@mfazekas mfazekas changed the base branch from main to feat/rive-ios-experimental May 12, 2026 07:20
@mfazekas
Copy link
Copy Markdown
Collaborator Author

Recreating as a stacked PR via gh stack

@mfazekas mfazekas closed this May 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant