I changed your goal so instead of using the full vector to the desired offset distance, it goes only some portion of that distance at each step. This reduces any chance of momentum putting it on the other side of the surface.
I’m not sure I fully understand the aim though. If it is just to put the points at a given offset from the brep, then this is more easily done by moving them directly without any need for Kangaroo.
Is this an extracted part of a more complex definition involving other goals?
In industrial products, polysurfaces are offset to subtract with Boolean operations on wall thickness.
However, offsets rarely work, so I was looking for an alternative.
Also, when combined with other Kangaroo Goals such as EqualLength and Smooth, a single surface with uniform UVs can be created.
I think this custom goal is good for morphing and I would like it to be a standard component if possible