Skip to content

Add Native Subsplit Support#1149

Open
CryZe wants to merge 26 commits into
LiveSplit:masterfrom
CryZe:native-subsplits
Open

Add Native Subsplit Support#1149
CryZe wants to merge 26 commits into
LiveSplit:masterfrom
CryZe:native-subsplits

Conversation

@CryZe

@CryZe CryZe commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add native segment-group editing to the run editor, including group selection, naming, icons, movement, and creation/removal
  • render the run editor from the presentation-ready row model exposed by livesplit-core
  • expose and localize the Flat, Current Group Expanded, and All Groups Expanded display modes
  • update the livesplit-core submodule to the merged native subsplit implementation from Add Native Subsplit Support livesplit-core#934

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:core
  • npm run lint
  • npx prettier@3.8.1 --check on the affected frontend sources
  • npm run publish

CryZe added 26 commits July 4, 2026 22:35
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
CryZe marked this pull request as ready for review July 21, 2026 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant