So in my work right now, I've been working on destructible voxel terrain. I've gotten it down to a minecraft-like model, where there are chunks of fixed size and the viewing of the world is optimized (render near-to-far, etc). I have used 3D noise, created complex terrain, and have a firm grasp on procedurally creating terrain with noise. However, I want to take the next step now, and move on to using deal contouring and a chunked LOD system.
So my issues lie here: How would I go about this? Let me first say that I understand generally how these algorithms work. I know that dual contouring checks the edges of grid cells that change from in to out of the surface, and I know that chunked LOD takes into account how far away a chunk is from the viewer's chunk. I've also seen source code but...I think I'm just having trouble taking the step between general knowledge and full understanding down to implementation.
My main guiding questions are this: How do you know when to change level of detail? Does this LOD change in every (or most near chunks) chunk as you move? If so, how does this happen in real time?
My end goal is having destructible terrain with viewing distances much like real-life. I know this is possible, as I have seen at least a couple implementations, but I still can't bridge the gap. Any help??