Alright #bevy, time to pick up where we left off. It's time for some more riveting #opensource project management! Be warned though: I will be ruthless, nay, downright bloodthirsty as I triage issues and PRs to get us ready for release. Restarting numbering for now

26. https://github.com/bevyengine/bevy/pull/18047

The trivial dependency bump that turned into a disaster due to questionable decisions from getrand on how to handle web support. Sorry! We should make an explicit call on what to do though (even if that's wait for now), so this can stay.

Update `rand`, `glam` and `encase` to latest versions by Bluefinger · Pull Request #18047 · bevyengine/bevy

Objective New rand version, which means updating glam and encase to support the newer ecosystem update. Does mean that this changes how WASM builds need to be done in order to configure getrandom c...

GitHub

27. https://github.com/bevyengine/bevy/pull/19232

Enable wayland by default. Trivial but controversial. Fine, this can stay, and we'll make a call quick. The release candidate process is good for testing risky user-facing changes like this.

enable wayland by default by BenjaminBrienen · Pull Request #19232 · bevyengine/bevy

Objective Fixes Enable wayland by default #4106 Fixes Enable wayland support in examples. #13340 Solution Just one commit to add wayland to the default features indeed Why should it be merged? Th...

GitHub

28. https://github.com/bevyengine/bevy/pull/17889

Remote asset sources via https. I really want this so we can use better assets for our examples. This has been a huge pain. I would like to ship this, but Francois has had ongoing reasonable complaints. Let me ask him what we should do.

Add `http` & `https` asset sources (clean commit history) by mrchantey · Pull Request #17889 · bevyengine/bevy

Objective This is a duplicate of #16366 because I made a mess of the commit history. See that pr for more context and discussion. Fixes Feature: Upstream bevy_web_asset, allowing assets loaded via...

GitHub

29. https://github.com/bevyengine/bevy/pull/19340

Image node rotation. Neat! Definitely not milestone content: it's in draft due to a need for design with no movement for months. Cutting.

Image Node Rotation by hukasu · Pull Request #19340 · bevyengine/bevy

Objective Adopt #6688 Allow rotation of ImageNodes Solution Replace ImageNode::flip_x for rotation, ImageNode::flip_y remains intact Testing testbed_full_ui, ui_texture_slice_flip_and_tile and new ...

GitHub

30. https://github.com/bevyengine/bevy/issues/18981

Disabled entities are not working properly with rendering, among other things. This is largely due to our decision to avoid firing change detection and lifecycle events when disabling and re-enabling entities.

Needs serious design; cutting :(

Entities spawned with `Disabled` do not render when `Disabled` is removed · Issue #18981 · bevyengine/bevy

Bevy version 0.16.0 What you did Spawn an Entity with a mesh and the Disabled component. Remove the component later. What went wrong The mesh will not render. Additional information Minimal reprodu...

GitHub

31. https://github.com/bevyengine/bevy/pull/19377

A random cleanup PR for some BRP method names. Just needs a second review. This can stay: I can review this even if needed. Better to get the breaking changes done sooner.

Renamed BRP methods to be more explicit. by AlephCubed · Pull Request #19377 · bevyengine/bevy

Fixed #18055. Based on the discussion in the related issue, the following BRP methods have been renamed: Old New bevy/query world.query bevy/spawn world.spawn_entity bevy/destroy world.d...

GitHub

32. https://github.com/bevyengine/bevy/pull/19415

A hacky text measure functionality. Useful, but a reviewer suggested some serious improvements. Those haven't been implemented, so I'm bumping to the next milestone.

text measure function by ickshonpe · Pull Request #19415 · bevyengine/bevy

Objective Fixes #19382 Solution Function measure_text creates a temporary cosmic buffer to shape the text and return the size of the laid out text. This isn't very good but should work. Testing

GitHub

33. https://github.com/bevyengine/bevy/issues/19452

A simple request to experiment with type magic to avoid ergonomics regressions for state-scoped entities. Easy to test, leaving it in and I'll get to it this week.

Investigate ergonomic improvements for state scoped events API · Issue #19452 · bevyengine/bevy

I have reverted back to clear_events_on_exit_state, but unlike with 4 it requires specifying the event type each time. Quick question: if you use an impl Trait argument, rather than a generic, can ...

GitHub

34. https://github.com/bevyengine/bevy/pull/19489

A proposed change (again...) to the behavior of `Single`. I'm on the fence about this: it's more consistent but less convenient. We should make the call now and stick with it; this stays in the milestone.

35. https://github.com/bevyengine/bevy/issues/19569

A "bug" about observers and command ordering. This is extremely complex and needs serious design. Cutting.

Observers don't respect the "stack nature" of commands · Issue #19569 · bevyengine/bevy

Bevy version v0.16.1 What you did Run commands from an observer. What went wrong I was expecting those commands to be executed before any other observer, instead several observers ran before the "p...

GitHub

36. https://github.com/bevyengine/bevy/issues/19623

Observers panicking due to earlier observers despawning entities they were watching. Should be an easy fix; I'll take a crack at this. Panics are bad! Leaving it in.

Observers panic when an earlier observer despawned the entity · Issue #19623 · bevyengine/bevy

Bevy version 0.16.1 What you did use bevy::prelude::*; fn main() -> AppExit { App::new() .add_plugins(MinimalPlugins) .add_systems(Startup, spawn) .add_systems(Update, despawn_transforms) .add_obse...

GitHub

37. https://github.com/bevyengine/bevy/pull/19580

System combinators for resultful systems, treating Ok as true and Err as false. Fine, this can exist. Only one review needed, and I can tackle that. It gets to live for now, but I wouldn't leave it in if it was further off.

Impl system condition combinators for `Result`-ful run conditions by gwafotapa · Pull Request #19580 · bevyengine/bevy

Objective This is a follow-up of #19553. I missed something. Right now the combinators (and, or, ...) only work with conditions returning bool. The same goes for condition_changed, condition_change...

GitHub

38. https://github.com/bevyengine/bevy/issues/19660

Ah, one of several issues and PRs for "we should finalize the Event trait split before releasing 0.17". These sort of conceptual shifts are often worse for users than more serious breaks, so we need to get this right once and for all.

39. https://github.com/bevyengine/bevy/issues/19263

Similarly, we should figure out the final naming for various observer concepts and methods. It gets to stay: I'm going to need to wrangle Cart into a discussion on this I think.

Rename observer entity methods and fields · Issue #19263 · bevyengine/bevy

Trigger fields have been confusing to use, discussion on discord from https://discord.com/channels/691052431525675048/692572690833473578/1328735161474482216 suggested a new implementation: current ...

GitHub

40. https://github.com/bevyengine/bevy/issues/19715

Multiple copies of the `children!` macro override each other. This is basically "working as intended" and needs serious design to improve, Cutting.

Inserting `children!` overrides existing children · Issue #19715 · bevyengine/bevy

Bevy version v0.16.1 What you did Inserted the children! macro on an entity that had existing children. What went wrong Instead of appending the new children, the existing ones got overridden. Mini...

GitHub

41. https://github.com/bevyengine/bevy/pull/19755

Ah, the newtype PR for ComponentId inside of observers. This was from a new contributor, and the work was ultimately adopted. Closing.

ObserverTrigger: Add wrapper type around `ComponentId` by oscar-benderstone · Pull Request #19755 · bevyengine/bevy

Objective Add a newtype to store events, as mentioned in this HackMD. Solution From the Discord, we agreed on creating a EventKey struct that wraps around ComponentId. I created EventKey and refac...

GitHub

42. https://github.com/bevyengine/bevy/issues/19844

A Cart issue! We silently lost staticness in our AssetPath types due to a well-intentioned cleanup PR, resulting in unnecessary clones. This needs to be fixed, even if that's just "revert and then add detailed comments explaining why the weird thing was done".

43. https://github.com/bevyengine/bevy/pull/19864

DLSS! This looks "basically done", but is blocked on the wgpu upgrade. We can leave this in: testing for complex features earlier is nice, and contributor happiness is important too :)

44. https://github.com/bevyengine/bevy/issues/19925

Ah cache invalidation. The request is very simple and reasonable, but we need an implementation PR here. Pinging some rendering folks for opinions.

Allow evicting shaders from the `PipelineCache` · Issue #19925 · bevyengine/bevy

What problem does this solve or what need does it fill? For runtime shader editing, I compile and dispatch shaders many times during the game's lifecycle. The PipelineCache doesn't currently expose...

GitHub

45. https://github.com/bevyengine/bevy/issues/19644

Window component split. Sensible enough to include, but not critical. This appears to be blocked on tricky rendering work: I am absolutely going to punt rather than cram this in.

46. https://github.com/bevyengine/bevy/issues/19990

Another option for how to deal with the glTF coordinates problem. It gets to stay and we'll close out all but one of these PRs.

47. https://github.com/bevyengine/bevy/pull/20035

UI gradient shaders fixes. Definitely important to ship. Why is this blocked? Ah, linked PR to clean things up, which is now merged. Fixing the label and pinging the author.

More UI gradients fixes by ickshonpe · Pull Request #20035 · bevyengine/bevy

Objective Improve the gradients implementation further. Solution More UI gradients improvements: Use the more accurate gamma correction function from Shader color conversion #12939. Fixed hsl and ...

GitHub

48. https://github.com/bevyengine/bevy/issues/20040

Reflect derives for the new UI code. Very uncontroversial, nice to do. Why is *this* blocked? Oh, it's because bevy_ui *also* doesn't use feature flags properly for reflection. Boo. Well, adding that to the milestone: this is all very acheiveable.

49. https://github.com/bevyengine/bevy/pull/20069

A usability feature for rendering for working with bind groups. Sensible enough I think? Requesting another rendering review and leaving it.

50. https://github.com/bevyengine/bevy/pull/20079

A simple bug fix for windowing resize behavior. Good to fix, not critical. Cutting. Do review though!

51. https://github.com/bevyengine/bevy/issues/15129

TimedCommands! I tried my hand at this. It wasn't too bad, but more complex than anticipated. Bumping to 0.18.

Add a `TimedCommands` `SystemParam` for easier delayed operations · Issue #15129 · bevyengine/bevy

What problem does this solve or what need does it fill? Queuing things to run at a specific later point in time is a pretty common requirement for many games, but our current setup for doing this t...

GitHub

52. https://github.com/bevyengine/bevy/issues/19863

A bug about the nuances of required component inheritance. We need to decide if the current impl or docs are better. Leaving in the milestone: there's a good implementation PR that needs review.

`RequiredComponent.inheritance_depth` docs do not match`Component` derive impl · Issue #19863 · bevyengine/bevy

Bevy version main What you did I put this in a unit test on lib.rs of bevy_ecs to let me print the required components of A and their depth: #[derive(Component, Default)] #[require(B)] struct A; #[...

GitHub

53. https://github.com/bevyengine/bevy/issues/20121
54. https://github.com/bevyengine/bevy/pull/20131
55. https://github.com/bevyengine/bevy/pull/20135

More glTF coordinate conversion discussion. Funny how these small details explode in complexity sometimes. They all get to stay, we'll tackle these in one fell swoop.

56. https://github.com/bevyengine/bevy/pull/20135

A tiny bug fix for gizmo grids. It has one approval already, but needs a second review. Sure, I'll give this a review tomorrow and get it in :)

WIP: Fix glTF model forward direction by superdump · Pull Request #20135 · bevyengine/bevy

This is to illustrate what I think is needed for the glTF model forward direction being +z.

GitHub

57. https://github.com/bevyengine/bevy/pull/20110

The PR to fix required component inheritance. Gets to stay, and it's useful to have this tagged too so you can quickly check what milestone work needs review etc.

Rework required components by SkiFire13 · Pull Request #20110 · bevyengine/bevy

Objective Fixes RequiredComponent.inheritance_depth docs do not matchComponent derive impl #19863 by removing inheritance_depth Fixed Inconsistent Behavior with Required Components #19333 by prope...

GitHub

58. https://github.com/bevyengine/bevy/issues/20143

Release notes for an important new feature! Definitely important to do *now* lol. Gets to stay :)

Okay, time to stretch my legs, look into the distance and recharge my laptop. I should probably bike home. See you in the next thread!