So it has been 3 weeks since my last post where I announced that I was reworking essential Systems.
A lot has happened since then. I finished the Splitting of the engine as far it was possible (the list grew as I made progress) and now I am at the process of Re-implementing features that had to be merged out of the engine entirely.

It wasn't easy to achieve that, especially the "Task System" was a real problem to make.
For the whole reason that I wanted to achieve a Main Thread task System that could be interrupted after a certain time-frame.
The solution was kinda simple in some regards. Have a second thread watch the first thread and throw a Interrupt to the thread. If the task can be interrupted then it will interrupt. This is of course not perfect but so close that I can make now long term "Interrupt-able" tasks that run on the main thread.
The idea being to use the time wise and have all non main-thread forced tasks be run in a separate thread to be prepared.
Especially with the idea of batches this can really help, because I just have to provide the finished batch data to the main thread.
Anyways since then I started re-implementing the world and all its features.
It is still in its beginning stage but at least already presentable.

The Shader is a bit more optimized but sadly not the model. I made a more optimized model that was using 16 bytes instead of 56 bytes per vertex (from 336 bytes to 96 bytes) but sadly the Shader could not use it at all. The data wasn't presented right.
Outside of this not much visible can be shown. UI still works the same. It was barely affected at all. Some errors here/there but manageable.
So right now I am working on testing a few new systems that I have to test before I can actually thinking of going further. (Mostly memory management etc)
Not much to show and it feels like 10 steps back, but the path looks so much more stable right now. A lot of things are now supported thanks to this. It feels a lot less buggy even so it was frustrating.
I will make another post when I have a new goal reached.
Which could be faster/slower then this what I have reached right now, but no promises.
Thanks for reading. Speiger