Currently, there are at least two worlds in any given bevy app, the 'normal' world and the render world. The render world is responsible for rendering a scene to the screen. To keep the two worlds in sync, all the entities of the render world are removed at the end of a frame and in the subsequent frame the render world is 'rebuilt'.
There are plans for the ecs (mainly involving Relations) that hinge on more things becoming entities. As entities become more fundamental (components as entities, queries as entities), it becomes a problem when the render world removes all entities in every frame.
I'm mainly attempting to lift this problem from Discord (where it has been repeatedly discussed) to a slightly less transient and easier-to-read format.
If I got anything wrong, please tell me. While I think that this problem should be solved, it is sadly also a problem of which I don't know the full details.
Currently, there are at least two worlds in any given bevy app, the 'normal' world and the render world. The render world is responsible for rendering a scene to the screen. To keep the two worlds in sync, all the entities of the render world are removed at the end of a frame and in the subsequent frame the render world is 'rebuilt'.
There are plans for the ecs (mainly involving Relations) that hinge on more things becoming entities. As entities become more fundamental (components as entities, queries as entities), it becomes a problem when the render world removes all entities in every frame.
I'm mainly attempting to lift this problem from Discord (where it has been repeatedly discussed) to a slightly less transient and easier-to-read format.
If I got anything wrong, please tell me. While I think that this problem should be solved, it is sadly also a problem of which I don't know the full details.