feat: Add flecs_matchbox integration#513
feat: Add flecs_matchbox integration#513no-materials wants to merge 2 commits intojohanhelsing:mainfrom
flecs_matchbox integration#513Conversation
|
Thanks for the PR! Implementation looks solid and well documented. It makes me think a little bit about the organization of the project though. So far, we've done everything in a monorepo, even though some parts would arguably be cleaner to have separate and/or release separately. Right now we are tightly linked to Bevy's release cycle, which is fine for me, since it's the use case i care most about, and we should release regularly anyway. Not sure how often flecs release breaking versions? Just thinking aloud here. |
Thanks for the review! I'm glad you think the implementation is solid. You've raised a valid point about the monorepo organization and release cycles. After you mentioned it, I did a deeper dive, and you are absolutely right to be cautious. I found that the flecs-rust bindings are explicitly in an alpha/experimental stage, and the core With that in mind, how would you feel about this approach to isolate the risk?
This way, I am happy to handle the work of updating Let me know what you think. I'm keen to find a solution that works well for the project long-term. |
johanhelsing
left a comment
There was a problem hiding this comment.
Thanks for the clear and detailed write-up. I think it can make sense to include it in this repo for now and decouple it from the release cycle of the rest of the project. If it becomes a problem, we could always split it off into a separate repo later.
|
@no-materials are you still interested in this? Will make a release tomorrow probably. Not sure if I should include this or not. |
|
Converting to draft, since the dependencies are now outdated, and there was no reply |
This PR introduces
flecs_matchbox, a new integration crate for the Flecs Entity Component System, a high-performance C/C++ ECS with excellent Rust bindings.The API is designed to be consistent with
bevy_matchbox, offering a familiar developer experience. It provides:A
FlecsMatchboxSocketcomponent that is managed as a singleton.OpenSocketExtandCloseSocketExttraits on the Flecs World for ergonomic setup and teardown.An optional
signalingfeature for an embedded server on native builds.The crate includes a suite of examples (
hello,hello_host,hello_signaling) that mirror the existingbevy_matchboxexamples to ensure correctness and demonstrate usage.