LiveSplit / LiveSplit/livesplit-core
[ASR] Prevent certain types of split from ending the run
- Dominant language
- Rust
- Stars
- 227
- Forks
- 81
- Avg merge
- 22h 45m
- Merged PRs (30d)
- 3
Description
There are some types of split triggers which happen very frequently and can easily mistakenly end a run - e.g. "split on collectable" or "split on level transition" during a 100% cleanup split. While the user can just undo split manually, it's not ideal - especially since undoing the last split adds all elapsed real time, when there might've been load screens in between which should be removed. For this reason, there are a few ASLs which disable certain split conditions on the last split. There isn't a way to replicate this in an ASR script yet.
While simply exposing a `timer_is_last_split` would work, it's a bit messy, and we want to move away from autosplitters knowing about the splits (so that people stop hardcoding routes). The more comprehensive solution we've discussed previously is to add per-split settings. Users could then simply disable the relevant setting when on the last split.
Contributor guide
No contributing guide indexed for this repository
Research direction
No files or tests are named. Start by reviewing how ASR scripts represent split conditions and how per-split data is modeled. Define the per-split settings needed to disable selected triggers on the final split, then verify that a 100% cleanup run can avoid those triggers without requiring manual split undo.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100