My highish level plan atm:
# Engine:
## Physics
- [x] integrate rapier physics engine
## Rendering
- [x] support multiple textures
- [x] OPTO: group meshes by texture and perform one draw
call per texture
- [ ] REFACTOR: needs some serious cleanup
- [x] get view model properly working again
- [ ] particles
- [ ] decals
### Opto
- [ ] frustum cull meshes
- [ ] occlusion cull lights
- [x] render shadow lights in a single pass
## Sound
- [ ] integrate Phonon sound engine
- [ ] integrate fmod with Phonon
## Networking
- [ ] headless mode
## GUI
- [ ] integrate Egui
- [ ] custom text renderer
- [ ] custom button renderer
- [ ] custom text input renderer
## Dev Quality of Life
- [ ] load assets at runtime instead of compile time
- [x] load shaders at runtime instead of compile time
- [ ] hot reload textures
- [x] hot reload shaders
- [ ] hot reload sounds
- [ ] hot reload maps
- [ ] Egui console, whether in-house or using existing lib
# Game:
## Networking
- [ ] establish connection with Renet