Skip to content

Store Auto Splitter Settings in Splits Files - #943

Merged
CryZe merged 1 commit into
LiveSplit:masterfrom
CryZe:auto-splitter-settings-in-splits
Aug 23, 2026
Merged

Store Auto Splitter Settings in Splits Files#943
CryZe merged 1 commit into
LiveSplit:masterfrom
CryZe:auto-splitter-settings-in-splits

Conversation

@CryZe

@CryZe CryZe commented Jul 25, 2026

Copy link
Copy Markdown
Collaborator

LiveSplit splits files already contain an AutoSplitterSettings XML payload, but livesplit-core only exposes its contents as an opaque string. Frontends therefore need to parse and serialize the script path and custom settings themselves.

This adds structured ASR-compatible settings types that round-trip the script path and recursively typed custom settings and convert to and from runtime settings maps. Run now exposes APIs for reading and updating the stored settings, and Timer forwards updates to the active run. Updates participate in the run's normal modified-state handling.

@CryZe CryZe added this to the v0.14 milestone Jul 25, 2026
@CryZe CryZe added the enhancement An improvement for livesplit-core. label Jul 25, 2026
@CryZe CryZe added feature A new user visible feature for livesplit-core. priority: high This is a high priority issue. auto splitting This is about the auto splitting implementation. labels Jul 25, 2026
@CryZe
CryZe force-pushed the auto-splitter-settings-in-splits branch 7 times, most recently from f67687b to 1ba31d5 Compare July 26, 2026 12:57
@CryZe
CryZe marked this pull request as ready for review July 26, 2026 14:29
LiveSplit splits files already contain an `AutoSplitterSettings` XML
payload, but livesplit-core only exposes its contents as an opaque
string. Frontends therefore need to parse and serialize the script path
and custom settings themselves.

This adds an `auto-splitting`-gated structured representation that
round-trips the script path and the runtime's recursively typed settings
map. `Run` exposes APIs for reading and updating the stored settings, and
`Timer` forwards updates to the active run.

The auto splitting runtime consumes the stored path and settings directly
when loading a run and can snapshot its live state back into the timer. This
keeps frontends from having to shuttle settings maps through their own load
and persistence flows.

Co-authored-by: Refrag <R3FR4GYT@gmail.com>
Co-authored-by: AlexKnauth <alexander@knauth.org>
@CryZe
CryZe force-pushed the auto-splitter-settings-in-splits branch from 1ba31d5 to 97953ab Compare August 23, 2026 09:49
@CryZe
CryZe merged commit 9c38608 into LiveSplit:master Aug 23, 2026
70 checks passed
@github-project-automation github-project-automation Bot moved this from In progress to Done in LiveSplit One Desktop MVP Aug 23, 2026
@CryZe
CryZe deleted the auto-splitter-settings-in-splits branch August 23, 2026 10:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto splitting This is about the auto splitting implementation. enhancement An improvement for livesplit-core. feature A new user visible feature for livesplit-core. priority: high This is a high priority issue.

Projects

Development

Successfully merging this pull request may close these issues.

1 participant