Effect on printed materials through automatic level adjustment

Great discussion, fun read.

The answer is both 1) and 2) are possible, depending on how you have the firmware set.

In practice, without doing anything, the answer is 1).

If you want 2) you will need to adjust the mesh as the way Snapmaker stores the mesh is incompatible with Marlin’s M420 Z Fade Height.

Z fade height gives funny results when the mesh values are very far away from 0. Snapmaker uses the mesh values around 6-7mm because it combines both the bed unlevel characteristics and also the home offset into a single number. For Z Fade Height to work you will need to adjust the mesh so it is near 0, and the home offset moved into M206 Z, for instance, by subtracting 6 from each mesh point, which can be done with G1029 D-6.

The fade Z height is used in the firmware to compute a scaling factor which goes from 1 to 0 as Z goes from 0 up to Z_FADE_HEIGHT, which is applied as follows:
raw.z +=fade_scaling_factor ? fade_scaling_factor * bilinear_z_offset(raw) : 0.0

You can see the problem, the way Snapmaker applies a 6mm-ish offset into the mesh to compensate for the home offset, as you get higher you are moving the nozzle 6mm closer to the bed as you reach the Z fade-out height, which makes things much worse.

Word of warning - when the mesh is set up per the standard calibration there is a software endstop at Z=0 that prevents the firmware for crashing into the bed. If you move this into M206 and out of M420 I believe you can drive the nozzle to negative coordinates if you’re careless, crashing into the build plate.