Part of #118145. This PR adds a lot of new code, but the implementations are the same for the three geometry types, and all of the new code is fairly straightforward. This also fixes an issue where the filter didn't work properly for multires in main because of missing propagation across grid boundaries. Pull Request: https://projects.blender.org/blender/blender/pulls/125639