8000 Differences with bevy_reflect · Issue #298 · facet-rs/facet · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Differences with bevy_reflect #298

New issue
8000

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
axelkar opened this issue Apr 19, 2025 · 2 comments
Closed

Differences with bevy_reflect #298

axelkar opened this issue Apr 19, 2025 · 2 comments
Labels
✋ question Further information is requested

Comments

@axelkar
Copy link
Contributor
axelkar commented Apr 19, 2025

Bevy is a game engine written in Rust, and it has a reflection library: https://docs.rs/bevy_reflect/latest/bevy_reflect/

@fasterthanlime
Copy link
Contributor

So I've been explicitly avoiding looking at their design thus far, to kind of keep a clean head.

One difference I know on top of my head is that bevy_reflect has a "type registry", whereas facet has an associated const.

Ideally, as const capabilities improve in Rust, it'll be possible to do all sorts of things in const fn contexts based on Facet's data structures. For now there are blockers (ConstTypeId shenanigans, PartialEq::eq in const, rescursive consts etc.) — but those are being discussed by various rust teams.

I think in terms of performance there are different goals, too — but again, I feel like if I took a detailed look at bevy_reflect it would kind of anchor my expectations and it would make it harder to just think from first principles so I'm going to willingly avoid doing that, and I'd be grateful if folks can exercise patience and not list too many differences in this topic right now yet.

@tversteeg tversteeg added the ✋ question Further information is requested label Apr 25, 2025
@MrGVSV
Copy link
MrGVSV commented Apr 28, 2025

Hey @fasterthanlime, Bevy's SME-Reflect here! I know you haven't looked at bevy_reflect in detail (which is totally understandable and something I tend to do as well), but I was curious about facet-reflect's goals as that could help us answer similar questions from people on our end.

Since Bevy is a game engine, one thing we want to support as easily as possible is scripting and types fully defined at runtime (e.g. from a scripting language). We're not fully there yet, but that is one of our goals.

Is this a similar goal for facet-reflect? To allow for fully runtime-defined types that aren't strictly tied to things like TypeIds and such?

@facet-rs facet-rs locked and limited conversation to collaborators Apr 29, 2025
@fasterthanlime fasterthanlime converted this issue into discussion #476 Apr 29, 2025

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
✋ question Further information is requested
Projects
None yet
Development

No branches or pull requests

4 participants
0