mbrea-c / bevy_animation_graph

Animation graphs in Bevy!
Apache License 2.0
103 stars 5 forks source link

Reflect-based node deserialization #70

Open aecsocket opened 1 month ago

aecsocket commented 1 month ago

Replaces the AnimationNodeType enum and friends with a bevy_reflect based approach, including dynamic deserialization of nodes based on their type path.

This is an absolute monster PR, and includes:

Everything seems to work, the only thing broken (as of writing this PR) is the editor.

mbrea-c commented 1 month ago

Documenting what we discussed on Discord:

Currently nodes that store a Handle<T> do no work with the editor, since due to missing API in Bevy (fixed here) we can only load Handle<LoadedUntypedAsset>. This breaks the asset picker UI, and results the selected handle not being recognized by the editor.

We decided to hold off on merging this until after migrating to the Bevy 0.15 release candidate, as it will contain the necessary fix and should come out this week (as of time of writing).

mbrea-c commented 2 weeks ago

The library crate seems to be working now, and pretty much ready to merge (save for some clippy fixes). Remaining work is in the editor crate, pending migrations to 0.15 in two of our dependencies: