From 5227c390a13085d595c1c64862e3a23da8b5087d Mon Sep 17 00:00:00 2001 From: dnesov Date: Thu, 22 Aug 2024 22:22:11 +0200 Subject: [PATCH] Update TODO --- Voile/TODO.md | 42 ++++++++++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/Voile/TODO.md b/Voile/TODO.md index 1a70a1f..1df6c85 100644 --- a/Voile/TODO.md +++ b/Voile/TODO.md @@ -1,30 +1,46 @@ -# RogueMine +# Voile MVP -## Engine +## Core -### Core - -- Virtual file system +- Add and implement interfaces for subsystems (ISubSystem, IUpdatableSubSystem, etc.) +- Minimize amount of possible null references. +- Serialization of Resources through code generation. +- Add documentation for common classes. - Hot reloading -### Rendering +## 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 + +## Serialization + +- Serialize attribute. +- Add automatic serialization of resources through code generation and System.Text.Json. +- Provide means for fetching key/value configuration (INI? TOML?) + - Expose some sort of ConfigFile class for safe key/value configuration fetching. + +## Rendering - ~~API for drawing textured quads~~ - ~~Camera API~~ -- Switch to custom rendering (Veldrid?) +- Arbitrary mesh rendering API. +- (1.0) Create WebGPU renderer (StandardRenderer) -### Audio +## Audio - ~~Integrate FMOD~~ - 2D audio abstraction -### Misc +## Misc - ~~Asset manager~~ - ~~Separate engine and game into separate projects~~ - ~~Particle system~~ -### SceneGraph module +## SceneGraph module - ~~Layers (sorting mechanism)~~ - Save/load scenes from file @@ -32,13 +48,11 @@ ## Input - ~~Action system~~ +- Make action system use an InputMap resource instead. - Gamepad support -### UI +## UI -- Basic containers - - MarginContainer -- Text wrapping - UIElement 2.0 - Interaction - Callbacks