Skip to content
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

News: Release 0.12 #754

Merged
merged 47 commits into from
Nov 4, 2023
Merged

News: Release 0.12 #754

merged 47 commits into from
Nov 4, 2023

Conversation

cart
Copy link
Member

@cart cart commented Oct 13, 2023

How this works

(This contains sections as of bevyengine/bevy@a042924 ... still plenty of open things to merge!)

For the Bevy 0.12 release blog post, other people (besides me) can write blog post sections. Specifically, if you worked on a feature in a substantial way and are interested in presenting it, you can now ask to claim a section by leaving a comment in this PR. If you claim a section, submit a pull request to the release-0.12.0 branch in this repo. For the next week, we will be filling in sections (the release target is Friday October 20th or Saturday October 21st). Please don't claim a section if you don't plan on completing it within that timeline. Also don't claim a section if you weren't an active participant in the design and implementation of the change (unless you are a Maintainer or SME).

I will claim any unclaimed sections.

Try to match the style of previous release blog posts as much as possible.

  1. Show, don't tell. Don't bombard people with information. Avoid large walls of text and large walls of code. Prefer the pattern "byte sized description of one thing" -> "example code/picture/video contextualizing that one thing" -> repeat. Take readers on a journey step by simple step.
  2. Don't use up reader's "mental bandwidth" without good reason. We can't afford page-long descriptions of minor bug fixes. If it isn't a "headliner change", keep the description short and sweet. If a change is self describing, let it do that (ex: We now support this new mesh shape primitive ... this is what it looks like). If it is a "headliner change", still try to keep it reasonable. We always have a lot to cover.
  3. In slight competition with point (2), don't omit interesting technical information when it is truly fun and engaging. A good chunk of our users are highly technical and enjoy learning how the sausage is made. Try to strike a balance between "terse and simple" and "nerdy details".
  4. When relevant, briefly describe the problem being solved first, then describe the solution we chose. This contextualizes the change and gives the feature value and purpose.
  5. When possible, provide visuals. They create interest / keep people hooked / break up the monotony.
  6. Record images and videos at the default bevy resolution (1280x720)
  7. Provide an accurate listing of authors that meaningfully contributed to the feature. Try to sort in order of "contribution scale". This is hard to define, but try to be fair. When in doubt, ask other contributors, SMEs, and/or maintainers.
  8. Provide numbers and graphs where possible. If something is faster, use numbers to back it up. We don't (yet) have automated graph generation in blog post style, so send data / info to me (@cart) if you want a graph made.

Use Bevy's Dev Docs to create links to symbols in your code:

[`Camera3d`]: https://dev-docs.bevyengine.org/bevy/core_pipeline/core_3d/struct.Camera3d.html

When we publish the next release, we will update these links with their docs.rs equivalent.

Headliners

