bevyengine / bevyengine/bevy

Reflect dynamic components / type registrations for dynamic types

Open
#14,404 1 comment 1 reaction 0 assignees View on GitHub
A-Reflection C-Usability D-Complex S-Needs-Design
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
4d 8m
Merged PRs (30d)
147

Description

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

Components are not restricted to Rust types, rather they are opaque blobs of data identified in a world via `ComponentId`.

`PartialReflect` is not restricted to Rust type and provides dynamic introspection of otherwise opaque data.

However, `TypeRegistration` (and `TypeInfo`) is tied to Rust types. This means it's impossible to register reflection for dynamic components, even when you have a `Reflect` implementation available.

## What solution would you like?

Don't require `TypeId` for `TypeRegistration` & `TypeInfo`.
Type registrations need to be identified by a different id, such as a type path.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.