\documentclass[border=5mm]{standalone}
\usepackage{luamplib}
\begin{document}
\mplibtextextlabel{enable}
\begin{mplibcode}

input tiling-ammann-procedures

picture P[];

path ss, rr;

ss = s scaled 36;
rr = r scaled 48;

dotlabeldiam := 2;

P1 = image(
   square(0, point 0 of ss, point 2 of ss);
   dotlabel.ulft("$a$", point 0 of ss);
   dotlabel.urt ("$b$", point 2 of ss);
);
P2 = image(
   draw ss dashed withdots scaled 1/4;
   square(1, point 0 of ss, point 2 of ss);
);

P3 = image(
   drawarrow 20 left -- 20 right;
   label(P1, 50 left);
   label(P2, 50 right);
);

P4 = image(
   rhomb(0, point 0 of rr, point 2 of rr);
   dotlabel.ulft("$a$", point 0 of rr);
   dotlabel.urt("$b$", point 2 of rr);
);

P5 = image(
   draw rr dashed withdots scaled 1/4;
   rhomb(1, point 0 of rr, point 2 of rr);

);

P6 = image(
   drawarrow 16 left -- 20 right;
   label(P4, 50 left);
   label(P5, 50 right);

);

beginfig(1);
   label.lft(P6, 13 left);
   label.rt(P3, 13 right);
endfig;
\end{mplibcode}
\end{document}