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.
Actually, they’re all of Baltimore near my apartment or of the area around San Pedro de Atacama, Chile where I’m currently working. ↩