https://github.com/dynobo/sphereview
Image viewer for 360° equirectangular photospheres and panoramas.
https://github.com/dynobo/sphereview
3d-viewer application image-viewer panorama photosphere
Last synced: 6 months ago
JSON representation
Image viewer for 360° equirectangular photospheres and panoramas.
- Host: GitHub
- URL: https://github.com/dynobo/sphereview
- Owner: dynobo
- License: mit
- Created: 2025-06-25T13:40:42.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-10-17T21:44:24.000Z (9 months ago)
- Last Synced: 2025-10-18T21:37:44.126Z (9 months ago)
- Topics: 3d-viewer, application, image-viewer, panorama, photosphere
- Language: Rust
- Homepage:
- Size: 12.2 MB
- Stars: 6
- Watchers: 0
- Forks: 1
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG
- License: LICENSE
Awesome Lists containing this project
README
Image viewer for 360° equirectangular photospheres and panoramas.
Links: Source Code |
Releases |
Changelog
This my very first Rust Application. It stands on the shoulders of the fabulous JavaScript library [Photo Sphere Viewer](https://photo-sphere-viewer.js.org/) which deserves all credits for the image rendering and controls. SphereView just wraps it in a GTK interface to provide a desktop integration.
## Installation
You can install stable builds of SphereView from [Flathub](https://flathub.org) by using this command:
```sh
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub io.github.dynobo.sphereview
```
## Features
- View panoramas and photospheres interactively
- Lean interface with minimal features
- 100% offline, no telemetry
- Supports Equirectanglar projection (e.g. used by Google Camera)
- Supports formats like JPEG, PNG, WEBP
## Screencast
## Development
```sh
# Install dependencies (Debian/Ubuntu)
sudo apt install -y \
rustup \
nodejs npm \
libgtk-4-dev \
libadwaita-1-dev \
libglib2.0-dev \
libwebkitgtk-6.0-dev \
blueprint-compiler
# Clone repo
git clone https://github.com/dynobo/sphereview.git
# Change into directory with html/js
cd sphereview/resources/photosphereviewer
# Install node.js dependencies
npm install
# Change back to repository root
cd ../..
# Install rust dependencies and run application
cargo run
```
For debugging the viewer logic in the browser:
```sh
cp resources/assets/demo.webp resources/photosphereviewer/dist
cd resources/photosphereviewer
python -m http.server --bind 127.0.0.1 8000
xdg-open http://127.0.0.1:8000/index.html # /index.html is important!
```
## Similar projects
- [FSPViewer](https://www.fsoft.it/FSPViewer/)
## Credits
- [Photo Sphere Viewer](https://github.com/mistic100/Photo-Sphere-Viewer) - Displays 360° sphere panoramas.
- [three.js](https://github.com/mrdoob/three.js) - 3D rendering engine.
- [GTK4](https://www.gtk.org/), [libadwaita](https://github.com/GNOME/libadwaita) and their [rust](https://docs.rs/gtk4/latest/gtk4/) [bindings](https://docs.rs/libadwaita/latest/libadwaita/) - UI Framework.
- [Poly Haven](https://polyhaven.com) - CC0 Licensed 3D assets. Source of the demo image.
## Certifications

