Repository navigation
Upgrade to Bevy 0.20 and prepare 0.3.0 - #2
Merged
Merged
Conversation
Move the shader library to src/erosion.wesl so the public bevy_erosion_filter::erosion import still works after Bevy 0.20 removed #define_import_path. Convert the terrain demo to WESL and bump glam and bevy_egui to compatible versions. Co-authored-by: Korbin de Man <korbindeman@users.noreply.github.com>
korbindeman
marked this pull request as ready for review
October 15, 2026 03:10
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This upgrades
bevy_erosion_filterfrom Bevy 0.19 to Bevy 0.20 and prepares crate release 0.3.0. It does not publish to crates.io or create tags/releases.Version bumps
0.2.0→0.3.0bevy:0.19→0.20glam:0.32→0.33(Bevy 0.20 uses glam 0.33)bevy_egui:0.40.1→0.43rust-version)Shader import path (checked against Bevy 0.20 source)
I did not take the migration guide's WESL /
#define_import_pathwording on faith. In thev0.20.0tag:#define_import_pathis gone.Shader::from_wgslno longer runs naga_oil preprocessing, and a repo search fordefine_import_pathreturns nothing.embedded://bevy_foo/bar.wesl, Bevy registersbevy_foo::bar.load_shader_library!(app, "erosion.wesl")fromsrc/lib.rstherefore embedsembedded://bevy_erosion_filter/erosion.wesland keeps the public importbevy_erosion_filter::erosion.The library shader moved to
src/erosion.wesl(still plain WGSL with no preprocessor, soEROSION_WGSLremains usable with raw wgpu). The terrain demo is now WESL:#import bevy_pbr::…→import bevy_pbr::render::…;#{MATERIAL_BIND_GROUP}→constants::MATERIAL_BIND_GROUPDocs
0.1→ 0.18,0.2→ 0.19,0.3→ 0.20Verification
cargo build --all-targetscargo test --all-targets(5 CPU tests passed;terrain_democompiles)cargo clippy --all-targets -- -D warningscargo fmt --checkcargo package --allow-dirtyI could not run the terrain demo in a GUI here; CI should still compile it as part of
--all-targets.