WORK
Last updated on

Revion

Revion

Cross-platform Rust GUI framework with GPU-accelerated rendering

Revion is a high-performance GUI framework designed for professional applications such as CAD, 3D modeling, and video/image/audio editing. It combines React-like declarative UI with native-level GPU performance.

Revion builds UI from GPU shader level without depending on existing UI libraries or rendering engines. Every element on screen—text rasterization, rounded corners, borders, shadows—is processed directly on the GPU through WGPU.

Features

  • GPU-accelerated rendering — High-performance drawing via WGPU
  • Cross-platform — Windows / macOS / Web support
  • Virtual DOM — React-like reactive updates with efficient diffing
  • Flexbox layout — CSS-like layout system powered by Taffy
  • 2D & 3D support — Native support for vector graphics and 3D scenes
  • Inspector — Built-in debugging tool for UI inspection

Quick Start

use revion_app::App;
use revion_macro::rsx;
use revion_ui::{RenderContext, RevionError, VNode};

fn main() -> Result<(), RevionError> {
    let mut app = App::new("My App")?;
    app.build_with_component(app_component)?;
    app.run()
}

fn app_component(ctx: &mut RenderContext) -> VNode {
    let count = ctx.use_state(0);

    rsx!(ctx,
        <div>
            <text>{format!("Count: {}", count.get())}</text>
            <button
                label="Click me!"
                on_click={{
                    let count = count.clone();
                    move |_, _| {
                        count.update(|n| n + 1);
                        Ok(())
                    }
                }}
            />
        </div>
    )
}

Demo

Here are examples of UI built with Revion.

State Management

Hooks Demo

Manage state with React-like hooks such as use_state and use_memo. Component-level memoization with ctx.memo enables efficient re-rendering of only the necessary parts.

Text Input

Input Demo

Text input and keyboard shortcuts are implemented natively. Provides editor-level input experience including IME support, cursor movement, and text selection.

Inspector & Automated Testing

Revion includes a built-in Inspector that allows external access to retrieve and manipulate the UI element tree of running applications. This enables AI agents to autonomously operate the GUI for debugging and verification.

An automated testing framework leveraging the Inspector is also available, allowing programmatic UI state retrieval and user interaction simulation.

Comparison with Other Frameworks

RevionFlutterDioxusegui
3D IntegrationNativeExternalNoneLimited
Direct GPU ControlYesNoPartialNo
Declarative UIYesYesYesNo
Custom ShadersYesNoPartialNo

Use Cases

  • CAD / 3D Modeling — Integration of 2D/3D viewports and tool panels
  • Video & Image Editing — Real-time preview and GPU effects
  • Music Production (DAW) — Low-latency input and real-time waveform display
  • Game Engine Tools — Custom shaders and editor UI
  • Scientific Visualization — GPU rendering of large-scale data

Tech Stack

FunctionLibrary
RenderingWGPU (Vulkan/Metal/DX12/WebGPU)
LayoutTaffy (Flexbox)
TextGlyphon
2D TessellationLyon
Mathnalgebra