Forcing the angle between two moving faces between a certain range

Hi everyone,
I’m trying to fold two (or more) faces of a mesh and I want to force the angle between the normal vectors of the faces to be always in the positive range.

Practically I want the crease between the faces to always fold mountain, and never valley, but without setting a specific angle (as the hinge node require).

What I would like to have is a node like the “hinge goal node” but with a range of angles instead of a single target angle.

Do you know if there is a practical walkaround to extract a normal of a face for every iteration and force the relative face to stay perpendicular to it? Then I could use the clamp angle node to fix the range.
I attach a file with a bidimensional example that almost work that I would like to transform in 3D.

Thanks, Riccardo

kangaroo example.gh (10.1 KB) kangroo example.3dm (95.1 KB)