bevyengine / bevyengine/bevy

Add `FilteredWorld(Mut)`

Open
#17,882 0 comments 2 reactions 0 assignees View on GitHub
A-ECS C-Feature S-Ready-For-Implementation
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 16h
Merged PRs (30d)
171

Description

## What problem does this solve or what need does it fill?

We have `FilteredResources`, `FilteredEntity(Ref/Mut)` to split access.

## What solution would you like?

It would be nice to have a similar functionality for `&World` that works in a similar way. `FilteredWorld(Mut)` would deny access to resources or components that was filtered out.

## Additional context

It would reduce a lot of `resource_scope` in [my code](https://github.com/projectharmonia/bevy_replicon/blob/master/src/client.rs#L107) and potentially unlocked some "entities instead of resources" scenarios.

Contributor guide

Open the contributing guide

Research direction

Start by reading the existing FilteredResources and FilteredEntity(Ref/Mut) implementations, then inspect the resource_scope usage in src/client.rs around line 107. Define how FilteredWorld(Mut) should deny filtered resources and components while supporting the proposed entity scenarios; done means the API behavior and scope are clear and covered by appropriate tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
game-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.