jrockett6 / bevy_godot4

Bring Bevy's ECS to Godot4
MIT License
39 stars 8 forks source link

update pls #1

Closed NKDark closed 2 months ago

NKDark commented 1 year ago

The current version of the repository is not functional. I attempted to resolve the bug, but when I fixed theexplicit bugs and tried to start the Godot main window, it immediately closed without generating any logs. I don't think I can solve this issue on my own. Could you please update.

NKDark commented 1 year ago

https://github.com/NKDark/bevy_godot4/tree/dev

jrockett6 commented 1 year ago

I attempted to update and ran into similar issues as you. The new registration seems to be causing issues that are more than I can take a look at right now. I've pinned the repo to an old version of gdext.

Furthermore, there have been suggestions in the gdext discord of removing Gd::from_instance_id() from the public API due to the potential for unsafety, which is part of the API that this library hinges on. I believe the foundation of this crate (ErasedGd) will become obsolete if attempting to keep up with future gdext safety changes.

NKDark commented 1 year ago

Thank you. It seems that resolving this issue will require more time. I will need to find an alternative solution for now.

Bromeon commented 4 months ago

Furthermore, there have been suggestions in the gdext discord of removing Gd::from_instance_id() from the public API due to the potential for unsafety, which is part of the API that this library hinges on.

Just to be clear, that's not going to happen. The misunderstanding was likely that we cannot easily support it in multithreaded contexts: you can use from_instance_id() as a backdoor to send types across threads, even if those types aren't Send. With regards to the impact on the API, this would rather mean that a multi-threaded version of Gd would support from_instance_id() only with restrictions or not at all. But the regular Gd will keep it (possibly with thread checks), this function is too useful.