Overview
Valent Emission is a lightweight, high-performance slide presentation tool built specifically for developers, researchers, and technical presenters who prefer writing standard Markdown text over navigating complex graphical interfaces.
Written entirely in Rust, the utility hosts an integrated editor and HTML-rendered side-by-side workspace. It runs as a native desktop window using Webview bindings, but dynamically adapts in terminal-only or remote environments (e.g., over SSH links) by launching an asynchronous, headless HTTP/WebSocket server.
Core Capabilities
Split-Screen Live Editor
- Integrated Preview: Edit slide files directly on the left and watch updates render instantaneously in the styled panel on the right.
- Synchronized Cursor: The preview viewport automatically scrolls to center on the slide currently focused under your active editing cursor.
Automated Viewport Scaling
- Consistent Geometry: Slides use dynamic CSS transform scaling, ensuring that design layouts created on a 16:10 laptop screen will render identically on a 16:9 projector without breaking text wrapping or introducing overflows.
Technical Presentation Features
- Syntax Highlighting: Clean code block tokenization powered by the native
syntectcompiler, supporting various light and dark developer themes. - Math & Equation Formatting: Live-compilation of mathematical expressions written in standard KaTeX syntax, supporting both inline (
$) and block ($$) equations. - External Disk Sync: Watches source files using the Linux
notifyAPI. Presenters can keep editing files in external editors likeVim,Nano, orVS Code, and the presentation preview will update automatically on file save.
Headless Fallback Node
- Diverging Server Mode: If a display server connection (X11/Wayland) is not present, Valent Emission automatically starts a background
axumweb server and WebSocket broadcaster. You can open and present slides in any standard web browser.
Getting Started
Ensure you have the required GTK3 development libraries installed to compile the native Webview dependencies.
1. System Prerequisites
2. Build from Source
Compile the optimized release binary with the Rust toolchain:
3. Debian Packaging
Alternatively, generate a standalone installable .deb package using the helper script:
Usage & Commands
Valent Emission accepts a path to a slide file and optional port parameters for the headless web server:
Markdown Structure
Slides are separated using standard horizontal rule dividers (--- or ***) on their own lines:
Navigation Hotkeys
ArrowRight/Space/Enter: Next SlideArrowLeft/Backspace: Previous SlideF11: Toggle presentation fullscreen modeEscape: Exit fullscreen modeCtrl + S: Save active slide edits inside editor