* 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
* feat: add grass texture and update grass_block texture
* feat: add block data
* feat: add blocks_tool
* feat: add sync info and change function in blocks_tools
* feat: add check and new function
* refactor: make block texture loading data-driven
* feat: add rendering for grass
* feat: passable grass
* feat: random grass place
* fix: memory leak in TextureManager::load_cross_plane_texture