From 8f28a628174a075b0c9ff28403048f0ee8d3bcd5 Mon Sep 17 00:00:00 2001 From: dnesov Date: Tue, 15 Oct 2024 22:06:08 +0200 Subject: [PATCH] Update TODO --- TODO.md | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/TODO.md b/TODO.md index db1326a..3cdb034 100644 --- a/TODO.md +++ b/TODO.md @@ -3,23 +3,25 @@ ## Core - ~~Add and implement interfaces for systems (ISystem, IUpdatableSystem, etc.)~~ -- Minimize amount of possible null references. -- TextDataResource providing a convenient wrapper around TOML data files. -- Add documentation for common classes. +- ~~Minimize amount of possible null references.~~ +- ~~TextDataResource providing a convenient wrapper around TOML data files.~~ +- ~~Add documentation for common classes.~~ - ~~Hot reloading of resources.~~ ## I/O -- Use GUIDs and string ID maps for fetching resources instead of string IDs alone. -- (stretch goal) Make async API for ResourceManager -- (stretch goal/1.0) Streamed resource loading -- (stretch goal) Virtual file system +- ~~Use GUIDs and string ID maps for fetching resources instead of string IDs alone.~~ +- Reimplement unloading. +- Finalize ResourceManager and ResourceLoader APIs for 1.0. +- (stretch goal) Streamed resource loading. +- (stretch goal) Add async API for ResourceManager. +- (stretch goal) Virtual file system. ## Serialization - Serialize attribute. - Add automatic serialization of resources through code generation and System.Text.Json. -- Provide means for fetching key/value configuration (INI? TOML?) +- ~~Provide means for fetching key/value configuration (INI? TOML?)~~ - Expose some sort of ConfigFile class for safe key/value configuration fetching. ## Rendering @@ -27,7 +29,7 @@ - ~~API for drawing textured quads~~ - ~~Camera API~~ - Arbitrary mesh rendering API. -- (1.0) Create WebGPU renderer (StandardRenderer) +- Create WebGPU renderer (StandardRenderer) ## Audio @@ -38,11 +40,14 @@ - ~~Asset manager~~ - ~~Separate engine and game into separate projects~~ -- ~~Particle system~~ +- Particle system 2.0 + - Reduce the size of Particle struct by infering most parameters through lifetime. + - Reduce cache misses by utilizing SoA. + - SIMD acceleration. ## SceneGraph module -- ~~Layers (sorting mechanism)~~ +- Layers (sorting mechanism) - Full overhaul using Entity Component architecture (not to be mistaken with ECS). - Save/load scenes from file