open-rmf / rmf_site

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

Update to Bevy 0.12 #206

Closed luca-della-vedova closed 6 months ago

luca-della-vedova commented 7 months ago

New feature implementation

Implemented feature

Closes #192, #128. Update to Bevy 0.12.

Implementation description

Apart from the usual changed APIs, Bevy 0.12 introduced a virtual rewrite of the asset system that allowed a significant refactor and cleanup of the way we handle assets.

Specifically, the most important feature is support for multiple asset sources, which allows us to split the sources into separate structures, with two main consequences:

Specifically for Bundled assets, the new asset system introduced a builtin embedded:// asset source that does exactly the same so we can get rid of more code.

Because of #128, it was necessary to move out of surf. Luckily a new crate came up recently, ehttp which is actively maintained, does the job perfectly fine and is very lightweight (our dependency count decreased by about 100 crates by switching!)

luca-della-vedova commented 6 months ago

There is currently a regression in workcell editor mode where the cursor is always displayed, currently investigating

luca-della-vedova commented 6 months ago

This PR is now ready for review.

Since this migration added a lot more deprecation warnings with the deprecation of event.iter() I took the chance to clear out all the trivial warnings from the codebase so we can avoid introducing new ones (they would get drowned in the 100+ existing warnings). The only remaining ones now are nameclash collisions (also introduced here, although not breaking, for now) and one unused field that sounded not trivial.