Allow entities to store multiple components with the same type
Open
A-ECS
C-Feature
S-Needs-Design-Doc
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 161
Description
This tracking issue comes out of #1525. This feature is still very much up for debate, and this initial post paraphrases the initial definition by @cart from that PR .
# Definition
**Tags** are archetype-specific by-value data that affects archetype identity
## Usage
ArchetypeA could have [A, B, C] table components and [D(1)] "tag" component. ArchetypeB could have [A, B, C] table components and a [D(2)] tag component. The archetypes are different, despite both having D tags because the value inside D is different.
## Implementation
Tags could potentially build on top of the `archetype.unique_components` added in #1525 for Resource storage.
Contributor guide
Assessment
This issue has not been assessed yet.