# Milestones

## Hello screen again

  - [x] Extract OpenGL
  - [x] Minimal Vulkan
  - [x] ImGui

## Hello other

  - [x] Multiplayer
  - [~] Chat
    - Private messages
  - [~] Authentication
  - [x] Compression
  - [x] Encryption
  - [x] Embedded
  - [x] Standalone

## Hello world

  - [~] Map stream
    - [ ] Local prediction
  - [ ] Contouring service
  - [~] Edit
    - [ ] Compression (raw)
    - [x] Shape iterators
    - [ ] Anchor
    - [x] Prevent suffocation
    - [x] Local prediction
  - [~] Occlusion Culling
    - [~] Iterator ray
    - [ ] Cast from chunk center
  - [x] Transparency
  - [~] Entities
    - [ ] Collide
    - [x] Get models
    - [ ] Save in world
    - [ ] Rotate
  - [ ] Reduce compile unit count
  - [~] Review documentation
  - [ ] Clean kick

## Hello universe

  - [~] CI build
    - [ ] CMake package
    - [x] GitLab CI
  - Platfoms
    - [x] Linux
    - [~] Windows
  - [ ] Universe
    - [ ] Galaxy
      - [ ] Rotation
      - [ ] Orbit system
      - [ ] Gravity referential
    - [ ] Better generation
      - SIMD
        - [ ] Dynamic SIMD libs
        - [ ] FastNoiseSIMD / HastyNoise double precision
        - [ ] https://github.com/Auburn/FastNoise2/releases
      - [ ] Surface features
      - [ ] Biomes
        - https://imgur.com/kM8b5Zq
        - https://imgur.com/a/bh2iy
        - https://speciesdevblog.files.wordpress.com/2012/11/biomemap.png
  - [ ] Planet scale LOD
  - [~] Curvature
    - [~] CubeSphere
      - [ ] Area corrected CubeSphere
      - [ ] Corrected Normals
      - [ ] Surface curvature
      - [ ] Curvature avare frustum
    - [ ] Healpix

## Hello industry

 - [ ] Multiblock
 - [ ] Inventory

## Hello darkness

  - [ ] Break area part to entity
  - [ ] Slash screen
  - [ ] Start/Pause menu
  - [x] QUIC protocol
  - [~] 8 for 1 contouring problem
  - [ ] Use in memory protocol (to replace server_handle)
    - [ ] Remove SharedUniverse
  - [ ] Octree
    - [ ] Better Lod
  - [ ] VK
    - [ ] Instanced draw
    - [ ] Pipeline cache
    - [ ] Reuse descriptors
    - [ ] Secondary buffers
  - [ ] ECS
  - [ ] Cross plateforme encoding
  - [ ] Config (yaml)
  - [ ] 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
  - [ ] Cascaded shadow maps
  - [ ] Ray Tracing
  - [ ] Avoid transparent back-face
  - [ ] Translucency
    - Back face Depth based
