Stop chunking together voxels.
They can still be requested/delivered in blocks if there are performance motivations, but less of the code should care about the concept of terrain blocks/chunks, and care only about voxels. Mesh extraction works on arbitrary edges now, so it can be done at the voxel level.
I'm working on this on the chunkless branch.
Load/unload state is tracked per-edge instead of per-chunk. Loading is noticeably slower. The client SurroundingsLoader is still working on chunks, which might be part of the reason.
Load speed improved.
The mesh seams are bigger in this branch
Two blocking issues:
- Load speed is still noticeably slower
- Edges aren't properly unloaded!
Edge loading seems fixed.. load speed is still bad.
Edge unloading still broken
I think the problem has to do with when edges from a higher LOD don't have corresponding edges in a lower LOD (ones going through the middle of a lower-LOD voxel). The code that used to downgrade chunk LODs should be responsible for this now.
The chunk unloading logic is also broken.
I think edge reloading is fixed (there was a bug in rust-isosurface-extraction), but chunk/edge unloading logic is still shaky. Also framerate and load speed are bad.
Brushes are broken too