* feat(shaders): add lighting to block accumulation OIT shaders
* feat(renderer): add water rendering with OIT and new shaders
* feat(water): implement screen-space reflection and refraction for water with depth fade and perturbation
* refactor(shader): replace glUniform calls with generic set_loc and remove cached locations
* feat(water): add noise-based caustics and configurable fog density
* fix(water shader): update depth fade and remove underwater check
- Increase DEPTH_FADE_DISTANCE from 8 to 10
- Remove conditional so depth fade always applies
- Darken deepColor from (0, 0.08, 0.15) to (0, 0.015, 0.045)
* feat(underwater): add volume scattering and shadow mapping for light shafts
* refactor: update water texture
* feat(gameplay): implement transparent block rendering with depth sorting
* fix(world): use camera pos for distance calculations, make water passable
* refactor(player): use ivec3 for block pass check
* feat(camera): add underwater detection
* feat(renderer): add underwater effect with framebuffer post-processing
* feat(block): add gas property and refactor solid block check
* fix(assets): set leaf block transparency to false
* fix(block): set leaf as transparent