1 unstable release
0.0.1 | Aug 8, 2022 |
---|
#89 in #reflection
6KB
🏛️ Bevy Rome
📦 bevy_rome
What
An experimental message passing and Reflect
-based diff library. Enables creating a diff between 2 instances of a Reflect
'ed type, serialize that diff for transport (in-process, networking, ...), deserialize it and apply it back to an instance to obtain back the other instance.
Why
This allows building a data-driven Editor core which does not need any specific knowledge of custom Game types, and instead works exclusively on dynamically-typed data blobs (diffs). This is a central and foundational piece of the Editor.
Status
🚧 Work in progress...
Currently trying to figure out how to generate diffs from Reflect
objects in an efficient way; this possibly requires modifying Bevy to implement a new Diff
trait directly in it.
Dependencies
~16–34MB
~519K SLoC