jakobhellermann / bevy-inspector-egui

Inspector plugin for the bevy game engine
Apache License 2.0
1.15k stars 169 forks source link

Port to bevy 0.8 #76

Closed Sheepyhead closed 2 years ago

Sheepyhead commented 2 years ago

This is still missing an issue with the impl_for_simple_enum macro that I don't know enough about macros to solve

Sheepyhead commented 2 years ago

At this point the code compiles and examples run but the text doesn't appear in the egui window. Everything else appears to work, it's just textless. I have no idea what could cause this.

I had to manually do a minimal implementation of ScalingMode based on the expanded macro, there are a few lines of uncommented code where I wasn't sure how to proceed. I'm not sure a macro can be used for this enum any more, now that it's become more complex.

Also I'm not sure what the implications of the removal of FilterFetch are. I removed all references to it and it compiles, but I assume there's a reason they were in there and they need to be ported to ReadOnlyWorldQuery somehow.

Any feedback and help is appreciated!

nicopap commented 2 years ago

Found the font issue, you need to add the "default_fonts" feature to the bevy_egui dependency in the Cargo.toml (line 34)

See https://github.com/mvlabat/bevy_egui/pull/110

Sheepyhead commented 2 years ago

Okay so the major missing part right now is fixing (or dropping as a regression) the Inspectable implementation for ScalingMode. Seeing as ScalingMode is now a part of OrthographicProjection, which also isn't Inspectable, I suggest removing the implementation for now, until the new Projection types are also made Inspectable. Nevermind, I missed the implementation because the projection field doesn't show up in the world example for some reason... That still seems like an issue but unrelated to this. I'm not sure what to do with ScalingMode then.

Other than that I'd need someone with more knowledge about the implementation of this repo to pay attention to whether my removal of references to FilterFetch breaks something. It doesn't seem to fail any tests, and the examples also look normal, but I may be missing a subtler regression because I don't know what FilterFetch was actually doing

Sheepyhead commented 2 years ago

Okay I've fixed the implementation of Inspectable for ScalingMode to be at least halfway reasonable, if not very useful right now. I think a more complete implementation should be a separate issue, supporting the latest bevy version is more important than a slick editor for a niche subset of the orthographic camera projection that you can't even see directly yet due to Projection not being registered as an inspectable type yet

jakobhellermann commented 2 years ago

Thanks for the PR! I left some comments on the ScalingMode ui, otherwise the PR looks good to go. The FilterFetch removal shouldn't break anything, I assume I just added it because it was previously needed to compile.