It seems now with bevy_reflect we are here for scripting in bevy, finally! Currently I am on a project that requires a dynamic updateable ECS support, and I am doing research on bevy-ecs and if we could get there.
I already see how insert into the ECS world can be done once we have the component defined even as an empty struct to provide the reflected Type in Rust. But the thing is it looks to me that we still need more functionality in bevy to bypass the lacking of type id (as well as TypeRegistration problem).
I saw you guys also exploring this in here. It seems to me that if we are gonna emulate the type id with our own defined type and let JS defined components share this type, we might lose some parallelism?
Since I still haven't explored the whole parallel part of Bevy's implementation, I am just imgining this. For example, if system A requires component A and system B requires component B but both are in JS, will this two systems possible to be run in parallel?
And, if this really is a problem, what can we do to the Bevy or do we have any workaround to solve this?