Update egui requirement from >=0.24, <=0.27 to >=0.24, <=0.29
Updates the requirements on egui to permit the latest version.
Release notes
Sourced from egui's releases.
0.29.0 - Multipass,
UiBuilder, & visual improvementsegui is an easy-to-use immediate mode GUI for Rust that runs on both web and native.
Try it now: https://www.egui.rs/
egui development is sponsored by Rerun, a startup building an SDK for visualizing streams of multimodal data.
egui changelog
✨ Highlights
This release adds initial support for multi-pass layout, which is a tool to circumvent a common limitation of immediate mode. You can use the new
UiBuilder::sizing_pass(#4969) to instruct theUiand widgets to shrink to their minimum size, then store that size. Then call the newContext::request_discard(#5059) to discard the visual output and do another pass immediately after the current finishes. Together, this allows more advanced layouts that is normally not possible in immediate mode. So far this is only used byegui::Gridto hide the "first-frame jitters" that would sometimes happen before, but 3rd party libraries can also use it to do much more advanced things.There is also a new
UiBuilderfor more flexible construction ofUis (#4969). By specifying asensefor theUiyou can make it respond to clicks and drags, reading the result with the newUi::response(#5054). Among other things, you can use this to create buttons that contain arbitrary widgets.0.29 also adds improve support for automatic switching between light and dark mode. You can now set up a custom
Stylefor both dark and light mode, and have egui follow the system preference (#4744 #4860).There also has been several small improvements to the look of egui:
- Fix vertical centering of text (e.g. in buttons) (#5117)
- Sharper rendering of lines and outlines (#4943)
- Nicer looking text selection, especially in light mode (#5017)
The new text selection
What text selection used to look like
🧳 Migration
id_sourceis now calledid_salteverywhere (#5025)Ui::newnow takes aUiBuilder(#4969)- Deprecated (replaced with
UiBuilder):
ui.add_visible_uiui.allocate_ui_at_rectui.child_uiui.child_ui_with_id_sourceui.push_stack_info⭐ Added
... (truncated)
Changelog
Sourced from egui's changelog.
0.29.0 - 2024-09-26 - Multipass,
UiBuilder, & visual improvements✨ Highlights
This release adds initial support for multi-pass layout, which is a tool to circumvent a common limitation of immediate mode. You can use the new
UiBuilder::sizing_pass(#4969) to instruct theUiand widgets to shrink to their minimum size, then store that size. Then call the newContext::request_discard(#5059) to discard the visual output and do another pass immediately after the current finishes. Together, this allows more advanced layouts that is normally not possible in immediate mode. So far this is only used byegui::Gridto hide the "first-frame jitters" that would sometimes happen before, but 3rd party libraries can also use it to do much more advanced things.There is also a new
UiBuilderfor more flexible construction ofUis (#4969). By specifying asensefor theUiyou can make it respond to clicks and drags, reading the result with the newUi::response(#5054). Among other things, you can use this to create buttons that contain arbitrary widgets.0.29 also adds improve support for automatic switching between light and dark mode. You can now set up a custom
Stylefor both dark and light mode, and have egui follow the system preference (#4744 #4860).There also has been several small improvements to the look of egui:
- Fix vertical centering of text (e.g. in buttons) (#5117)
- Sharper rendering of lines and outlines (#4943)
- Nicer looking text selection, especially in light mode (#5017)
The new text selection
What text selection used to look like
🧳 Migration
id_sourceis now calledid_salteverywhere (#5025)Ui::newnow takes aUiBuilder(#4969)- Deprecated (replaced with
UiBuilder):
ui.add_visible_uiui.allocate_ui_at_rectui.child_uiui.child_ui_with_id_sourceui.push_stack_info⭐ Added
- Create a
UiBuilderfor buildingUis #4969 by@emilk- Add
egui::Sidesfor adding UI on left and right sides #5036 by@emilk- Make light & dark visuals customizable when following the system theme #4744 #4860 by
@bash- Interactive
Ui:s: addUiBuilder::senseandUi::response#5054 by@lucasmerlin- Add a menu button with text and image #4748 by
@NicolasBircksZR- Add
Ui::columns_const()#4764 by@v0x0g- Add
Slider::max_decimals_opt#4953 by@bircni- Add
Label::halign#4975 by@rustbasic- Add
ui.shrink_clip_rect#5068 by@emilk- Add
ScrollArea::scroll_bar_rect#5070 by@emilk
... (truncated)
Commits
59d7183Release 0.29.0 - Multipass,UiBuilder, & visual improvementsdae1979Add backContext::set_visuals()(#5100)25abb74egui_extras: AddTableBuilder::animate_scrolling(#5159)a72ebbeAdd acargo macheteCI step (#5171)92adfa5Improve comment in text layout codea59e178Document the fact that the hex_color macro is not const (#5169)3805584Fix bug causing tooltips with dynamic content to shrink (#5168)5d46f67AddDebugOptions::show_unaligned(#5165)f97f850Prevent text shrinking in tooltips; round wrap-width to integer (#5161)9ef4d02More compactDebugformatting ofColor32(#5162)- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)