Overview
Thejarvis-renderer crate provides GPU-accelerated rendering for Jarvis using wgpu. It handles all visual elements: terminal text, UI chrome, background effects, visualizer animations, and post-processing effects.
Public API
GpuContext
Core GPU context managing the wgpu device, queue, and surface.RenderState
Main rendering state that orchestrates all render passes.QuadRenderer
Efficient batched rendering of textured quads (used for terminal glyphs, UI elements).Represents a single textured quad to render.
UI Components
AssistantPanel
Renders the AI assistant chat interface.CommandPalette
Renders the command palette overlay.Command palette input mode.
Command— Command search and executionUrlInput— URL input for webview navigation
UiChrome
Renders UI chrome: tab bar, status bar, pane borders.Represents a tab in the tab bar.
Performance
FrameTimer
Tracks frame timing and FPS.Shader Pipeline
Jarvis uses a multi-pass rendering pipeline:- Background Pass — Render hex grid or solid color
- Content Pass — Render terminal text and webview content
- UI Pass — Render tabs, borders, status bar
- Effects Pass — Apply bloom, scanlines, vignette
- Post-Process Pass — Final color grading and output
Platform Support
- macOS: Metal backend (recommended)
- Windows: DirectX 12 or Vulkan
- Linux: Vulkan
Usage Example
Related
- Performance Configuration — GPU quality settings
- Effects Configuration — Visual effects control