Skip to content

Add Detailed Timer Icon Modes - #1170

Merged
CryZe merged 1 commit into
LiveSplit:masterfrom
CryZe:detailed-timer-icon-display-mode
Oct 12, 2026
Merged

CryZe merged 1 commit into
LiveSplit:masterfrom
CryZe:detailed-timer-icon-display-mode

Conversation

@CryZe

@CryZe CryZe commented Oct 12, 2026 •

Copy link
Copy Markdown
Collaborator

Add the detailed timer's icon display setting to the layout editor and update Core to the merged master revision. The editor offers Hidden, Both Rows, and First Row Only, with translated labels in every supported language. Core handles icon fitting and placement, so the editor preview and running timer follow the same rules.

Open the live preview

Icon display modes

Hidden leaves the whole component width available for text. Both Rows places the icon beside both timers. First Row Only places it beside the segment name and attempt timer, leaving the lower row's full width available for comparisons and the segment timer.

Hidden, Both Rows, and First Row Only at the same component dimensions

These examples use Core's native software renderer with the same run, timer values, fonts, and 360 × 140 component dimensions. The frontend adds a typed setting-value factory and a dedicated selector; it adds no separate sizing settings.

Segments without icons

When a segment has no icon, its name can use the empty icon column. In Both Rows mode, comparison names and times also move left together. Both timers retain their font sizes and positions, and comparison sizing and vertical spacing remain stable.

LiveSplit One in both-row and first-row modes with and without segment icons

These screenshots come from the web application in Chromium. Each pair uses the same component dimensions and run-wide space reservations.

Stable fitting through the run

Core reserves space using the expected timer formats, segment names, and comparison times across the run. Starting and splitting keep timer sizing and placement stable. Icons fit the remaining space and first-row icons align with the main timer's fixed numeric center. Times that exceed their expected format can still shrink to fit.

Starting, ticking, splitting, missing icons, ending, and resetting with stable timer geometry

The native animation shows First Row Only on the left and Both Rows on the right, including alternating segments with and without icons.

Validation: ESLint, TypeScript checks, formatting, all 17 preview helper tests, and the optimized preview build pass. Browser checks cover stable starts and splits, missing-icon space reclamation, resizing, all three editor modes, and saved-layout persistence.

@CryZe CryZe added enhancement A new feature or general improvement to LiveSplit One. layout rendering This affects the rendering of LiveSplit layouts. labels Oct 12, 2026 — with ChatGPT Codex Connector
@CryZe CryZe self-assigned this Oct 12, 2026
@github-actions

github-actions Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

LiveSplit One preview

Open preview

Built from 9d71905. Updated automatically for this PR and removed when it closes or merges.

Update livesplit-core to the merged master revision with detailed timer icon
modes, automatic icon fitting, and missing-icon space reclamation. Icons can
be hidden, span both rows, or occupy only the first row, while timer sizing
and placement remain stable through starts and splits.

Expose the typed icon display setting in the layout editor through the
shared setting value factory and a dedicated selector. Localize the row
modes in every supported language and keep fitting and placement in Core
so the editor preview and running timer follow the same layout rules.
@CryZe
CryZe force-pushed the detailed-timer-icon-display-mode branch from 4ee93fa to 9d71905 Compare October 12, 2026 21:14
@CryZe
CryZe marked this pull request as ready for review October 12, 2026 21:15
@CryZe
CryZe merged commit 797e00e into LiveSplit:master Oct 12, 2026
5 checks passed
@CryZe
CryZe deleted the detailed-timer-icon-display-mode branch October 12, 2026 21:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement A new feature or general improvement to LiveSplit One. layout rendering This affects the rendering of LiveSplit layouts.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant