Transform drawings into Svelte GUI's with fully local AI.
This is a stand-alone feature demo for Studio Whip, prototyping how GUI creation and editing works. Users draw images of what they want, and provide a short text prompt describing it. The AI sees the drawing and generates the matching Svelte UI elements.
Install Node.js (for npm) and the Rust toolchain (Cargo).
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"
Install Tauri system dependencies (includes libsoup-2.4 and javascriptcoregtk-4.0):
# Debian/Ubuntu
sudo apt install pkg-config libsoup2.4-dev libjavascriptcoregtk-4.0-dev
# Fedora
sudo dnf install pkgconf-pkg-config libsoup-devel javascriptcoregtk4.0-devel
# Arch
sudo pacman -S pkgconf libsoup2 webkit2gtk
npm install
npm run dev:desktop
Requires the Rust toolchain and Tauri system dependencies for your OS. Runtime assets are local (no CDN), so the app is offline-safe once dependencies are installed.
npm run dev
npm run build:desktop
./launcher.sh
http://localhost:1234)llama-server from llama.cpp releasessrc-tauri/binaries/:llama-server-x86_64-unknown-linux-gnullama-server-x86_64-apple-darwinllama-server-aarch64-apple-darwinllama-server-x86_64-pc-windows-msvc.exeThe Puma-Lib workflow node can list and select models from a Pumas-Library instance. There are three ways to configure this (tried in order):
If Pumas-Library is a sibling directory of Pantograph, it is detected automatically:
parent-dir/
Pantograph/
Pumas-Library/ # auto-detected
launcher-data/
shared-resources/
models/
Set PUMAS_LIBRARY_PATH to your Pumas-Library root directory:
PUMAS_LIBRARY_PATH="/path/to/Pumas-Library" npm run dev:desktop
If you have a running Pumas-Library instance (via pumas-rpc or the desktop app), it registers itself in the global registry at ~/.config/pumas/registry.db. Pantograph discovers it automatically via PumasApi::discover().
When the model library is connected, you'll see this in the logs:
PumasApi initialized from "/path/to/Pumas-Library"
In the workflow editor, the Puma-Lib node will show a model dropdown instead of a manual path input.
| Shortcut | Action |
|---|---|
Ctrl+Z |
Undo canvas drawing stroke |
Ctrl+Shift+Z |
Unified undo (unhide commits, etc.) |
Alt+Ctrl+Z |
Undo component change (git) |
Ctrl+Y |
Redo component change (git) |
Alt+Ctrl+Y |
Unified redo |
Tab |
Toggle between Draw and Interact modes |
| `Ctrl+`` | Toggle between Canvas and Node Graph views |
A minimal commit timeline appears above the toolbar when you have generated components. Hover to expand it.
| Action | Effect |
|---|---|
| Click a commit node | Soft delete (hide) - can undo with Ctrl+Shift+Z |
| Ctrl+Click a commit node | Hard delete (permanent, with confirmation) |
| Double-click a commit node | Checkout that commit |
Note: Soft-deleted commits are automatically hard-deleted after 32 undo steps to keep history clean.