A Nix-friendly SQLite-enhanced fork of Flitter, a speedrunning split timer for Unix-style terminals
Rev. | Time | Author | Message |
---|---|---|---|
8aa997f | 2023-07-07 12:19:42 | Corbin | master Make Gold.to_image foldable. Okay! This was the missing ... |
45b69bf | 2023-07-04 01:51:27 | Corbin | Duplicate and simplify row-displaying logic. |
6ff3136 | 2023-06-24 02:01:01 | Corbin | Remove world-record support. For posterity: This is the ... |
afe9c57 | 2023-06-06 02:09:56 | Corbin | Fix a SQL query and add cumulative times per attempt. |
7fa6e81 | 2023-06-05 08:11:40 | Corbin | Make row generation slightly easier. |
241d2e0 | 2023-06-05 08:02:42 | Corbin | Factor the ability to fetch golds for all segments. Well... |
663aca5 | 2023-06-05 06:31:45 | Corbin | Add convenience functions for SQL SELECT statements. |
5292da8 | 2023-06-03 02:54:52 | Corbin | Two new modules for managing queried state. |
abd287c | 2023-06-02 00:52:52 | Corbin | Meh. |
46bc328 | 2023-05-31 08:31:09 | Corbin | Encapsulate prepared statements, caching them. SQLite do... |
Name | Rev. | Time | Author | Message |
---|---|---|---|---|
master | 8aa997f | 2023-07-07 12:19:42 | Corbin | Make Gold.to_image foldable... |
Flitterite is a Livesplit-inspired speedrunning split timer for terminals, including several command-line tools for managing a database of splits. Flitterite is forked from Flitter.
Add this git repository to your Nix flake.
Create your database of splits:
$ flitter-new splits.db
Launch Flitter with your splits file:
$ flitter splits.db
Keybindings are all global hotkeys; they will work even when the terminal is not focused.
Keys | Action |
---|---|
Space |
Start / split / save and reset if run finished |
J |
Start / split |
K |
Undo split |
D |
Delete last segment |
Backspace |
Pause / reset (save run if finished and save golds) |
Delete |
Pause / delete run (don't save anything) |
Q |
Quit (if not currently timing) |
The flitter-summary
tool can be used to quickly extract the minimum (best),
average, and standard deviation for an entire database, a single category, or a
single run. For example:
$ flitter-summary splits.db
...
Horizon: Forbidden West (Abs%): min 33:09.354 (attempt 4), avg 38:17.799 ± 4:02.849
...
$ flitter-summary splits.db 'Horizon: Forbidden West' 'Abs%'
Segment: New Game -> Interlude: min 15:23.983, avg 15:36.073 ± 11.095
Segment: New Game -> Shuttle: min 13:53.595, avg 18:31.488 ± 6:05.001
Segment: Shuttle -> Spire: min 2:13.510, avg 2:35.034 ± 17.954
Segment: Spire -> Embassy: min 14:47.481, avg 18:00.206 ± 1:42.837
Segment: Embassy -> Abs: min 2:14.768, avg 3:09.039 ± 1:06.530
$ flitter-summary splits.db 'Horizon: Forbidden West' 'Abs%' 4
Segment: New Game -> Shuttle: 13:53.595 (cum 13:53.595)
Segment: Shuttle -> Spire: 2:13.510 (cum 16:07.105)
Segment: Spire -> Embassy: 14:47.481 (cum 30:54.586)
Segment: Embassy -> Abs: 2:14.768 (cum 33:09.354)
Feel free to make an issue or a pull request! Also feel free to copy any changes back to Flitter.