I've started doing the work to add voxels that can allocate and store information for themselves. I've also added support for voxels that have different sorts of collision geometry. Right now we only support Axis-Aligned Bounding Boxes for collision. You can also define custom geometry for each voxel that can be either static and placed in chunk buffer, or dynamic and get generated every frame. The lighting still works like before but the new blocks and shapes have not been implemented correctly. There are also still some bugs and weird behavior with the collision system.
Another Collision Testing Area
I've made fences and subsequently run into a lot of bugs with my collision system for the player. I've solved most of the major bugs but you can still get caught on edges between irregular blocks which will have to get fixed eventually. Not sure how to do that yet though...
Player Collision Is Working
I made it so every time the player resolves collision with a block it would change the block to glass or cobblestone.
Collision Testing Area
Making a collision testing course to test the movement/collision system