Being able to sample terrain’s heightmap and weightmaps from other materials would be invaluable addition. For now I’ve been using a downsized power of 2 copy of terrain heightmap. While technically doing so is a waste of memory, it is still good sacrifice and gives acceptable results for large and medium meshes.
For small terrain scatters, that were placed with grass system, I’ve actually used slightly different approach. I’ve sampled terrain’s normal map and used it to drive direction of gradient mask on the meshes. Eventually, the mask looked like a band around the mesh’s pivot(pivots were centered for small scatter meshes), that was aligned with terrain’s normal.