mastodon.gamedev.place is one of the many independent Mastodon servers you can use to participate in the fediverse.
Mastodon server focused on game development and related topics.

Server stats:

5.3K
active users

Alice I. Cecile

Happy Monday crew :) Today, just like every week, I'm going to be going through the backlog of PRs for @bevy, and walking you through my decisions and thoughts on the community-reviewed PRs :)

I was expecting a small merge train this week since I merged a bunch of the recent work yesterday, but evidently we're at 20 still! Well, that's why you keep on top of it. Let's get started: github.com/bevyengine/bevy/pul+

@bevy 1. github.com/bevyengine/bevy/pul

A straightforward rendering PR, enabling support for a wgpu feature to use SPIRV shaders directly as an override. Reasonable enough. Feature-flagged and low-risk, let's merge.

I resolved a simple merge conflict in the Github UI and we're off to the races :)

GitHubImplement SPIR-V passthrough by Shfty · Pull Request #8131 · bevyengine/bevyBy Shfty

@bevy 2. github.com/bevyengine/bevy/pul

Result from camera viewports again. The author is still rebasing: swapping the label to Waiting-on-Author and moving on. Might be easier to remake it if anyone is in the mood.

GitHubReturn a Result from Camera::viewport_to_world by tormeh · Pull Request #9770 · bevyengine/bevyBy tormeh

@bevy 3. github.com/bevyengine/bevy/pul

A simple utility for offsetting vertex buffer layouts. This needed merge conflict resolution last week, which is done now. Jasmine has a nice little suggestion for a rename, so I'm going to leave it as a suggestion, commit that and then merge.

For one or two line changes, the suggest -> apply suggestions workflow is definitely faster and easier: it's honestly one of my favorite features.

GitHubAdd `VertexBufferLayout::offset_locations` by SludgePhD · Pull Request #9805 · bevyengine/bevyBy SludgePhD

@bevy 4. github.com/bevyengine/bevy/pul

A straightforward PR to get or initialize the descriptor of an ImageSampler. Sure :) I agree with the naming suggestion, let's do the same trick as in the last PR.

Done and merging! Nice to see the low-hanging fruit in rendering get picked off: Jasmine's triage work is paying off.

GitHubImageSampler::init_descriptor by stepancheg · Pull Request #11113 · bevyengine/bevyBy stepancheg

@bevy 5.github.com/bevyengine/bevy/pul

A complex performance optimization in the ECS with a simple principle behind it: removing redundantly stored information to improve performance.

Still waiting on merge conflicts to be resolved, so moving on for now.

GitHubRemove redundent information and optimize dynamic allocations in `Table` by Adamkob12 · Pull Request #12929 · bevyengine/bevyBy Adamkob12

@bevy 6. github.com/bevyengine/bevy/pul

A fancy squircle primitive. This is a much beloved primitive of the UI designers, and I suppose you could probably use it for gameplay stuff too? I'm a bit leery to merge this without any UI usage yet, but this is well isolated and it's good to keep work broken down into smaller parts.

Good code though, and some really fun experiments for the best sampling method to use! Merging.

GitHubAdd Squircle primitive by lynn-lumen · Pull Request #13652 · bevyengine/bevyBy lynn-lumen

@bevy 7. github.com/bevyengine/bevy/pul

Meshlet cleanup! Nice; I'm glad to see this was reviewed promptly. It's a bit... "here, have a bunch of changes all at once", but since others are not actively working in this area and the feature is experimental, this will be a much faster way to work.

Merging: Jasmine's earned the trust to make broader changes, it's not going to clobber users or other contributors, and each of the changes seem positive. Definitely relieved we have others who understand this!

GitHubMeshlet software raster + start of cleanup by JMS55 · Pull Request #14623 · bevyengine/bevyBy JMS55

@bevy 8. github.com/bevyengine/bevy/pul

A breaking change / bug fix for how arc gizmos are drawn. Motivation and justification are reasonable, we should try to make sure our APIs are intuitive, especially for debugging tools!

Code changes are simple and quality is good. Merging.

GitHubFix `arc_2d` Gizmos by RobWalt · Pull Request #14731 · bevyengine/bevyBy RobWalt

@bevy 9. github.com/bevyengine/bevy/pul

Oh-hoh-hoh: a picking backend is ready?! Very exciting: I suppose picking axis-aligned bounding boxes for sprites is not very hard at all. And Aevyrie (the original crate author) reviewed it too!

Code is straightforward and it comes with a nice new example! I think we probably want an alpha-tested backend at some point too: I'll file an issue. Merging :)

GitHubAdd bevy_picking sprite backend by jnhyatt · Pull Request #14757 · bevyengine/bevyBy jnhyatt

@bevy 10. github.com/bevyengine/bevy/pul

Ooh, Cart's required components PR. I'm very pleased with this: it should be a high impact change for the better. There was an important issue raised (how can users opt-out of these?), but that's been spun out into follow-up and listed in the milestone so we don't forget.

