useFog({ height: { top, bottom } }) fades things below top and hides them at bottom, however near they are: the mist at the foot of a cliff, a pit with no bottom to see. With distance: false it is the only fog, and the valley is clear across.
It joins the fog by distance (near, far): at each corner the denser of the two wins, so what is low sinks into the mist and what is far is lost in the haze. With top under bottom it runs the other way, into a cloud.
Every field of the fog is read every frame: fog.enabled, fog.distance, fog.height.top and fog.height.bottom change it at once, or through a tween.
Click the preview first so it hears the keyboard. 1, 2 and 3 switch between no fog, fog by height and both; the up and down arrows raise and lower the mist.