bevy/crates/bevy_ecs/src/query
NiseVoid de5486725d
Add DefaultQueryFilters (#13120)
# Objective

Some usecases in the ecosystems are blocked by the inability to stop
bevy internals and third party plugins from touching their entities.
However the specifics of a general purpose entity disabling system are
controversial and further complicated by hierarchies. We can partially
unblock these usecases with an opt-in approach: default query filters.

## Solution

- Introduce DefaultQueryFilters, these filters are automatically applied
to queries that don't otherwise mention the filtered component.
- End users and third party plugins can register default filters and are
responsible for handling entities they have hidden this way.
- Extra features can be left for after user feedback
- The default value could later include official ways to hide entities

---

## Changelog

- Add DefaultQueryFilters
2025-01-20 21:57:39 +00:00
..
access.rs Add DefaultQueryFilters (#13120) 2025-01-20 21:57:39 +00:00
builder.rs Remove all deprecated code (#16338) 2025-01-05 20:33:39 +00:00
error.rs Optimize Entities::entity_does_not_exist_error_details_message, remove UnsafeWorldCell from error (#17115) 2025-01-05 02:01:01 +00:00
fetch.rs bevy_ecs: Apply #![warn(clippy::allow_attributes, clippy::allow_attributes_without_reason)] (#17335) 2025-01-14 21:37:41 +00:00
filter.rs bevy_ecs: Apply #![warn(clippy::allow_attributes, clippy::allow_attributes_without_reason)] (#17335) 2025-01-14 21:37:41 +00:00
iter.rs Implement Clone for QueryIter over read-only data (#17391) 2025-01-15 21:56:11 +00:00
mod.rs Disallow requesting write resource access in Queries (#17116) 2025-01-06 19:04:26 +00:00
par_iter.rs Fix query transmute from table to archetype iteration unsoundness (#14615) 2024-08-27 00:58:40 +00:00
state.rs Add DefaultQueryFilters (#13120) 2025-01-20 21:57:39 +00:00
world_query.rs bevy_ecs: Apply #![warn(clippy::allow_attributes, clippy::allow_attributes_without_reason)] (#17335) 2025-01-14 21:37:41 +00:00