Distance along surface between two points?

I’m working on some surface textures that want to calculate the distance between two points on a surface, and I can’t get my head around how to calculate that. Is there a way to draw a line between two points on a surface? Or to otherwise figure out distance between two points on a surface?

Here’s a sample definition that just uses cartesian distance… any thoughts on how to replace the distance component with something measures across the surface?

PS: I don’t think unrolling the surface is an option… the actual surfaces I’m working with are much more complex than this cylinder

surface-distance.gh (8.3 KB)

The segment between two points in a surface space is called geodesic. You have it in Curve > Spline.

Thank you!