-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
[Merged by Bors] - depend on dioxus(and bevy)-maintained fork of stretch (taffy) #4716
Conversation
Those breaks are pretty rough :( We're going to need a much better test suite to fix this. |
It would be really helpful if Dioxus maintained a changelog. It seems like the "24 commits ahead" are:
So just a couple of layout bug fixes and davier's partial perf fix so far. Are bevy's examples relying on buggy layout behavior, or are these fixes introducing new bugs? Or has the migration to stretch2 gone awry in some way? |
All excellent points @rparrett! |
Jk/nested fix DioxusLabs/stretch#1 includes 17 commits FYI |
Thanks, updated summary in my comment. |
I tested this PR with my most complicated piece of bevy_ui code; an inventory and equipment half-window. Here is what it looks like on Bevy main at time of writing: |
Stretch used to give relative layout for nodes, now it's the absolute layout. I believe it's an issue on Stretch side and opened DioxusLabs/taffy#6, but it's not complicated to fix on Bevy side if they want to stick to the new behaviour. |
Tested the bevy ui and button examples using François' PR fixing relative positioning and it looks like it fixes it. uibutton |
Excellent; I'll see about cutting a release of stretch2 ASAP then. |
The two UI examples look correct using stretch2 v0.4.3. uibutton@mockersf Are there any further steps I need to take with this PR? Edit: It looks like the check-bans CI is still failing on something to do with the lockfile that I don't understand. Do you know what is happening here and if I need to do something to resolve it? |
I think @alice-i-cecile intend to release the crate renamed soon, maybe wait for it |
It seems the new crate has a few dependencies in multiple versions which we don't allow in Bevy. You can investigate on the dependencies if the duplicates are really needed, then open PRs on the dependencies to update if possible... It can take a lot of time |
I will happily accept any PRs to do this for |
Seems all dependency issues start with |
I'm not sure how to fix this. Do you have any suggestions? |
@colepoirier can you make a PR to |
…is resolves CI check-bans failures
@alice-i-cecile switched from stretch2 v0.4.3 to sprawl git main to check if that resolves the CI check-bans failures. Regardless I will attempt to remove heapless from sprawl and make a PR. Additionally, the sprawl v 0.1.0 release seems to be missing the vast majority of the contents of the library so will need a v 0.2.0 before we can take a dependency on it for bevy. |
@colepoirier the PR title and PR description need to be updated too. |
I rewrote it thanks for the heads up! @alice-i-cecile what should I do about the removal of |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That was about as painless as I could have hoped. @colepoirier have you verified that the UI examples all look okay with the newest changes?
Yes both look identical to the screenshots above for the bevy_ui on main. uibutton |
FYI I also removed the section for stretch in the deny.toml. I think that lies within the scope of this PR but I'd like confirmation. Please let me know if that is correct. |
Since the flexbox algorithm depends on writing direction to determine start and end we will probably need to add a way to provide this again. |
just tried a complex case that was running at 45 fps with stretch, I get 160 fps with this PR 👍 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me! The Bevy side was an easy review. Couldn't find any regressions. Did a taffy/stretch diff review and the changes look good to me.
I'm excited for our new future of collaborative UI layout dev!
bors r+ |
# Objective DioxusLabs and Bevy have taken over maintaining what was our abandoned ui layout dependency [stretch](https://github.com/vislyhq/stretch). Dioxus' fork has had a lot of work done on it by @alice-i-cecile, @Weibye , @jkelleyrtp, @mockersf, @HackerFoo, @TimJentzsch and a dozen other contributors and now is in much better shape than stretch was. The updated crate is called taffy and is available on github [here](https://github.com/DioxusLabs/taffy) ([taffy](https://crates.io/crates/taffy) on crates.io). The goal of this PR is to replace stretch v0.3.2 with taffy v0.1.0. ## Solution I changed the bevy_ui Cargo.toml to depend on taffy instead of stretch and fixed all the errors rustc complained about. --- ## Changelog Changed bevy_ui layout dependency from stretch to taffy (the maintained fork of stretch). fixes #677 ## Migration Guide The public api of taffy is different from that of stretch so please advise me on what to do here @alice-i-cecile.
…gine#4716) # Objective DioxusLabs and Bevy have taken over maintaining what was our abandoned ui layout dependency [stretch](https://github.com/vislyhq/stretch). Dioxus' fork has had a lot of work done on it by @alice-i-cecile, @Weibye , @jkelleyrtp, @mockersf, @HackerFoo, @TimJentzsch and a dozen other contributors and now is in much better shape than stretch was. The updated crate is called taffy and is available on github [here](https://github.com/DioxusLabs/taffy) ([taffy](https://crates.io/crates/taffy) on crates.io). The goal of this PR is to replace stretch v0.3.2 with taffy v0.1.0. ## Solution I changed the bevy_ui Cargo.toml to depend on taffy instead of stretch and fixed all the errors rustc complained about. --- ## Changelog Changed bevy_ui layout dependency from stretch to taffy (the maintained fork of stretch). fixes bevyengine#677 ## Migration Guide The public api of taffy is different from that of stretch so please advise me on what to do here @alice-i-cecile.
…gine#4716) # Objective DioxusLabs and Bevy have taken over maintaining what was our abandoned ui layout dependency [stretch](https://github.com/vislyhq/stretch). Dioxus' fork has had a lot of work done on it by @alice-i-cecile, @Weibye , @jkelleyrtp, @mockersf, @HackerFoo, @TimJentzsch and a dozen other contributors and now is in much better shape than stretch was. The updated crate is called taffy and is available on github [here](https://github.com/DioxusLabs/taffy) ([taffy](https://crates.io/crates/taffy) on crates.io). The goal of this PR is to replace stretch v0.3.2 with taffy v0.1.0. ## Solution I changed the bevy_ui Cargo.toml to depend on taffy instead of stretch and fixed all the errors rustc complained about. --- ## Changelog Changed bevy_ui layout dependency from stretch to taffy (the maintained fork of stretch). fixes bevyengine#677 ## Migration Guide The public api of taffy is different from that of stretch so please advise me on what to do here @alice-i-cecile.
…gine#4716) # Objective DioxusLabs and Bevy have taken over maintaining what was our abandoned ui layout dependency [stretch](https://github.com/vislyhq/stretch). Dioxus' fork has had a lot of work done on it by @alice-i-cecile, @Weibye , @jkelleyrtp, @mockersf, @HackerFoo, @TimJentzsch and a dozen other contributors and now is in much better shape than stretch was. The updated crate is called taffy and is available on github [here](https://github.com/DioxusLabs/taffy) ([taffy](https://crates.io/crates/taffy) on crates.io). The goal of this PR is to replace stretch v0.3.2 with taffy v0.1.0. ## Solution I changed the bevy_ui Cargo.toml to depend on taffy instead of stretch and fixed all the errors rustc complained about. --- ## Changelog Changed bevy_ui layout dependency from stretch to taffy (the maintained fork of stretch). fixes bevyengine#677 ## Migration Guide The public api of taffy is different from that of stretch so please advise me on what to do here @alice-i-cecile.
…gine#4716) # Objective DioxusLabs and Bevy have taken over maintaining what was our abandoned ui layout dependency [stretch](https://github.com/vislyhq/stretch). Dioxus' fork has had a lot of work done on it by @alice-i-cecile, @Weibye , @jkelleyrtp, @mockersf, @HackerFoo, @TimJentzsch and a dozen other contributors and now is in much better shape than stretch was. The updated crate is called taffy and is available on github [here](https://github.com/DioxusLabs/taffy) ([taffy](https://crates.io/crates/taffy) on crates.io). The goal of this PR is to replace stretch v0.3.2 with taffy v0.1.0. ## Solution I changed the bevy_ui Cargo.toml to depend on taffy instead of stretch and fixed all the errors rustc complained about. --- ## Changelog Changed bevy_ui layout dependency from stretch to taffy (the maintained fork of stretch). fixes bevyengine#677 ## Migration Guide The public api of taffy is different from that of stretch so please advise me on what to do here @alice-i-cecile.
…gine#4716) # Objective DioxusLabs and Bevy have taken over maintaining what was our abandoned ui layout dependency [stretch](https://github.com/vislyhq/stretch). Dioxus' fork has had a lot of work done on it by @alice-i-cecile, @Weibye , @jkelleyrtp, @mockersf, @HackerFoo, @TimJentzsch and a dozen other contributors and now is in much better shape than stretch was. The updated crate is called taffy and is available on github [here](https://github.com/DioxusLabs/taffy) ([taffy](https://crates.io/crates/taffy) on crates.io). The goal of this PR is to replace stretch v0.3.2 with taffy v0.1.0. ## Solution I changed the bevy_ui Cargo.toml to depend on taffy instead of stretch and fixed all the errors rustc complained about. --- ## Changelog Changed bevy_ui layout dependency from stretch to taffy (the maintained fork of stretch). fixes bevyengine#677 ## Migration Guide The public api of taffy is different from that of stretch so please advise me on what to do here @alice-i-cecile.
Objective
DioxusLabs and Bevy have taken over maintaining what was our abandoned ui layout dependency stretch. Dioxus' fork has had a lot of work done on it by @alice-i-cecile, @Weibye , @jkelleyrtp, @mockersf, @HackerFoo, @TimJentzsch and a dozen other contributors and now is in much better shape than stretch was. The updated crate is called taffy and is available on github here (taffy on crates.io). The goal of this PR is to replace stretch v0.3.2 with taffy v0.1.0.
Solution
I changed the bevy_ui Cargo.toml to depend on taffy instead of stretch and fixed all the errors rustc complained about.
Changelog
Changed bevy_ui layout dependency from stretch to taffy (the maintained fork of stretch).
fixes #677
Migration Guide
The public api of taffy is different from that of stretch so please advise me on what to do here @alice-i-cecile.