Unify Entity References
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 171
Description
## Goal Description
Bevy currently has many duplicate "entity reference" types, each with their own redundant implementations: EntityRef, EntityMut, EntityWorldMut, EntityWorldRef, EntityRefExcept, EntityMutExcept, FilteredEntityRef, FilteredEntityMut.
This is _a lot_ of redundant API surface. We should unify it as much as possible.
## Goal Status
This is a potential [Bevy Project Goal](https://bevy.org/learn/contribute/project-information/project-goals/). Its state on the [Project Goals Board](https://github.com/orgs/bevyengine/projects/23/views/1) determines if it is Proposed, Postponed, Blocked (Approved), Inactive (Approved), Active (Approved), Completed, or Declined.
- **Staffing SMEs**: No staffing SME
- **Working Group Link**: [link](https://discord.com/channels/691052431525675048/1308513055000498226)
- **Design Documents**: [Working Group Proposal](https://hackmd.io/@bevy/By4NcOYzkg)
Contributor guide
Research direction
Start by reading the linked Working Group Proposal and reviewing the listed entity reference types: EntityRef, EntityMut, EntityWorldMut, EntityWorldRef, EntityRefExcept, EntityMutExcept, FilteredEntityRef, and FilteredEntityMut. Coordinate through the linked working group to establish the intended unification scope; done requires an agreed design and implementation that reduces the redundant API surface.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- game-dev
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100