Files
mjtalbot 0bb24516d9 add ability to attach callbacks when resolving file asset listeners
Bascially add tracking of fileAssetReferencers from file assets, so that when file assets update, they can tell things that reference them to update also.

its worth looking at the rive-flutter & runtime implementations

in cpp it looks like we can hook into the delete hooks nicely to clean up after ourselves (so that when artboards get collected we are not holding references to them from file assets)

in dart this is more of a problem, however using weakReferences we do end up seeing artboards go out of scope
but weakReferences requires us to bump to a min dart of 2.17 (we are 2.14 in flutter & 2.12 in our editor atm)

the update here also uses the referencers to mark fonts dirty when fonts are set, which causes them to be updated on the next draw cycle

(video showing font updates working properly now in dart)

https://github.com/rive-app/rive/assets/1216025/d65ea2cf-95d6-4412-b8f5-368cda609d0b

(video showing how referencers get collected and trashed in dart, it looks like we hold onto about 10 of them at a time.. but they do drop off over time. also we start with 2 references, the main artboard and the artboard instance)

https://github.com/rive-app/rive/assets/1216025/b11b7b46-aa9d-4dcc-bc11-f745d8449575

Diffs=
7bc216b03 add ability to attach callbacks when resolving file asset listeners (#6068)

Co-authored-by: Maxwell Talbot <talbot.maxwell@gmail.com>
2023-10-17 16:05:47 +00:00
..
2022-11-15 23:07:11 +00:00
2023-03-17 18:45:51 +00:00
2020-07-08 16:36:55 -07:00
2020-07-08 16:36:55 -07:00
2023-03-28 23:39:09 +00:00
2023-01-11 21:04:30 +00:00

Rive Flutter Example

A demo application showcasing Rive Flutter.

Getting Started

Clone this repository:

git clone https://github.com/rive-app/rive-flutter

Run the example:

cd rive-flutter/example
flutter pub get
flutter run

Flutter Installation Instructions

If you're new to Flutter, see the official installation instructions.