Looks nice!
Just to be ornery, I came up with a variation that combines my "rational smoothstep" with spherical linear interpolation ("slerp"):
DynamicModule[{b, n, u, ? = N[2 ?/3] , cols = RGBColor /@ {"#621295", "#e3e7f1"}},
Manipulate[u = (#^3/(1 - 3 # (1 - #))) &[Mod[t, 1]];
{n, b} = Which[t < 1 || t == 2,
{{-1, 0, 0}, {0, 0, 1}} Sin[? (1 - u)] +
{{0, 0, 1}, {0, -1, 0}} Sin[? u],
1 ? t < 2,
{{0, 0, 1}, {0, -1, 0}} Sin[? (1 - u)] +
{{1, 0, 0}, {0, 0, 1}} Sin[? u]]/Sin[?];
Graphics[{cols[[1]],
Polygon[bcc77.Transpose[{Cross[b, n], b}]]},
ImageSize -> 540, PlotRange -> 4,
Background -> cols[[-1]]], {t, 0, 2}]]
