Skip to content
Marko Koljancic edited this page May 25, 2026 · 7 revisions

Solarxy - a lightweight, cross-platform 3D model viewer and visual debugger built with Rust and wgpu.

License: MIT Release Platforms Built with Rust

Solarxy demo

What is Solarxy?

Solarxy is a fast, native 3D model viewer and validator for OBJ, STL, PLY, and glTF/GLB files. It renders with physically-based shading, ships a rich inspection toolkit (normals, UV checker, texel density, material ID, validation overlay), and includes a terminal-based analyze mode that produces JSON reports you can drop into CI.

It is built for 3D artists, game developers, and pipeline engineers who need a quick, reliable way to preview assets and catch problems before they reach production.

Two binaries

Since v0.5.0, Solarxy ships as two separate binaries:

  • solarxy - the GUI viewer (window, PBR rendering, sidebar, inspection overlays).
  • solarxy-cli - the terminal companion (analyze TUI / JSON export, view mode that launches the GUI, --update).

Native install channels (Homebrew Cask, Flathub, MSI) install both side-by-side; CLI-only paths exist for headless servers and CI. See Installation.

Key features

  • PBR rendering via wgpu - Cook-Torrance BRDF, IBL, real-time shadow mapping, SSAO, HDR bloom, ACES tone mapping
  • Four formats - OBJ, STL, PLY, glTF/GLB (with embedded or external textures)
  • Inspection modes - Shaded, Material ID, UV Map (with overlap detection), Texel Density heatmap, Depth, Overdraw, AO Preview
  • Material overrides - Clay Light / Dark, Chrome (IBL-only), Silhouette
  • Material Inspector - view-only panel for per-material PBR values and texture thumbnails
  • Review system - Shift+R to enter, click any face to annotate, categorized markers (Info / Warning / Question / Change), persistent .solarxy-review.json sidecar
  • Dockable panels - rearrange the Viewport, Sidebar, Outliner, Properties, Review Panel, Console, and Material Inspector; layouts persist across launches
  • Split viewport - compare 3D and UV space side-by-side, with per-pane cameras and modes
  • Validation overlay - color-coded 3D visualization of model issues
  • CI integration - solarxy-cli --mode analyze --paths '**/*.glb' --adapter github-actions for asset-gate workflows; JUnit XML, SARIF, and Code Scanning compatible
  • Analyze mode - interactive TUI plus text and JSON reports for automation
  • Preferences - TOML config with a five-tab in-app dialog (Startup / Appearance / View / Interface / Updater); per-project policy via solarxy.toml
  • In-app console - tracing-backed log viewer with filter and search
  • Status bar - filename, validation counts, review badge, frame time, and GPU backend at a glance
  • Ayu Mirage theme - flat dark UI with amber accents, Lilex-bundled
  • Cross-platform - Flathub, Homebrew Cask, winget, MSI, AppImage, shell + PowerShell installers

Quick start

# 1. Install the GUI for your platform - see Installation
brew install --cask koljam/solarxy/solarxy        # macOS
flatpak install flathub dev.koljam.solarxy        # Linux
winget install Koljam.Solarxy                     # Windows

# 2. Or build from source
git clone https://github.com/marko-koljancic/solarxy.git
cd solarxy
cargo build --release

# 3. Use it
solarxy -m model.obj                                  # Open the GUI on a model
solarxy                                               # Open the GUI empty (drag & drop a file)
solarxy-cli --mode analyze -m model.glb               # Analyze in the terminal
solarxy-cli --mode analyze -m model.glb -f json       # Or pipe JSON into your tooling

Shortcuts to memorize first: W (cycle view mode) · H (frame model) · B (cycle background) · Tab (toggle sidebar) · ` (toggle console) · Shift+R (review mode) · F11 (fullscreen) · ? (show all shortcuts).

Wiki navigation

Page What's inside
Installation Install paths per platform, first-launch caveats, system requirements
User Guide The complete GUI viewer and analyze-TUI reference
Review System Annotation workflow, the Review Panel, and the anchor-stability contract
Keyboard Shortcuts Cheat sheet plus per-mode reference (or press ? in the GUI)
CLI Reference Every flag for solarxy and solarxy-cli
Configuration The solarxy.toml and config.toml schemas
CI/CD Integration Batch validation and pipeline recipes - GitHub Actions, GitLab, Jenkins, Perforce
Troubleshooting Common errors, performance tips, config reset, diagnostics
Release Notes Version history (the canonical changelog lives here)
Contributing How to report issues and propose changes

Quick links

Clone this wiki locally