bodymovin 5159b80110 Editor + Runtime Feathers!
Adds feathering support to the runtime and editor.

A few important changes:
- Runtime now deals in RawPaths via ShapePaintPath. We no longer store a bunch of RenderPaths that we don't always end up using. Instead we use a light wrapper around RawPath (ShapePaintPath) to track intention of space (local, world, etc) and fill rule for the path so the runtime can pass that around and further mutate it or upgrade it to an immutable RenderPath only when it wants to actually draw it.
- Stroke effects like Dash and Trim now build on the update instead of render!

Diffs=
1b51fe394e Editor + Runtime Feathers! (#8891)
60a2eec998 Fix the notorious pnglibconf.h error for v2 (#8905)
24d9162103 Propagate layout's display to children in runtime (#8908)
90da85fbb4 editor+runtime: fix slow hit-testing (#8907)
b03d365c93 Fix more bit rotting in webgpu_player (#8906)
77a886e285 Work around Android GL driver bugs that surfaced with the feather change (#8901)
52c045aaf7 Require Android NDK r27c from premake (#8900)
d5a774b4b4 Add an android_api option for premake (#8892)
5328d573c7 Converter inspectors Part 1 (#8882)
7ed60faf76 Vector feathering v1! (#8799)
e042c0af4c Update the atan2 definition in shaders (#8883)
2240d091f8 Nnnn add extra functionality to string converter (#8876)
5574d9e34e add atan2 (#8878)
61e927c9cf Fix layout animation repeat (#8875)
5b9b388fe9 initial work for testing data binding in the editor (#8873)
88d24b0cd4 only reset state change on new frame (#8863)
ac230e44d0 export data enum names (#8870)
21c7498489 Vulkan Support ! (#8851)
f33a5984e2 use triggers per state machine layer (#8853)
20d09e2a84 More Android GL fixes (#8868)
9324024cc9 add more arithmetic operations (#8862)
b153a81b61 Fix premake tag (#8865)
8c9dc78dbd Android BrowserStack fixups (#8856)
eca00184b8 Runtime fix for image scale with mesh (#8840)
7c018ff174 editor+runtime: fix text hit-testing on a locally transformed text (#8860)
8e792d564f Reduce the number of GradientSpans (#8847)
2db9a9bd5c Update webgpu/glsl permutation #defines to "true" (#8845)
792049458c Delete the simple gradient texture transfer (#8844)

Co-authored-by: Alex Gibson <agibson.uk@gmail.com>
Co-authored-by: Luigi Rosso <luigi-rosso@users.noreply.github.com>
Co-authored-by: Luigi Rosso <luigi.rosso@gmail.com>
Co-authored-by: hernan <hernan@rive.app>
2025-01-24 01:24:47 +00:00
2025-01-07 15:47:45 +00:00
2023-07-06 08:49:14 +00:00
2024-11-27 19:17:23 +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-01-24 01:24:47 +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的Rive解决方案
Readme MIT 16 MiB
Languages
Dart 96.8%
C++ 1.3%
Lua 0.7%
CMake 0.6%
Shell 0.2%
Other 0.2%