-
Notifications
You must be signed in to change notification settings - Fork 26
Migrate to Bevy 0.15 #31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
|
Oups, I accidentally clicked on checkbox, which edited your message. Sorry about that 😅 I don't know when I can review and push it, but thanks a lot for figuring out most of the hard work |
|
No problem! I just figured out the rendering issue named above, and will have a fix pushed soon. Then this is ready for review/usage by others |
|
This should be good to go for a review! |
52b3377 to
9f30730
Compare
|
Thanks a lot! :) I'm not sure if the problem was introduced in this PR but changing the |
|
Nice find! This does appear to be a regression since the color is now a separate component instead of stored in text sections directly. Will fix this soon. |
|
Solving this issue turns out to be a little more complicated than expected:
My current solution is just to wipe the |
|
No technical input on my side, as I lack the time to investigate the issue (and even merge this anytime soon) 🙁 If your current solution works well (even if performance is regressed), I think it is good to go? I know that Alice wants to have billboard functionality inside Bevy itself, so I think that keeping the plugin "good enough" and supporting up-to-date Bevy is good balance in the sense that people still can have easy to access billboard functionality while people contributing are not wasting their time by investing too much. |
|
@voximity thanks for your work on this lib. I just want to say that you can always do stuff you think is going to work well and maintainer of this lib will decide which solutions are good or not by just cherry picking commits from your PR when he'll have enough time for this. Currently your pr is the only way for me and other people to use this lib in 0.15 without any investigations so any updates here will be much appreciated too! |
|
Been busy these past few days but have pushed my (working) solution to the problem. It uses a separate sparse-set marker component that is inserted/removed when the text should be rerendered, so it shouldn't pollute your entity with components that don't matter to you. Haven't done any benchmarking compared to resetting |
|
@voximity thank you for this PR. I started a project a few weeks ago in Bevy 0.15, and I needed this feature. I am currently using this PR as an override of the official release. I will report back if I see anything weird. |
|
Maybe implement |
This PR is a migration to Bevy 0.15. I took some liberty in changing the API to feel more ergonomic with 0.15 - if there are any suggestions, let me know. I've tried to detail my changes below.
Fixes #30.
Progress
Changelog
Required components
All billboard-related bundles are now required components.
BillboardTextureBundle, instead now useBillboardTextureandBillboardMesh.BillboardTextBundle, instead now useBillboardText.BillboardLockAxisBundle, instead now simply add aBillboardLockAxiscomponent to your relevantBillboard*entity.Renamed components
Some components were renamed to be more in-line with Bevy 0.15.
BillboardTextureHandle->BillboardTextureBillboardMeshHandle->BillboardMeshOther
TextandText2dcomponents are not compatible withBillboardText! This is becauseTextrequiresNode, and the presence ofNodecauses the text to be rendered as a normal UI element. Instead, useBillboardTextto act as your base text section.BillboardTextproperly supportsTextSpanchildren, and will be traversed as expected when the mesh is constructed.BillboardLockAxis.