open-rmf / rmf_site

Experimental visualizer for dense buildings in RMF
32 stars 13 forks source link

Bevy 0.12 update status #192

Closed luca-della-vedova closed 6 months ago

luca-della-vedova commented 9 months ago

Bevy 0.12 has been recently released.

Migration should be significantly easier than the 0.9 -> 0.11 jump. The main breaking change will be the Asset v2 which will require major changes to our site_asset_io, as well as loaders and asset events parsing. Luckily the new asset pipeline introduced some interesting features, such as "multiple asset sources distinguished on the prefix". I believe we can refactor the current bundled site_asset_io into a rmf_server_reader that parses rmf-server:// assets, a package_asset_reader that parses package:// assets etc. We might also be able to use external crates to avoid having to write our own platform agnostic http client logic and fix #128, such as https://github.com/johanhelsing/bevy_web_asset.

Apart from the new asset system, there are nice features here and there, but one of the most interesting ones (to me) is batched GPU rendering that increases performance when rendering multiple instances of objects with the same mesh / material, which is a pattern we use extensively.

Crates wise, current status: