bevy/crates
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
..
bevy_app Down with the system! (#2496) 2021-07-27 23:42:36 +00:00
bevy_asset Down with the system! (#2496) 2021-07-27 23:42:36 +00:00
bevy_audio Merge AppBuilder into App (#2531) 2021-07-27 20:21:06 +00:00
bevy_core Down with the system! (#2496) 2021-07-27 23:42:36 +00:00
bevy_derive Relicense Bevy under the dual MIT or Apache-2.0 license (#2509) 2021-07-23 21:11:51 +00:00
bevy_diagnostic Down with the system! (#2496) 2021-07-27 23:42:36 +00:00
bevy_dylib Relicense Bevy under the dual MIT or Apache-2.0 license (#2509) 2021-07-23 21:11:51 +00:00
bevy_dynamic_plugin Merge AppBuilder into App (#2531) 2021-07-27 20:21:06 +00:00
bevy_ecs 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
bevy_gilrs Merge AppBuilder into App (#2531) 2021-07-27 20:21:06 +00:00
bevy_gltf Merge AppBuilder into App (#2531) 2021-07-27 20:21:06 +00:00
bevy_input Down with the system! (#2496) 2021-07-27 23:42:36 +00:00
bevy_internal Relicense Bevy under the dual MIT or Apache-2.0 license (#2509) 2021-07-23 21:11:51 +00:00
bevy_log Merge AppBuilder into App (#2531) 2021-07-27 20:21:06 +00:00
bevy_macro_utils Relicense Bevy under the dual MIT or Apache-2.0 license (#2509) 2021-07-23 21:11:51 +00:00
bevy_math Relicense Bevy under the dual MIT or Apache-2.0 license (#2509) 2021-07-23 21:11:51 +00:00
bevy_pbr Down with the system! (#2496) 2021-07-27 23:42:36 +00:00
bevy_reflect Relicense Bevy under the dual MIT or Apache-2.0 license (#2509) 2021-07-23 21:11:51 +00:00
bevy_render Down with the system! (#2496) 2021-07-27 23:42:36 +00:00
bevy_scene Merge AppBuilder into App (#2531) 2021-07-27 20:21:06 +00:00
bevy_sprite Down with the system! (#2496) 2021-07-27 23:42:36 +00:00
bevy_tasks Relicense Bevy under the dual MIT or Apache-2.0 license (#2509) 2021-07-23 21:11:51 +00:00
bevy_text Down with the system! (#2496) 2021-07-27 23:42:36 +00:00
bevy_transform Down with the system! (#2496) 2021-07-27 23:42:36 +00:00
bevy_ui Down with the system! (#2496) 2021-07-27 23:42:36 +00:00
bevy_utils Relicense Bevy under the dual MIT or Apache-2.0 license (#2509) 2021-07-23 21:11:51 +00:00
bevy_wgpu Down with the system! (#2496) 2021-07-27 23:42:36 +00:00
bevy_window Down with the system! (#2496) 2021-07-27 23:42:36 +00:00
bevy_winit Merge AppBuilder into App (#2531) 2021-07-27 20:21:06 +00:00