mirror of
https://github.com/bevyengine/bevy.git
synced 2026-05-06 06:06:42 -04:00
main
11380 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
15b23b4e4a |
Add a warning for the use of Viewport with Window targets (#21830)
# Objective This PR adds a warning in the Viewport portion of the Camera class to highlight the need to scale to physical pixels. This PR fixes #21828 ## Solution Adds a warning block in the class documentation ## Testing I build the documentation and it renders to the following: <img width="827" height="496" alt="Camrea_Viewport_Warning" src="https://github.com/user-attachments/assets/d81b82c6-565b-450c-89ed-f6643f22ea23" /> --------- Co-authored-by: Alice Cecile <alice.i.cecile@gmail.com> Co-authored-by: ickshonpe <david.curthoys@googlemail.com> Co-authored-by: François Mockers <francois.mockers@vleue.com> Co-authored-by: Carter Anderson <mcanders1@gmail.com> |
||
|
|
e761a1799b |
Use <[T]>::array_windows for exact size windows (#24146)
# Objective - Reduce panicking code and bounds checks. ## Solution - Replace `<[T]>::windows` with `<[T]>::array_windows` when the window size is constant. - Update MSRV in affected crates (and fix the new warnings). ## Testing - Ran `cargo test -p bevy_mesh -p bevy_gizmos -p bevy_math -p bevy_input_focus` ## MSRV The main `bevy` crate has a MSRV of 1.95; I've increased the MSRV to 1.94 (when `array_windows` was stabilised) for `bevy_math` and `bevy_input_focus` in this PR. If it's too early to increase the MSRV, I can drop the changes to these crates in this PR or convert this PR to draft. |
||
|
|
35b9a21251 |
Add a translate method to Rect (#24139)
# Objective Add a `translate` method to `Rect`. ## Solution Add a `translate` method to `Rect`. ## Testing Added a `rect_translate` test to the `rect` module. |
||
|
|
152dc2f075 |
ComputedNode::resolve_clip_rect margins fix (#24138)
# Objective The `resolve_clip_rect` function on `ComputedNode` wasn't adding the margin from `OverflowClipMargin`. This only affected picking, not rendering, as `update_clipping` has its own clipping calculations. ## Solution * Inflate the clipping rect in `resolve_clip_rect` by the margin value from `OverflowClipMargin` (after scaling as the margin is logical). * Removed the duplicate calculations from `update_clipping`. * Added two basic tests. ## Testing Added two new tests to the `ui_node` module: `overflow_clip_margin_boxes` and overflow_clip_margin_is_logical`. |
||
|
|
48b4c010c2 |
Filter out Tuple fields when generating props (#24144)
# Objective Setting fields on tuple Scene Components breaks down because their fields are improperly considered "props". ## Solution Properly filter out tuple fields. ## Testing - Added a test! |
||
|
|
cb02e96b6d |
Move bevy_window, bevy_input_focus, custom_cursor features to alternate feature collections (#22488)
Related: Cargo Feature Collections
https://github.com/bevyengine/bevy/pull/21472
## Context:
> If `default_app` is meant to be
> > The core pieces that most apps need. This serves as a baseline
feature set for other higher level feature collections (such as "2d" and
"3d"). It is also useful as a baseline feature set for scenarios like
headless apps that require no rendering (ex: command line tools,
servers, etc).
>
> why should `bevy_window` / `custom_cursor` be there? I would expect
these to be in `common_api`.
\- Me,
https://discord.com/channels/691052431525675048/692572690833473578/1460424003486224517
> Imo this is a mistake. Can you open a PR with a migration guide
please?
\- Alice,
https://discord.com/channels/691052431525675048/692572690833473578/1460429142376845404
## Solution
- <strike>Move `bevy_window`, `bevy_input_focus`, `custom_cursor`
features from `default_app` collection to `common_api`</strike>
- From `default_app` collection move: `bevy_window` to `common_api`,
`bevy_input_focus` to `ui_api`, and `custom_cursor` to
`default_platform`.
## Testing
- Did you test these changes? If so, how?
Confirmed that `default_app` collection no longer introduces the crates
to the dependency tree:
```sh
$ git checkout bevy/main -q
$ cargo tree --no-default-features -Fdefault_app -e normal | grep -e bevy_window -e bevy_input_focus -e custom_cursor
├── bevy_input_focus v0.18.0-dev
│ ├── bevy_window v0.18.0-dev
├── bevy_window v0.18.0-dev (*)
├── bevy_input_focus v0.18.0-dev (*)
├── bevy_window v0.18.0-dev (*)
$ git checkout reduced-feature-group
Previous HEAD position was
|
||
|
|
9e85b052d8 |
cache packages from ppa:kisak/turtle (#24143)
# Objective - ppa:kisak/turtle has been unstable lately - Improve CI stability ## Solution - Cache the packages in actions cache - Use the cache if available, otherwise clean install ## Testing - I did the same changes to the example runner |
||
|
|
027c560751 |
Add Disabled/Enabled state scoped components (#24142)
# Objective Fixes #19087 ## Solution Add - `DisableWhen` - `DisableOnEnter` - `DisableOnExit` - `EnableWhen` - `EnableOnEnter` - `EnableOnExit` ## Testing This is the exact same code copied over from `DespawnWhen`/`DespawnOnEnter`/`DespawnOnExit`, so it should work. If tests are needed lmk and I'll add them ## Showcase ```rust #[derive(Component, Clone, Default)] pub struct Player; #[derive(States, Hash, PartialEq, Eq, Clone, Default, Debug)] pub enum GameState { #[default] MainMenu, Loading, InGame } fn main() -> AppExit { App::new() .init_state::<GameState>() .add_systems(Startup, player.spawn()) .run() } fn player() -> impl Scene { bsn! { Disabled Player EnableOnEnter(GameState::InGame) DisableOnExit(GameState::InGame) } } ``` |
||
|
|
4f1bdaa156 |
Update getrandom requirement from 0.3 to 0.4 (#23069)
Updates the requirements on [getrandom](https://github.com/rust-random/getrandom) to permit the latest version. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rust-random/getrandom/blob/master/CHANGELOG.md">getrandom's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/rust-random/getrandom/compare/v0.4.0...v0.4.1">0.4.1</a> - 2026-02-03</h2> <h3>Fixed</h3> <ul> <li>Documentation build on docs.rs <a href="https://redirect.github.com/rust-random/getrandom/issues/801">#801</a></li> </ul> <p><a href="https://redirect.github.com/rust-random/getrandom/issues/801">#801</a>: <a href="https://redirect.github.com/rust-random/getrandom/pull/801">rust-random/getrandom#801</a></p> <h2><a href="https://github.com/rust-random/getrandom/compare/v0.3.4...v0.4.0">0.4.0</a> - 2026-02-02</h2> <h3>Added</h3> <ul> <li><code>RawOsError</code> type alias <a href="https://redirect.github.com/rust-random/getrandom/issues/739">#739</a></li> <li><code>SysRng</code> behind new feature <code>sys_rng</code> <a href="https://redirect.github.com/rust-random/getrandom/issues/751">#751</a></li> <li>WASIp3 support <a href="https://redirect.github.com/rust-random/getrandom/issues/779">#779</a></li> <li><code>extern_impl</code> opt-in backend <a href="https://redirect.github.com/rust-random/getrandom/issues/786">#786</a> <a href="https://redirect.github.com/rust-random/getrandom/issues/794">#794</a></li> <li>Motor OS support <a href="https://redirect.github.com/rust-random/getrandom/issues/797">#797</a></li> </ul> <h3>Changed</h3> <ul> <li>Use Edition 2024 and MSRV 1.85 <a href="https://redirect.github.com/rust-random/getrandom/issues/749">#749</a></li> </ul> <p><a href="https://redirect.github.com/rust-random/getrandom/issues/739">#739</a>: <a href="https://redirect.github.com/rust-random/getrandom/pull/739">rust-random/getrandom#739</a> <a href="https://redirect.github.com/rust-random/getrandom/issues/749">#749</a>: <a href="https://redirect.github.com/rust-random/getrandom/pull/749">rust-random/getrandom#749</a> <a href="https://redirect.github.com/rust-random/getrandom/issues/751">#751</a>: <a href="https://redirect.github.com/rust-random/getrandom/pull/751">rust-random/getrandom#751</a> <a href="https://redirect.github.com/rust-random/getrandom/issues/779">#779</a>: <a href="https://redirect.github.com/rust-random/getrandom/pull/779">rust-random/getrandom#779</a> <a href="https://redirect.github.com/rust-random/getrandom/issues/786">#786</a>: <a href="https://redirect.github.com/rust-random/getrandom/pull/786">rust-random/getrandom#786</a> <a href="https://redirect.github.com/rust-random/getrandom/issues/794">#794</a>: <a href="https://redirect.github.com/rust-random/getrandom/pull/794">rust-random/getrandom#794</a></p> <h2>[0.3.4] - 2025-10-14</h2> <h3>Major change to <code>wasm_js</code> backend</h3> <p>Now, when the <code>wasm_js</code> feature is enabled, the <code>wasm_js</code> backend will be used by default. Users of <code>wasm32-unknown-unknown</code> targeting JavaScript environments like the Web and Node.js will no longer need to specify:</p> <pre><code>--cfg getrandom_backend="wasm_js" </code></pre> <p>in <code>RUSTFLAGS</code> for the crate to compile. They can now simple enable a feature.</p> <p>Note: this should not affect non-JS users of the <code>wasm32-unknown-unknown</code> target. Using <code>--cfg getrandom_backend</code> will still override the source of randomness <em>even if</em> the <code>wasm_js</code> feature is enabled. This includes <code>--cfg getrandom_backend=custom</code> and <code>--cfg getrandom_backend=unsupported</code>.</p> <p>For more information, see the discussions in <a href="https://redirect.github.com/rust-random/getrandom/issues/671">#671</a>, <a href="https://redirect.github.com/rust-random/getrandom/issues/675">#675</a>, and <a href="https://redirect.github.com/rust-random/getrandom/issues/730">#730</a>.</p> <h3>Added</h3> <ul> <li><code>unsupported</code> opt-in backend <a href="https://redirect.github.com/rust-random/getrandom/issues/667">#667</a></li> <li><code>windows_legacy</code> opt-in backend <a href="https://redirect.github.com/rust-random/getrandom/issues/724">#724</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/rust-random/getrandom/commits/v0.4.1">compare view</a></li> </ul> </details> <br /> You can trigger a rebase of this PR by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> > **Note** > Automatic rebases have been disabled on this pull request as it has been open for over 30 days. Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Carter Anderson <mcanders1@gmail.com> |
||
|
|
a2e47d0793 |
Update intel_tex_2 requirement from 0.4.0 to 0.5.0 (#22447)
Updates the requirements on [intel_tex_2](https://github.com/Traverse-Research/intel-tex-rs-2) to permit the latest version. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/Traverse-Research/intel-tex-rs-2/commit/9a05fb8926d635014fddfcadb02ffd5c84822688"><code>9a05fb8</code></a> Release 0.5.0 (<a href="https://redirect.github.com/Traverse-Research/intel-tex-rs-2/issues/37">#37</a>)</li> <li><a href="https://github.com/Traverse-Research/intel-tex-rs-2/commit/f622631ac87056ef2bafd6468f6a7d703bea13dc"><code>f622631</code></a> Add <code>ispc_texcomp_astc</code> compiled against static Windows/MSVC CRT (<a href="https://redirect.github.com/Traverse-Research/intel-tex-rs-2/issues/35">#35</a>)</li> <li><a href="https://github.com/Traverse-Research/intel-tex-rs-2/commit/31619c18a5438293600a3f5b6d6d89a92707cff7"><code>31619c1</code></a> CI: Sync up <code>generate-binaries</code> with <code>ispc-downsampler</code> slightly to include `...</li> <li><a href="https://github.com/Traverse-Research/intel-tex-rs-2/commit/446eb43d5fd21a1da3646f6cc4b7361b82277689"><code>446eb43</code></a> 🔖 Fix typo (<a href="https://redirect.github.com/Traverse-Research/intel-tex-rs-2/issues/33">#33</a>)</li> <li><a href="https://github.com/Traverse-Research/intel-tex-rs-2/commit/7a262278c8a54014bb54f321430c7574713cf7b6"><code>7a26227</code></a> 🎍 Consistent encode settings referencing (<a href="https://redirect.github.com/Traverse-Research/intel-tex-rs-2/issues/32">#32</a>)</li> <li>See full diff in <a href="https://github.com/Traverse-Research/intel-tex-rs-2/compare/0.4.0...0.5.0">compare view</a></li> </ul> </details> <br /> You can trigger a rebase of this PR by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> > **Note** > Automatic rebases have been disabled on this pull request as it has been open for over 30 days. Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Carter Anderson <mcanders1@gmail.com> |
||
|
|
474ee77d12 |
Bump github/codeql-action from 4.32.6 to 4.35.2 (#24051)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.32.6 to 4.35.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/github/codeql-action/releases">github/codeql-action's releases</a>.</em></p> <blockquote> <h2>v4.35.2</h2> <ul> <li>The undocumented TRAP cache cleanup feature that could be enabled using the <code>CODEQL_ACTION_CLEANUP_TRAP_CACHES</code> environment variable is deprecated and will be removed in May 2026. If you are affected by this, we recommend disabling TRAP caching by passing the <code>trap-caching: false</code> input to the <code>init</code> Action. <a href="https://redirect.github.com/github/codeql-action/pull/3795">#3795</a></li> <li>The Git version 2.36.0 requirement for improved incremental analysis now only applies to repositories that contain submodules. <a href="https://redirect.github.com/github/codeql-action/pull/3789">#3789</a></li> <li>Python analysis on GHES no longer extracts the standard library, relying instead on models of the standard library. This should result in significantly faster extraction and analysis times, while the effect on alerts should be minimal. <a href="https://redirect.github.com/github/codeql-action/pull/3794">#3794</a></li> <li>Fixed a bug in the validation of OIDC configurations for private registries that was added in CodeQL Action 4.33.0 / 3.33.0. <a href="https://redirect.github.com/github/codeql-action/pull/3807">#3807</a></li> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.2">2.25.2</a>. <a href="https://redirect.github.com/github/codeql-action/pull/3823">#3823</a></li> </ul> <h2>v4.35.1</h2> <ul> <li>Fix incorrect minimum required Git version for <a href="https://redirect.github.com/github/roadmap/issues/1158">improved incremental analysis</a>: it should have been 2.36.0, not 2.11.0. <a href="https://redirect.github.com/github/codeql-action/pull/3781">#3781</a></li> </ul> <h2>v4.35.0</h2> <ul> <li>Reduced the minimum Git version required for <a href="https://redirect.github.com/github/roadmap/issues/1158">improved incremental analysis</a> from 2.38.0 to 2.11.0. <a href="https://redirect.github.com/github/codeql-action/pull/3767">#3767</a></li> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.1">2.25.1</a>. <a href="https://redirect.github.com/github/codeql-action/pull/3773">#3773</a></li> </ul> <h2>v4.34.1</h2> <ul> <li>Downgrade default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.24.3">2.24.3</a> due to issues with a small percentage of Actions and JavaScript analyses. <a href="https://redirect.github.com/github/codeql-action/pull/3762">#3762</a></li> </ul> <h2>v4.34.0</h2> <ul> <li>Added an experimental change which disables TRAP caching when <a href="https://redirect.github.com/github/roadmap/issues/1158">improved incremental analysis</a> is enabled, since improved incremental analysis supersedes TRAP caching. This will improve performance and reduce Actions cache usage. We expect to roll this change out to everyone in March. <a href="https://redirect.github.com/github/codeql-action/pull/3569">#3569</a></li> <li>We are rolling out improved incremental analysis to C/C++ analyses that use build mode <code>none</code>. We expect this rollout to be complete by the end of April 2026. <a href="https://redirect.github.com/github/codeql-action/pull/3584">#3584</a></li> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.0">2.25.0</a>. <a href="https://redirect.github.com/github/codeql-action/pull/3585">#3585</a></li> </ul> <h2>v4.33.0</h2> <ul> <li> <p>Upcoming change: Starting April 2026, the CodeQL Action will skip collecting file coverage information on pull requests to improve analysis performance. File coverage information will still be computed on non-PR analyses. Pull request analyses will log a warning about this upcoming change. <a href="https://redirect.github.com/github/codeql-action/pull/3562">#3562</a></p> <p>To opt out of this change:</p> <ul> <li><strong>Repositories owned by an organization:</strong> Create a custom repository property with the name <code>github-codeql-file-coverage-on-prs</code> and the type "True/false", then set this property to <code>true</code> in the repository's settings. For more information, see <a href="https://docs.github.com/en/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization">Managing custom properties for repositories in your organization</a>. Alternatively, if you are using an advanced setup workflow, you can set the <code>CODEQL_ACTION_FILE_COVERAGE_ON_PRS</code> environment variable to <code>true</code> in your workflow.</li> <li><strong>User-owned repositories using default setup:</strong> Switch to an advanced setup workflow and set the <code>CODEQL_ACTION_FILE_COVERAGE_ON_PRS</code> environment variable to <code>true</code> in your workflow.</li> <li><strong>User-owned repositories using advanced setup:</strong> Set the <code>CODEQL_ACTION_FILE_COVERAGE_ON_PRS</code> environment variable to <code>true</code> in your workflow.</li> </ul> </li> <li> <p>Fixed <a href="https://redirect.github.com/github/codeql-action/issues/3555">a bug</a> which caused the CodeQL Action to fail loading repository properties if a "Multi select" repository property was configured for the repository. <a href="https://redirect.github.com/github/codeql-action/pull/3557">#3557</a></p> </li> <li> <p>The CodeQL Action now loads <a href="https://docs.github.com/en/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization">custom repository properties</a> on GitHub Enterprise Server, enabling the customization of features such as <code>github-codeql-disable-overlay</code> that was previously only available on GitHub.com. <a href="https://redirect.github.com/github/codeql-action/pull/3559">#3559</a></p> </li> <li> <p>Once <a href="https://docs.github.com/en/code-security/how-tos/secure-at-scale/configure-organization-security/manage-usage-and-access/giving-org-access-private-registries">private package registries</a> can be configured with OIDC-based authentication for organizations, the CodeQL Action will now be able to accept such configurations. <a href="https://redirect.github.com/github/codeql-action/pull/3563">#3563</a></p> </li> <li> <p>Fixed the retry mechanism for database uploads. Previously this would fail with the error "Response body object should not be disturbed or locked". <a href="https://redirect.github.com/github/codeql-action/pull/3564">#3564</a></p> </li> <li> <p>A warning is now emitted if the CodeQL Action detects a repository property whose name suggests that it relates to the CodeQL Action, but which is not one of the properties recognised by the current version of the CodeQL Action. <a href="https://redirect.github.com/github/codeql-action/pull/3570">#3570</a></p> </li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/github/codeql-action/blob/main/CHANGELOG.md">github/codeql-action's changelog</a>.</em></p> <blockquote> <h1>CodeQL Action Changelog</h1> <p>See the <a href="https://github.com/github/codeql-action/releases">releases page</a> for the relevant changes to the CodeQL CLI and language packs.</p> <h2>[UNRELEASED]</h2> <p>No user facing changes.</p> <h2>4.35.3 - 01 May 2026</h2> <ul> <li><em>Upcoming breaking change</em>: Add a deprecation warning for customers using CodeQL version 2.19.3 and earlier. These versions of CodeQL were discontinued on 9 April 2026 alongside GitHub Enterprise Server 3.15, and will be unsupported by the next minor release of the CodeQL Action. <a href="https://redirect.github.com/github/codeql-action/pull/3837">#3837</a></li> <li>Configurations for private registries that use Cloudsmith or GCP OIDC are now accepted. <a href="https://redirect.github.com/github/codeql-action/pull/3850">#3850</a></li> <li>Best-effort connection tests for private registries now use <code>GET</code> requests instead of <code>HEAD</code> for better compatibility with various registry implementations. For NuGet feeds, the test is now always performed against the service index. <a href="https://redirect.github.com/github/codeql-action/pull/3853">#3853</a></li> <li>Fixed a bug where two diagnostics produced within the same millisecond could overwrite each other on disk, causing one of them to be lost. <a href="https://redirect.github.com/github/codeql-action/pull/3852">#3852</a></li> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.3">2.25.3</a>. <a href="https://redirect.github.com/github/codeql-action/pull/3865">#3865</a></li> </ul> <h2>4.35.2 - 15 Apr 2026</h2> <ul> <li>The undocumented TRAP cache cleanup feature that could be enabled using the <code>CODEQL_ACTION_CLEANUP_TRAP_CACHES</code> environment variable is deprecated and will be removed in May 2026. If you are affected by this, we recommend disabling TRAP caching by passing the <code>trap-caching: false</code> input to the <code>init</code> Action. <a href="https://redirect.github.com/github/codeql-action/pull/3795">#3795</a></li> <li>The Git version 2.36.0 requirement for improved incremental analysis now only applies to repositories that contain submodules. <a href="https://redirect.github.com/github/codeql-action/pull/3789">#3789</a></li> <li>Python analysis on GHES no longer extracts the standard library, relying instead on models of the standard library. This should result in significantly faster extraction and analysis times, while the effect on alerts should be minimal. <a href="https://redirect.github.com/github/codeql-action/pull/3794">#3794</a></li> <li>Fixed a bug in the validation of OIDC configurations for private registries that was added in CodeQL Action 4.33.0 / 3.33.0. <a href="https://redirect.github.com/github/codeql-action/pull/3807">#3807</a></li> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.2">2.25.2</a>. <a href="https://redirect.github.com/github/codeql-action/pull/3823">#3823</a></li> </ul> <h2>4.35.1 - 27 Mar 2026</h2> <ul> <li>Fix incorrect minimum required Git version for <a href="https://redirect.github.com/github/roadmap/issues/1158">improved incremental analysis</a>: it should have been 2.36.0, not 2.11.0. <a href="https://redirect.github.com/github/codeql-action/pull/3781">#3781</a></li> </ul> <h2>4.35.0 - 27 Mar 2026</h2> <ul> <li>Reduced the minimum Git version required for <a href="https://redirect.github.com/github/roadmap/issues/1158">improved incremental analysis</a> from 2.38.0 to 2.11.0. <a href="https://redirect.github.com/github/codeql-action/pull/3767">#3767</a></li> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.1">2.25.1</a>. <a href="https://redirect.github.com/github/codeql-action/pull/3773">#3773</a></li> </ul> <h2>4.34.1 - 20 Mar 2026</h2> <ul> <li>Downgrade default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.24.3">2.24.3</a> due to issues with a small percentage of Actions and JavaScript analyses. <a href="https://redirect.github.com/github/codeql-action/pull/3762">#3762</a></li> </ul> <h2>4.34.0 - 20 Mar 2026</h2> <ul> <li>Added an experimental change which disables TRAP caching when <a href="https://redirect.github.com/github/roadmap/issues/1158">improved incremental analysis</a> is enabled, since improved incremental analysis supersedes TRAP caching. This will improve performance and reduce Actions cache usage. We expect to roll this change out to everyone in March. <a href="https://redirect.github.com/github/codeql-action/pull/3569">#3569</a></li> <li>We are rolling out improved incremental analysis to C/C++ analyses that use build mode <code>none</code>. We expect this rollout to be complete by the end of April 2026. <a href="https://redirect.github.com/github/codeql-action/pull/3584">#3584</a></li> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.0">2.25.0</a>. <a href="https://redirect.github.com/github/codeql-action/pull/3585">#3585</a></li> </ul> <h2>4.33.0 - 16 Mar 2026</h2> <ul> <li> <p>Upcoming change: Starting April 2026, the CodeQL Action will skip collecting file coverage information on pull requests to improve analysis performance. File coverage information will still be computed on non-PR analyses. Pull request analyses will log a warning about this upcoming change. <a href="https://redirect.github.com/github/codeql-action/pull/3562">#3562</a></p> <p>To opt out of this change:</p> <ul> <li><strong>Repositories owned by an organization:</strong> Create a custom repository property with the name <code>github-codeql-file-coverage-on-prs</code> and the type "True/false", then set this property to <code>true</code> in the repository's settings. For more information, see <a href="https://docs.github.com/en/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization">Managing custom properties for repositories in your organization</a>. Alternatively, if you are using an advanced setup workflow, you can set the <code>CODEQL_ACTION_FILE_COVERAGE_ON_PRS</code> environment variable to <code>true</code> in your workflow.</li> <li><strong>User-owned repositories using default setup:</strong> Switch to an advanced setup workflow and set the <code>CODEQL_ACTION_FILE_COVERAGE_ON_PRS</code> environment variable to <code>true</code> in your workflow.</li> </ul> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/github/codeql-action/commit/95e58e9a2cdfd71adc6e0353d5c52f41a045d225"><code>95e58e9</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/3824">#3824</a> from github/update-v4.35.2-d2e135a73</li> <li><a href="https://github.com/github/codeql-action/commit/6f31bfe060e817d81e938dbec767969d20031e25"><code>6f31bfe</code></a> Update changelog for v4.35.2</li> <li><a href="https://github.com/github/codeql-action/commit/d2e135a73a39154e3a231aeb49163c4661c5b8b1"><code>d2e135a</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/3823">#3823</a> from github/update-bundle/codeql-bundle-v2.25.2</li> <li><a href="https://github.com/github/codeql-action/commit/60abb65df09fcf213c398e064c8a80db1f15cdaf"><code>60abb65</code></a> Add changelog note</li> <li><a href="https://github.com/github/codeql-action/commit/5a0a562209255e956ad8aafcee303294e64eefa2"><code>5a0a562</code></a> Update default bundle to codeql-bundle-v2.25.2</li> <li><a href="https://github.com/github/codeql-action/commit/65216971a11ded447a6b76263d5a144519e5eee1"><code>6521697</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/3820">#3820</a> from github/dependabot/github_actions/dot-github/wor...</li> <li><a href="https://github.com/github/codeql-action/commit/3c45af2dd258e1623af1898da5c86545b514e028"><code>3c45af2</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/3821">#3821</a> from github/dependabot/npm_and_yarn/npm-minor-345b93...</li> <li><a href="https://github.com/github/codeql-action/commit/f1c339364c12f922998186ed897e45e3b4ae8874"><code>f1c3393</code></a> Rebuild</li> <li><a href="https://github.com/github/codeql-action/commit/1024fc496c87e944a93e98d8cf2c09e2c7602a30"><code>1024fc4</code></a> Rebuild</li> <li><a href="https://github.com/github/codeql-action/commit/9dd4cfed96030ccdfe1af4daf7a7964322704fed"><code>9dd4cfe</code></a> Bump the npm-minor group across 1 directory with 6 updates</li> <li>Additional commits viewable in <a href="https://github.com/github/codeql-action/compare/0d579ffd059c29b07949a3cce3983f0780820c98...95e58e9a2cdfd71adc6e0353d5c52f41a045d225">compare view</a></li> </ul> </details> <br /> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
dd9203c4b0 |
Bump actions/cache from 5.0.4 to 5.0.5 (#24053)
Bumps [actions/cache](https://github.com/actions/cache) from 5.0.4 to 5.0.5. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/cache/releases">actions/cache's releases</a>.</em></p> <blockquote> <h2>v5.0.5</h2> <h2>What's Changed</h2> <ul> <li>Update ts-http-runtime dependency by <a href="https://github.com/yacaovsnc"><code>@yacaovsnc</code></a> in <a href="https://redirect.github.com/actions/cache/pull/1747">actions/cache#1747</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/cache/compare/v5...v5.0.5">https://github.com/actions/cache/compare/v5...v5.0.5</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/actions/cache/blob/main/RELEASES.md">actions/cache's changelog</a>.</em></p> <blockquote> <h1>Releases</h1> <h2>How to prepare a release</h2> <blockquote> <p>[!NOTE]<br /> Relevant for maintainers with write access only.</p> </blockquote> <ol> <li>Switch to a new branch from <code>main</code>.</li> <li>Run <code>npm test</code> to ensure all tests are passing.</li> <li>Update the version in <a href="https://github.com/actions/cache/blob/main/package.json"><code>https://github.com/actions/cache/blob/main/package.json</code></a>.</li> <li>Run <code>npm run build</code> to update the compiled files.</li> <li>Update this <a href="https://github.com/actions/cache/blob/main/RELEASES.md"><code>https://github.com/actions/cache/blob/main/RELEASES.md</code></a> with the new version and changes in the <code>## Changelog</code> section.</li> <li>Run <code>licensed cache</code> to update the license report.</li> <li>Run <code>licensed status</code> and resolve any warnings by updating the <a href="https://github.com/actions/cache/blob/main/.licensed.yml"><code>https://github.com/actions/cache/blob/main/.licensed.yml</code></a> file with the exceptions.</li> <li>Commit your changes and push your branch upstream.</li> <li>Open a pull request against <code>main</code> and get it reviewed and merged.</li> <li>Draft a new release <a href="https://github.com/actions/cache/releases">https://github.com/actions/cache/releases</a> use the same version number used in <code>package.json</code> <ol> <li>Create a new tag with the version number.</li> <li>Auto generate release notes and update them to match the changes you made in <code>RELEASES.md</code>.</li> <li>Toggle the set as the latest release option.</li> <li>Publish the release.</li> </ol> </li> <li>Navigate to <a href="https://github.com/actions/cache/actions/workflows/release-new-action-version.yml">https://github.com/actions/cache/actions/workflows/release-new-action-version.yml</a> <ol> <li>There should be a workflow run queued with the same version number.</li> <li>Approve the run to publish the new version and update the major tags for this action.</li> </ol> </li> </ol> <h2>Changelog</h2> <h3>5.0.4</h3> <ul> <li>Bump <code>minimatch</code> to v3.1.5 (fixes ReDoS via globstar patterns)</li> <li>Bump <code>undici</code> to v6.24.1 (WebSocket decompression bomb protection, header validation fixes)</li> <li>Bump <code>fast-xml-parser</code> to v5.5.6</li> </ul> <h3>5.0.3</h3> <ul> <li>Bump <code>@actions/cache</code> to v5.0.5 (Resolves: <a href="https://github.com/actions/cache/security/dependabot/33">https://github.com/actions/cache/security/dependabot/33</a>)</li> <li>Bump <code>@actions/core</code> to v2.0.3</li> </ul> <h3>5.0.2</h3> <ul> <li>Bump <code>@actions/cache</code> to v5.0.3 <a href="https://redirect.github.com/actions/cache/pull/1692">#1692</a></li> </ul> <h3>5.0.1</h3> <ul> <li>Update <code>@azure/storage-blob</code> to <code>^12.29.1</code> via <code>@actions/cache@5.0.1</code> <a href="https://redirect.github.com/actions/cache/pull/1685">#1685</a></li> </ul> <h3>5.0.0</h3> <blockquote> <p>[!IMPORTANT] <code>actions/cache@v5</code> runs on the Node.js 24 runtime and requires a minimum Actions Runner version of <code>2.327.1</code>.</p> </blockquote> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/cache/commit/27d5ce7f107fe9357f9df03efb73ab90386fccae"><code>27d5ce7</code></a> Merge pull request <a href="https://redirect.github.com/actions/cache/issues/1747">#1747</a> from actions/yacaovsnc/update-dependency</li> <li><a href="https://github.com/actions/cache/commit/f280785d7b6e1884c7d12b9136eb0f4a1574fcfd"><code>f280785</code></a> licensed changes</li> <li><a href="https://github.com/actions/cache/commit/619aeb1606e195be0b36fd0ff68dcf1aff6b65a7"><code>619aeb1</code></a> npm run build generated dist files</li> <li><a href="https://github.com/actions/cache/commit/bcf16c2893940a4899761e55c7ac3c1cf88a04f6"><code>bcf16c2</code></a> Update ts-http-runtime to 0.3.5</li> <li>See full diff in <a href="https://github.com/actions/cache/compare/668228422ae6a00e4ad889ee87cd7109ec5666a7...27d5ce7f107fe9357f9df03efb73ab90386fccae">compare view</a></li> </ul> </details> <br /> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
0376e7177f |
Bump crate-ci/typos from 1.45.1 to 1.45.2 (#24128)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.45.1 to 1.45.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/releases">crate-ci/typos's releases</a>.</em></p> <blockquote> <h2>v1.45.2</h2> <h2>[1.45.2] - 2026-04-27</h2> <h3>Fixes</h3> <ul> <li>Ignore ssh ed25519 public keys</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/blob/master/CHANGELOG.md">crate-ci/typos's changelog</a>.</em></p> <blockquote> <h1>Change Log</h1> <p>All notable changes to this project will be documented in this file.</p> <p>The format is based on <a href="https://keepachangelog.com/">Keep a Changelog</a> and this project adheres to <a href="https://semver.org/">Semantic Versioning</a>.</p> <!-- raw HTML omitted --> <h2>[Unreleased] - ReleaseDate</h2> <h2>[1.46.0] - 2026-04-30</h2> <h3>Features</h3> <ul> <li>Updated the dictionary with the <a href="https://redirect.github.com/crate-ci/typos/issues/1531">April 2026</a> changes</li> </ul> <h2>[1.45.2] - 2026-04-27</h2> <h3>Fixes</h3> <ul> <li>Ignore ssh ed25519 public keys</li> </ul> <h2>[1.45.1] - 2026-04-13</h2> <h3>Fixes</h3> <ul> <li><em>(action)</em> Use a temp dir for caching</li> </ul> <h2>[1.45.0] - 2026-04-01</h2> <h3>Features</h3> <ul> <li>Updated the dictionary with the <a href="https://redirect.github.com/crate-ci/typos/issues/1509">March 2026</a> changes</li> </ul> <h2>[1.44.0] - 2026-02-27</h2> <h3>Features</h3> <ul> <li>Updated the dictionary with the <a href="https://redirect.github.com/crate-ci/typos/issues/1488">February 2026</a> changes</li> </ul> <h2>[1.43.5] - 2026-02-16</h2> <h3>Fixes</h3> <ul> <li><em>(pypi)</em> Hopefully fix the sdist build</li> </ul> <h2>[1.43.4] - 2026-02-09</h2> <h3>Fixes</h3> <ul> <li>Don't correct <code>pincher</code></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/crate-ci/typos/commit/7c572958218557a3272c2d6719629443b5cc26fd"><code>7c57295</code></a> chore: Release</li> <li><a href="https://github.com/crate-ci/typos/commit/b5056d68e672a71305f3b5b1dfc3b7e200570b2a"><code>b5056d6</code></a> docs: Update changelog</li> <li><a href="https://github.com/crate-ci/typos/commit/a063c3f6bd6e6e01d91127d5715b0f574fdabda6"><code>a063c3f</code></a> Merge pull request <a href="https://redirect.github.com/crate-ci/typos/issues/1544">#1544</a> from epage/pub</li> <li><a href="https://github.com/crate-ci/typos/commit/5d5e80b1f98b3db3d32198b5a3807aa0fd16208d"><code>5d5e80b</code></a> fix(tokens): Ignore ssh ed25519 pub keys</li> <li><a href="https://github.com/crate-ci/typos/commit/4da614bf1e9c420ec7cbf6c949df86a1b855f422"><code>4da614b</code></a> test(tokens): Show parsing of a public key</li> <li><a href="https://github.com/crate-ci/typos/commit/93c857b593a98e94ba33871b7130363df8b5d51f"><code>93c857b</code></a> chore(deps): Update Rust Stable to v1.95 (<a href="https://redirect.github.com/crate-ci/typos/issues/1540">#1540</a>)</li> <li>See full diff in <a href="https://github.com/crate-ci/typos/compare/cf5f1c29a8ac336af8568821ec41919923b05a83...7c572958218557a3272c2d6719629443b5cc26fd">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
3e76f8c893 |
clip_check_recursive improvements (#24135)
## Objective * `clip_check_recursive` can skip the clip containment test in the absence of clipping * `try_inverse` should be used to avoid invalid results. ## Solution * Skip the clip containment test, if there's no clipping. * Use `try_inverse` to reject non-invertible transforms. ## Testing Changes are very simple, shouldn't be hard to convince anyone they are correct. Test with: ``` cargo run --example overflow ``` |
||
|
|
9bd7e1fca8 |
Run prepass_build_indirect_parameters if there is any prepass (#24113)
# Objective Fixes #24097 Indirect parameters are not built in early prepass if depth prepass and shadow map are not enabled: <img width="1219" height="453" alt="屏幕截图_20260504_123430" src="https://github.com/user-attachments/assets/93854a27-84e5-4918-a167-398ec535e7fc" /> ## Solution Run prepass_build_indirect_parameters if there is any prepass, not only depth prepass. ## Testing `motion_blur` example without shadow map is fixed: <img width="1283" height="489" alt="屏幕截图_20260504_140302" src="https://github.com/user-attachments/assets/7454880d-7338-4282-936f-e540824ce7df" /> |
||
|
|
35678126c4 |
Bump crate-ci/typos from 1.45.0 to 1.45.1 (#24054)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.45.0 to 1.45.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/releases">crate-ci/typos's releases</a>.</em></p> <blockquote> <h2>v1.45.1</h2> <h2>[1.45.1] - 2026-04-13</h2> <h3>Fixes</h3> <ul> <li><em>(action)</em> Use a temp dir for caching</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/blob/master/CHANGELOG.md">crate-ci/typos's changelog</a>.</em></p> <blockquote> <h1>Change Log</h1> <p>All notable changes to this project will be documented in this file.</p> <p>The format is based on <a href="https://keepachangelog.com/">Keep a Changelog</a> and this project adheres to <a href="https://semver.org/">Semantic Versioning</a>.</p> <!-- raw HTML omitted --> <h2>[Unreleased] - ReleaseDate</h2> <h2>[1.46.0] - 2026-04-30</h2> <h3>Features</h3> <ul> <li>Updated the dictionary with the <a href="https://redirect.github.com/crate-ci/typos/issues/1531">April 2026</a> changes</li> </ul> <h2>[1.45.2] - 2026-04-27</h2> <h3>Fixes</h3> <ul> <li>Ignore ssh ed25519 public keys</li> </ul> <h2>[1.45.1] - 2026-04-13</h2> <h3>Fixes</h3> <ul> <li><em>(action)</em> Use a temp dir for caching</li> </ul> <h2>[1.45.0] - 2026-04-01</h2> <h3>Features</h3> <ul> <li>Updated the dictionary with the <a href="https://redirect.github.com/crate-ci/typos/issues/1509">March 2026</a> changes</li> </ul> <h2>[1.44.0] - 2026-02-27</h2> <h3>Features</h3> <ul> <li>Updated the dictionary with the <a href="https://redirect.github.com/crate-ci/typos/issues/1488">February 2026</a> changes</li> </ul> <h2>[1.43.5] - 2026-02-16</h2> <h3>Fixes</h3> <ul> <li><em>(pypi)</em> Hopefully fix the sdist build</li> </ul> <h2>[1.43.4] - 2026-02-09</h2> <h3>Fixes</h3> <ul> <li>Don't correct <code>pincher</code></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/crate-ci/typos/commit/cf5f1c29a8ac336af8568821ec41919923b05a83"><code>cf5f1c2</code></a> chore: Release</li> <li><a href="https://github.com/crate-ci/typos/commit/485d42553ebf5bd9c810c24c6521bf608d663e70"><code>485d425</code></a> docs: Update changelog</li> <li><a href="https://github.com/crate-ci/typos/commit/2fe77ce0ce53ef0ba47e9b371fef1a949baaff3a"><code>2fe77ce</code></a> Merge pull request <a href="https://redirect.github.com/crate-ci/typos/issues/1539">#1539</a> from epage/action</li> <li><a href="https://github.com/crate-ci/typos/commit/a9595eaf0cc3266bd7fa5c3b2ec7e2a5f3685d18"><code>a9595ea</code></a> fix(action): Leave binary in temp dir</li> <li>See full diff in <a href="https://github.com/crate-ci/typos/compare/02ea592e44b3a53c302f697cddca7641cd051c3d...cf5f1c29a8ac336af8568821ec41919923b05a83">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
d461e33e24 |
Bump zizmorcore/zizmor-action from 0.5.2 to 0.5.3 (#24052)
Bumps [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action) from 0.5.2 to 0.5.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/zizmorcore/zizmor-action/releases">zizmorcore/zizmor-action's releases</a>.</em></p> <blockquote> <h2>v0.5.3</h2> <h2>What's Changed</h2> <ul> <li><code>1.24.0</code> and <code>1.24.1</code> are now available via the action</li> <li><code>1.24.1</code> is now the default version of zizmor used by the action</li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/zizmorcore/zizmor-action/compare/v0.5.2...v0.5.3">https://github.com/zizmorcore/zizmor-action/compare/v0.5.2...v0.5.3</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/zizmorcore/zizmor-action/commit/b1d7e1fb5de872772f31590499237e7cce841e8e"><code>b1d7e1f</code></a> Sync zizmor versions (<a href="https://redirect.github.com/zizmorcore/zizmor-action/issues/102">#102</a>)</li> <li><a href="https://github.com/zizmorcore/zizmor-action/commit/a195b57475917ddcb70845e5ffe1c3a15dbbdedc"><code>a195b57</code></a> Sync zizmor versions (<a href="https://redirect.github.com/zizmorcore/zizmor-action/issues/100">#100</a>)</li> <li><a href="https://github.com/zizmorcore/zizmor-action/commit/629d5d01fe5939a6aeae25c1bd1acd2cfa28e9b2"><code>629d5d0</code></a> chore(deps): bump github/codeql-action in the github-actions group (<a href="https://redirect.github.com/zizmorcore/zizmor-action/issues/99">#99</a>)</li> <li><a href="https://github.com/zizmorcore/zizmor-action/commit/453d591467e8199b1d5c6883b6ec5c22a12aac72"><code>453d591</code></a> chore(deps): bump the github-actions group with 2 updates (<a href="https://redirect.github.com/zizmorcore/zizmor-action/issues/98">#98</a>)</li> <li><a href="https://github.com/zizmorcore/zizmor-action/commit/ea2c18b942410df0b22bed3b94c361c407518d45"><code>ea2c18b</code></a> Bump pins (<a href="https://redirect.github.com/zizmorcore/zizmor-action/issues/97">#97</a>)</li> <li>See full diff in <a href="https://github.com/zizmorcore/zizmor-action/compare/71321a20a9ded102f6e9ce5718a2fcec2c4f70d8...b1d7e1fb5de872772f31590499237e7cce841e8e">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
a50b65dfa5 |
Store resources on sparse sets (#24077)
# Objective Part of the #23988 and #24058 saga. We attempt to speed up resource access. ## Solution When messing around with #23988 I noticed that changing the storage type mattered a lot for the benchmarks. ## Testing Added benchmarks from #24058 and got the following micro benchmarks compared to main: ``` ecs::resources::get time: [6.3584 ns 6.3840 ns 6.4097 ns] change: [−10.625% −10.075% −9.6652%] (p = 0.00 < 0.05) Performance has improved. Found 9 outliers among 100 measurements (9.00%) 1 (1.00%) low mild 8 (8.00%) high mild ecs::resources::get_mut time: [7.4181 ns 7.4343 ns 7.4515 ns] change: [−39.895% −39.304% −38.809%] (p = 0.00 < 0.05) Performance has improved. Found 7 outliers among 100 measurements (7.00%) 5 (5.00%) high mild 2 (2.00%) high severe ecs::resources::insert_remove time: [89.515 ns 89.654 ns 89.815 ns] change: [−20.163% −16.527% −11.930%] (p = 0.00 < 0.05) Performance has improved. Found 10 outliers among 100 measurements (10.00%) 2 (2.00%) low severe 1 (1.00%) low mild 3 (3.00%) high mild 4 (4.00%) high severe ``` If someone wants to double-check these numbers, I encourage you to do so. |
||
|
|
0d6131008c |
Make 1-to-1 Relationship clearer in docs (#24116)
# Objective Make the possibility of 1-to-1 `Relationship` clearer in the docs, so that people know it's an option. (There's already a passing mention of it at the top, but that doesn't show that it's supported in code.) ## Solution Added an example to the doc comment to show how it's done, and explained what happens if you try to add another entity anyway. ## Testing Ran `cargo doc` and looked at the new docs to see if they're ok. |
||
|
|
9ee0573ebd |
Push window resize and scale factor messages to bevy_window_events (#24046)
I was initially using `MessageReader<WindowResized>` in my system for my app but once my system grew to use more and more window events, I refactored to using `MessageReader<WindowEvent>` and matching on its variants. This is where I ran into the issue of the `WindowEvent::WindowResized` case never matching. When making this PR, I noticed `WindowEvent::WindowBackendScaleFactorChanged` and `WindowEvent::WindowScaleFactorChanged` had the same issue. # Objective Fixes #15268 ## Solution Instead of writing into `MessageWriter<WindowResized>`, `MessageWriter<WindowBackendScaleFactorChanged>` and `MessageWriter<WindowScaleFactorChanged>`, push into `bevy_window_events` where it gets sent to the `forward_bevy_events` function for syncing the messages. ## Testing I made local modifications to the `window_resizing` example to use a `MessageReader<WindowEvent>` instead of `MessageReader<WindowResized>` like so: ```rs fn on_resize_system( mut text: Single<&mut Text, With<ResolutionText>>, mut resize_reader: MessageReader<WindowEvent>, ) { for e in resize_reader.read() { if let WindowEvent::WindowResized(e) = e { // When resolution is being changed text.0 = format!("{:.1} x {:.1}", e.width, e.height); } } } ``` I ran this example on linux wayland. |
||
|
|
fc5c1806b4 |
Revert Screen Space Transmission Gate for Mesh Bind Groups (#24089)
# Objective - Alongside #24086, helps with #24084, although I think we should double check any other added conditionals for bind group entries to make sure they are accurate. ## Solution So, originally the `SCREEN_SPACE_TRANSMISSION` was enabled with `key.intersects(MeshPipelineKey::SCREEN_SPACE_SPECULAR_TRANSMISSION_RESERVED_BITS)`. However, a low quality transmission would make this false, since low’s MeshPipelineKey is configured like this: `const SCREEN_SPACE_SPECULAR_TRANSMISSION_LOW = 0 << Self::SCREEN_SPACE_SPECULAR_TRANSMISSION_SHIFT_BITS;`. So, a ScreenSpaceTransmission with Low Quality would break rendering (since another if-block merely checks that the `ScreenSpaceTransmission` component exists) Making it so that the low transmission truly does *not* include the view_transmission_textures makes the transmission render not properly - the spheres disappear! So, I think the proper fix here is to remove the gating around transmission textures. Edit: Another potential fix is to change the condition of the `intersects` but I’m not sure how to encode what we want unless we want to add another bit for `ScreenSpaceTransmission` component exists essentially? Happy to close this PR if that is an acceptable direction. ## Testing `cargo run --example transmission` works for all quality levels. |
||
|
|
ff8f3b5705 |
fix: Handle<T>::from_reflect incorrectly instantiating regardless of T type (#24048)
# Objective
Fixes issue where handles generate no problem regardless of T type via
`from_reflect` due to strong handle's being fully opaque and simply
cloned.
## Solution
Adds a small type id check to the `FromReflect` implemenation which
fails conversion if the type id is not what we expect:
Reference automatically derived implementation:
```rust
impl<A: Asset> bevy_reflect::FromReflect for Handle<A>
where
Handle<A>: ::core::any::Any + ::core::marker::Send + ::core::marker::Sync,
A: bevy_reflect::TypePath,
{
fn from_reflect(__param0: &dyn bevy_reflect::PartialReflect) -> ::core::option::Option<Self> {
if let bevy_reflect::ReflectRef::Enum(__param0) =
bevy_reflect::PartialReflect::reflect_ref(__param0)
{
match bevy_reflect::enums::Enum::variant_name(__param0) {
"Strong" => ::core::option::Option::Some(Handle::Strong {
0: {
let __0 = __param0.field_at(0usize);
let __0 = __0?;
<Arc<StrongHandle> as bevy_reflect::FromReflect>::from_reflect(__0)?
},
}),
"Uuid" => ::core::option::Option::Some(Handle::Uuid {
0: {
let __0 = __param0.field_at(0usize);
let __0 = __0?;
<Uuid as bevy_reflect::FromReflect>::from_reflect(__0)?
},
1: ::core::default::Default::default(),
}),
name => panic!(
"variant with name `{}` does not exist on enum `{}`",
name,
<Self as bevy_reflect::TypePath>::type_path()
),
}
} else {
::core::option::Option::None
}
}
}
```
## Testing
added basic tests
---------
Co-authored-by: Alice Cecile <alice.i.cecile@gmail.com>
Co-authored-by: Greeble <166992735+greeble-dev@users.noreply.github.com>
|
||
|
|
c757497b27 |
Gate LTC LUTs behind a feature and merge them to a texture array (#24065)
# Objective Alternative to #24004. https://github.com/bevyengine/bevy/pull/23288 adds ltc luts for rect light support which implicitly requires `bevy_image/ktx2` and `bevy_image/zstd` otherwise loading ltc luts will panic. We either accept to always enable area light supoort (#24004), or add a feature to opt out it (this PR). ## Solution Gate ltc luts behind a feature and merge them to a texture array. ## Testing `rect_light` example works. --------- Co-authored-by: Kevin Chen <chen.kevin.f@gmail.com> |
||
|
|
827358a922 |
Limit Pixel 10 to GPU preprocessing without GPU culling (#24101)
# Objective - Workaround for #23754 until we find the actual issue or Google fixes its driver ## Solution - Limit Pixel 10 to GPU preprocessing without GPU culling ## Testing - Ran the android example on my Pixel 10 |
||
|
|
abc6c9049b |
Feathers bsn! style improvements (#24063)
Use our "shorthand" conventions for `Val` everywhere in feathers code / usage This also: - adds a `VariantDefaults` derive to `Visibility` to make it usable without `template_value` - adds `From<Val>` to BorderRadius to support `px(10)` assignments instead of `BorderRadius::all(px(10))` --------- Co-authored-by: Alice Cecile <alice.i.cecile@gmail.com> Co-authored-by: ickshonpe <david.curthoys@googlemail.com> |
||
|
|
74e7f1dd14 |
Integrate bevy_world_serialization rename into existing release content (#24110)
# Objective An existing migration guide + release note got clobbered by the `bevy_scene` -> `bevy_ecs_serialization` rename. Fixes #24007. ## Solution Carefully integrate the rename into the text to make the migration less confusing. |
||
|
|
17602868b7 |
General entity set cleanup (#21498)
# Objective
There are various straightforward cleanup/code quality changes that can
be done in the entity set logic.
## Solution
These changes tend to be far-reaching and bitrotty, so this PR stacks
several of them. It should be reviewed commit after commit!
Commit 1: Privatizing entity set type fields
- Sometimes, other places in the engine would make use of the
crate-public nature of some of these types to circumvent
encapsulation, which risks circumventing safety requirements as well.
Commit 2: entity set constructor consistency
- There were some missing constructors that serve as more direct and
consistent code paths into entity set logic.
Commit 3: inline entity set logic
- When authoring the entirety of `EntitySet`, I just... completely
forgot about any inlining! They had no semantic impact, so I
didn't think of them XD.
- The inlines here are best-effort, and try to roughly match the
inlining decisions `std` makes. Sometimes, those decisions are
mysteries, or might be downright suboptimal, but that is a lot of effort
to check.
(Looking at you, `binary_search`/`binary_search_by`...)
- This should result in a small general performance gain for code based
on this logic.
LIkely noticeable with `EntityHashMap`/`Set``propagate_transforms`.
Commit 4: stop internally skipping entity set type construction safety
- This mostly serves as documentation for further contributors/users,
clarifying why certain impls exist, and why the API
should not be circumvented.
Commit 5: Turn various entity set functions const
- Self-explanatory, some functions can be turned const.
Commit 6: miscellaneous simplifications
- Self-explanatory
Commit 7: doc cleanup
- Mostly typos and some broken imports
- I don't really understand why the `indexmap` doc links are broken,
given that they work when I generate the docs locally. So
left them as is for now
Commit 8: update bevy ecs msrv to 1.89, and the associated clippy fixes.
There is more to do, like add methods that have since been added to the
various types, and cleanup/inlining surrounding query iteration methods
directly, but I wanted to restrict myself to the `entity` module for
now. This PR frees me up to do other entity set changes with less worry
about cleanup conflicts.
## Testing
These code quality/consistency changes should not change semantics,
outside of adding a few missing constructors.
|
||
|
|
637eeec352 |
feat(animation): implement Animatable for Rot2 (#23621)
## Objective This PR adds animation support for 2D rotations by implementing the `Animatable` trait for `Rot2`. This enables developers to smoothly animate 2D entities and UI elements. *(Note: This is a clean, cherry-picked recreation of #23618 targeting the `main` branch, as suggested by @alice-i-cecile .)* ## Solution To ensure mathematical correctness and consistency with existing Bevy math types (like `Quat`), this implementation includes: - **Shortest-path interpolation:** Uses spherical linear interpolation (`slerp`) so that rotations naturally take the shortest route (e.g., passing through 0° rather than 180° when moving from 89° to -89°). - **Standardized blending:** Implements precise cumulative and additive blending logic that perfectly mirrors the behavior of `Quat`. - **Comprehensive Unit Tests:** Added tests specifically to verify: - Shortest path interpolation. - Absolute blending with equal weights. - Cumulative multi-way blending. - Additive blending. - **Example Update:** Updated the `animated_ui` example to showcase the new `Rot2` animation capabilities. ## Testing - [x] All new unit tests pass (`cargo test -p bevy_animation --lib animatable`). - [x] Ran `cargo fmt` and `cargo clippy`. - [x] Tested the `animated_ui` example locally to ensure the 2D rotation curve behaves as expected. --------- Co-authored-by: Alice Cecile <alice.i.cecile@gmail.com> |
||
|
|
b70ebb2186 |
Remove unused parts of AssetLoaders::find (#23703)
## Objective
`AssetLoaders::find` maps from various properties to an asset loader:
```rust
fn find(
&self,
type_name: Option<&str>,
asset_type_id: Option<TypeId>,
extension: Option<&str>,
asset_path: Option<&AssetPath<'_>>,
) -> Option<MaybeAssetLoader> {
```
But in practice the `type_name` and `extension` parameters are always
`None`, and the `asset_path` parameter is always `Some`.
## Solution
This PR removes the unused parts:
```diff
fn find(
&self,
- type_name: Option<&str>,
asset_type_id: Option<TypeId>,
- extension: Option<&str>,
- asset_path: Option<&AssetPath<'_>>,
+ asset_path: &AssetPath<'_>,
) -> Option<MaybeAssetLoader> {
```
`AssetLoaders::find` is `pub(crate)`, so this should not affect users.
I looked back at the [original
PR](https://github.com/bevyengine/bevy/pull/11644) and couldn't spot any
cases where these parameters were ever used. I'm not sure if that's an
oversight or if they were intended for future use.
I also made matching changes to `AssetLoaderError::MissingAssetLoaders`.
This is `pub` so technically should have a migration guide. I'm not
entirely convinced that's necessary for such a trivial change, but happy
to add one if requested.
```diff
MissingAssetLoader {
- loader_name: Option<String>,
asset_type_id: Option<TypeId>,
- extension: Option<String>,
- asset_path: Option<String>,
+ asset_path: String,
},
```
## Testing
```sh
cargo test -p bevy_asset
cargo run --example asset_loading
cargo run --example asset_processing --features="file_watcher asset_processor"
```
|
||
|
|
5d03586dd7 |
Use <[T]>::as_chunks{_mut} for exact size chunks (#23755)
# Objective
- Reduce `unwrap`s and bounds checks.
## Solution
- Replace usages of `<[T]>::chunks{_mut}` and
`<[T]>::chunks_exact{_mut}` where the size is exact with
`<[T]>::as_chunks{_mut}`.
## Testing
- Ran `cargo run -p ci -- compile`
---------
Co-authored-by: Luo Zhihao <luo_zhihao@outlook.com>
|
||
|
|
242f51245e |
Use absolute paths in procedural macros (#23784)
# Objective - Improve procedural macro hygiene. Follow-up to #23718. ## Solution - Use absolute paths in all procedural macros. ## Testing - Ran `cargo run -p ci -- compile` ## Notes - I've qualified `Vec` as `::std::vec::Vec` in the `AsBindGroup` derive because `bevy_render` requires `std`. If `bevy_render` supports `no_std` in the future, this will need to be changed to use the `__macro_exports` strategy used by `bevy_ecs` and `bevy_reflect`. Perhaps `bevy_macro_utils` itself could export `no_std` compatible paths for `alloc` types like `Vec` and `Box` to avoid repeating the same strategy in every crate which generates `alloc` types in macros. - I haven't used absolute paths for primitives (`::core::primitive::bool` vs `bool`) since even `serde` doesn't, but I can do so in this PR if desired. |
||
|
|
11b81eb1d7 |
Solari: Stability improvements (#23968)
Various changes to improve quality. Please review commit by commit. |
||
|
|
211b9ab63f |
EditableText scrolling and cursor fixes (#24032)
# Objective Fix some scrolling jitters and bugs. * The cursor can be scrolled out of view. * Horizontal scrolling is jittery with a cursor taller then the line height. * Vertical scrolling jitters. * Scrolling and cursor state should only update on changes to the editor state and input focus (this is needed so scroll bars will work with a text input). Fixes #23931 ## Solution * Use the full cursor width when calculating the horizontal scroll offset. * Base vertical offsets on the bounds of the current visual line, not the cursor. * Update scrolling on `InputFocus` changes. * `TextLayoutInfo` always holds the cursor geometry (if there is a cursor), made the field a `(bool, Rect)` tuple, the bool is true if the cursor should be rendered. * Lots of clamping, logic behind it mostly trial and error tbh. This should fix the major scrolling bugs, scrolling should feel consistant and intuitive now. Left look-ahead scrolling https://github.com/bevyengine/bevy/issues/23933 left for a follow up, after this is merged. ## Testing ``` cargo run --example multiple_text_inputs cargo run --example multiline_text_input cargo run --example ime_support --features="system_font_discovery" ``` With `ime_support` and `multiline_text_input`, you probably want to set `TextLayout::new_with_no_wrap()` on the inputs to fully appreciate the changes. |
||
|
|
20ec8610d3 |
Add docs for bsn! macro (#24047)
# Objective The bsn! macro has quite a lot of complex syntax and concepts. While much of this is explained in the crate docs, users will regularly miss that documentation. Currently, the docs for `bsn!` itself are blank, yielding a very sad tooltip hover. ## Solution - Write extensive docs for `bsn!`, focusing on syntax and practical usage. - Link to those docs from `bsn_list!` - Fix a factual error from #23604 about when to use `FromTemplate`. - Carefully explain the actual path for `&'static str` -> `Handle`, because I found that a very informative learning exercise while trying to piece together the implicit default mechanisms. ## Notes to reviewers 1. No doc links and all the doc tests are ignored sorry: proc macro crates are literally the worst. I spent like an hour researching and experimenting with solutions for this, but it seems to be an underlying limitation. 2. I think that the lack of `.into()` on boolean literals could and probably should be fixed. Unlike numbers, there's no "two unknowns" problem there that breaks type inference. Definitely not this PR's problem. 3. I think that the explanation is best suited to the macro itself because they're the most discoverable, both on docs.rs and in IDEs. Open to suggestions though. 4. When verifying these docs, check the tests and the PR description of https://github.com/bevyengine/bevy/pull/23413. ## Testing It was mentioned that my understanding about the `FromTemplate` vs `Clone+Default` tradeoffs was simply wrong. I wrote a test to verify that, and I *was* wrong. --------- Co-authored-by: Carter Anderson <mcanders1@gmail.com> |
||
|
|
d6fbec5b5f |
Deps: bump up wgpu and related deps to 29.0.3 (#24064)
# Objective - Should fix #23573 - I don’t have DX-12 so I can’t verify this, just following orders. Someone can verify this is fixed! ## Solution - Search and replace “29.0.1” with “29.0.3” if it is related to wgpu (and checking that the version is available on crates) - Fixes #23220. ## Testing - Leaning on CI for this one personally |
||
|
|
ebdd7d983b |
Fix(bg motion vectors): gate BackgroundMotionVectorsPlugin pipelines to DownlevelFlags(INDEPENDENT_BLEND) (#24067)
# Objective - Help out with #23975 - Fixes an issue on WebGL2 as a result of #23629 - Supporting #23975 on WebGL2 necessitates fixing the “Forward + Prepass” option on the `deferred_rendering` example. The WebGPU focused solution to #23629 requires this PR to also allow the “Forward + Prepass” option to work. ## Solution - @beicause mentioned gating the whole pipeline of `background_motion_vectors.rs` to `DownlevelFlags(INDEPENDENT_BLEND)` as implied in the error message in [this issue comment](https://github.com/bevyengine/bevy/issues/23975#issuecomment-4362512138). It works! ## Testing - Included the change from this PR on top of #24065, and it fixes the `deferred_rendering` example on WebGL2. |
||
|
|
2730c6ee88 |
Remove panic from code gen of an enum's FromReflect derive. (#24068)
# Objective - I noticed this while reviewing #24048. Our current FromReflect derive macro adds a panic for cases when a PartialReflect-ed enum includes a variant we weren't expecting. This can happen for a few reasons, e.g., a variant of the enum has been removed. In any case, **crashing the program** is not the correct answer, since we already have an appropriate response to a failed conversion: just return None! ## Solution - Return None instead of panicking. I also checked if there are any other panics, and it looks like none in the codegen. The only remaining panics have to do with some auto registration file stuff, which seems appropriate to panic on. ## Testing - Added a unit test. |
||
|
|
4b77775c86 |
Improved Val2 and UiTransform constructors (#24074)
# Objective - Add more constructors for `Val2` and `UiTransform`. - `Val2's `px` and `percent` functions should accept `ValNum`'s like the `Val` helper functions do. ## Solution * Add `new` and `all` constructors for `Val2`. * Add a `from_xy` constructor for `UiTransform`. * `Val2`'s `px` and `percent` methods are no longer `const` and now accept `ValNum`s. --------- Co-authored-by: Kevin Chen <chen.kevin.f@gmail.com> |
||
|
|
094543645f |
Change the ColorStop constructors to take ValNum`s (#24075)
# Objective Change the `ColorStop` `px` and `percent` constructors to take `ValNum` instead of `f32`. |
||
|
|
6d9511a5f3 |
Implement From<Val> for Fontsize (#24076)
# Objective Implement `From<Val>` for `Fontsize` so that the `Val` `px`, `vh`, etc helpers to be used to set font sizes in `bsn! `. ## Solution Implement `From<Val>` for `Fontsize`, with `Val::Auto` mapped to `FontSize:Rem(1.)` and `Val::Percent(x)` mapped to `FontSize::Rem(x/100.)`. |
||
|
|
2f01f61cde |
Add Commands::insert_resource_if_neq (#24082)
# Objective - Fixes #24041 ## Testing - [`insert_resource_if_not_equal`](https://github.com/micttyoid/bevy/blob/command-insert-resource-if-neq/crates/bevy_ecs/src/system/commands/mod.rs#L2932) - [`insert_resource_if_not_equal_tracks_caller`](https://github.com/micttyoid/bevy/blob/command-insert-resource-if-neq/crates/bevy_ecs/src/system/commands/mod.rs#L2973) |
||
|
|
d00313ed55 |
Fix: Add SyncComponents for SSAO, ensuring SSAOResources is synced (#24086)
# Objective - The SSAO part of the fix for #24084 ## Solution - Add SSAOResources (and other related components) to the sync component target for SSAO to ensure that adding/removing SSAO also adds/removes resources. This ensures that checking for SSAOResources later in `mesh_view_bindings` logic is valid. ## Testing - `cargo run --example ssao` : toggling “Off” no longer crashes. |
||
|
|
e626337b00 |
Use the shorthand functions to construct Val in examples (#24096)
This is my first bevy PR, please tell me if I'm doing anything wrong. # Objective Contribute to #22695. Showcase the preferred coding style in all examples. ## Solution Replace Val:: constructors with the more ergonomic shorthand functions. Change their float literals to integer literals if they are integral. Exceptions: - const contexts (the shorthand functions are not const) - inside bsn! macros (these are new and presumably know what they are doing) - in testbed (these are not really examples) - Val::ZERO (no helper function) ## Testing Ran the changed examples before and after, except the library example `widgets` where I just checked that it still builds. ## Context There was PR #22765 that fixed the same thing but only in the UI examples. --------- Co-authored-by: ickshonpe <david.curthoys@googlemail.com> |
||
|
|
d03f0c7dc1 |
Renamed ToolButton to FeathersToolButton to be consistent (#24098)
with naming conventions for other widgets. # Objective The `ToolButton` widget was not consistently named like the other controls. ## Solution Renamed. ## Testing Basic manual testing. @cart |
||
|
|
ba7b3c8950 |
Rename bevy_experimental_feathers feature to bevy_feathers (#24108)
# Objective > With the introduction of scene components, the feathers API has now reached its final form. This has a number of consequences: > - There's no longer any reason to keep the experimental flag around > - The effort of migrating the Bevy examples to feathers widgets is unblocked, however I think we should start with migrating just one example - @viridia ## Solution 1. Rename the feature flag. 2. Write a migration guide. This was previously attempted as part of https://github.com/bevyengine/bevy/pull/22934, but I got pushback there. Now that bsn! is more complete (scene components!) things are better. I've opted not to change the default features here, even though it makes it much harder to move our examples over, because that's a much more contentious change. While I feel that Bevy's default features should be example-oriented, that's still up for debate! |
||
|
|
ebbc1e6e45 |
Increase time allocated to run-examples-on-windows-dx12 (#24107)
# Objective Stopgap solution for #24106 so we can actually merge things. ## Solution Double the time allocated (we're game-devs here after all). Leave a comment to the issue tracking this, so when we inevitably get annoyed about how slow this is we have a breadcrumb trail. ## Testing CI do your thing! |
||
|
|
6c2aeffbcc |
Expose MorphIndices::morph_descriptor_index() as public. (#24083)
# Objective My ecosystem crate, bevy_mod_outline, renders the outlines of morphed meshes while reusing the data already bound for this purpose by the regular mesh rendering pipeline. While porting the crate to _0.19-dev_, I found that the new support by #23023 for providing the morph targets in storage buffers requires me to know the morph descriptor index in order to use the prepared data, but this field is not accessible outside of the bevy_pbr crate. ## Solution - Change `MorphIndices::morph_descriptor_index()` from `pub(crate)` to `pub`. ## Testing - Check that Bevy compiles and that the function is accessible from a dependent crate. |
||
|
|
20dc1761c7 |
Fix: use ViewKeyCache in volumetric fog instead of manually creating MeshPipelineViewLayoutKey (#24090)
# Objective - Related #24084 - Fixes `atmosphere` example after merging #23982 ## Solution - As @beicause mentioned, volumetric frog was calculating `MeshPipelineViewLayoutKey` manually when it could just rely on the `ViewKeyCache` instead, which has centralized logic for calculating it in `check_views_need_specialization` (`STBN` is added in `impl From<MeshPipelineKey> for MeshPipelineViewLayoutKey`) ## Testing - `cargo run --example atmosphere` works now, no strobing! - `cargo run --example volumetric_fog` also works - `cargo run --example scrolling_fog` works |
||
|
|
ce2bf99b6a |
Fix flickering when combining CAS with SMAA (#24066)
Fix https://github.com/bevyengine/bevy/issues/24055. |
||
|
|
489818930b |
Update ktx2 to v0.5.0 (#23900)
Updated ktx2 crate. After doing so, Bevy ktx2 files failed to validate due to invalid metadata. I fixed all their metadata, and made sure they passed ktx validate. |