Skip to content

lossless1/panescale

Repository files navigation

Panescale

Terminals, files, and code — arranged on an infinite canvas.

Release License Build Platform Tauri Stars


Panescale Screenshot

Download  •  Features  •  Install  •  Contributing


What is Panescale?

Panescale is a desktop app that gives you an infinite canvas for organizing terminal sessions, files, and notes — all in one place. No tab hunting. No context switching. Just your work, side by side.

  • Infinite canvas — Pan, zoom, and arrange terminal windows freely on a spatial surface
  • Floating terminals — Spawn, drag, resize, and layer terminal tiles anywhere on the canvas
  • Persistent sessions — Close the app, reopen it, pick up exactly where you left off (tmux-backed)
  • Full git UI — Stage, commit, diff, branch, stash, and resolve conflicts without leaving the app
  • SSH connections — Connect to remote servers and open terminal tiles on the canvas
  • Content tiles — Drop markdown notes, images, and file previews alongside your terminals

Built with Tauri v2 (Rust) + React + xterm.js.

Features

Canvas

Feature Description
Infinite pan & zoom Scroll, Space+drag, middle-click, pinch — 10% to 200% range
Dot grid Adaptive grid that scales with zoom level
Magnetic snap Tiles snap to grid (~10px threshold), Cmd/Ctrl to override
Alignment guides Smart edge/center guides when dragging tiles near each other
Minimap Toggle with M key, click to navigate
Regions Select tiles and group them with named, colored regions
Persistent layout Canvas state auto-saves and restores on relaunch

Terminals

Feature Description
Double-click to spawn Double-click empty canvas space to create a terminal
Drag & resize Title bar drag + 8-handle resize with live reflow
Search Cmd+F to search terminal output
Clickable URLs URLs in terminal output open in your browser
Process title Title bar shows the currently running process
Badges & rename Color-code and name your terminals
Startup commands Auto-run commands when terminals restore
Bell notifications Audio chime + sidebar pulse when a process completes
tmux persistence Sessions survive app restarts (transparent, auto-installed)

Sidebar

Feature Description
File tree Hierarchical + chronological view modes
File operations Create, rename, delete, move via right-click menu
Fuzzy search Cmd+K to find files instantly
Drag to canvas Drop files from sidebar to create content tiles
Terminal list See all open terminals, click to navigate

Git

Feature Description
Status panel Staged / Unstaged / Untracked file groups
Hunk staging Stage individual code hunks, not just files
Inline diff Unified diff viewer in sidebar
Branches Create, switch, delete branches
Commit graph SVG topology graph with lane assignment
Stash Save, apply, pop, drop stashes
Conflicts Accept ours/theirs per file

SSH

Feature Description
Connection manager Save host, port, user, key file
Groups Organize connections in folders
Remote terminals SSH terminals behave identically to local ones

Theming

Feature Description
Dark & light Deep dark default, light theme available
System detection Auto-follows OS dark/light preference
Terminal schemes One Dark and Dracula presets
Rounded corners Native-feeling window on macOS

Install

Download

Download the latest release for your platform:

Platform Format
macOS (Intel + Apple Silicon) .dmg (universal)
Linux .AppImage, .deb
Windows .msi, .exe (NSIS)

Build from source

Prerequisites: Rust, Node.js 20+, platform-specific Tauri dependencies

git clone https://github.com/lossless1/panescale.git
cd panescale
npm install
npm run tauri dev

Stack

Technology Purpose
Tauri v2 Desktop shell (Rust backend, webview frontend)
React 19 UI framework
React Flow Infinite canvas engine
xterm.js Terminal emulation
git2 Git operations (Rust)
russh SSH client (Rust)
Zustand State management
Tailwind CSS Styling
shiki Syntax highlighting
marked Markdown rendering

Keyboard Shortcuts

Shortcut Action
Cmd/Ctrl + K Fuzzy file search
Cmd/Ctrl + F Search in focused terminal
Cmd/Ctrl + = / - Zoom in / out
Cmd/Ctrl + 0 Fit all tiles
M Toggle minimap
Escape Exit terminal focus / close search
Space + drag Pan canvas
Shift + scroll Pan canvas (over terminal)
Cmd/Ctrl + Enter Commit (in git panel)

Contributing

See CONTRIBUTING.md for guidelines.

License

MIT


Built with Rust and TypeScript.

About

Spatial terminal workspace — organize terminals, files, SSH connections and browser tiles on an infinite canvas

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors