Skip to content

dynobo/sphereview

Repository files navigation

SphereView

Image viewer for 360° equirectangular photospheres and panoramas.

CI/CD CodeQL GitHub Flathub

Links: Source Code | Releases | Changelog


This my very first Rust Application. It stands on the shoulders of the fabulous JavaScript library Photo Sphere Viewer 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 by using this command:

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

Screencast of SphereView in action

Development

# 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:

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

Credits

Certifications

WOMM

About

Image viewer for 360° equirectangular photospheres and panoramas.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •