Each face is exactly 2^30 tiles, equivalent to a 1 gigapixel image. Here is a link to a full size (2x zoomed) image of the front face. (https://easyzoom.com/image/146053/album/0/4?mode=manage
The grid size in the scales animation is 1m for the small squares and 10m for the large. The cube is 622m in each dimension (based a 3x3 cube being 57mm)
The solver is a single threaded 64 bit application written in c++. The source code has been posted to GitHub (https://github.com/ShellPuppy/RCube
). If anyone is interested in a challenge, the application is capable of solving up to a 65,536 layered cube but I predict it will take around 2 years to complete and require just over 24gb of ram. The app is capable of saving its state every few hours in case a reboot is necessary. I'm fairly certain it's not possible to make this app multi-threaded since there is no reasonable way to break the problem into sub problems that can be distributed; imagine 2 people trying to solve a cube at the same time.
The algorithm I used is explained in more detail the GitHub readme. In short, it solves centers then corners then edges and uses a very efficient commutator that can move many tiles at once. The edges and corners are brute force solved (there is a lot of room for improvement there).
I ran this simulation on an 8700k @ 5ghz and it took a total of 2706.16 hours to complete and generated over 500gb of image data. I set it to export a set of images for each face about every 150,000 moves. Unfortunately there aren't enough pixels in a 4k video to show every tile on the cube so I had the app export 4-megapixel images for each face and frame of the animation (each face actually contains exactly 1 gigapixel). Those 6 image sequences were used to texture a cube for the final render. In addition the app exports some statistics to a log file which was used to generate the stats in the final video.
The zoom-out sequence nearly broke my machine. I generated 3 full size images (front, top, and right) and used it to texture a 3d cube then moved the camera extremely close. I used an s-curve function (https://en.wikipedia.org/wiki/Sigmoid_function
) for the motion of the camera.
Note: rotations of 2 were counted as single move in the stats.