How do I use heightmaps to adjust Normal/Quad grid?

I am keen to explore the option of using the terrain sculpting tool built in or maybe a procedural terrain generator that adjust the height of the terrain in parts by its quad/normal/face only.

example:

image

I was thinking this could be simply marching squares of some sort? I can’t quite put a name to the algorithum i would need here but suffice to say, i want the ability to adjust the terrain so that it takes the shape in the pictures above. As the intention is to create a level whereby I use basic “puzzle” pieces to decorate the slpes with cliffs edges later.

I remember seeing this type of terrain in games like Transport Tycoon / Rollercoaster Tycoon and Sim City 2000 - however these titles are 2D where as I would need this in 3D.

ideal scenario would be to use a heightmap (perlin noise generated) that determines the height of each quad face (instead of individual pixels) to ensure there is always consistant heights per quad. As i’d even go a step further to ensure each height goes up in increments of 1m (unit) to retain grid snapping.

Any pointers or reference material I could look at would help me on this journey.

Appreciate anyones help on this.