Headliners are our "big ticket high importance / high profile" changes. They are listed briefly at the beginning of the blog post, their entries are roughly sorted "to the top", and they are given priority when it comes to "space in the blog post". If you think we missed something (or didn't prioritize something appropriately), let us know.

  • Bevy Asset V2
  • Android Suspend / Resume
  • Deferred Renderer
  • PCF Shadow Filtering
  • Automatic Draw Batching and Instancing
  • Sprite Instancing
  • Renderer Performance Improvements
  • One Shot Systems
  • UI Node Outlines

Sections

These are the sections we will cover in the blog post. If a section has been claimed, it will have (claimed by X) in the title. If it is unclaimed it will have (unclaimed) in the title. Let us know if we missed a section. We don't cover every feature, but we should cover pretty much everything that would be interesting to users. Note that what is interesting or challenging to implement is not necessarily something that is relevant to our blog post readers. And sometimes the reverse is true!

If you believe a section should be split up or reorganized, just bring it up here and we can discuss it.

Potential Sections

These are worth considering if we have time and space, but probably shouldn't take priority over the sections above. Very negotiable though this isn't an exact science!

@hymm
Copy link
Contributor

hymm commented Oct 13, 2023

I can take "Ignore Component and Resource Ambiguities"

@JoJoJet
Copy link
Member

JoJoJet commented Oct 13, 2023

IMO, bevyengine/bevy#9630 and bevyengine/bevy#8854 don't really need sections dedicated to them, whereas bevyengine/bevy#8526 and bevyengine/bevy#9497 probably should have sections (the latter was a major optimization for one of our slowest systems, which reduced the total frame time by 16% in one scene). I'd like to write the sections for these, but I won't claim them yet as I can't promise I'll get them done in time.

@rparrett
Copy link
Contributor

bevyengine/bevy#9882 was just addressing a regression introduced earlier in the cycle; probably don't need to mention it.

@MalekiRe
Copy link

I think it would be cool if the PR to make it so bevy_openxr crate can work would be of note, simply because now bevy can support vr games? I am not interested in claiming this though, just bringing it up in case it IS of enough general interest. I have a twitter video I can turn into a gif or a short clip so you can embed as well, of bevy vr functioning.

@IceSentry
Copy link
Contributor

I can take all the wireframe stuff and I'll make a single entry for all of it.

@JMS55
Copy link
Contributor

JMS55 commented Oct 13, 2023

Assuming we can get them merged in time, transmission and TAA improvements should get a section. As of now I'm not committing to writing any sections due to lack of time sadly :/, but we'll see what happens as we get closer to next weekend.

@DevinLeamy
Copy link
Contributor

I'll take the animation player update 👍

@superdump
Copy link
Contributor

I can take all the batching/instancing and render optimisation stuff. I’ll try to weave a story. :)

@soqb
Copy link

soqb commented Oct 13, 2023

i'm happy to take up the TypePath stuff.

@killercup
Copy link
Contributor

killercup commented Oct 13, 2023

I saw that bevyengine/bevy#9154 does not work on docs.rs. As it works locally I'm gonna try and repro and fix before the next release.

If that works out I'm happy to write something about it! Otherwise let's keep quiet about it for now ;)

Tracking issue on the rust side: rust-lang/docs.rs#2305

@robswain
Copy link

@cart I'm afraid you've tagged the wrong Rob Swain.

@Trashtalk217
Copy link
Contributor

I can take the one shot systems part, but I feel like it should probably go together with theRunSystem part as they are so similar.

Of course I don't know how @Zeenobit feels about that.

@Zeenobit
Copy link

I can take the one shot systems part, but I feel like it should probably go together with theRunSystem part as they are so similar.

Of course I don't know how @Zeenobit feels about that.

@Trashtalk217 I agree. I think the features are closely related. I have no issues with you taking over.
run_system/run_system_with should be fairly minor and straightforward. Let me know if you need any help there.

@IDEDARY
Copy link
Contributor

IDEDARY commented Oct 13, 2023

Hi, can I take the New get HSL methods on Color struct? I'm the author of the PR and I would like to try contributing to the docs 😄

@cart
Copy link
Member Author

cart commented Oct 13, 2023

@robswain I'm afraid you've tagged the wrong Rob Swain.

Oops sorry! @superdump I tried using your discord username here 😅

@cart
Copy link
Member Author

cart commented Oct 13, 2023

IMO, bevyengine/bevy#9630 and bevyengine/bevy#8854 don't really need sections dedicated to them, whereas bevyengine/bevy#8526 and bevyengine/bevy#9497

@JoJoJet I added the two sections. I left the parallelism ergonomics thing in because people love their ECS ergonomics. We can cut it later if it feels like we have too much noise.

I think it would be cool if the PR to make it so bevy_openxr crate can work would be of note

@MalekiRe was that bevyengine/bevy#8042?
If so, that happened in the 0.11 release cycle and we covered it in that blog post.

Assuming we can get them merged in time, transmission and TAA improvements should get a section.

Agreed. I'll add things as they get merged.

I can take all the batching/instancing and render optimisation stuff. I’ll try to weave a story. :)

