-
Notifications
You must be signed in to change notification settings - Fork 1
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
Derive component conflict resolve #1
Derive component conflict resolve #1
Commits on Jun 7, 2021
-
[assets] remove unnecessary temporary strong handles (bevyengine#2304)
# Objective - When creating an asset, the `update_asset_storage` function was unnecessarily creating an extraneous `Handle` to the created asset via calling `set`. This has some overhead as the `RefChange::Increment/Decrement` event was being sent. - A similar exteraneous handle is also created in `load_async` when loading dependencies. ## Solution - Have the implementation use `Assets::set_untracked` and `AssetServer::load_untracked` so no intermediate handle is created.
Configuration menu - View commit details
-
Copy full SHA for 27d809f - Browse repository at this point
Copy the full SHA 27d809fView commit details -
Removed redundant visibility check (bevyengine#2311)
Since `visible_entities_system` already checks `Visiblie::is_visible` for each entity and requires it to be `true`, there's no reason to verify visibility in `PassNode::prepare` which consumes entities produced by the system.
Configuration menu - View commit details
-
Copy full SHA for a404eb2 - Browse repository at this point
Copy the full SHA a404eb2View commit details -
Automated PR labeling (bevyengine#2301)
# Objective - Currently only issues automatically have labels assigned to them on creation. - The enables pull requests to have the same functionality and currently only adds the `needs-triage` label to all PRs. ## Solution - Integrate `actions/labeler@v2` into the github workflows to automatically tag PRs. - Add a `label-config.yml` file that specifies how PRs should be labeled.
Configuration menu - View commit details
-
Copy full SHA for 17877e8 - Browse repository at this point
Copy the full SHA 17877e8View commit details -
fix automated pr labeling (bevyengine#2316)
# Objective - the PR labeler workflow will always add the `needs-traige` label to every pull request event ## Solution - Limit this workflow to only be on the `opened` event
Configuration menu - View commit details
-
Copy full SHA for 21330a7 - Browse repository at this point
Copy the full SHA 21330a7View commit details
Commits on Jun 8, 2021
-
Add a readme to bevy_ecs (bevyengine#2028)
[RENDERED](https://github.com/NiklasEi/bevy/blob/ecs_readme/crates/bevy_ecs/README.md) Since I am trying to learn more about Bevy ECS at the moment, I thought this issue is a perfect fit. This PR adds a readme to the `bevy_ecs` crate containing a minimal running example of stand alone `bevy_ecs`. Unique features like customizable component storage, Resources or change detection are introduced. For each of these features the readme links to an example in a newly created examples directory inside the `bevy_esc` crate. Resolves bevyengine#2008 Co-authored-by: Carter Anderson <mcanders1@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for cebb553 - Browse repository at this point
Copy the full SHA cebb553View commit details -
expose texture/image conversions as From/TryFrom (bevyengine#2175)
fixes bevyengine#2169 Instead of having custom methods with reduced visibility, implement `From<image::DynamicImage> for Texture` and `TryFrom<Texture> for image::DynamicImage`
Configuration menu - View commit details
-
Copy full SHA for c2722f7 - Browse repository at this point
Copy the full SHA c2722f7View commit details -
[assets] set LoadState properly and more testing! (bevyengine#2226)
1) Sets `LoadState` properly on all failing cases in `AssetServer::load_async` 2) Adds more tests for sad and happy paths of asset loading _Note_: this brings in the `tempfile` crate.
Configuration menu - View commit details
-
Copy full SHA for fe32a60 - Browse repository at this point
Copy the full SHA fe32a60View commit details -
Log errors when loading textures from a gltf file (bevyengine#2260)
When loading a gltf, if there is an error loading textures, it is completely ignored. This can happen for example when loading a file with `jpg` textures without the `jpeg` Bevy feature enabled. This PR adds `warn` logs for the few cases that can happen when loading a texture. Other possible fix would be to break on first error and returning, making the asset loading failed
Configuration menu - View commit details
-
Copy full SHA for 7835c92 - Browse repository at this point
Copy the full SHA 7835c92View commit details -
Configuration menu - View commit details
-
Copy full SHA for ac04c71 - Browse repository at this point
Copy the full SHA ac04c71View commit details -
[assets] properly set
LoadState
with invalid asset extension (bevye……ngine#2318) # Objective - Currently, when calling any of the `AssetServer`'s `load` functions, if the extension does not exist for the given path, the returned handle's load state is always `LoadState::NotLoaded`. - This is due to the `load_async` function early returning without properly creating a `SourceInfo` for the requested asset. - Fixes bevyengine#2261 ## Solution - Add the `SourceInfo` prior to checking for valid extension loaders. And set the `LoadState` to `Failed` if the according loader does not exist.
Configuration menu - View commit details
-
Copy full SHA for e549f14 - Browse repository at this point
Copy the full SHA e549f14View commit details
Commits on Jun 9, 2021
-
Add minimum sizes to textures to prevent crash (bevyengine#2300)
# Objective - Fixes bevyengine#2299 ## Solution - Ensures that textures are never requested with 0 height/width.
Configuration menu - View commit details
-
Copy full SHA for a40ec1c - Browse repository at this point
Copy the full SHA a40ec1cView commit details -
Document FromType trait (bevyengine#2323)
# Objective Prevent future unnecessary mental effort spent figuring out why this trait exists and how to resolve the `TODO`. ## Solution I happened to notice this trait being used when expanding the `#[derive(Reflect)]` macro in my own crate to figure out how it worked, and noticed that there was a `TODO` comment on it because it is only used in the derive macro and thus appeared to be unused. I figured I should document my findings to prevent someone else from finding them out the hard way in the future 😆 Co-authored-by: Waridley <Waridley64@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 5b0f40f - Browse repository at this point
Copy the full SHA 5b0f40fView commit details -
Update deny license to remove MPL as an allowed license (bevyengine#2327
Configuration menu - View commit details
-
Copy full SHA for 19799b8 - Browse repository at this point
Copy the full SHA 19799b8View commit details -
Fix bad bounds for NonSend SystemParams (bevyengine#2325)
# Objective Currently, you can't call `is_added` or `is_changed` on a `NonSend` SystemParam, unless the Resource is a Component (implements `Send` and `Sync`). This defeats the purpose of providing change detection for NonSend Resources. While fixing this, I also noticed that `NonSend` does not have a bound at all on its struct. ## Solution Change the bounds of `T` to always be `'static`.
Configuration menu - View commit details
-
Copy full SHA for 63047b2 - Browse repository at this point
Copy the full SHA 63047b2View commit details -
implement DetectChanges for NonSendMut (bevyengine#2326)
# Objective - The `DetectChanges` trait is used for types that detect change on mutable access (such as `ResMut`, `Mut`, etc...) - `DetectChanges` was not implemented for `NonSendMut` ## Solution - implement `NonSendMut` in terms of `DetectChanges`
Configuration menu - View commit details
-
Copy full SHA for b07b2f5 - Browse repository at this point
Copy the full SHA b07b2f5View commit details -
[assets] Fix
AssetServer::get_handle_path
(bevyengine#2310)# Objective - Currently `AssetServer::get_handle_path` always returns `None` since the inner hash map is never written to. ## Solution - Inside the `load_untracked` function, insert the asset path into the map. This is similar to bevyengine#1290 (thanks @TheRawMeatball)
Configuration menu - View commit details
-
Copy full SHA for 71bf07f - Browse repository at this point
Copy the full SHA 71bf07fView commit details
Commits on Jun 18, 2021
-
fix
clippy
warning failing on CI (bevyengine#2353)# Objective - CI jobs are starting to fail due to `clippy::bool-assert-comparison` and `clippy::single_component_path_imports` being triggered. ## Solution - Fix all uses where `asset_eq!(<condition>, <bool>)` could be replace by `assert!` - Move the `#[allow()]` for `single_component_path_imports` to `#![allow()]` at the start of the files.
Configuration menu - View commit details
-
Copy full SHA for 00d8d5d - Browse repository at this point
Copy the full SHA 00d8d5dView commit details
Commits on Jun 22, 2021
-
Exclude some Branches from running CI (bevyengine#2344)
# Objective bevyengine#2230 allowed the CI to run on every Branch of this Repo. But some Branches should not actually run the CI, which wastes the available capacity of CI runners. ### staging-squash-merge.tmp This Branch is used by Bors when squashing a PR. CI shouldn't need to run here, as the actual verification happens in the staging branch ![ci](https://user-images.githubusercontent.com/66798382/122072006-82ccad00-cdf7-11eb-84c8-29356594180d.PNG) ![ci2](https://user-images.githubusercontent.com/66798382/122072030-85c79d80-cdf7-11eb-8c30-2e3088d47285.png) ### dependabot/** Dependabot creates its branches in this Repo, which causes the CI to run twice on the same commit ![ci3](https://user-images.githubusercontent.com/66798382/122072345-c6bfb200-cdf7-11eb-8de6-3ffcbf641631.PNG) ## Solution Exclude those branches from running CI.
Configuration menu - View commit details
-
Copy full SHA for 39271f2 - Browse repository at this point
Copy the full SHA 39271f2View commit details -
Derive Clone for Time (bevyengine#2360)
# Objective - Make it so that `Time` can be cloned - Makes it so I can clone the entire current `Time` and easily pass it to the user in [Rusty Engine](https://github.com/CleanCut/rusty_engine) instead of [doing this](https://github.com/CleanCut/rusty_engine/blob/8302dc3914d5b14b730e994cca452ce8d252fec2/src/game.rs#L147-L150) ## Solution - Derive the `Clone` trait on `Time`
Configuration menu - View commit details
-
Copy full SHA for f71f93c - Browse repository at this point
Copy the full SHA f71f93cView commit details
Commits on Jun 23, 2021
-
Added helpful adders for systemsets (bevyengine#2366)
# Objective - This adds a way to add `SystemSet`s to Apps.
Configuration menu - View commit details
-
Copy full SHA for 3106dc4 - Browse repository at this point
Copy the full SHA 3106dc4View commit details
Commits on Jun 24, 2021
-
Update wgpu requirement from 0.8 to 0.9 (bevyengine#2371)
Updates the requirements on [wgpu](https://github.com/gfx-rs/wgpu) to permit the latest version. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/gfx-rs/wgpu/blob/master/CHANGELOG.md">wgpu's changelog</a>.</em></p> <blockquote> <h1>Change Log</h1> <h2>v0.9 (2021-06-18)</h2> <ul> <li>Updated: <ul> <li>naga to <code>v0.5</code>.</li> </ul> </li> <li>Added: <ul> <li><code>Features::VERTEX_WRITABLE_STORAGE</code>.</li> <li><code>Features::CLEAR_COMMANDS</code> which allows you to use <code>cmd_buf.clear_texture</code> and <code>cmd_buf.clear_buffer</code>.</li> </ul> </li> <li>Changed: <ul> <li>Updated default storage buffer/image limit to <code>8</code> from <code>4</code>.</li> </ul> </li> <li>Fixed: <ul> <li><code>Buffer::get_mapped_range</code> can now have a range of zero.</li> <li>Fixed output spirv requiring the "kernal" capability.</li> <li>Fixed segfault due to improper drop order.</li> <li>Fixed incorrect dynamic stencil reference for Replace ops.</li> <li>Fixed tracking of temporary resources.</li> <li>Stopped unconditionally adding cubemap flags when the backend doesn't support cubemaps.</li> </ul> </li> <li>Validation: <ul> <li>Ensure that if resources are viewed from the vertex stage, they are read only unless <code>Features::VERTEX_WRITABLE_STORAGE</code> is true.</li> <li>Ensure storage class (i.e. storage vs uniform) is consistent between the shader and the pipeline layout.</li> <li>Error when a color texture is used as a depth/stencil texture.</li> <li>Check that pipeline output formats are logical</li> <li>Added shader label to log messages if validation fails.</li> </ul> </li> <li>Tracing: <ul> <li>Make renderpasses show up in the trace before they are run.</li> </ul> </li> <li>Docs: <ul> <li>Fix typo in <code>PowerPreference::LowPower</code> description.</li> </ul> </li> <li>Player: <ul> <li>Automatically start and stop RenderDoc captures.</li> </ul> </li> <li>Examples: <ul> <li>Handle winit's unconditional exception.</li> </ul> </li> <li>Internal: <ul> <li>Merged wgpu-rs and wgpu back into a single repository.</li> <li>The tracker was split into two different stateful/stateless trackers to reduce overhead.</li> <li>Added code coverage testing</li> <li>CI can now test on lavapipe</li> <li>Add missing extern "C" in wgpu-core on <code>wgpu_render_pass_execute_bundles</code></li> <li>Fix incorrect function name <code>wgpu_render_pass_bundle_indexed_indirect</code> to <code>wgpu_render_bundle_draw_indexed_indirect</code>.</li> </ul> </li> </ul> <h2>wgpu-types-0.8.1 (2021-06-08)</h2> <ul> <li>fix dynamic stencil reference for Replace ops</li> </ul> <h2>v0.8.1 (2021-05-06)</h2> <ul> <li>fix SPIR-V generation from WGSL, which was broken due to "Kernel" capability</li> <li>validate buffer storage classes</li> </ul> <h2>Unreleased</h2> <ul> <li>Added support for storage texture arrays for Vulkan and Metal.</li> </ul> <h2>v0.8 (2021-04-29)</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/gfx-rs/wgpu/commits">compare view</a></li> </ul> </details> <br /> 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 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 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>
Configuration menu - View commit details
-
Copy full SHA for f91def5 - Browse repository at this point
Copy the full SHA f91def5View commit details
Commits on Jun 25, 2021
-
Update hexasphere to 4.0.0. (bevyengine#2390)
# Objective - Update `hexasphere` to 4.0.0, which is now licensed with dual MIT/Apache-2.0.
Configuration menu - View commit details
-
Copy full SHA for 7602317 - Browse repository at this point
Copy the full SHA 7602317View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3a1867a - Browse repository at this point
Copy the full SHA 3a1867aView commit details
Commits on Jun 26, 2021
-
update to major version 3 of action labeler (bevyengine#2340)
# Objective - update action labeler ## Solution - Update to major version to not get notification update of every patch. - Replace bevyengine#2338.
Configuration menu - View commit details
-
Copy full SHA for 7854be7 - Browse repository at this point
Copy the full SHA 7854be7View commit details -
Allow Option<NonSend<T>> and Option<NonSendMut<T>> as SystemParam (be…
…vyengine#2345) # Objective Currently, you can add `Option<Res<T>` or `Option<ResMut<T>` as a SystemParam, if the Resource could potentially not exist, but this functionality doesn't exist for `NonSend` and `NonSendMut` ## Solution Adds implementations to use `Option<NonSend<T>>` and Option<NonSendMut<T>> as SystemParams.
Configuration menu - View commit details
-
Copy full SHA for b8f3d9c - Browse repository at this point
Copy the full SHA b8f3d9cView commit details -
Fixes Timer Precision Error Causing Panic (bevyengine#2362)
# Objective Fixes bevyengine#2361 ## Solution Uses integer division instead of floating-point which prevents precision errors, I think.
Configuration menu - View commit details
-
Copy full SHA for 52e8a19 - Browse repository at this point
Copy the full SHA 52e8a19View commit details -
bevy_utils: Re-introduce
with_capacity()
. (bevyengine#2393)# Objective Re-introduce `AHashExt` and respective `with_capacity()` implementations to give a more ergonomic way to set a `HashMap` / `HashSet` capacity. As a note, this has also been discussed and agreed on issue bevyengine#2115, which this PR addresses (leaving `new()` out of the `AHashExt` trait). Fixes bevyengine#2115. ## Solution PR bevyengine#1235 had removed the `AHashExt` trait and respective `with_capacity()`s implementations, leaving only the less ergonomic `HashMap::with_capacity_and_hasher(size, Default::default())` option available. This re-introduces `AHashExt` and respective `with_capacity()` implementations to give a more ergonomic way to set a `HashMap` / `HashSet` capacity.
Configuration menu - View commit details
-
Copy full SHA for 1bc34b4 - Browse repository at this point
Copy the full SHA 1bc34b4View commit details
Commits on Jun 27, 2021
-
Optional
.system
(bevyengine#2398)This can be your 6 months post-christmas present. # Objective - Make `.system` optional - yeet - It's ugly - Alternative title: `.system` is dead; long live `.system` - **yeet** ## Solution - Use a higher ranked lifetime, and some trait magic. N.B. This PR does not actually remove any `.system`s, except in a couple of examples. Once this is merged we can do that piecemeal across crates, and decide on syntax for labels.
Configuration menu - View commit details
-
Copy full SHA for c893b99 - Browse repository at this point
Copy the full SHA c893b99View commit details
Commits on Jun 28, 2021
-
Commands
benchmarking (bevyengine#2334)# Objective - Currently the `Commands` and `CommandQueue` have no performance testing. - As `Commands` are quite expensive due to the `Box<dyn Command>` allocated for each command, there should be perf tests for implementations that attempt to improve the performance. ## Solution - Add some benchmarking for `Commands` and `CommandQueue`.
Configuration menu - View commit details
-
Copy full SHA for 46b822e - Browse repository at this point
Copy the full SHA 46b822eView commit details
Commits on Jun 29, 2021
-
Optional
.system()
, part 2 (bevyengine#2403)# Objective - Extend work done in bevyengine#2398. - Make `.system()` syntax optional when using system descriptor API. ## Solution - Slight change to `ParallelSystemDescriptorCoercion` signature and implementors. --- I haven't touched exclusive systems, because it looks like the only two other solutions are going back to doubling our system insertion methods, or starting to lean into stageless. The latter will invalidate the former, so I think exclusive systems should remian pariahs until stageless. I can grep & nuke `.system()` thorughout the codebase now, which might take a while, or we can do that in subsequent PR(s).
Configuration menu - View commit details
-
Copy full SHA for 10f2dd3 - Browse repository at this point
Copy the full SHA 10f2dd3View commit details
Commits on Jun 30, 2021
-
[ecs] add
StorageType
documentation (bevyengine#2394)# Objective - Add inline documentation for `StorageType`. - Currently the README in `bevy_ecs` provides docs for `StorageType`, however, adding addition inline docs makes it simpler for users who are actively reading the source code. ## Solution - Add inline docs.
Configuration menu - View commit details
-
Copy full SHA for c8e2415 - Browse repository at this point
Copy the full SHA c8e2415View commit details
Commits on Jul 1, 2021
-
Optional
.system()
, part 3 (bevyengine#2422)# Objective - Continue work of bevyengine#2398 and bevyengine#2403. - Make `.system()` syntax optional when using `.config()` API. ## Solution - Introduce new prelude trait, `ConfigurableSystem`, that shorthands `my_system.system().config(...)` as `my_system.config(...)`. - Expand `configure_system_local` test to also cover the new syntax.
Configuration menu - View commit details
-
Copy full SHA for afb3323 - Browse repository at this point
Copy the full SHA afb3323View commit details -
Fix view vector in pbr frag to work in ortho (bevyengine#2370)
# Objective Fixes bevyengine#2369 ## Solution Use the view forward direction for all frags when using ortho view.
Configuration menu - View commit details
-
Copy full SHA for 46cae59 - Browse repository at this point
Copy the full SHA 46cae59View commit details -
Mention creation of disjoint Querys with
Without<T>
in conflicting ……access Panic (bevyengine#2413) # Objective Beginners semi-regularly appear on the Discord asking for help with using `QuerySet` when they have a system with conflicting data access. This happens because the Resulting Panic message only mentions `QuerySet` as a solution, even if in most cases `Without<T>` was enough to solve the problem. ## Solution Mention the usage of `Without<T>` to create disjoint queries as an alternative to `QuerySet` ## Open Questions - Is `disjoint` a too technical/mathematical word? - Should `Without<T>` be mentioned before or after `QuerySet`? - Before: Using `Without<T>` should be preferred and mentioning it first reinforces this for a reader. - After: The Panics can be very long and a Reader could skip to end and only see the `QuerySet` Co-authored-by: MinerSebas <66798382+MinerSebas@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for b911a00 - Browse repository at this point
Copy the full SHA b911a00View commit details -
Fix unsetting RenderLayers bit in without fn (bevyengine#2409)
# Objective Fixes how the layer bit is unset in the RenderLayers bit mask when calling the `without` method. ## Solution Unsets the layer bit using `&=` and the inverse of the layer bit mask.
Configuration menu - View commit details
-
Copy full SHA for 941a8fb - Browse repository at this point
Copy the full SHA 941a8fbView commit details -
update duplicate dependency skip list (bevyengine#2415)
# Objective - CI is failing because of new duplicate dependency: https://github.com/bevyengine/bevy/pull/2414/checks?check_run_id=2946566180 ## Solution - update dependency duplicate skip list updated `hashbrown` dependency comes from: ``` │ │ ├── bevy_macro_utils v0.5.0 │ │ │ ├── cargo-manifest v0.2.4 │ │ │ │ └── toml v0.5.8 │ │ │ │ ├── indexmap v1.7.0 │ │ │ │ │ └── hashbrown v0.11.2 ```
Configuration menu - View commit details
-
Copy full SHA for 69e888e - Browse repository at this point
Copy the full SHA 69e888eView commit details -
use discord vanity link (bevyengine#2420)
# Objective I wanted to send the Bevy discord link to someone but couldn't find a pretty link to copy paste ## Solution Use the vanity link we have for discord
Configuration menu - View commit details
-
Copy full SHA for b52edc1 - Browse repository at this point
Copy the full SHA b52edc1View commit details
Commits on Jul 5, 2021
-
Added Opensuse Tumbleweed (bevyengine#2375)
# Objective - Describe the objective or issue this PR addresses. - added openSUSE Tumbleweed deps that i needed to install today 2021-06-22 ## Solution - Describe the solution used to achieve the objective above. - added info to doc
Configuration menu - View commit details
-
Copy full SHA for 337e6d5 - Browse repository at this point
Copy the full SHA 337e6d5View commit details
Commits on Jul 6, 2021
-
Fix AssetServer::get_asset_loader deadlock (bevyengine#2395)
# Objective Fixes a possible deadlock between `AssetServer::get_asset_loader` / `AssetServer::add_loader` A thread could take the `extension_to_loader_index` read lock, and then have the `server.loader` write lock taken in add_loader before it can. Then add_loader can't take the extension_to_loader_index lock, and the program deadlocks. To be more precise: ## Step 1: Thread 1 grabs the `extension_to_loader_index` lock on lines 138..139: https://github.com/bevyengine/bevy/blob/3a1867a92edc571b8f842bb1a96112dcbdceae4b/crates/bevy_asset/src/asset_server.rs#L133-L145 ## Step 2: Thread 2 grabs the `server.loader` write lock on line 107: https://github.com/bevyengine/bevy/blob/3a1867a92edc571b8f842bb1a96112dcbdceae4b/crates/bevy_asset/src/asset_server.rs#L103-L116 ## Step 3: Deadlock, since Thread 1 wants to grab `server.loader` on line 141...: https://github.com/bevyengine/bevy/blob/3a1867a92edc571b8f842bb1a96112dcbdceae4b/crates/bevy_asset/src/asset_server.rs#L133-L145 ... and Thread 2 wants to grab 'extension_to_loader_index` on lines 111..112: https://github.com/bevyengine/bevy/blob/3a1867a92edc571b8f842bb1a96112dcbdceae4b/crates/bevy_asset/src/asset_server.rs#L103-L116 ## Solution Fixed by descoping the extension_to_loader_index lock, since `get_asset_loader` doesn't need to hold the read lock on the extensions map for the duration, just to get a copyable usize. The block might not be needed, I think I could have gotten away with just inserting a `copied()` call into the chain, but I wanted to make the reasoning clear for future maintainers.
Configuration menu - View commit details
-
Copy full SHA for 85a10ec - Browse repository at this point
Copy the full SHA 85a10ecView commit details -
Fix name in list of features (bevyengine#2438)
# Objective - Fix the name of the `bevy_dynamic_plugin` feature in the list of features ## Solution - Remove the letter "s" 😶
Configuration menu - View commit details
-
Copy full SHA for bc3f80f - Browse repository at this point
Copy the full SHA bc3f80fView commit details
Commits on Jul 8, 2021
-
Optional
.system()
, part 4 (run criteria) (bevyengine#2431)# Objective - Continue work of bevyengine#2398 and friends. - Make `.system()` optional in run criteria APIs. ## Solution - Slight change to `RunCriteriaDescriptorCoercion` signature and implementors. - Implement `IntoRunCriteria` for `IntoSystem` rather than `System`. - Remove some usages of `.system()` with run criteria in tests of `stage.rs`, to verify the implementation.
Configuration menu - View commit details
-
Copy full SHA for 11485de - Browse repository at this point
Copy the full SHA 11485deView commit details
Commits on Jul 9, 2021
-
wgpu has been moved from "wgpu-rs" to "wgpu" (bevyengine#2445)
Name and link update
Configuration menu - View commit details
-
Copy full SHA for 17bd3f9 - Browse repository at this point
Copy the full SHA 17bd3f9View commit details
Commits on Jul 12, 2021
-
Make Remove Command's fields public (bevyengine#2449)
In bevyengine#2034, the `Remove` Command did not get the same treatment as the rest of the commands. There's no discussion saying it shouldn't have public fields, so I am assuming it was an oversight. This fixes that oversight.
Configuration menu - View commit details
-
Copy full SHA for b48ee02 - Browse repository at this point
Copy the full SHA b48ee02View commit details -
rename example change_detection to have unique name (bevyengine#2419)
# Objective Noticed a warning when running tests: ``` > cargo test --workspace warning: output filename collision. The example target `change_detection` in package `bevy_ecs v0.5.0 (/bevy/crates/bevy_ecs)` has the same output filename as the example target `change_detection` in package `bevy v0.5.0 (/bevy)`. Colliding filename is: /bevy/target/debug/examples/change_detection The targets should have unique names. Consider changing their names to be unique or compiling them separately. This may become a hard error in the future; see <rust-lang/cargo#6313>. warning: output filename collision. The example target `change_detection` in package `bevy_ecs v0.5.0 (/bevy/crates/bevy_ecs)` has the same output filename as the example target `change_detection` in package `bevy v0.5.0 (/bevy)`. Colliding filename is: /bevy/target/debug/examples/change_detection.dSYM The targets should have unique names. Consider changing their names to be unique or compiling them separately. This may become a hard error in the future; see <rust-lang/cargo#6313>. ``` ## Solution I renamed example `change_detection` to `component_change_detection`
Configuration menu - View commit details
-
Copy full SHA for 57c0215 - Browse repository at this point
Copy the full SHA 57c0215View commit details -
docs: add hint that texture atlas padding is between tiles (bevyengin…
…e#2447) I struggled with some sprite sheet animation which was like drifting from right to left. This PR documents the current behaviour that the padding which is used on slicing a texture into a texture atlas, is assumed to be only between tiles. In my case I had some padding also on the right side of the texture.
Configuration menu - View commit details
-
Copy full SHA for 10b0b1a - Browse repository at this point
Copy the full SHA 10b0b1aView commit details
Commits on Jul 13, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 8c8bd3b - Browse repository at this point
Copy the full SHA 8c8bd3bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 71d5702 - Browse repository at this point
Copy the full SHA 71d5702View commit details -
Configuration menu - View commit details
-
Copy full SHA for db50a8d - Browse repository at this point
Copy the full SHA db50a8dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 59042a9 - Browse repository at this point
Copy the full SHA 59042a9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 927a257 - Browse repository at this point
Copy the full SHA 927a257View commit details -
add proc-macro-crate as a known duplicate (bevyengine#2456)
# Objective - CI is failing because of a dependency (`num_enum`) that now uses the latest version of `proc-macro-crate` ``` = proc-macro-crate v0.1.5 ├── ndk-macro v0.2.0 │ ├── ndk-glue v0.2.1 │ │ ├── bevy_asset v0.5.0 │ │ └── bevy_internal v0.5.0 (*) │ └── ndk-glue v0.3.0 │ ├── cpal v0.13.3 │ │ └── rodio v0.14.0 │ │ └── bevy_audio v0.5.0 (*) │ ├── oboe v0.4.2 │ │ └── cpal v0.13.3 (*) │ └── winit v0.25.0 │ ├── bevy_winit v0.5.0 (*) │ └── bevy_winit v0.5.0 (*) └── num_enum_derive v0.4.3 └── num_enum v0.4.3 └── ndk v0.2.1 └── ndk-glue v0.2.1 (*) = proc-macro-crate v1.0.0 └── num_enum_derive v0.5.2 └── num_enum v0.5.2 └── ndk v0.3.0 ├── cpal v0.13.3 │ └── rodio v0.14.0 │ └── bevy_audio v0.5.0 ├── ndk-glue v0.3.0 │ ├── cpal v0.13.3 (*) │ ├── oboe v0.4.2 │ │ └── cpal v0.13.3 (*) │ └── winit v0.25.0 │ ├── bevy_winit v0.5.0 (*) │ └── bevy_winit v0.5.0 (*) ├── oboe v0.4.2 (*) └── winit v0.25.0 (*) ``` ## Solution - Add `proc-macro-crate` as a known duplicate
Configuration menu - View commit details
-
Copy full SHA for 38bc278 - Browse repository at this point
Copy the full SHA 38bc278View commit details -
update archetypes for run criterias (bevyengine#2177)
fixes bevyengine#2000 archetypes were not updated for run criteria on a stage or on a system set
Configuration menu - View commit details
-
Copy full SHA for 5c4909d - Browse repository at this point
Copy the full SHA 5c4909dView commit details -
Bump gaurav-nelson/github-action-markdown-link-check from 1.0.12 to 1…
….0.13 (bevyengine#2452) Bumps [gaurav-nelson/github-action-markdown-link-check](https://github.com/gaurav-nelson/github-action-markdown-link-check) from 1.0.12 to 1.0.13. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/gaurav-nelson/github-action-markdown-link-check/releases">gaurav-nelson/github-action-markdown-link-check's releases</a>.</em></p> <blockquote> <h2>1.0.13</h2> <p>Main changes:</p> <ul> <li>Merge pull request <a href="https://github-redirect.dependabot.com/gaurav-nelson/github-action-markdown-link-check/issues/111">#111</a> from gaurav-nelson/mlc@3.8.7 (9710f0f)</li> <li>Update to markdown-link-check version 3.8.7 (7a77bd1)</li> </ul> <p>Other minor updates:</p> <ul> <li>Merge pull request <a href="https://github-redirect.dependabot.com/gaurav-nelson/github-action-markdown-link-check/issues/107">#107</a> from petethepig/patch-1 (95ffb9c)</li> <li>Adds pyroscope to the list of happy users (2df45f2)</li> <li>Fixed usage examples (cc3343e)</li> <li>Buy me a coffee (24cd99c)</li> <li>Remove treeware badge (f0656de)</li> <li>Add netdata sample (2579500)</li> <li>Update README, fixed LICENSE (4d5a901)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/gaurav-nelson/github-action-markdown-link-check/commit/9710f0fec812ce0a3b98bef4c9d842fc1f39d976"><code>9710f0f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/gaurav-nelson/github-action-markdown-link-check/issues/111">#111</a> from gaurav-nelson/mlc@3.8.7</li> <li><a href="https://github.com/gaurav-nelson/github-action-markdown-link-check/commit/7a77bd14ccf35078a808d92fde3e60d6947bb6a3"><code>7a77bd1</code></a> Update to markdown-link-check version 3.8.7</li> <li><a href="https://github.com/gaurav-nelson/github-action-markdown-link-check/commit/95ffb9cc0e73598e4c8b38ededb26fb209801877"><code>95ffb9c</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/gaurav-nelson/github-action-markdown-link-check/issues/107">#107</a> from petethepig/patch-1</li> <li><a href="https://github.com/gaurav-nelson/github-action-markdown-link-check/commit/2df45f2890f9438465e9b313d18f6913a9a45b16"><code>2df45f2</code></a> Adds pyroscope to the list of happy users</li> <li><a href="https://github.com/gaurav-nelson/github-action-markdown-link-check/commit/cc3343e7a61123601c28649138acb2bd10675a50"><code>cc3343e</code></a> Fixed usage examples</li> <li><a href="https://github.com/gaurav-nelson/github-action-markdown-link-check/commit/24cd99c2f875e0f98b66fcb6903b405664b15d58"><code>24cd99c</code></a> Buy me a coffee</li> <li><a href="https://github.com/gaurav-nelson/github-action-markdown-link-check/commit/f0656de48f62c1777d073db4a5816eba1dcc1364"><code>f0656de</code></a> Remove treeware badge</li> <li><a href="https://github.com/gaurav-nelson/github-action-markdown-link-check/commit/257950028759bd4cbd473022a6e60ca5363ae974"><code>2579500</code></a> Add netdata sample</li> <li><a href="https://github.com/gaurav-nelson/github-action-markdown-link-check/commit/4d5a901466436052915a68d4a856171a50b2c762"><code>4d5a901</code></a> Update README, fixed LICENSE</li> <li>See full diff in <a href="https://github.com/gaurav-nelson/github-action-markdown-link-check/compare/0fe4911067fa322422f325b002d2038ba5602170...9710f0fec812ce0a3b98bef4c9d842fc1f39d976">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gaurav-nelson/github-action-markdown-link-check&package-manager=github_actions&previous-version=1.0.12&new-version=1.0.13)](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 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 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>
Configuration menu - View commit details
-
Copy full SHA for 98f5faf - Browse repository at this point
Copy the full SHA 98f5fafView commit details
Commits on Jul 14, 2021
-
Add feature flag to enable wasm for bevy_audio (bevyengine#2397)
Exposes Rodio feature flag to enable WASM support. Note that mp3 doesn't currently work on wasm.
Configuration menu - View commit details
-
Copy full SHA for d80303d - Browse repository at this point
Copy the full SHA d80303dView commit details -
Remove unused deps (bevyengine#2455)
# Objective Reduce compilation time # Solution Remove unused dependencies. While this PR doesn't remove any crates from `Cargo.lock`, it may unlock more build parallelism.
Configuration menu - View commit details
-
Copy full SHA for ebd1068 - Browse repository at this point
Copy the full SHA ebd1068View commit details
Commits on Jul 15, 2021
-
Update minimal version requirements for dependencies (bevyengine#2460)
This was tested using cargo generate-lockfile -Zminimal-versions. The following indirect dependencies also have minimal version dependencies. For at least num, rustc-serialize and rand this is necessary to compile on rustc versions that are not older than 1.0. * num = "0.1.27" * rustc-serialize = "0.3.20" * termcolor = "1.0.4" * libudev-sys = "0.1.1" * rand = "0.3.14" * ab_glyph = "0.2.7 Based on bevyengine#2455
Configuration menu - View commit details
-
Copy full SHA for fbf561c - Browse repository at this point
Copy the full SHA fbf561cView commit details
Commits on Jul 16, 2021
-
Don't update when suspended to avoid GPU use on iOS. (bevyengine#2482)
# Objective This fixes a crash caused by iOS preventing GPU access when not focused: bevyengine#2296 ## Solution This skips `app.update()` in `winit_runner` when `winit` sends the `Suspended` event, until `Resumed`. I've tested that this works for me on my iOS app.
Configuration menu - View commit details
-
Copy full SHA for 927973c - Browse repository at this point
Copy the full SHA 927973cView commit details -
add check for unused dependencies (bevyengine#2461)
# Objective - Unused dependencies are bad ## Solution - Add check for unused dependencies with https://github.com/est31/cargo-udeps - bevyengine#2455
Configuration menu - View commit details
-
Copy full SHA for de0d459 - Browse repository at this point
Copy the full SHA de0d459View commit details -
[ecs] Improve
Commands
performance (bevyengine#2332)# Objective - Currently `Commands` are quite slow due to the need to allocate for each command and wrap it in a `Box<dyn Command>`. - For example: ```rust fn my_system(mut cmds: Commands) { cmds.spawn().insert(42).insert(3.14); } ``` will have 3 separate `Box<dyn Command>` that need to be allocated and ran. ## Solution - Utilize a specialized data structure keyed `CommandQueueInner`. - The purpose of `CommandQueueInner` is to hold a collection of commands in contiguous memory. - This allows us to store each `Command` type contiguously in memory and quickly iterate through them and apply the `Command::write` trait function to each element.
Configuration menu - View commit details
-
Copy full SHA for ecb7804 - Browse repository at this point
Copy the full SHA ecb7804View commit details
Commits on Jul 17, 2021
-
Relicense bors checks (bevyengine#2493)
# Objective Currently we can sometimes allow PRs by people who haven't agreed to the relicense to get merged into main. E.g. bevyengine#2445 ## Solution This adds a check to ensure that this doesn't happen, by ensuring that bors doesn't relicense said PRs. As a bonus, it also adds config to automatically label new PRs as needing checking, to ensure that we do the verification until we merge the new license.
Configuration menu - View commit details
-
Copy full SHA for c9c322e - Browse repository at this point
Copy the full SHA c9c322eView commit details -
Optional
.system()
, part 6 (chaining) (bevyengine#2494)# Objective - Continue work of bevyengine#2398 and friends. - Make `.system()` optional in chaining. ## Solution - Slight change to `IntoChainSystem` signature and implementation. - Remove some usages of `.system()` in the chaining example, to verify the implementation. --- I swear, I'm not splitting these up on purpose, I just legit forgot about most of the things where `System` appears in public API, and my trait usage explorer mingles that with the gajillion internal uses. In case you're wondering what happened to part 5, bevyengine#2446 ate it.
Configuration menu - View commit details
-
Copy full SHA for f6dbc25 - Browse repository at this point
Copy the full SHA f6dbc25View commit details -
Useful changes with relicensing benefits (bevyengine#2497)
This obsoletes bevyengine#1111 and bevyengine#2445, since @ColonisationCaptain and @temhotaokeaha haven't replied to bevyengine#2373. I believe that both of those PRs would be fine to keep, but they're even more fine to keep now :)
Configuration menu - View commit details
-
Copy full SHA for 3a20462 - Browse repository at this point
Copy the full SHA 3a20462View commit details
Commits on Jul 19, 2021
-
Revert bevyengine#331 (bevyengine#2502)
# Objective @TomBebb (other account being @TomBebbington ) proved unreachable for bevyengine#2373, so we need to revert their changes for the relicense. ## Solution Revert their changes. This is only linux distro docs, so it's not critical code. If someone else wants to test `bevy` on solus to work out the set of packages independently, then we'll probably accept a PR to add these. One suggestsion would be to consider the packages required on other systems, since there is likely to be some overlap. ## Alternatives Link to this old version in the `linux_dependencies.md` file.
Configuration menu - View commit details
-
Copy full SHA for 0aced5f - Browse repository at this point
Copy the full SHA 0aced5fView commit details
Commits on Jul 21, 2021
-
Fix typo in QueryComponentError message (bevyengine#2498)
There was a typo, I believe.
Configuration menu - View commit details
-
Copy full SHA for 0c62b28 - Browse repository at this point
Copy the full SHA 0c62b28View commit details -
disable bors check on android (bevyengine#2513)
# Objective - CI is failing because of an android issue - This is blocking bors ## Solution - Bors can ignore android failures - Keep android job in CI to check its status I'm not android enough to debug this one, this is a temp fix until someone knows how to fix it or it get fixed by itself with updates?
Configuration menu - View commit details
-
Copy full SHA for 2c28331 - Browse repository at this point
Copy the full SHA 2c28331View commit details -
move
get_insert_bundle_info
(bevyengine#2508)I had to move this out in my relations PR and its causing a large diff so I figure I could just do this separately
Configuration menu - View commit details
-
Copy full SHA for ba2916c - Browse repository at this point
Copy the full SHA ba2916cView commit details
Commits on Jul 23, 2021
-
Relicense Bevy under the dual MIT or Apache-2.0 license (bevyengine#2509
) This relicenses Bevy under the dual MIT or Apache-2.0 license. For rationale, see bevyengine#2373. * Changes the LICENSE file to describe the dual license. Moved the MIT license to docs/LICENSE-MIT. Added the Apache-2.0 license to docs/LICENSE-APACHE. I opted for this approach over dumping both license files at the root (the more common approach) for a number of reasons: * Github links to the "first" license file (LICENSE-APACHE) in its license links (you can see this in the wgpu and rust-analyzer repos). People clicking these links might erroneously think that the apache license is the only option. Rust and Amethyst both use COPYRIGHT or COPYING files to solve this problem, but this creates more file noise (if you do everything at the root) and the naming feels way less intuitive. * People have a reflex to look for a LICENSE file. By providing a single license file at the root, we make it easy for them to understand our licensing approach. * I like keeping the root clean and noise free * There is precedent for putting the apache and mit license text in sub folders (amethyst) * Removed the `Copyright (c) 2020 Carter Anderson` copyright notice from the MIT license. I don't care about this attribution, it might make license compliance more difficult in some cases, and it didn't properly attribute other contributors. We shoudn't replace it with something like "Copyright (c) 2021 Bevy Contributors" because "Bevy Contributors" is not a legal entity. Instead, we just won't include the copyright line (which has precedent ... Rust also uses this approach). * Updates crates to use the new "MIT OR Apache-2.0" license value * Removes the old legion-transform license file from bevy_transform. bevy_transform has been its own, fully custom implementation for a long time and that license no longer applies. * Added a License section to the main readme * Updated our Bevy Plugin licensing guidelines. As a follow-up we should update the website to properly describe the new license. Closes bevyengine#2373
Configuration menu - View commit details
-
Copy full SHA for e167a1d - Browse repository at this point
Copy the full SHA e167a1dView commit details
Commits on Jul 24, 2021
-
fix version of notify to 5.0.0-pre.2 (bevyengine#2528)
# Objective - https://github.com/notify-rs/notify changed their api in the latest pre-release of 0.5.0 - This breaks current main AND v0.5.0 ## Solution - Fix the dependency to the known working version before : https://docs.rs/notify/5.0.0-pre.2/notify/trait.Watcher.html after : https://docs.rs/notify/5.0.0-pre.11/notify/trait.Watcher.html
Configuration menu - View commit details
-
Copy full SHA for a4e5e27 - Browse repository at this point
Copy the full SHA a4e5e27View commit details
Commits on Jul 26, 2021
-
Android uninstall 31 (bevyengine#2533)
# Objective - Related to bevyengine#2514 - not sure if it's a proper fix long term - CI was complaining Error: Path `"/usr/local/lib/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android31-clang"` was not found - A lot of questions started popping up 10 days ago about ["android build tools 31 corrupted"](https://www.google.com/search?q=android+build+tools+31+corrupted) - https://stackoverflow.com/questions/68387270/android-studio-error-installed-build-tools-revision-31-0-0-is-corrupted - Uninstalling `"build-tools;31.0.0"` doesn't seem to work, as it removes other components even though `"build-tools;30.0.3"` are available ## Solution - Uninstalling `"platforms;android-31"` seems to do the trick and `cargo-apk` stops trying to target `...31` Android is not my thing, this solution was found with a lot of trials and errors. I am not sure how long term it is, I don't know the release schedule of android build tools, or if we need to target this 31 thing. I just wanted to stop all those failed ci everywhere...
Configuration menu - View commit details
-
Copy full SHA for 5583f9a - Browse repository at this point
Copy the full SHA 5583f9aView commit details
Commits on Jul 27, 2021
-
Ci stability and speed improvements (bevyengine#2551)
# Objective - There are a few random failures in CI, mostly due to contacting crates.io or checking for deadlinks - CI can take some time, more than 20 minutes for a full status - A clippy/format issue stops running tests on other platforms ## Solution - Use GitHub cache for cargo artefacts - This speeds up builds and reduce dependencies on outside world - Reorder and add dependencies between short jobs. They are still setup to run even if one of the dependency failed - This reduce the number of parallel jobs that are running for one PR. On GitHub free tier, we're limited to 20. - Split CI checks (format & clippy) in its own job - This speeds up test jobs, and allow us to not kill all platform tests for a format issue - Retry in case of dead links check failure - Internet is just that kind of place where things may seem dead at some point but back alive 5 seconds later ## Before <img width="1062" alt="Screenshot 2021-07-27 at 01 18 52" src="https://user-images.githubusercontent.com/8672791/127071973-9a2c5ce8-c871-4f8d-9b17-08871824b6c4.png"> ## After (with all cache live) <img width="1063" alt="Screenshot 2021-07-27 at 01 18 28" src="https://user-images.githubusercontent.com/8672791/127071986-767a7e65-53ed-45fd-8d75-51a571f0b851.png">
Configuration menu - View commit details
-
Copy full SHA for d3ae816 - Browse repository at this point
Copy the full SHA d3ae816View commit details -
Dedupe move logic in remove_bundle and remove_bundle_intersection (be…
…vyengine#2521) This logic was in both `remove_bundle` and ` remove_bundle_intersection` but only differed by whether we call `.._forget_missing_..` or `.._drop_missing_..`
Configuration menu - View commit details
-
Copy full SHA for c83a184 - Browse repository at this point
Copy the full SHA c83a184View commit details -
Merge AppBuilder into App (bevyengine#2531)
This is extracted out of eb8f973 and includes some additional changes to remove all references to AppBuilder and fix examples that still used App::build() instead of App::new(). In addition I didn't extract the sub app feature as it isn't ready yet. You can use `git diff --diff-filter=M eb8f973` to find all differences in this PR. The `--diff-filtered=M` filters all files added in the original commit but not in this commit away. Co-Authored-By: Carter Anderson <mcanders1@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 6d6bc2a - Browse repository at this point
Copy the full SHA 6d6bc2aView commit details -
Inline world get (bevyengine#2520)
# Objective While looking at the code of `World`, I noticed two basic functions (`get` and `get_mut`) that are probably called a lot and with simple code that are not `inline` ## Solution - Add benchmark to check impact - Add `#[inline]` ``` group this pr main ----- ---- ---- world_entity/50000_entities 1.00 115.9±11.90µs ? ?/sec 1.71 198.5±29.54µs ? ?/sec world_get/50000_entities_SparseSet 1.00 409.9±46.96µs ? ?/sec 1.18 483.5±36.41µs ? ?/sec world_get/50000_entities_Table 1.00 391.3±29.83µs ? ?/sec 1.16 455.6±57.85µs ? ?/sec world_query_for_each/50000_entities_SparseSet 1.02 121.3±18.36µs ? ?/sec 1.00 119.4±13.88µs ? ?/sec world_query_for_each/50000_entities_Table 1.03 13.8±0.96µs ? ?/sec 1.00 13.3±0.54µs ? ?/sec world_query_get/50000_entities_SparseSet 1.00 666.9±54.36µs ? ?/sec 1.03 687.1±57.77µs ? ?/sec world_query_get/50000_entities_Table 1.01 584.4±55.12µs ? ?/sec 1.00 576.3±36.13µs ? ?/sec world_query_iter/50000_entities_SparseSet 1.01 169.7±19.50µs ? ?/sec 1.00 168.6±32.56µs ? ?/sec world_query_iter/50000_entities_Table 1.00 26.2±1.38µs ? ?/sec 1.91 50.0±4.40µs ? ?/sec ``` I didn't add benchmarks for the mutable path but I don't see how it could hurt to make it inline too...
Configuration menu - View commit details
-
Copy full SHA for 234b2ef - Browse repository at this point
Copy the full SHA 234b2efView commit details -
Down with the system! (bevyengine#2496)
# Objective - Remove all the `.system()` possible. - Check for remaining missing cases. ## Solution - Remove all `.system()`, fix compile errors - 32 calls to `.system()` remains, mostly internals, the few others should be removed after bevyengine#2446
Configuration menu - View commit details
-
Copy full SHA for b724a0f - Browse repository at this point
Copy the full SHA b724a0fView commit details
Commits on Jul 28, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 4b6238d - Browse repository at this point
Copy the full SHA 4b6238dView commit details -
Refactor ECS to reduce the dependency on a 1-to-1 mapping between com…
…ponents and real rust types (bevyengine#2490) # Objective There is currently a 1-to-1 mapping between components and real rust types. This means that it is impossible for multiple components to be represented by the same rust type or for a component to not have a rust type at all. This means that component types can't be defined in languages other than rust like necessary for scripting or sandboxed (wasm?) plugins. ## Solution Refactor `ComponentDescriptor` and `Bundle` to remove `TypeInfo`. `Bundle` now uses `ComponentId` instead. `ComponentDescriptor` is now always created from a rust type instead of through the `TypeInfo` indirection. A future PR may make it possible to construct a `ComponentDescriptor` from it's fields without a rust type being involved.
Configuration menu - View commit details
-
Copy full SHA for 86cc70b - Browse repository at this point
Copy the full SHA 86cc70bView commit details
Commits on Jul 29, 2021
-
Fix some nightly clippy lints (bevyengine#2522)
on nightly these two clippy lints fail: - [needless_borrow](https://rust-lang.github.io/rust-clippy/master/#needless_borrow) - [unused_unit](https://rust-lang.github.io/rust-clippy/master/#unused_unit)
Configuration menu - View commit details
-
Copy full SHA for 5ffff03 - Browse repository at this point
Copy the full SHA 5ffff03View commit details -
Add 's (state) lifetime to
Fetch
(bevyengine#2515)Allows iterators to return things that borrow data from `QueryState`, needed this in my relations PR figure might be worth landing separately maybe
Configuration menu - View commit details
-
Copy full SHA for 155068a - Browse repository at this point
Copy the full SHA 155068aView commit details -
Bump notify to 5.0.0-pre.11 (bevyengine#2564)
# Objective notify 5.0.0-pre.11 breaks the interface again, but apparently in a way that's similar to how it used to be ## Solution Bump `bevy_asset` dependency on notify to `5.0.0-pre.11` and fix the errors that crop up. It looks like `pre.11` was mentioned in bevyengine#2528 by @mockersf but there's no mention of why `pre.10` was chosen ultimately.
Configuration menu - View commit details
-
Copy full SHA for 54ff7aa - Browse repository at this point
Copy the full SHA 54ff7aaView commit details
Commits on Aug 1, 2021
-
Remove bevy_dynamic_plugin as a default (bevyengine#2578)
It doesn't compile on wasm, and it's full of footguns # Objective - If bevy is used with default features on wasm, there's more of a chance it will compile - Note that I haven't done a full audit - it's possible that there are other problematic crates ## Solution - `bevy_dynamic_plugin` is no longer a default plugin - I've also done an accidental drive by reformatting of the root `Cargo.toml`, as I have [Even Better Toml](https://github.com/tamasfe/taplo) installed. - (Please, rustfmt do this for us)
Configuration menu - View commit details
-
Copy full SHA for 43d99bb - Browse repository at this point
Copy the full SHA 43d99bbView commit details
Commits on Aug 6, 2021
-
fix typo (paramater to parameter) (bevyengine#2590)
there was a typo 👀 i fixed it 👀
Configuration menu - View commit details
-
Copy full SHA for 03e2045 - Browse repository at this point
Copy the full SHA 03e2045View commit details -
Add "ci" job to the bors.toml (bevyengine#2612)
# Objective - bevyengine#2551 revamped our CI setup which included running clippy and rustfmt in another Job. - This new Job wasn't added to the bors.toml, which means that PRs would be accepted that didn't run them. ## Solution - Add the "ci" job to the bors.toml
Configuration menu - View commit details
-
Copy full SHA for 90586a4 - Browse repository at this point
Copy the full SHA 90586a4View commit details
Commits on Aug 10, 2021
-
Update EntityMut's location in push_children() and insert_children() (b…
…evyengine#2604) ## Objective This code would result in a crash: ```rust use bevy::prelude::*; fn main() { let mut world = World::new(); let child = world.spawn().id(); world.spawn().push_children(&[child]); } ``` ## Solution Update the `EntityMut`'s location after inserting a component on the children entities, as it may have changed.
Configuration menu - View commit details
-
Copy full SHA for 336583a - Browse repository at this point
Copy the full SHA 336583aView commit details -
Remove with bundle filter (bevyengine#2623)
# Objective Fixes bevyengine#2620 ## Solution Remove WithBundle filter and temporarily remove example for query_bundle.
Configuration menu - View commit details
-
Copy full SHA for 49038d0 - Browse repository at this point
Copy the full SHA 49038d0View commit details -
Change definition of
ScheduleRunnerPlugin
(bevyengine#2606)# Objective - Allow `ScheduleRunnerPlugin` to be instantiated without curly braces. Other plugins in the library already use the semicolon syntax. - Currently, you have to do the following: ```rust App::build() .add_plugin(bevy::core::CorePlugin) .add_plugin(bevy::app::ScheduleRunnerPlugin {}) ``` - With the proposed change you can do this: ```rust App::build() .add_plugin(bevy::core::CorePlugin) .add_plugin(bevy::app::ScheduleRunnerPlugin) ``` ## Solution - Change the `ScheduleRunnerPlugin` definition to use a semicolon instead of curly braces.
Configuration menu - View commit details
-
Copy full SHA for 0c91317 - Browse repository at this point
Copy the full SHA 0c91317View commit details -
Link Minimal and Default plugins in the docs. (bevyengine#2583)
I didn't know about MinimalPlugins for way too long. This should increase visibility for others. # Objective Improve visibility and discover in the docs for Default and Minimal Plugins. ## Solution Links the two Docs pages. Co-authored-by: Mirko Rainer <52899592+mirkoRainer@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for a023b68 - Browse repository at this point
Copy the full SHA a023b68View commit details
Commits on Aug 11, 2021
-
fix missing paths in ECS SystemParam derive macro v2 (bevyengine#2550)
This is an updated version of bevyengine#1434 PR. I've encountered this macro problem while trying to use @woubuc's bevy-event-set crate. Co-authored-by: Piotr Balcer <piotr@balcer.eu>
Configuration menu - View commit details
-
Copy full SHA for b13472d - Browse repository at this point
Copy the full SHA b13472dView commit details
Commits on Aug 13, 2021
-
Small script fix (bevyengine#2591)
# Objective Prevent some possible problem Found by IntelliJ IDEA ## Solution Double quoting variable and exit on possible failure of cd command.
Rémi Lauzier committedAug 13, 2021 Configuration menu - View commit details
-
Copy full SHA for fafee88 - Browse repository at this point
Copy the full SHA fafee88View commit details -
Better error message for unsupported shader features Fixes bevyengine…
…#869 (bevyengine#2598) # Objective - Provides more useful error messages when using unsupported shader features. ## Solution Fixes bevyengine#869 - Provided a error message as follows (adding name, set and binding): ``` Unsupported shader bind type CombinedImageSampler (name noiseVol0, set 0, binding 9) ```
Configuration menu - View commit details
-
Copy full SHA for 5eeba15 - Browse repository at this point
Copy the full SHA 5eeba15View commit details -
Cleanup FromResources (bevyengine#2601)
## Objective - Clean up remaining references to the trait `FromResources`, which was replaced in favor of `FromWorld` during the ECS rework. ## Solution - Remove the derive macro for `FromResources` - Change doc references of `FromResources` to `FromWorld` (this is the first item in bevyengine#2576)
Configuration menu - View commit details
-
Copy full SHA for 6aedb25 - Browse repository at this point
Copy the full SHA 6aedb25View commit details
Commits on Aug 14, 2021
-
Implement Clone for Fetches (bevyengine#2641)
# Objective This: ```rust use bevy::prelude::*; fn main() { App::new() .add_system(test) .run(); } fn test(entities: Query<Entity>) { let mut combinations = entities.iter_combinations_mut(); while let Some([e1, e2]) = combinations.fetch_next() { dbg!(e1); } } ``` fails with the message "the trait bound `bevy::ecs::query::EntityFetch: std::clone::Clone` is not satisfied". ## Solution It works after adding the naive clone implementation to EntityFetch. I'm not super familiar with ECS internals, so I'd appreciate input on this.
Configuration menu - View commit details
-
Copy full SHA for 96f0e02 - Browse repository at this point
Copy the full SHA 96f0e02View commit details -
Comprehensive CONTRIBUTING.md (bevyengine#2040)
[**RENDERED**](https://github.com/alice-i-cecile/bevy/blob/better-contributing/CONTRIBUTING.md) Improves bevyengine#910. As discussed in bevyengine#1309, we'll need to synchronize content between this and the Bevy website in some way (and clean up the .github file perhaps?). I think doing it as a root-directory file is nicer for discovery, but that's a conversation I'm interested in having. This document is intended to be helpful to beginners to open source and Bevy, and captures what I've learned about our informal practices and values. Reviewers: I'm particularly interested in: - opinions on the items **What we're trying to build**, where I discuss some of the project's high-level values and goals - more relevant details on the `bevy` subcrates for **Getting oriented** - useful tricks and best practices that I missed - better guidance on how to contribute to the Bevy book from @cart <3
Configuration menu - View commit details
-
Copy full SHA for d59fc07 - Browse repository at this point
Copy the full SHA d59fc07View commit details
Commits on Aug 15, 2021
-
Not me ... us (bevyengine#2654)
I don't see much of a reason at this point to boost my name over anyone elses. We are all Bevy Contributors.
Configuration menu - View commit details
-
Copy full SHA for a89a954 - Browse repository at this point
Copy the full SHA a89a954View commit details -
System Param Lifetime Split (bevyengine#2605)
# Objective Enable using exact World lifetimes during read-only access . This is motivated by the new renderer's need to allow read-only world-only queries to outlive the query itself (but still be constrained by the world lifetime). For example: https://github.com/bevyengine/bevy/blob/115b170d1f11a91146bb6d6e9684dceb8b21f786/pipelined/bevy_pbr2/src/render/mod.rs#L774 ## Solution Split out SystemParam state and world lifetimes and pipe those lifetimes up to read-only Query ops (and add into_inner for Res). According to every safety test I've run so far (except one), this is safe (see the temporary safety test commit). Note that changing the mutable variants to the new lifetimes would allow aliased mutable pointers (try doing that to see how it affects the temporary safety tests). The new state lifetime on SystemParam does make `#[derive(SystemParam)]` more cumbersome (the current impl requires PhantomData if you don't use both lifetimes). We can make this better by detecting whether or not a lifetime is used in the derive and adjusting accordingly, but that should probably be done in its own pr. ## Why is this a draft? The new lifetimes break QuerySet safety in one very specific case (see the query_set system in system_safety_test). We need to solve this before we can use the lifetimes given. This is due to the fact that QuerySet is just a wrapper over Query, which now relies on world lifetimes instead of `&self` lifetimes to prevent aliasing (but in systems, each Query has its own implied lifetime, not a centralized world lifetime). I believe the fix is to rewrite QuerySet to have its own World lifetime (and own the internal reference). This will complicate the impl a bit, but I think it is doable. I'm curious if anyone else has better ideas. Personally, I think these new lifetimes need to happen. We've gotta have a way to directly tie read-only World queries to the World lifetime. The new renderer is the first place this has come up, but I doubt it will be the last. Worst case scenario we can come up with a second `WorldLifetimeQuery<Q, F = ()>` parameter to enable these read-only scenarios, but I'd rather not add another type to the type zoo.
Configuration menu - View commit details
-
Copy full SHA for 9d45353 - Browse repository at this point
Copy the full SHA 9d45353View commit details
Commits on Aug 18, 2021
-
feat: remove_component for ReflectComponent (bevyengine#2682)
# Objective While implementing a plugin for my rollback networking library, I needed to load/save parts of the world. For this, I made a WorldSnapshot that works quite like the current DynamicScene. Using a TypeRegistry to register component types I want to save/load and then using ReflectComponents methods to add or apply components of the given types. However, I noticed there is no method to remove components from entities through the ReflectComponent. ## Solution I added a `remove_component` field to the `ReflectComponent` struct, as well as a `pub fn remove_component(&self, world: &mut World, entity: Entity)` to call that function in `remove_component`. This follows exactly the same pattern all other methods/fields in this struct look like. This is an example how it could be used (at least how I would use it): https://github.com/gschup/bevy_ggrs/blob/6c003f86f1993bcbb21c180fab2e8ef664b7f7c9/src/world_snapshot.rs#L133
Configuration menu - View commit details
-
Copy full SHA for 98a08cf - Browse repository at this point
Copy the full SHA 98a08cfView commit details
Commits on Aug 19, 2021
-
update ndk-glue to 0.4 (bevyengine#2684)
# Objective - We currently depends on ndk 0.2, 0.3, 0.4 - Only 0.2 dependencies comes from Bevy itself ## Solution - Replace bevyengine#1371 - Update Bevy to ndk-glue 0.4 - Also fixes duplicate dependency CI issue
Configuration menu - View commit details
-
Copy full SHA for 1a758dd - Browse repository at this point
Copy the full SHA 1a758ddView commit details -
Update glam requirement from 0.15.1 to 0.17.3 (bevyengine#2500)
Updates the requirements on [glam](https://github.com/bitshifter/glam-rs) to permit the latest version. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/bitshifter/glam-rs/blob/master/CHANGELOG.md">glam's changelog</a>.</em></p> <blockquote> <h2>[0.17.3] - 2021-07-18</h2> <h3>Fixed</h3> <ul> <li>Fix alignment unit tests on non x86 platforms.</li> </ul> <h2>[0.17.2] - 2021-07-15</h2> <h3>Fixed</h3> <ul> <li>Fix alignment unit tests on i686 and S390x.</li> </ul> <h2>[0.17.1] - 2021-06-29</h2> <h3>Added</h3> <ul> <li>Added <code>serde</code> support for <code>Affine2</code>, <code>DAffine2</code>, <code>Affine3A</code> and <code>DAffine3</code>.</li> </ul> <h2>[0.17.0] - 2021-06-26</h2> <h3>Breaking changes</h3> <ul> <li>The addition of <code>Add</code> and <code>Sub</code> implementations of scalar values for vector types may create ambiguities with existing calls to <code>add</code> and <code>sub</code>.</li> <li>Removed <code>From<Mat3></code> implementation for <code>Mat2</code> and <code>From<DMat3></code> for <code>DMat2</code>. These have been replaced by <code>Mat2::from_mat3()</code> and <code>DMat2::from_mat3()</code>.</li> <li>Removed <code>From<Mat4></code> implementation for <code>Mat3</code> and <code>From<DMat4></code> for <code>DMat3</code>. These have been replaced by <code>Mat3::from_mat4()</code> and <code>DMat3::from_mat4()</code>.</li> <li>Removed deprecated <code>from_slice_unaligned()</code>, <code>write_to_slice_unaligned()</code>, <code>from_rotation_mat4</code> and <code>from_rotation_ypr()</code> methods.</li> </ul> <h3>Added</h3> <ul> <li>Added <code>col_mut()</code> method which returns a mutable reference to a matrix column to all matrix types.</li> <li>Added <code>AddAssign</code>, <code>MulAssign</code> and <code>SubAssign</code> implementations for all matrix types.</li> <li>Added <code>Add</code> and <code>Sub</code> implementations of scalar values for vector types.</li> <li>Added more <code>glam_assert!</code> checks and documented methods where they are used.</li> <li>Added vector projection and rejection methods <code>project_onto()</code>, <code>project_onto_normalized()</code>, <code>reject_from()</code> and <code>reject_from_normalized()</code>.</li> <li>Added <code>Mat2::from_mat3()</code>, <code>DMat2::from_mat3()</code>, <code>Mat3::from_mat4()</code>, <code>DMat3::from_mat4()</code> which create a smaller matrix from a larger one, discarding a final row and column of the input matrix.</li> <li>Added <code>Mat3::from_mat2()</code>, <code>DMat3::from_mat2()</code>, <code>Mat4::from_mat3()</code> and <code>DMat4::from_mat3()</code> which create an affine transform from a smaller linear transform matrix.</li> </ul> <h3>Changed</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/bitshifter/glam-rs/commit/ecf3904b2fb639a979127f457b259f4b83b0340b"><code>ecf3904</code></a> Prepare release 0.17.3</li> <li><a href="https://github.com/bitshifter/glam-rs/commit/95e02bb43eadbc0c56b3931cbbf1f68a5cc5f910"><code>95e02bb</code></a> Merge branch 'master' of github.com:bitshifter/glam-rs</li> <li><a href="https://github.com/bitshifter/glam-rs/commit/c6dc70258345349de5f1051d19ce1f408532ca89"><code>c6dc702</code></a> More alignment test fixes for when SSE2 is not avaialable.</li> <li><a href="https://github.com/bitshifter/glam-rs/commit/87a3b25872f893fc4e8cbab0bbfbb437d1a2c8fb"><code>87a3b25</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/bitshifter/glam-rs/issues/216">#216</a> from bitshifter/prepare-0.17.2</li> <li><a href="https://github.com/bitshifter/glam-rs/commit/269e5140903f9bf5bcaa8073274f4a0113d7e0cd"><code>269e514</code></a> Prepare for 0.17.2 release.</li> <li><a href="https://github.com/bitshifter/glam-rs/commit/1da7d6459c5f9890275c7fc1871e6c33c825b6b9"><code>1da7d64</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/bitshifter/glam-rs/issues/215">#215</a> from bitshifter/issue-213</li> <li><a href="https://github.com/bitshifter/glam-rs/commit/dc60e20925254f4f1239424685c34953409395df"><code>dc60e20</code></a> Fix align asserts on i686 and S390x architectures.</li> <li><a href="https://github.com/bitshifter/glam-rs/commit/bd8b30e9fbcfd5910dc2af251fecccc31670edf7"><code>bd8b30e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/bitshifter/glam-rs/issues/212">#212</a> from remilauzier/master</li> <li><a href="https://github.com/bitshifter/glam-rs/commit/a4e97c0b5429547718a9ceacfe5957d1d765bd52"><code>a4e97c0</code></a> Update approx to 0.5</li> <li><a href="https://github.com/bitshifter/glam-rs/commit/059f61952533af3fc32274e5b7ea242ce9a771a7"><code>059f619</code></a> Prepare 0.17.1 release (<a href="https://github-redirect.dependabot.com/bitshifter/glam-rs/issues/211">#211</a>)</li> <li>Additional commits viewable in <a href="https://github.com/bitshifter/glam-rs/compare/0.15.1...0.17.3">compare view</a></li> </ul> </details> <br /> 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 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 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>
Configuration menu - View commit details
-
Copy full SHA for 9788b38 - Browse repository at this point
Copy the full SHA 9788b38View commit details -
Reduce visibility of various types and fields (bevyengine#2690)
See the individual commits.
Configuration menu - View commit details
-
Copy full SHA for d84c7f9 - Browse repository at this point
Copy the full SHA d84c7f9View commit details -
Update plugin guidelines (bevyengine#2692)
# Objective - the plugin guidelines should be up-to-date and easy to read/understand ## Solution * point to "Bevy Assets" instead of old "Awesome Bevy" * restructure sections * same order for sections and checklist * Update examples with newest release/rev
Configuration menu - View commit details
-
Copy full SHA for 62e4e59 - Browse repository at this point
Copy the full SHA 62e4e59View commit details
Commits on Aug 24, 2021
-
derive Debug, Clone for FixedState (StableAHash) (bevyengine#2694)
This matches `ahash::RandomState`, which provides both `Debug` and `Clone`. Notably, implementing `Clone` allows the `StableHashMap`/`Set` to also implement `Clone`. # Objective - Allow `bevy_utils::StableHashMap` to be cloned. ## Solution - Derive `Clone` for `bevy_utils::FixedState`. - Also derive `Debug`, since we're touching it anyway, and this aligns `FixedState` with `ahash::RandomState`.
Configuration menu - View commit details
-
Copy full SHA for 481fa3c - Browse repository at this point
Copy the full SHA 481fa3cView commit details -
Use Explicit Names for Flex Direction (bevyengine#2672)
# Objective - Clarify vague meaning of "Ltr" and "Rtl". For someone familiar with Flex Box, this is easy to understand, but being more explicit will help beginners or those unfamiliar, without the need to do research. ## Solution - Change three letter abbreviation to fully descriptive name.
Configuration menu - View commit details
-
Copy full SHA for 958f8b1 - Browse repository at this point
Copy the full SHA 958f8b1View commit details -
Implement IntoSystemDescriptor for SystemDescriptor (bevyengine#2718)
# Objective - Fixes bevyengine#2716 ## Solution - Implements the the IntoSystemDescriptor trait for SystemDescriptor, which simply returns itself
Configuration menu - View commit details
-
Copy full SHA for 47ccebf - Browse repository at this point
Copy the full SHA 47ccebfView commit details -
Document collide args (bevyengine#2721)
Fixes bevyengine#2720 (comment) Possibly we should omit the extra bit in brackets, not sure if its warranted.
Configuration menu - View commit details
-
Copy full SHA for c5717b5 - Browse repository at this point
Copy the full SHA c5717b5View commit details
Commits on Aug 25, 2021
-
Spawn specific entities: spawn or insert operations, refactor spawn i…
…nternals, world clearing (bevyengine#2673) This upstreams the code changes used by the new renderer to enable cross-app Entity reuse: * Spawning at specific entities * get_or_spawn: spawns an entity if it doesn't already exist and returns an EntityMut * insert_or_spawn_batch: the batched equivalent to `world.get_or_spawn(entity).insert_bundle(bundle)` * Clearing entities and storages * Allocating Entities with "invalid" archetypes. These entities cannot be queried / are treated as "non existent". They serve as "reserved" entities that won't show up when calling `spawn()`. They must be "specifically spawned at" using apis like `get_or_spawn(entity)`. In combination, these changes enable the "render world" to clear entities / storages each frame and reserve all "app world entities". These can then be spawned during the "render extract step". This refactors "spawn" and "insert" code in a way that I think is a massive improvement to legibility and re-usability. It also yields marginal performance wins by reducing some duplicate lookups (less than a percentage point improvement on insertion benchmarks). There is also some potential for future unsafe reduction (by making BatchSpawner and BatchInserter generic). But for now I want to cut down generic usage to a minimum to encourage smaller binaries and faster compiles. This is currently a draft because it needs more tests (although this code has already had some real-world testing on my custom-shaders branch). I also fixed the benchmarks (which currently don't compile!) / added new ones to illustrate batching wins. After these changes, Bevy ECS is basically ready to accommodate the new renderer. I think the biggest missing piece at this point is "sub apps".
Configuration menu - View commit details
-
Copy full SHA for b47217b - Browse repository at this point
Copy the full SHA b47217bView commit details -
Document QueryState (bevyengine#2298)
# Objective - QueryState is lacking documentation. Fixes bevyengine#2090 ## Solution - Provide documentation that mirrors Query (as suggested in bevyengine#2090) and modify as needed. Co-authored-by: James Leflang <59455417+jleflang@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for f38a6e6 - Browse repository at this point
Copy the full SHA f38a6e6View commit details
Commits on Aug 26, 2021
-
check that benches build (bevyengine#2675)
# Objective - Fixes bevyengine#2674 - Check that benches build ## Solution - Adds a job that runs `cargo check --benches` Co-authored-by: Carter Anderson <mcanders1@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for f6b42b8 - Browse repository at this point
Copy the full SHA f6b42b8View commit details
Commits on Aug 30, 2021
-
Changed Zshare-generics to
n
on Windows (bevyengine#2016)It seems like this option needs to be off on Windows: bevyengine/bevy-website#131 This change also simplifies the instructions required for the Fast Compiles section of the book: bevyengine/bevy-website#137
Configuration menu - View commit details
-
Copy full SHA for 4465583 - Browse repository at this point
Copy the full SHA 4465583View commit details -
Add aarch64-apple-darwin to the config_fast_builds for Apple Silicon (b…
…evyengine#2739) # Objective M1 Macs / Apple Silicon / simply aarch64 needs to be specified for it to compile with zld, so users might be surprised to find that they aren't getting the benefits and see the fast compiles they might be seeing on other platforms. ## Solution - Add it? :)
Configuration menu - View commit details
-
Copy full SHA for d4a552a - Browse repository at this point
Copy the full SHA d4a552aView commit details -
Derive thiserror::Error for HexColorError (bevyengine#2740)
# Objective - Make it easy to use HexColorError with `thiserror`, i.e. converting it into other error types. Makes this possible: ```rust #[derive(Debug, thiserror::Error)] pub enum LdtkError { #[error("An error occured while deserializing")] Json(#[from] serde_json::Error), #[error("An error occured while parsing a color")] HexColor(#[from] bevy::render::color::HexColorError), } ``` ## Solution - Derive thiserror::Error the same way we do elsewhere (see query.rs for instance)
Configuration menu - View commit details
-
Copy full SHA for dea292d - Browse repository at this point
Copy the full SHA dea292dView commit details
Commits on Aug 31, 2021
-
= committed
Aug 31, 2021 Configuration menu - View commit details
-
Copy full SHA for 49ac4c7 - Browse repository at this point
Copy the full SHA 49ac4c7View commit details -
= committed
Aug 31, 2021 Configuration menu - View commit details
-
Copy full SHA for 3352835 - Browse repository at this point
Copy the full SHA 3352835View commit details -
= committed
Aug 31, 2021 Configuration menu - View commit details
-
Copy full SHA for 822ff0d - Browse repository at this point
Copy the full SHA 822ff0dView commit details -
= committed
Aug 31, 2021 Configuration menu - View commit details
-
Copy full SHA for d4ac8fd - Browse repository at this point
Copy the full SHA d4ac8fdView commit details