Repository navigation
feat(locallibrary): wash the overview as the end-of-track warning starts - #633
Open
botandbang wants to merge 2 commits into
Open
botandbang wants to merge 2 commits into
botandbang wants to merge 2 commits into
Conversation
As the warning of a track's end comes on, the track's overview waveform (the deck's or the strip's) washes twice into the warning colour over 720 ms: blended in 24-bit colour, snapped to it in 256 and 16. It starts once each time the warning comes on, stops if it goes off first, and doesn't run with reduced motion. Fixes LOC-262.
bnb
approved these changes
Nov 13, 2026
SizeCompared with main. KiB are 1,024 bytes.
|
Rust coverageFrom run 930. Both are held to the thresholds in .cargo/config.toml.
|
This branch has not been deployed
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.
What and why
When a track gets within its warning time of the end (30 s by default), only the time left starts blinking, which is easy to miss while you're on the mixer. Now the track's overview waveform also washes twice in the warning colour as the warning starts, 720 ms in all, then the blink carries on as before.
Transitions::follow_warningis told each frame whether the warning is on (end_style) and where the overview was drawn (areas.overview, the deck's or the strip's, empty when neither is). A wash starts each time the warning comes on, and stops if it goes off first, so seeking back out and in again starts another.step_washruns two 360 ms pulses: in 24-bit colour each cell's text colour blends into the warning colour and back; in 256 and 16 colours it snaps to the tier's warning colour (the scheme's red in 16) at the height of each pulse and back.LOCALLIBRARY_REDUCED_MOTION, without colours, or in a test's app. The wash keeps no heap memory of its own, and while it runs the player keeps its quick frame rate, as for a fade.docs/player.mdsays so.It doesn't use tachyonfx, so it doesn't depend on fades running in 256 colours.
Fixes LOC-262
How it was tested
the_end_warning_washes_once_a_crossing: the wash comes on with the warning, is fully the warning colour at the height of the first pulse and back between pulses, stops after two, doesn't start again while the warning stays on, and starts again after the warning goes off and on.the_wash_snaps_in_16_colours_and_needs_motion: in 16 colours it snaps at the height of a pulse; with less motion, or in a test's app, none starts.prop_the_end_warning_washes_from_each_crossing(Hegel) checks over any run of frames that a wash starts only as the warning comes on, stops when it goes off or after two pulses, and only ever changes colours inside the overview, never a symbol.tui::transitions,frames,uianddecktests pass, as docargo fmt --check,cargo clippy --workspace --all-targets, the same with--no-default-featuresand forx86_64-pc-windows-gnu, andcargo docwith-D warnings. The frame budget test's frames run with transitions off, as before, sobenchmarks/budgets/tui.jsonis unchanged.Checklist
apps/locallibrary/changes/loc-262-end-warning-wash.mdhas a changelog linedocs/and--helpstill say what the code doesdiagrams-checked: apps/locallibrary/docs/diagrams/player.md#player-views: ui.rs only starts a wash of the overview as the end warning comes on; the views and how a frame is drawn are the same
diagrams-checked: apps/locallibrary/docs/diagrams/player.md#deck-layout: the deck's overview washes as the end warning comes on; the layout is the same