bodymovin 2b91ad3e27 Nnnn data binding api part 2
Initial POC for a data binding api

Diffs=
f99c5665ce Nnnn data binding api part 2 (#8611)
82f5a0cf71 fix: inner feather did not update when path changed (#9178)
bb272ebb45 Layout Direction (#9154)
cbde8c6d6a Remove stray depth resource creation in renderer. (#9171)
60524e873a update range mapper (#9170)
28f17bd861 editor+runtime: expose Shape length via databinding (#9160)
fa9791bbda core_generator: avoid empty switch statements  (#9163)
df6ccaa5ff fix dat converter formula crash (#9168)
de0026bd59 Add RenderText to rive_native (#9146)
f161bf4679 Tighter RHI integration, extra build options (#9149)
57d81702cb do not delete data context from state machine instance (#9166)
63bfa217f8 delete instances when objects are destructed (#9158)
94c410ff25 Custom property group (#9145)
b03ce165b9 Renderer depth stencil resource creation (#9068)
39b813b46c editor+runtime: support text follow path with position (#9131)
98a0ac9b24 Implement the feather atlas on Vulkan (#9139)
492dfea655 fixed for unreal (#9138)
edf4df442e Rhi feather
ca138bb038 invalidate stroke effects when path changes (#9124)
0fc29149b9 testing codecov (#9128)
82449bcb3f Move curve softening math for feathers to the GPU (#9064)
d7ff8f1372 Adding more layout unit tests (#9116)
fbd8b8f429 test actual amplitude computation (#9117)
104dc6a456 Infra fixups (#9119)
99cf88f77d Report runtime test coverage (#9114)
16567a3417 Rename gold/ to zzzgold/ (#9108)
07ffc16467 Move feather join tessellation to the draw shader (#9107)
2a983cdd65 Nnnn listeners export fixes (#9105)
cfde2d5136 editor+runtime: allow setting tolerance to path measure (#9102)
2e739a0358 resort glyphs to compensate core text auto sorting (#9101)
f4f4d35d02 Simplify the GMs registry (#9097)
c99270e6b4 Unify Vulkan descriptor set layouts (#9091)
3f4949c892 use quadToCubic instead of quadTo (#9092)
e33be19c21 runtime: text follow path using text modifiers (#9082)
bfdb1dddb8 Gm no static registry (#9090)
94ce2b1930 Fix Layout Style CPP callbacks (#9087)
b07ff750ca cherry pick stack vector use in vulkan impl (#9066)
95583d0c8f add converters support in conditions state machines (#9080)
834ec98f33 Change Scroll DraggableProxy to use drawProxy (#9084)
6b1dd12462 Turn off android file logging by default (#9083)
abc5cb40b7 Renderer shader hotloading (#8848)
35e26fd9f2 Fix a crash on Galaxy A10 (Mali-G71) (#9079)
cb0f89f200 Math formula converter (#8952)
5153dac481 Fix up android browserstack gms (#9076)
63c22338aa runtime: refactor text.buildRenderStyles (#9009)
8f9da9d694 Nnnn duplicate state layers (#9067)
63642c62d4 Nnnn apply target to source on change (#9049)
e417bb4754 add support for state transition duration binding (#9061)
98cac08e6a Convert the feather texture to a texture1d array (#9027)
c54d22119e Nnnn add blend mode text support (#9056)
93e625c1d4 Fix layout update on font load (#9034)
a4c0954201 Only use GL_R32F for the atlas if EXT_float_blend is supported (#9050)
223ed4c89a fix dash with world path (#9041)
9058a3fdad Add RenderPath::addRawPath (#9038)
7a6019fb97 add support for paths as holes (#9030)
50d49d051e Revert checks when using percent margin (#9036)
71d26ec7be add support for negative corner radius (#9012)
b8c47bea69 invalidate parent paint when dash is invalidated (#9029)
670e8ea231 Update premake to use latest patched Yoga (#9011)
aee913977a make decodeFont and decodeAudio non virtual (#9025)
e816b03089 Use hardware textureGather on hlsl (#9016)
633c8ef979 Draw large feathers at lower resolution (#9013)
339867b4de Fix Yoga crash with percent margin (#9010)
7968fd06b8 Make the segmentation of feathered curves more uniform (#9008)
0d03957f83 Add some .rivs with feathering to golden tests (#9007)
fa0e111996 add support for non exportable view model instances (#9005)
b2886f2449 Nnnn feather fixes 2 (#9003)
8f7120837b Implement a feather atlas for msaa (#9001)
1be3488d52 change lerp (#9000)
19b64a2c1b Update layout display before propagating to children (#8999)
48a376c63f Nnnn data bind fixes 5 (#8997)
6833000393 Delete the draw cache (#8995)
54dcceba76 Fix NestedArtboardLeaf render when parent is a group (#8994)
fd830a66ca add support for uint properties (#8982)
71b138cf40 Adapt ScrollConstraint to work with NestedArtboardLayouts (#8968)
697637dd27 Foreground fill fix (#8991)
899ce7e893 add boolean negate converter (#8992)
a224ede43e fix backwards path with multiple segments (#8989)
cdf66e9c29 fix gap in trim paths (#8953)
4d61f56bc2 Fix MSAA stencil settings for clockwise paths (#8985)
fc0ae67847 use clockwise flag at runtime (#8983)
35c972070b Fix webgpu defines for image meshes (#8940)
8162af1425 Simplify the feather integral calculations (#8977)
84f6941eb9 Improve feathered curve chopping (#8971)
776e2050a9 extend string converter (#8972)
4d81ae69b5 Update to 5 5 (#8945)
f8115f9e5d run code generators to fix outdated values (#8963)
641fe2ba15 fix sync with state machine triggers (#8950)
0b17404745 Improve layout display change handling (#8951)
8d30360d74 add support to round decimals in to string converter (#8948)
a1f435cb94 Fix feathered corners (#8946)
a95cbfa147 Implementing ScrollPercent and ScrollIndex properties (#8886)
b534512945 Remove Skia from android runtime (#8738)
c1482a731b Turn storage buffers back on for Android ANGLE (#8939)
274578e4ac Player mouse events (#8896)
c23d37a730 add time based converter interpolator (#8936)
86f65a5bb7 Fix text rendering with overflow clip (#8933)
3dd8f44cf2 make opacity bindable (#8909)
4c1da5310e fix bad property in animation at load (#8927)
94fc10095c Fix for Windows android builds. (#8932)
16063fdc26 Get hug working with text autoHeight (#8928)
bf57f85d7f change inherit blend mode default value to 127 (#8926)
fcda031783 Nnnn feather fixes (#8924)
6e30b9bb43 Nnnn fix invalid viewmodel properties (#8922)
6d8854ec04 use transition only when it has been selected (#8921)
9a43fe0b41 add support to disable layers in state machines (#8912)
7f3314f4f9 check whether state can change before evaluating conditions (#8917)
d8d42c0f13 Which way is up? (#8911)

Co-authored-by: hernan <hernan@rive.app>
2025-03-06 02:01:57 +00:00
2025-01-07 15:47:45 +00:00
2023-07-06 08:49:14 +00:00
2025-03-06 02:01:57 +00:00
2022-11-15 23:07:11 +00:00
2024-07-25 22:33:33 +00:00
2022-11-15 23:07:11 +00:00
2022-11-15 23:07:11 +00:00
2022-11-15 23:07:11 +00:00
2025-03-06 02:01:57 +00:00
2024-04-05 21:34:08 +00:00
2020-07-08 16:36:55 -07:00
2024-06-17 09:08:46 +00:00
2024-03-01 22:45:42 +00:00
2022-06-16 15:51:45 -07:00

Pub Version Build Status Discord badge Twitter handle

Rive Flutter

Rive hero image

Rive Flutter is a runtime library for Rive, a real-time interactive design and animation tool.

This library allows you to fully control Rive files with a high-level API for simple interactions and animations, as well as a low-level API for creating custom render loops for multiple artboards, animations, and state machines in a single canvas.

Table of contents

Overview of Rive

Rive is a powerful tool that helps teams create and run interactive animations for apps, games, and websites. Designers and developers can use the collaborative editor to create motion graphics that respond to different states and user inputs, and then use the lightweight open-source runtime libraries, like Rive Flutter, to load their animations into their projects.

For more information, check out the following resources:

🏡 Homepage

📘 General help docs

🛠 Rive Forums

Getting started

To get started with Rive Flutter, check out the following resources:

For more information, see the Runtime sections of the Rive help documentation:

More advanced usage:

Choosing a Renderer

For more information see: https://rive.app/community/doc/overview/docD20dU9Rod

Note on the Impeller renderer

Starting in Flutter v3.10, Impeller has replaced Skia to become the default renderer for apps on the iOS platform and may continue to be the default on future platforms over time. As such, there is a possibility of rendering and performance discrepancies when using the Rive Flutter runtime with platforms that use the Impeller renderer that may not have surfaced before. If you encounter any visual or performance errors at runtime compared to expected behavior in the Rive editor, we recommend trying the following steps to triage:

  1. Try running the Flutter app with the --no-enable-impeller flag to use the Skia renderer. If the visual discrepancy does not show when using Skia, it may be a rendering bug on Impeller. However, before raising a bug with the Flutter team, try the second point below👇
flutter run --no-enable-impeller
  1. Try running the Flutter app on the latest master channel. It is possible that visual bugs may be resolved on the latest Flutter commits, but not yet released in the beta or stable channel.
  2. If you are still seeing visual discrepancies with just the Impeller renderer on the latest master branch, we recommend raising a detailed issue to the Flutter Github repo with a reproducible example, and other relevant details that can help the team debug any possible issues that may be present.

Supported platforms

Be sure to read the platform specific considerations for the Rive Flutter package.

Awesome Rive

For even more examples and resources on using Rive at runtime or in other tools, checkout the awesome-rive repo.

Contributing

We love contributions and all are welcome! 💙

Issues

Have an issue with using the runtime, or want to suggest a feature/API to help make your development life better? Log an issue in our issues tab! You can also browse older issues and discussion threads there to see solutions that may have worked for common problems.

Description
Flutter runtime for Rive
Readme MIT 8.9 MiB
Languages
Dart 96.8%
C++ 1.3%
Lua 0.7%
CMake 0.6%
Shell 0.2%
Other 0.2%