
Instead of interpolating our workspace and layout boxes for each child using clutter_actor_box_interpolate(), use our Util.lerp() function and stay in JS land instead. This is quite a large performance improvement since it avoids heap-allocating a new ClutterActorBox for every child. With this, we're finally at a duration of 1.0 ms to allocate the Workspace with 20 windows. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1743>