Question :
I'm looking for a 2D noise whose gradient always have a norm of 1. which is equivalent to say that its isolines are always at the same distance. It can be any type of noise but its gradient must be continuous ( and if possible the second derivative too ). My goal is to implement it as a function in a fragment shader but just having the mathematical principle would be enough.
To explain more graphicaly what I want, here is a classic gradient noise with isolines and a simple lightning :

As you can see, the isolines density is variable because the slope isn't constant.
On this second picture, you can see the exact same noise but with a different lightning that I made by normalizing the gradient of the first one :

this looks way more like what I'm looking for, however, as you can see, the isolines are still wrong. I just cheated to get the lightning I wanted but I still don't have the noise itself.
Ways of thought :
During my research, I tried to do something similar to gradient noise ( the gradient is defined by a random vector at each grid point ), I focused on a square grid noise but a simplex grid would work too. I came across two main potential ways to solve the problem :
Finding the gradient of the noise first:
It is possible to find a function with its gradient and a fixed value, the reason why it doesn't work with the normalized gradient I used for the lighting of the second picture is that the rotational of the gradient must be 0 everywhere ( else the function can't be continuous ). So the gradient I'm looking for must have a rotational of 0, have a norm of 1, and if we integrate it from one node to another, the result must be zero ( because all nodes of a gradient noise have a value of 0 ).
norm of 1 :
I found three ways to deal with this problem : we can define the gradient by (cos(a(x, y)), sin(a(x, y))), say that the dot product between the gradient and its derivative is 0 or simply say that the dot product of he gradient with itself is 1.
rotational :
The derivative of the x component of the gradient in respect of y must be equal to the derivative of the y component of the gradient in respect of x ( which with the trigonometric technique seen above, becomes : cos(a)*da/dx = -sin(a)*da/dy )
integral from a node to the next one :
I havent investigated that part yet.
Finding the noise itself:
it solves the nodes = 0 problem easily but the main one is still there : the norm of the gradient must be 1 everywhere.
Conclusion :
Of course, those are just ideas and if your answer is completely different from that, ill take it anyways ( and with a big smile ).