How do I measure the distance between two points on a mesh?

Godot Version

4.2.2

Question

I am doing some experiments with godot. And I have a scene with a terrain (it’s a small map of a grassland with a small hill). And I have two points on the terrain.
And the distance between the two points passes through the hill.

So the 3D vector calculation gives me the straight line but it is not the value of the distance if a character was walking on the terrain.

Does Godot have a way to measure the distance between two points that are on a mesh (following the mesh surface)?

And I have another question: Does Godot have a way to generate a 3D line that draws the path between the two points (going up and down the hill)?