# Milestones ## Hello world Released as `0.0.1`: `Pre alpha 1` - [x] From the ground up cleanup ## System - [~] Dependencies updater - [x] Tracy - [ ] ImGui - [x] FastNoise - Compile time - [x] Warnings - [ ] Unit build - [ ] Ninga - [ ] Clang - [x] CI build - [x] CMake package - [x] GitLab CI - Platforms - [x] Linux - [x] Windows - Mingw: requires picotls, picoquic and FastNoise compatibility - [ ] MacOS - [ ] Launcher / Updater - [ ] Review documentation - [ ] Code cleanup - [ ] Proper wiki - [ ] Proper logger - [ ] I18L ## Data - [~] Element hierarchy - [x] Raycast - [ ] Soft part break - [x] Relative position - [x] Rotate - [ ] Bounding hierarchy - [x] Merge World and Entities - [ ] Galaxy - [~] Orbit system - [x] Circular - [ ] Elliptic - [ ] Gravity referential - [ ] Collisions - [ ] Point - [ ] Step - [ ] Ray - [ ] Continuous - Bilateral advancement - GJK - Edits - [ ] More shapes - [ ] Rotate - [ ] Anchor - [ ] Multi-block system - [ ] Cross chunk structure - [ ] Lighting - [ ] Passive chunk save - Generation - SIMD - [ ] Double precision - [ ] Surface features - [ ] Biomes - https://imgur.com/kM8b5Zq - https://imgur.com/a/bh2iy - https://speciesdevblog.files.wordpress.com/2012/11/biomemap.png - [x] Data oriented - [ ] Inventory - [ ] Octree - [ ] Surface aware LOD - [ ] All levels (0-5) - [ ] Tree fill - [ ] Big edit queue - [ ] Update region level average - [ ] Area converter - [ ] Minecraft import - [ ] Base unit size change - [ ] Local generation prediction - [~] Modding API - [x] Define boundaries - [ ] Version handling - [ ] Client-Server negotiation - [ ] Save file index - [ ] List possibilities ## Graphics - [~] Disable VK for now - [ ] Slash screen - [ ] Proper UI - [ ] Pause menu - [~] Start menu - [ ] Using texture pack - [ ] FontAwesome (https://github.com/juliettef/IconFontCppHeaders) - [x] Define standard unit sizes - Terrain (area) 1:1m - Objects (part) 1-8:1 - Models (instance) ~16:1 manual - Visual debug - [x] Chunk / Region border - [x] Area box - [ ] Collision overview - [ ] Effective occlusion culling - [ ] Use average - [ ] Cast from chunk center - Curvature - CubeSphere - [ ] Area corrected CubeSphere - [ ] Corrected Normals - [ ] Surface curvature - [ ] Curvature aware frustum - [ ] Healpix ### Raster - https://www.iquilezles.org/www/index.htm - [~] 8 for 1 contouring problem - [ ] Merge stochastic and triplanar - https://assetstore.unity.com/packages/tools/terrain/microsplat-96478 - https://www.youtube.com/user/slipster216/videos - [x] Biplanar - [ ] Fix stochastic (needs regionPosition bound in f16 range) - [ ] Distance resampling - [ ] Tesselation - [ ] Better LOD selection - Dynamic to target fps - [ ] Planet scale LOD (using chunk level average) - [ ] Hard shadow - [ ] World lights - [ ] HDR - https://www.youtube.com/watch?v=iikdcAA7cww - Toon shading - Eye adaptation - GLSL gamma correction - https://github.com/skurmedel/shaders/blob/master/glsl/gamma_correct.glsl - [ ] Post processing - https://learnopengl.com/Advanced-OpenGL/Anti-Aliasing - Bloom - [ ] Procedural Skybox - [ ] Deferred - [ ] Ambiant occlusion - [ ] Cascaded shadow maps - [ ] Avoid transparent back-face - [ ] Translucency - Back-face depth based - [ ] Contouring service ### Ray - All of it - Probably v2 ## Network - [x] QUIC protocol - [ ] Use in memory protocol - replace server_handle - [ ] Private messages - [ ] Commands - [~] Authentication - [ ] Clean kick - [ ] Check certificate