@superdump would that include things like GpuArrayBuffer / reorder render sets / etc? Slightly more specific would be helpful so we don't step on each others' toes.

I saw that bevyengine/bevy#9154 does not work on docs.rs. As it works locally I'm gonna try and repro and fix before the next release.
If that works out I'm happy to write something about it! Otherwise let's keep quiet about it for now ;)

@killercup ah good call. Thanks!

I can take the one shot systems part, but I feel like it should probably go together with theRunSystem part as they are so similar.

@Trashtalk217 makes sense!

Hi, can I take the New get HSL methods on Color struct? I'm the author of the PR and I would like to try contributing to the docs 😄

@IDEDARY sure!

@MalekiRe
Copy link

@cart no it was bevyengine/bevy#9925

@cart
Copy link
Member Author

cart commented Oct 13, 2023

@MalekiRe gotcha that makes sense. Added! If you could prepare a video clip of it working (mp4 format preferred) that would be much appreciated.

@mockersf
Copy link
Member

I can take Android Suspend / Resume, and CI/Web examples improvements

@robtfm
Copy link
Contributor

robtfm commented Oct 13, 2023

Asset Loader Pre-Registration - probably doesn't deserve a blog entry since it was in 0.11.1/0.11.2 and is largely invisible to end users?

@rparrett
Copy link
Contributor

Happy to write something short about bevyengine/bevy#9800 / spatial audio.

@cart
Copy link
Member Author

cart commented Oct 13, 2023

probably doesn't deserve a blog entry since it was in 0.11.1/0.11.2 and is largely invisible to end users?

We generally still cover relevant patch release content in the next major release blog as it hasn't been publicly covered yet (has only happened once I think). However the fact that it is largely invisible to users is a good point. We can cut it.

@superdump
Copy link
Contributor

I will claim:

@nicopap
Copy link
Contributor

nicopap commented Oct 14, 2023

IMO insert+remove reflect commands are important. I often saw it as a feature request. If @NoahShomette is willing to write a section I think it should be included.

@NoahShomette
Copy link
Contributor

IMO insert+remove reflect commands are important. I often saw it as a feature request. If @NoahShomette is willing to write a section I think it should be included.

Yep, I'm more than happy to write it up!

@maniwani
Copy link
Contributor

I'll claim "Limit Game Update Rate When Not Visible". Might be more digestible as "Limit Background FPS"?

@nakedible-p
Copy link

FWIW, I will be pretty busy this week, and can't promise I will have the time. I will know probably on 19th or 20th if I have time to do anything towards "Unify FixedTime and Time". If anyone else wants to claim it (@alice-i-cecile ?, @maniwani ?) I'm totally fine with it – but if no-one has done anything and I end up having the time, I can possibly write something at the last minute.

@alice-i-cecile
Copy link
Member

I'll take a crack at writing it today :)

@Vrixyz
Copy link
Member

Vrixyz commented Oct 17, 2023

I’d love to see:

  • a reminder/teaser for the game jam (if it’s still planned)
  • the source code used for any screenshots to reproduce/tweak more easily

@mockersf
Copy link
Member

mockersf commented Nov 4, 2023

last minute UI Material bevyengine/bevy#9506 should be in the blog post

@asafigan
Copy link

asafigan commented Nov 4, 2023

I think it would be helpful to clarify if One Shot systems (SystemIds) need to be manually removed or not. Do they act like assets and Handles where they are cleaned up when there are no more references to them? Should you run remove_system to prevent memory leaks?

@alice-i-cecile
Copy link
Member

I think it would be helpful to clarify if One Shot systems (SystemIds) need to be manually removed or not. Do they act like assets and Handles where they are cleaned up when there are no more references to them? Should you run remove_system to prevent memory leaks?

I think this belongs in the docs, not this post. But yeah, there's no reference counting or anything.

@cart cart merged commit 676db11 into main Nov 4, 2023
6 checks passed
@alice-i-cecile alice-i-cecile deleted the release-0.12.0 branch February 17, 2024 18:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.