BlackPhlox / bevy_dolly

h3r2tic's dolly abstraction layer for the bevy game framework
Apache License 2.0
143 stars 22 forks source link

bevy main branch #4

Closed slyedoc closed 2 years ago

slyedoc commented 2 years ago

Just found this repo, looking forward to using it.

Thoughts on a bevy main branch? Created a fork that works with main currently.

Notes:

The query state changes lead to code like this, is there a cleaner way to handle E0716

    let mut q2 = query.q2();
    let mut rig = q2.single_mut();
    rig.0.driver_mut.....
BlackPhlox commented 2 years ago

Looking good! I haven't been looking at migrating to main before I was sure that the 0.6 was going to be released soon. But this is a great contribution! 🎉 I've created a 0.6 branch ~that you're very welcome to make a pull request to that branch~ I made the pr #5.

About the notes:

In terms of query state, I haven't been looking into it, so I wound't know. Though E0716 can always be handled by rearranging calls and create an immutable variable, you can look at this example in the agn_systems branch.

slyedoc commented 2 years ago

I kinda started refactoring to fix a few things and couldn't stop. I tried to keep to the spirit of everything that was there, thoughts?

https://github.com/slyedoc/bevy_dolly/tree/bevy-native

Pretty sure everything works now, except cursor capture.

And the reason I would like a "bevy-main" branch would be nice is that people will always track on main, even after 0.6 releases, with a bevy-main, we can just pull from "bevy-main" master for a release and keep plugging.

BlackPhlox commented 2 years ago

Nice work! and yes, I have a lot of thoughts 😅. If you could make a pr to 0.6 that would be great, cause then I can more easily comment and review your work and any future modifications you might have prior to merging.

Also, I agree with a bevy-main branch, given that the release cycle of each version is gonna take time, this makes a lot of sense. Though I can't promise that everything always is going to be up-to-date with main and might not be, currently, viable for a lot of plugin maintainers imo. A fix for this would be bevy starting to use 0.6.1 (on GitHub, not as a crate version) to keep some stability for plugin maintainers and only change to 0.6.2 if there is breaking changes from the previous update.

I'll try to see if I can get some opinions on this topic in the community on discord.

BlackPhlox commented 2 years ago

The release cycle has now been discussed and is now in motion 🎉 https://github.com/bevyengine/bevy/discussions/2972

BlackPhlox commented 2 years ago

Going to do a total refactor using 0.7's newtype and will match better with main, giving dolly a better upstream potential