This is mergeable but there was a note about docs. I'll let Cart press the button when he's around :)

GitHubRequired Components by cart · Pull Request #14791 · bevyengine/bevyBy cart

@bevy 11. github.com/bevyengine/bevy/pul

Oh hey, haranguing people about "please review the easy asset PRs" actually worked! This is a simple enough PR that makes sure that when asset loading fails due to a panic its status is actually set, rather than spinning forever.

Good change, but needs merge conflict resolution. Not trivial, so I'm waiting on the author.

GitHubdrop pending asset loads by robtfm · Pull Request #14808 · bevyengine/bevyBy robtfm

@bevy 12. github.com/bevyengine/bevy/pul

Sampling curves using generic IntoIterator types: very sensible. Like 10 lines of code, and 50 lines of docs and tests. I love math folks!

Merging with no corrections from review :D

GitHubAdd methods to sample curves from `IntoIterator` types by RobWalt · Pull Request #14815 · bevyengine/bevyBy RobWalt

@bevy 13. github.com/bevyengine/bevy/pul

One of a half-dozen PRs for better dynamic system support by this author. Virtually everything else is in, but this one (which lets you build vecs of dynamic system parameters) needs merge conflict resolution after clashing with one of its siblings.

The merge conflicts are annoying, but these were soo much easier to review in bite-sized pieces. They'll get around to it soon I'm sure :)

GitHubSystemParamBuilder - Support buildable Vec parameters by chescock · Pull Request #14821 · bevyengine/bevyBy chescock

@bevy 14. github.com/bevyengine/bevy/pul

One step towards reducing compile times! @cart carefully profiled "what actually takes up space in the final executable", and bushrat011899 took a look at one of the methods that was showing up and split it into parts.

Each generic copy of a function will be stored separately via the magic of monomorphization, so splitting out the parts that don't need to be generic can meaningfully help. Benchmarks back it up, so merging! Excellent work.

GitHubSplit `GenericTypeCell::get_or_insert` into smaller pieces by bushrat011899 · Pull Request #14865 · bevyengine/bevyBy bushrat011899

@bevy 15. github.com/bevyengine/bevy/pul

Oh no, I need to actually *think* on this one. By changing from a `&mut self` -> `&mut Self` chaining pattern to a `self -> Self` chaining pattern, we can make some use cases more flexible for our EntityCommands. The point about how `Commands` can't be chained already makes me more comfortable moving forward.

Alright, I'm on board :) The examples linked in the issues are compelling, and avoiding lifetime pain is nice. Merging.

GitHubHave EntityCommands methods consume self for easier chaining by Luminoth · Pull Request #14897 · bevyengine/bevyBy Luminoth

@bevy 16. github.com/bevyengine/bevy/pul

Another simple assets PR, which got its second review this morning. Weird coincidence! ;) Pretty standard stuff: allow users to remove things from any collection you allow them to put stuff into unless you have a really good reason.

Nice to see good docs on assets PRs :D Anyways, seems useful enough and uncontroversial: merging.

GitHubAllow removing asset from embedded asset registry by extrawurst · Pull Request #14912 · bevyengine/bevyBy extrawurst

@bevy 17. github.com/bevyengine/bevy/pul

A really nifty little PR, adding simple higher-level logic to our run conditions: checking for if a condition changed, became true, or became false. Some clever little tricks here: generating new anonymous functions that can be used as conditions, and caching the state needed in a Local. Love it!

It's particularly nice that the end result is so intuitive and readable. Very glad I pushed for a little doc test here :) My favorite PR today: merging.

GitHubAdd `condition_changed` and `condition_became_true` to `common_conditions` by Azorlogh · Pull Request #14917 · bevyengine/bevyBy Azorlogh

@bevy 19. github.com/bevyengine/bevy/pul

And now, a PR with 5 times as many approvals as it needs! It adds the `Interval::UNIT` constant, which covers a range from 0 to 1. Good idea, but very funny to see everyone chiming in with their own LGTM.

Merging, but only after I add my approval to the pile.

GitHubadd `Interval::UNIT` constant by RobWalt · Pull Request #14923 · bevyengine/bevyBy RobWalt

@bevy 20. github.com/bevyengine/bevy/pul

Finally, a trivial rename PR from `Drop` to `DragAndDrop` for our pointer events. The old name clashes with the `Drop` trait in Rust, which is quite annoying.

Like I get into in the PR thread, we should keep the migration guide here for `bevy_mod_picking` users :) Always nice when these really simple little things help onboard new contributors! Merging :)

GitHubrename Drop to bevy::picking::events::DragDrop to unclash std::ops:Drop by kivi · Pull Request #14926 · bevyengine/bevyBy kivi

@alice_i_cecile @bevy I did not look into it but I hope it’s not just AABB testing since we now also have rounded corners :)

@rusticorn @bevy We only have rounded corners for UI, not sprites ;) The alpha testing will be useful there though. And the current Interaction component is AABBs only :(

@alice_i_cecile @bevy I keep forgetting that sprite is not UiImage 😒