Asher Norland
Asher Norland
Modules need to be treated as assets, whether compile or run-time. If a compile module is placed at run-time in `modules` it should be able to be discovered and used...
The basis of any asset serialization and processing is a file observer. There is no cross-platform c++ option in filesystem, so a compile-time module needs to be created in `Source/Transput/Observer`....
The `EntityRegistry` does not allow full management of components as would be expected. There is no iteration over entities. There are no views into components. A full 1.0 implementation is...
The sparse group of data structures including `SparseHashMap` are only minimally implemented to facilitate a minimal `EntityRegistry`. In addition to being barely functional, there is opportunity for code reuse between...
Overview and design documentation should not be inside code as it makes code less readable and greatly increases cognitive load when browsing files. However, it should also not be distant...
Composition is another module opportunity. The folder structure will then become `Source/Composition/Event/...`, `Source/Composition/Entity/Component.h` , `Source/Composition/Entity/Modules/Sparse/SparseEntityRegistry.h` etc.
https://docs.conan.io/en/latest/integrations/cmake/cmake_paths_generator.html There should be no additional setup overhead to any project with this change. Setup overhead will only ever come from making an engine editable rather than any project registration.
The initial name chosen is no longer relevant. All render graph implementations will be forced to use the entity system for data storage by design.