How to make shader with curves

I’m trying to make a tilable shader for a platform so that it looks kind of like this (but in 3D):9443654--1325030--upload_2023-10-31_23-2-41.pngso the bottom is kind of a sine wave (or some other function. that part’s not important).
I can’t get the shader to affect different parts of the platform differently though. I’m calculating the position vector of the shader like this: position = position + normalVectorsin(100position.x)
but the x position is the same all across the platform instead of varying so I’m getting this:


Clearly the sine is affecting the height of the platform differently at different places, but it’s not creating a wave even if I scale the coefficient of position.x to crazy high numbers. The slope is always constant for some reason
Here’s the shader I made:

Does anyone know how to get this affect?

if the mesh doesn’t contain enough vertices, it might look like that.
try having higher resolution mesh (hundreds or thousands of vertices)