- Introduced CubeType to define block properties including texture mappings and orientation.
- Added CubeTypeRegistry for managing block types, including methods for adding and loading from JSON.
- Updated Voxel and VoxelWorld classes to utilize the new registry for voxel management.
- Enhanced GreedyMesher to resolve face textures based on the CubeTypeRegistry.
- Refactored existing methods to support the new block type system, ensuring backward compatibility with previous voxel ID handling.
- Added comprehensive tests for the new functionality, including multi-texture support and block type resolution.
- Updated documentation to reflect changes in voxel management and block type registration.
- Adjusted the clear color in the 3D frame to use the background color instead of a stale 2D clear.
- Updated the front face winding in the voxel rect pipeline to counter-clockwise to align with Vulkan's framebuffer requirements.
- Added comments for clarity on the changes made to the clear color and face winding logic.