It would be nice to allow users to deeply zoom into large spherical panoramic images, uncovering more detail as they pan and zoom.
We have some large images. In Category:360° panoramas, 9256 images have the correct 2:1 aspect ratio, and of those, 815 images exceed 100 Mpx in size. Attempting to load such a large image on the client side would likely fail due to memory or GPU texture size constraints.
To generate Pannellum's multi-resolution format, we need to reproject the equirectangular source image to a set of 6 cube faces. The cube faces are tiled with a configurable tile size and no overlap. Then the cube faces are reduced in size by a factor of 2 and the tiling process repeats. This continues until the cube faces are a single tile each. There is a python script to do this using Hugin and PIL.
We can either queue a job on upload, like video transcode, or generate tiles on the fly in Thumbor as they are requested. Generating on the fly would be convenient, but the feasibility depends on performance.
With a large test image on my laptop, generating and tiling a single cube face:
$ printf 'o f4 v360 y0 p0 r0\np f0 w10186 h10186 v90 nTIFF_m\n' > ptscript-big $ /usr/bin/time PTmender ptscript-big milky.jpg ... 41.74user 0.80system 0:42.57elapsed 99%CPU (0avgtext+0avgdata 2005112maxresident)k $ /usr/bin/time vips dzsave pano0000.tif mydz --tile-size=1024 --overlap=0 --depth=onetile --vips-concurrency=1 ... 2.00user 0.48system 0:01.69elapsed 146%CPU (0avgtext+0avgdata 149012maxresident)k
Maybe it's scraping in under the threshold of feasibility. Investigations will continue.