Add Native Subsplit Support#1149
Open
CryZe wants to merge 26 commits into
Open
Conversation
This makes the run editor show segment groups as editable headers with indented split rows, allowing users to create, remove, and rename groups directly from the splits table instead of editing a flat list only. This also wires the subsplit display mode into the settings UI as a localized combobox and updates the staged livesplit-core submodule with backend-controlled group action availability.
This updates the staged livesplit-core submodule to include the fix for moving whole subsplit groups as coherent sections in the run editor.
This updates the staged livesplit-core submodule to include single-segment subsplit groups and hierarchical scrolling before the timer has a current split.
This makes the run editor draw the same section boundary before an ungrouped segment that follows a segment group as it already draws before group headers. This also updates the staged livesplit-core submodule with renderer state for hierarchical section separators.
This makes the run editor show automatic segment group names as placeholder text while keeping manually entered group names as explicit input values. This also wires the subsplit display mode setting labels through the frontend localization table and updates the staged livesplit-core submodule with simpler group name bindings.
This keeps the full segment group selected when editing a group header in the run editor instead of collapsing the selection to the major split. This also updates the staged livesplit-core submodule with regression coverage for the same selection behavior.
This lets the run editor display and edit explicit segment group icons while showing inherited major-split icons as faint placeholders. This also updates the staged livesplit-core submodule with group icon support and refined current-group-expanded scrolling behavior.
This makes the Run Editor read each native segment group from its dedicated state list instead of reconstructing group bounds and properties from per-segment metadata. It also keeps explicit names visible when they happen to match their major split's current name. This updates the Cargo lock for the new core dependency and advances the staged livesplit-core submodule with invariant-preserving structural edits, a multi-group movement guard, and correct group-header icon layout.
CryZe
marked this pull request as ready for review
July 21, 2026 16:27
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Why
This brings native subsplit support to the web and desktop frontends while keeping group structure, visibility, and presentation decisions in livesplit-core so other frontends can consume the same model.
Validation
npm run build:corenpm run lintnpx prettier@3.8.1 --checkon the affected frontend sourcesnpm run publish