Skip to content

Latest commit

 

History

41 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


A cross-platform RSVP built in Rust with egui


Table of Contents

What is RSVP

Rapid serial visual representation (RSVP) is an experimental method for displaying information [...]. In RSVP, a sequence of stimuli, usually letter, digits, or words, appear at the same location on a screen or another display in short successive intervals [...]. Because each word appears at the same fixed point, the eyes never have to move (saccade) to find the next word, which is where most of the time lost during normal reading comes from.

Source: Wikipedia


demo.mov

Home

Drag & Drop

Running

Core Features

  • Word-by-word display: the text is split into words and shown one at the time, centered on screen
  • Optimal Recognition Point (ORP): each word have the center letter highlighted in red and align with the Guide bar
  • Eye guide bar: top & bottom line with a notch to guide your eyes to the centered red letter
  • Adjustable speed: a WPM (words per minute) slider, plus UP / DOWN keyboard shortcut, from 10 to 1000 WPM (the recommanded value is around 300 WPM)
  • Sentence Navigation: jump to the previous or next sentence with LEFT / RIGHT on the keyboard or with the buttons
  • File loading:
    • Open a .txt file via Ctrl+O / Cmd+O or the toolbar button
    • Drag & drop: drop a .txt file directly in the window, with a visual overlay while hovering.
    • Bult-in demo text (D) if you just want to try R(ust)SVP
  • No UI mode: hide the UI with H, to leave only the guide line and the words on the screen
  • Theme: dark mode with the Ubuntu Bold font

Built with...

This project was built to learn Rust GUI development and experiment with RSVP. Here is what I used:

  • Rust: for the whole app ! ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧
  • egui / eframe: easy GUI, native windowing and coss-platform rendering (Windows, macOS, Linux)
  • rfd: native "Open File" dialogs on every platform

Installation & Quick Start

The easiest way to get the emulator is to install it directly via crates.io using Cargo:

cargo install rustsvp

Tip

Press D on launch to load a demo RSVP text, or Ctrl+O / Cmd+O to open your own .txt file

Keyboard Shortcuts

Key Action
Space Play / Pause
LEFT / RIGHT Jump to previous / next sentence
UP / DOWN Increase / decrease WPM
Ctrl+O / Cmd+O Open a .txt file
D Load the demo text
R Reset to the beginning of the text
H Toggle the UI

Stardance Devlogs ᕙ( •̀ ᗜ •́ )ᕗ

On Stardance you can watch the full development process via all the devlogs I've created here: R(ust)SVP Devlogs

Developement

Important

You must have Rust and Cargo installed on your computer

Dependencies

Building R(ust)SVP from source

  • Clone the repository with
git clone https://github.com/wirenux/RustSVP.git
cd RustSVP
  • Then install the dependencies and run the program with:
cargo run

Boring Stuff

Use of AI

  • Debugging egui/eframe API changes across versions, and brainstorming

Credits

This project is created by @wirenux in Rust and use egui

License

This project is released under the MIT License

About

A cross-platform RSVP built in Rust with egui

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages