\[CapitalPsi][m_, n_, {x_, y_}] := Sin[m \[Pi] x] Sin[n \[Pi] y];
DynamicModule[
{n = 20, a = 1.2, dots,
cols = RGBColor /@ {"#0098d8", "#f54123", "#0b3536"}, \[Theta],
colorGrid, cf},
dots = Table[{(*we can pregenerate the table and leave z coordinate \
'dynamic'*)
2 \[Pi] (x - 1)/n,
2 \[Pi] (y - 1)/n,
Cos[Dynamic[
2 Pi \[Theta]]] ((*we are preparing 'dynamic placeholder' to \
be used later. the rescaling to 0-2Pi done here can be done FE side.*)
1./Sqrt[2] \[CapitalPsi][3, 1, {(x - 1)/n, (y - 1)/n}] +