After a little over a year of work, I’ve just released Pannellum 2.2.0. New features in this release include an experimental API, instead of just a standalone viewer, for better integration with external code; support for the PosePitchDegrees
and PoseRollDegrees
XMP tags, as used by the Ricoh Theta S; an optional fade animation for tour transitions; and a debug parameter to assist with placing hot spots. Noteworthy improvements include vastly improved equirectangular video support, high-DPI display support, and unification of regular and tour configuration files. Finally, there are numerous bug-fixes.
Previously, equirectangular videos were sort of supported, but the user experience was terrible, as there were no playback controls. Pannellum is a panorama viewer of course, not a video player, so I didn’t want to write my own video player nor did I want to build it into Pannellum—this is where the new API comes in. Instead, I wrote a Video.js plug-in that uses Pannellum to render the video; this achieves the objective of a fully-featured equirectangular video player without actually having to write a video player.
I would have created a new release sooner, but I didn’t want to release yet another version without much in the way of documentation, specifically examples. At the beginning of December, I received the Ricoh Theta S I had pre-ordered, allowing me to quickly shoot a variety of panoramas1 to use with examples—this is when my push to write documentation started in earnest. To this end, I converted pannellum.org from using Jekyll to using Hugo, as it better suited the documentation effort (and moved it to a dedicated repository). I then wrote examples, integrated the existing configuration parameter documentation, and added the new API documentation. Finally, I created a Pannellum CDN and integrated a configuration generator to allow one to easily display CORS-hosted panoramas (e.g. hosted with Imgur).
As always, report bugs on the GitHub issue tracker.