livesplit-core is the engine behind LiveSplit — the most widely used speedrunning timer. It’s a portable, high-performance Rust library you can embed in any application to add full speedrun timer functionality, including splits management, comparison generators, layout rendering, auto splitting, and global hotkeys.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/LiveSplit/livesplit-core/llms.txt
Use this file to discover all available pages before exploring further.
Introduction
Learn what livesplit-core is, what it can do, and which projects use it.
Quickstart
Build a working timer in Rust in under five minutes.
Building & Installation
Compile the library and generate language bindings from source.
API Reference
Full reference for the Timer, Run, Layout, and all other public types.
What You Can Build
livesplit-core handles all the timing and data logic so you can focus on your application’s UI and experience.Speedrun Timer
Start, split, pause, reset, and undo with full Real Time and Game Time support.
Splits Viewer
Parse 15+ splits file formats and display segment data with customizable layouts.
Auto Splitter
Load WebAssembly auto splitters that read game memory and control the timer automatically.
Cross-Platform UI
Render layouts to pixel buffers via the software renderer or to SVG for web use.
Hotkey System
Register global hotkeys on Windows, macOS, Linux, and the web browser.
Run Analysis
Calculate PB chance, best possible time, delta to comparison, and more.
Explore the Docs
Core Concepts
Understand Runs, Segments, Timers, Comparisons, and Layouts.
Language Bindings
Use livesplit-core from C, C#, Java, Kotlin, Swift, JavaScript, Ruby, or Python.
Auto Splitting Guide
Write and load WebAssembly auto splitters to control the timer from game memory.
Rendering Guide
Render timer layouts to images using the software or SVG renderer.