=== Lightweight 360 Panorama Image Viewer ===
Contributors: sitefuse
Tags: 360 panorama, panorama viewer, 360 image, image viewer, photo sphere
Requires at least: 5.8
Requires PHP: 7.4
Stable tag: 1.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

A fast, responsive 360 panorama viewer for Gutenberg, Elementor, the Classic Editor, and WPBakery.

== Description ==

Lightweight 360 Panorama Image Viewer displays interactive equirectangular 360 images in Gutenberg, Elementor, the Classic Editor, and WPBakery. Use the shortcode in any supported editor or choose the dedicated "360° Panorama Image Viewer" element in WPBakery.

It is purpose-built for site owners who need a simple panorama viewer rather than a multi-scene virtual tour system. The viewer remains lightweight while supporting responsive layouts, fullscreen viewing, zoom, touch gestures, keyboard controls, and automatic rotation.

Features:

* Works with Gutenberg's Shortcode block, Elementor's Shortcode widget, the Classic Editor, and WPBakery.
* Choose an existing WordPress Media Library image.
* Mouse, touch, and keyboard navigation.
* Optional wheel, pinch, button, and keyboard zoom.
* Optional fullscreen control.
* Optional automatic rotation with configurable direction and speed.
* Configurable maximum width, desktop height, and mobile height.
* Lazy image loading and paused off-screen animation.
* Multiple independent viewers on the same page.
* Automatic fallback to the source image if WebGL is unavailable.
* A clearly visible SiteFuse attribution badge in the Free edition.

The renderer uses a small custom WebGL shader. No copies of Three.js, jQuery, icon fonts, or remote assets are loaded.

== Installation ==

1. In WordPress, go to Plugins > Add New Plugin > Upload Plugin.
2. Upload `sitefuse-360-panorama-viewer-v1.1.0.zip` and activate it.
3. Add the shortcode in a Gutenberg Shortcode block, Elementor Shortcode widget, or the Classic Editor. WPBakery users can instead add the "360° Panorama Image Viewer" element from the Content category.
4. Set the Media Library image ID, adjust the options, and save the page.

WPBakery Page Builder is only required for its dedicated visual element chooser. The shortcode works independently in Gutenberg, Elementor, the Classic Editor, and other editors that render WordPress shortcodes.

== Image recommendations ==

Use an equirectangular panorama with a 2:1 width-to-height ratio, for example 6000 × 3000 pixels. JPEG or WebP usually gives the best balance of quality and file size. WordPress Media Library images are same-origin by default; images moved to a separate CDN must include a suitable CORS response header for WebGL.

Very large source images are automatically reduced in the browser to the device's maximum supported texture size.

== Shortcode ==

Use the shortcode directly in Gutenberg, Elementor, or the Classic Editor. WPBakery generates it automatically:

`[sitefuse_360_panorama image="123" height="500px" mobile_height="320px" max_width="100%" enable_fullscreen="yes" enable_zoom="yes" auto_rotate="yes" auto_rotate_speed="2"]`

The `image` value is a WordPress Media Library attachment ID.

== Frequently Asked Questions ==

= Does this support video? =

No. It intentionally supports panoramic images only.

= Which WordPress editors does it support? =

It works with Gutenberg, Elementor, the Classic Editor, and WPBakery. Add the shortcode through Gutenberg's Shortcode block, Elementor's Shortcode widget, or the Classic Editor. WPBakery also has a dedicated viewer element.

= Is it responsive? =

Yes. Width is constrained to its content area, with separate desktop and mobile heights. Fullscreen fills the viewport.

= What happens when automatic movement is enabled? =

Rotation pauses while the viewer is being used, while it is off screen, and while its browser tab is hidden. It resumes shortly after interaction. The viewer also honours the operating system's reduced-motion preference.

= Does the plugin contact an external service? =

No. It stores no settings, sends no telemetry, and makes no external requests. The selected Media Library image is loaded from its WordPress attachment URL.

= Can I remove the SiteFuse badge? =

The Free edition always displays the "Free 360 Viewer by SiteFuse" badge. Premium removes the attribution and adds custom styling, rotation timing and reusable presentation presets. It is available from www.sitefuseplugins.com for $99 per site per year.

== Support ==

For support, email support@sitefuseplugins.com or visit https://www.sitefuseplugins.com/.

== Changelog ==

= 1.1.0 - 26 August 2026 =

* Added the permanent "Free 360 Viewer by SiteFuse" attribution badge to the bottom-left corner of every Free viewer.
* Matched the badge height and visual treatment to the viewer controls on desktop and mobile.
* Kept the attribution legible and clear of the controls on narrow screens.
* Clarified Gutenberg, Elementor, Classic Editor, and WPBakery compatibility throughout the plugin documentation.

= 1.0.0 - 26 August 2026 =

* Added the WPBakery 360° Panorama Image Viewer element and Media Library/upload picker.
* Added a shortcode that works in Gutenberg, Elementor, the Classic Editor, and other compatible editors.
* Added dependency-free WebGL panorama rendering.
* Added drag, touch, keyboard, wheel, pinch, zoom button, and fullscreen controls.
* Added optional automatic movement and configurable starting view.
* Added responsive desktop/mobile sizing, lazy loading, and reduced-motion support.

See `CHANGELOG.md` for the maintained release history and `DOCUMENTATION.md` for complete usage and versioning instructions.
