bevy/crates/bevy_ecs/macros
bjorn3 86cc70b902 Refactor ECS to reduce the dependency on a 1-to-1 mapping between components and real rust types (#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.
2021-07-28 19:29:12 +00:00
..
src Refactor ECS to reduce the dependency on a 1-to-1 mapping between components and real rust types (#2490) 2021-07-28 19:29:12 +00:00
Cargo.toml Relicense Bevy under the dual MIT or Apache-2.0 license (#2509) 2021-07-23 21:11:51 +00:00