-
Notifications
You must be signed in to change notification settings - Fork 0
Keyboard Shortcuts and UI Reference
This page documents every keyboard shortcut, UI element, and panel in Mosaic.
| Shortcut | Action | Context |
|---|---|---|
Ctrl+N |
New chat (new canvas) | Global |
Ctrl+F |
Open search overlay | Global |
Ctrl+Z |
Undo last position change | Canvas |
F |
Fit canvas view to show all nodes | Canvas |
+ / =
|
Zoom in | Canvas |
- |
Zoom out | Canvas |
Escape |
Deselect node / close overlay | Global |
| Shortcut | Action | Context |
|---|---|---|
Delete |
Delete selected node | Canvas |
Backspace |
Delete selected node | Canvas |
Enter |
Send message (when input is focused) | Node input |
Shift+Enter |
Send with parallel debate | Node input |
| Shortcut | Action |
|---|---|
? |
Show shortcuts modal |
Ctrl+, |
Open settings (via gear button) |
| Key | Action |
|---|---|
ArrowUp |
Move to previous result |
ArrowDown |
Move to next result |
Enter |
Select highlighted result |
Escape |
Close search overlay |
| Key | Action |
|---|---|
ArrowUp |
Previous command in history |
ArrowDown |
Next command in history |
The TopBar runs along the top edge of the window and provides quick access to all major features:
┌──────────────────────────────────────────────────────────────┐
│ Mosaic │ Model: Mistral Large ▼ │ 🔍 ★ 📄 📊 🌿 │
│ │ │ 🧹 ➕ ⚙️ │
└──────────────────────────────────────────────────────────────┘
| Icon | Element | Action |
|---|---|---|
| — | Model dropdown | Select AI provider and model |
| 🔍 | Search | Open search overlay (Ctrl+F) |
| ★ | Bookmarks | Toggle bookmarks-only view |
| 📄 | Documents | Open DocumentPanel (RAG) |
| 📊 | Analytics | Open AnalyticsPanel |
| 🌿 | Distill | Trigger branch distillation |
| 🧹 | Prune | Trigger branch pruning |
| ➕ | New chat | Create new canvas (Ctrl+N) |
| ⚙️ | Settings | Open Settings drawer |
The main canvas area occupies most of the window:
| Element | Description |
|---|---|
| Background grid | Subtle dot grid pattern for spatial reference |
| Nodes | Conversation messages (see Canvas and Node System) |
| Edges | Connections between nodes |
| Minimap | (Optional) Overview of the entire canvas in bottom-right |
| DragLens | (Optional) Floating refraction lens overlay |
Fixed at the bottom-center of the window:
[+]
[Zoom: 100% ■━━━━━━━○]
[-]
| Control | Action |
|---|---|
+ button |
Zoom in |
- button |
Zoom out |
| Slider | Fine-grained zoom (0.1x to 2x) |
| Percentage display | Current zoom level |
The zoom slider is implemented as a FluidSlider — a spring-animated glass component.
Located in the bottom-right corner (when enabled). Shows:
- All nodes as small rectangles
- Current viewport as a highlighted rectangle
- Node positions relative to each other
Toggle via Settings → Minimap.
Opened by clicking the gear icon (⚙️) in the TopBar. A full-width modal divided into sections:
| Section | Content |
|---|---|
| Theme | Grid of 5 themes: Void, Dusk, Sand, Snow, Sunrise |
| API Keys | Masked inputs for Mistral, OpenAI, Anthropic, Gemini keys |
| Ollama | URL input, Detect button, connection status |
| System Prompt | Textarea for custom AI instructions |
| Temperature | Slider (0.0 to 2.0) |
| Canvas | Toggles: Minimap, Confidence scoring, Tendrils |
| Actions | Auto-arrange, Export JSON, Import JSON, Clear canvas |
| Shortcuts | Open shortcuts modal |
Opened by clicking the search icon (🔍) or pressing Ctrl+F:
- Fixed-position overlay with glass styling
- Text input with real-time filtering
- Up to 20 results with node type badges
- Keyboard navigation (ArrowUp/Down, Enter)
- Escape to close
- Matched nodes highlighted with accent glow
Opened by clicking the Documents icon (📄):
- Slide-in panel from the right
- Lists all uploaded documents with chunk count and size
- RAG enable/disable toggle
- Upload button (supports 25+ file formats)
- Clear All button
- Per-document delete
Opened by clicking the Analytics icon (📊):
- Slide-in panel from the right
- Canvas Statistics: total nodes, root/branch/response counts, messages, max depth, branch points
- Token Usage: per-model token counts
- Cost: per-model and total cost (USD)
- Model Breakdown: per-model completion counts
- Reset analytics button
Opened by pressing ? or from Settings drawer:
- Lists all keyboard shortcuts grouped by category:
- Navigation
- Editing
- Canvas
- General
- Glass-styled modal with dismiss button
Opened by right-clicking a node:
| Item | Action |
|---|---|
| Bookmark | Toggle bookmark |
| Collapse / Expand | Toggle branch collapse |
| Auto-arrange | Run auto-layout from this node |
| Delete | Delete node (with cascade confirmation) |
| Undo | Undo last position change |
Appears at the bottom when pruning is active:
[🧹 Prune active — some branches dimmed by relevance scoring]
[Restore All]
Click Restore All to un-prune all branches.
Appear at the top-center of the window. Auto-dismiss with spring animation:
| Type | Color | Purpose |
|---|---|---|
| Info | Accent (blue) | General notifications |
| Success | Green | Operation completed successfully |
| Error | Red | Operation failed |
A floating REPL terminal (520x320 pixels):
- Persistent Python environment
- Command history with ArrowUp/Down
- Supports
reset(),clear(), and!reset,!clear - Input/output/error/system message types with different colors
- Draggable position
Appears on first launch:
- Animated canvas particle system (200 particles)
- Mouse repulsion effect
- "Click anywhere to begin" prompt
- Three phases: idle (floating), burst (particles scatter), gone (dismissed)
- Fades into main app on interaction
Appears on first use:
- Small bubble: "Click a node to reply"
- Dismissed permanently via localStorage flag
- Only shown once per installation
Each theme defines a set of CSS custom properties used throughout the app. These are defined in src/styles/globals.css under .theme-{void|dusk|sand|snow|sunrise} classes.
| Variable | Purpose | Example Values |
|---|---|---|
--bg |
Base background |
#0a0a0f (Void), #1a0a2e (Dusk), #f5e6d3 (Sand) |
--bg-1 |
Elevated surface 1 |
#14141f (Void), #2a1040 (Dusk) |
--bg-2 |
Elevated surface 2 |
#1e1e2e (Void), #3a1a50 (Dusk) |
--bg-3 |
Elevated surface 3 |
#28283e (Void) |
| Variable | Purpose |
|---|---|
--glass |
Glass background color (semi-transparent) |
--glass-hover |
Glass background on hover |
--glass-active |
Glass background when active |
--glass-border |
Glass border color |
--glass-edge |
Glass edge highlight color |
--glass-content-bg |
Inner content background |
--glass-tint-a/b/c |
Tint overlay colors (RGB only) |
| Variable | Purpose |
|---|---|
--text |
Primary text color |
--text-secondary |
Secondary/subtle text |
--text-muted |
Muted text (disabled, hints) |
| Variable | Purpose |
|---|---|
--shadow |
Drop shadow color (semi-transparent) |
--accent |
Accent color (interactive elements) |
--accent-alpha |
Accent with transparency (glows) |
--grid-color |
Canvas background grid color |
--dialog-bg |
Modal/dialog backdrop |
.theme-void {
--bg: #0a0a0f;
--bg-1: #14141f;
--bg-2: #1e1e2e;
--bg-3: #28283e;
--glass: rgba(20, 20, 35, 0.7);
--glass-hover: rgba(30, 30, 50, 0.8);
--glass-active: rgba(40, 40, 65, 0.9);
--glass-border: rgba(100, 100, 140, 0.2);
--glass-edge: rgba(150, 150, 200, 0.1);
--text: #e8e8f0;
--text-secondary: #a0a0b8;
--text-muted: #606078;
--shadow: rgba(0, 0, 0, 0.5);
--accent: #3b82f6;
--accent-alpha: rgba(59, 130, 246, 0.3);
--grid-color: rgba(100, 100, 140, 0.08);
--dialog-bg: rgba(0, 0, 0, 0.6);
}- Add a new class in
src/styles/globals.css(e.g.,.theme-ocean { ... }) - Define all required CSS custom properties
- Add the theme name to the theme selector in Settings
- The
uiStore.setTheme()function will handle the class toggle automatically
- Canvas and Node System — Node types, operations, and edge types
- Tutorial - Your First Conversation — Step-by-step walkthrough
- Shortcuts are also documented inline throughout this wiki
Mosaic — Branch, explore, and run code inline — an infinite canvas for AI conversations.
Built with Tauri, React, and Mistral AI.
GitHub Repository |
Report an Issue |
Releases
- Canvas and Node System
- LLM Provider Integration
- RAG System Guide
- Advanced AI Features
- Keyboard Shortcuts and UI Reference
- Tutorial - Branching and Parallel Exploration
- Tutorial - Using RAG with Documents
- Tutorial - Advanced Features in Practice
- Tutorial - Customizing Mosaic