# Roadmap ## `Milestone I (basic math and utils)` - ### `basic math` - [x] `vec2, vec3, vec4` - [x] `mat2, mat3, mat4` - [x] `unit` - [x] `basic math functions` ``` clamp, min, max, approximately etc. ``` - [x] `basic trigonometric functions and constants` ``` pi, sin, cos, to_deg, to_rad etc. ``` - ### `basic utils` - [x] `path` ``` functions to manipulating paths in a portable way ``` - [x] `color, color32` - [x] `basic string functions` ``` unicode convertions, wildcard patterns, type safe format ``` - [x] `timer and time functions` - [x] `image, image loaders` ``` basic true color formats internal: g8, ga8, rgb8, rgba8 external: png, jpg, tga ``` - [x] `streams and native file system` - [x] `thread pool and async tasks` ## `Milestone II (basic core)` - ### `basic core` - [x] `engine` ``` game loop frame timers core initialization ``` - [x] `logger` ``` levels, sinks ``` - [x] `basic input system` ``` events, listeners, polling devices: mouse, keyboard ``` - [x] `basic window system` ``` GLFW, Windows, Linux, Mac OS X windowed and fullscreen modes ``` - [x] `basic render system` ``` OpenGL only index and vertex buffers, render state, textures, blends, pixel and vertex shaders ``` - [x] `virtual file system` ``` path aliases, archives, async loading ``` ## `Milestone III (basic high)` - ### `basic high` - [x] `library` ``` resource management, abstract loaders groups, dependencies, async loading ``` - [x] `resources` ``` meshes, shaders, textures, materials ``` - [x] `scene graph` ``` nodes, scenes parent-child relationships ``` ## `Milestone IV (advanced core and high)` - ### `advanced core` - [x] `audio` ``` vorbis, streaming ``` - [x] `network` ``` http/https requests ``` - ### `advanced high` - [ ] `sprites` ``` texture atlases quad and polygon sprites ``` - [ ] `debug` ``` system profilers hot library reloading resource and component inspectors ``` - [x] `ECS` ``` basic entity component system component processing and joins ``` - [x] `game objects` ``` entity prefabs smart entity wrapper ``` - [ ] `animations` ``` flipbook, tweens and embedded spine runtime ``` - [ ] `text labels` ``` ttf, bmfont, sdf ``` - [ ] `scripting` ``` lua runtime and bindings ``` - [ ] `asset bundles` ``` downloadable resource packs ```