Today's shader sketch was working on an effect. It took me way too long to figure out this code. &sol
vec2 st = gl_FragCoord.xy / u_resolution.xy;
int iters = 32;
float ratio = 0.5 + 0.5*sin(0.5*u_time);
for (int i = 0; i < iters; i++) {
if (st.x < ratio) {
st.x = st.x / ratio;
break;
} else {
float temp = st.x - ratio;
st.x = (1.0 - st.y);
st.y = temp / (1.0-ratio);
}
}