Seperation of concerns: World #388

Closed
opened 2024-12-02 15:40:16 +00:00 by SakulFlee · 2 comments
SakulFlee commented 2024-12-02 15:40:16 +00:00 (Migrated from github.com)

The current implementation of World is functional and efficient, but messy.
We should split it up into multiple smaller parts, similar to how ElementStore already took out the Element part of World.

Furthermore, we should make WorldChanges either domain specific (e.g. Element, Light, Model, etc.) or sort them into such categories in World.
A collection of necessary WorldChanges then should be passed down into each domain to be processed there.

Additionally, this would open up World to be much more async friendly as currently, World::process_world_changes cannot be run asynchronous.

The current implementation of `World` is functional and efficient, but messy. We should split it up into multiple smaller parts, similar to how `ElementStore` already took out the `Element` part of World. Furthermore, we should make `WorldChange`s either domain specific (e.g. `Element`, `Light`, `Model`, etc.) or sort them into such categories in `World`. A collection of necessary `WorldChange`s then should be passed down into each domain to be processed there. Additionally, this would open up `World` to be much more _async friendly_ as currently, `World::process_world_changes` cannot be run asynchronous. <!-- Edit the body of your new issue then click the ✓ "Create Issue" button in the top right of the editor. The first line will be the issue title. Assignees and Labels follow after a blank line. Leave an empty line before beginning the body of the issue. -->
SakulFlee commented 2024-12-09 13:24:45 +00:00 (Migrated from github.com)

Pre: #409

Pre: #409
SakulFlee commented 2025-07-10 16:20:48 +00:00 (Migrated from github.com)

Done with v3 recode

Done with v3 recode
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
SakulFlee/Orbital#388
No description provided.