Here's my Geometry Nodes entry, with full parametric controls:
It's basically the Spiral curve primitive with a Curve Line as profile so you get a ramp. There are three challenges:
- As soon as you play with its parameters, like height, or rotation amount, the curve gets tilted
- It needs to (be able to) get smaller towards the top
- It's not flat at ramp endings in top view
First two problems get under control with Spline Parameter. Third problem proved more troublesome, but I noticed that ramp ending lines get orthogonal every quarter as long as Resolution is a multiple of 4
and they are not open ended (since their angle gets averaged by both sides, if one side is open, it doesn't stay flat). So I ended up giving every rotation 6 quarters and trim the ones at both ends, leaving me with the middle ones with the orthogonal ends. 6 quarters mean every rotation in the result is actually 1.5
rotations in the source Spiral, that's why you see those two numbers at the very beginning, tied to Rotations and Smoothness. The Spline Parameter value going into Set Curve Radius is also mapped to a new range to compensate for this. Rest is more maintenance of transformations.
Here's the full node view:
And here's the file.