{"_id":"@cmparks/pannellum","_rev":"1-38b7ab589d0d4a357373c217506f0af9","name":"@cmparks/pannellum","description":"Pannellum is a lightweight, free, and open source panorama viewer for the web. Modified for use by Cleveland Metroparks","dist-tags":{"latest":"2.7.0"},"versions":{"2.6.0":{"name":"@cmparks/pannellum","version":"2.6.0","keywords":["panorama","viewer"],"license":"MIT","_id":"@cmparks/pannellum@2.6.0","maintainers":[{"name":"webmastercm","email":"mjo1@clevelandmetroparks.com"}],"homepage":"https://github.com/orosmatthew/pannellum-metroparks#readme","bugs":{"url":"https://github.com/orosmatthew/pannellum-metroparks/issues"},"dist":{"shasum":"2197748dd0d99b7a1027c17e7fe29a36116819b0","tarball":"https://registry.npmjs.org/@cmparks/pannellum/-/pannellum-2.6.0.tgz","fileCount":43,"integrity":"sha512-2jKxrR3kmtVmV8HQ89PIgupsG0JbxcvR3ru4WPeLVi99w/71+acaiJUpOqPpgeC1x7Dcw14EC+T9KTcbg3P8lQ==","signatures":[{"sig":"MEUCIQC5Q5JthHKqy+Uf0BqFvyJvPnJVnbwnM9CZuhrWR+QtgAIgRYV2WcMeuo968Snjn655NlL2BcRf4MMgR1MCYHnDFNo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":861671},"main":"build/pannellum.js","exports":{"./build/pannellum.js":{"default":"./build/pannellum.js"},"./build/pannellum.css":{"default":"./build/pannellum.css"}},"gitHead":"45c483ff37c3ef86d33fcf88602ce91ea4cb597d","_npmUser":{"name":"webmastercm","email":"mjo1@clevelandmetroparks.com"},"repository":{"url":"git+https://github.com/orosmatthew/pannellum-metroparks.git","type":"git"},"_npmVersion":"9.6.6","description":"Pannellum is a lightweight, free, and open source panorama viewer for the web. Modified for use by Cleveland Metroparks","directories":{},"_nodeVersion":"20.2.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pannellum_2.6.0_1685111632856_0.2496347923588853","host":"s3://npm-registry-packages"}},"2.7.0":{"name":"@cmparks/pannellum","description":"Pannellum is a lightweight, free, and open source panorama viewer for the web. Modified for use by Cleveland Metroparks","version":"2.7.0","exports":{"./build/pannellum.js":{"default":"./build/pannellum.js"},"./build/pannellum.css":{"default":"./build/pannellum.css"}},"repository":{"type":"git","url":"git+https://github.com/orosmatthew/pannellum-metroparks.git"},"license":"MIT","main":"build/pannellum.js","keywords":["panorama","viewer"],"_id":"@cmparks/pannellum@2.7.0","gitHead":"21a293702b255fae4aad16c0975d8227392e59ef","bugs":{"url":"https://github.com/orosmatthew/pannellum-metroparks/issues"},"homepage":"https://github.com/orosmatthew/pannellum-metroparks#readme","_nodeVersion":"20.14.0","_npmVersion":"10.8.1","dist":{"integrity":"sha512-NpipwDiH3lbZmc8kvIWq775s/mu9XKukXr9LTJrK9AU/cn8vsr+UiL7938GCrTbkVRFmhCCUhl7KCbxO30lhxQ==","shasum":"bc7f0e0a4d9286073769ac5872426c48d1528047","tarball":"https://registry.npmjs.org/@cmparks/pannellum/-/pannellum-2.7.0.tgz","fileCount":43,"unpackedSize":857636,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCrSAKhd2wcJXu/vg6pgp8Gk8ojz8B5T0tl4nN2pv7JrgIhAK/aJwfOdiSADyhu0HiEAiQEOg5Jt/lp7KadzcnCiJne"}]},"_npmUser":{"name":"webmastercm","email":"mjo1@clevelandmetroparks.com"},"directories":{},"maintainers":[{"name":"webmastercm","email":"mjo1@clevelandmetroparks.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pannellum_2.7.0_1717698628933_0.20615986174984235"},"_hasShrinkwrap":false}},"time":{"created":"2023-05-26T14:33:52.788Z","modified":"2024-06-06T18:30:29.513Z","2.6.0":"2023-05-26T14:33:53.065Z","2.7.0":"2024-06-06T18:30:29.306Z"},"maintainers":[{"name":"webmastercm","email":"mjo1@clevelandmetroparks.com"}],"repository":{"type":"git","url":"git+https://github.com/orosmatthew/pannellum-metroparks.git"},"keywords":["panorama","viewer"],"license":"MIT","homepage":"https://github.com/orosmatthew/pannellum-metroparks#readme","bugs":{"url":"https://github.com/orosmatthew/pannellum-metroparks/issues"},"readme":"# Pannellum Metroparks\n\n## Forked from [Pannellum](https://github.com/mpetroff/pannellum)\n\n[![Build Status](https://app.travis-ci.com/mpetroff/pannellum.svg?branch=master)](https://app.travis-ci.com/github/mpetroff/pannellum)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3334433.svg)](https://doi.org/10.5281/zenodo.3334433)\n[![DOI](https://joss.theoj.org/papers/10.21105/joss.01628/status.svg)](https://doi.org/10.21105/joss.01628)\n\n## About\n\nPannellum is a lightweight, free, and open source panorama viewer for the web. Built using HTML5, CSS3, JavaScript, and WebGL, it is plug-in free. It can be deployed easily as a single file, just 21kB gzipped, and then embedded into pages as an `<iframe>`. A configuration utility is included to generate the required code for embedding. An API is included for more advanced integrations.\n\n## Getting started\n\n### Hosted examples\n\nA set of [examples](https://pannellum.org/documentation/examples/simple-example/) that demonstrate the viewer's various functionality is hosted on [pannellum.org](https://pannellum.org/). This is the best place to start if you want an overview of Pannellum's functionality. They also provide helpful starting points for creating custom configurations.\n\n### Simple tutorial and configuration utility\n\nIf you are just looking to display a single panorama without any advanced functionality, the steps for doing so are covered on the [simple tutorial page](https://pannellum.org/documentation/overview/tutorial/). Said page also includes a utility for easily creating the necessary Pannellum configuration.\n\n### Local testing and self-hosting\n\nIf you would like to locally test or self-host Pannellum, continue to the _How to use_ section below.\n\n## How to use\n\n1. Upload `build/pannellum.htm` and a full equirectangular panorama to a web server or run a development web server locally.\n   - Due to browser security restrictions, _a web server must be used locally as well_. With Python 3, one can use `python3 -m http.server`, but any other web server should also work.\n2. Use the included multi-resolution generator (`utils/multires/generate.py`), the configuration tool (`utils/config/configuration.htm`), or create a configuration from scratch or based on an [example](https://pannellum.org/documentation/examples/simple-example/).\n3. Insert the generated `<iframe>` code into a page, or create a more advanced configuration with [JSON](https://pannellum.org/documentation/reference) or the [API](https://pannellum.org/documentation/api/).\n\nConfiguration parameters are documented in the `doc/json-config-parameters.md` file, which is also available at [pannellum.org/documentation/reference/](https://pannellum.org/documentation/reference). API methods are documented inline with [JSDoc](https://jsdoc.app/) comments, and generated documentation is available at [pannellum.org/documentation/api/](https://pannellum.org/documentation/api/). For the standalone viewer, configuration parameters are preferably specified using a location hash instead of a location search query, e.g., `pannellum.htm#panorama=...` instead of `pannellum.htm?panorama=...`, since this does not unnecessarily send the query parameters to the server.\n\n### Using a minified copy\n\nFor final deployment, it is recommended that one use a minified copy of Pannellum instead of using the source files in `src` directly. The easiest method is to download the most recent [release](https://github.com/mpetroff/pannellum/releases) and use the pre-built copy of either `pannellum.htm` or `pannellum.js` & `pannellum.css`. If you wish to make changes to Pannellum or use the latest development copy of the code, follow the instructions in the _Building_ section below to create `build/pannellum.htm`, `build/pannellum.js`, and `build/pannellum.css`.\n\n### Using `generate.py` to create multires panoramas\n\nTo be able to create multiresolution panoramas, you need to have the `nona` program installed, which is available as part of [Hugin](http://hugin.sourceforge.net/), as well as Python 3 with the [Pillow](https://pillow.readthedocs.org/) and [NumPy](https://numpy.org/) packages. The [pyshtools](https://shtools.github.io/SHTOOLS/) Python package is also recommended. Then, run\n\n```\npython3 generate.py pano_image.jpg\n```\n\nin the `utils/multires` directory. This will generate all the image tiles and the `config.json` file in the `./output` folder by default. For this to work, `nona` needs to be on the system path; otherwise, the location of `nona` can be specified using the `-n` flag. On a Unix-like platform, with `nona` already on the system path use:\n\n```bash\n$ cd utils/multires\n$ python3 generate.py pano_image.jpg\n```\n\nwhere `pano_image.jpg` is the filename of your equirectangular panorama. If `nona` is not on the system path, use:\n\n```bash\n$ cd utils/multires\n$ python3 generate.py -n /path/to/nona pano_image.jpg\n```\n\nFor a complete list of options, run:\n\n```bash\n$ python3 generate.py --help\n```\n\nTo view the generated configuration, run:\n\n```bash\n$ cd ../..\n$ python3 -m http.server\n```\n\nThis goes back to the root directory of the repository and starts a local development web server. Then open http://localhost:8000/src/standalone/pannellum.htm#config=../../utils/multires/output/config.json in your web browser of choice.\n\n## Bundled examples\n\nExamples using both the minified version and the version in the `src` directory are included in the `examples` directory. These can be viewed by starting a local web server in the root of the repository, e.g., by running:\n\n```bash\n$ python3 -m http.server\n```\n\nin the directory containing this readme file, and then navigating to the hosted HTML files using a web browser; note that the examples use files from the `src` directory, so **the web server must be started from the repository root, not the `examples` directory**. For the `example-minified.htm` example to work, a minified copy of Pannellum must first be built; see the _Building_ section below for details.\n\nAdditional examples are available at [pannellum.org](https://pannellum.org/documentation/examples/simple-example/).\n\n## Browser Compatibility\n\nSince Pannellum is built with web standards, it requires a modern browser to function.\n\n#### Full support (with appropriate graphics drivers):\n\n- Firefox 23+\n- Chrome 24+\n- Safari 8+\n- Internet Explorer 11+\n- Edge\n\nThe support list is based on feature support. As only recent browsers are tested, there may be regressions in older browsers.\n\n#### Not officially supported:\n\nMobile / app / web frameworks are not officially supported. They may work, but they're not tested and are not the targeted platform.\n\n## Translations\n\nAll user-facing strings can be changed using the `strings` configuration parameter. There exists a [third-party respository of user-contributed translations](https://github.com/DanielBiegler/pannellum-translation) that can be used with this configuration option.\n\n## Building\n\nThe `utils` folder contains the required build tools, with the exception of Python 3.2+ and Java installations. To build a minified version of Pannellum, run either `build.sh` or `build.bat` depending on your platform. On a Unix-like platform:\n\n```bash\n$ cd utils/build\n$ ./build.sh\n```\n\nIf successful, this should create `build/pannellum.htm`, `build/pannellum.js`, and `build/pannellum.css`, relative to the root directory of the repository.\n\n## Tests\n\nA minimal [Selenium](https://www.seleniumhq.org/)-based test suite is located in the `tests` directory. The tests can be executed by running:\n\n```bash\npython3 run_tests.py\n```\n\nA Selenium-driven web browser (with a Chrome driver, by default) is created, and screenshots are generated\nand compared against previously generated ones in [tests](tests). For example, to regenerate the screenshots\none can run:\n\n```bash\n$ python3 tests/run_tests.py --create-ref\n```\n\nAnd to simply run the tests to compare to, eliminate that argument. By default, a random\nport is selected, along with other arguments. One can see usage via:\n\n```bash\n$ python tests/run_tests.py --help\n```\n\nContinuous integration tests are run via [Travis CI](https://travis-ci.org/mpetroff/pannellum). Running the tests locally requires Python 3, the Selenium Python bindings, [Pillow](https://pillow.readthedocs.io/), [NumPy](https://www.numpy.org/), and either Firefox & [geckodriver](https://github.com/mozilla/geckodriver) or Chrome & [ChromeDriver](https://chromedriver.chromium.org/).\n\n## Seeking support\n\nIf you wish to ask a question or report a bug, please open an issue at [github.com/mpetroff/pannellum](https://github.com/mpetroff/pannellum). See the _Contributing_ section below for more details.\n\n## Contributing\n\nDevelopment takes place at [github.com/mpetroff/pannellum](https://github.com/mpetroff/pannellum). Issues should be opened to report bugs or suggest improvements (or ask questions), and pull requests are welcome. Please make an attempt to write in grammatically-correct English on the issue tracker; using the results of machine translation is acceptable if one in not fluent in the language, and attempts to work past language barriers will be made. When reporting a bug, please try to include a minimum reproducible example (or at least some sort of example). When proposing changes, please try to match the existing code style, e.g., four space indentation and [JSHint](https://jshint.com/) validation. If your pull request adds an additional configuration parameter, please document it in `doc/json-config-parameters.md`. Pull requests should preferably be created from [feature branches](https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow).\n\n## License\n\nPannellum is distributed under the MIT License. For more information, read the file `COPYING` or peruse the license [online](https://github.com/mpetroff/pannellum/blob/master/COPYING).\n\nIn the past, parts of Pannellum were based on [three.js](https://github.com/mrdoob/three.js) r40, which is licensed under the [MIT License](https://github.com/mrdoob/three.js/blob/44a8652c37e576d51a7edd97b0f99f00784c3db7/LICENSE).\n\nThe panoramic image provided with the examples is licensed under the [Creative Commons Attribution-ShareAlike 3.0 Unported License](http://creativecommons.org/licenses/by-sa/3.0/).\n\n## Credits\n\n- [Matthew Petroff](http://mpetroff.net/), Original Author\n- [three.js](https://github.com/mrdoob/three.js) r40, Former Underlying Framework\n\nIf used as part of academic research, please cite:\n\n> Petroff, Matthew A. \"Pannellum: a lightweight web-based panorama viewer.\" _Journal of Open Source Software_ 4, no. 40 (2019): 1628. [doi:10.21105/joss.01628](https://doi.org/10.21105/joss.01628)\n","readmeFilename":"readme.md"}