Repository navigation
[Idea] Scroll overview track for ScrollView #32
robfeldmann
started this conversation in
Feature Requests, Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
This is a post-1.0 idea. Tessera 1.0 scope is already set, and this does not change it.
Problem or user need
A long scrolling view gives little sense of where the reader is. In a diff, a log, or a
search result list, users must scroll to find the changes or hits. A thin track beside
the content, like the minimap in many editors, shows the whole document at a glance. It
marks where changes and matches are, and where the visible window sits.
Proposed behavior
Add an optional overview track to
ScrollView:The track is one column wide. It uses the same rows for every document length:
important mark inside it. A removed line outranks an added line, which outranks a
match.
change.
omp2 does this in its diff pane. A
Minimapoption reserves two body columns, andeach track row paints two buckets with a half block. The first bucket is the top half
and the second is the bottom. Deletions win over additions, and the visible range is
lightened
(diff_pane.rs).
Tessera should offer the track as a generic
ScrollViewfeature, not as adiff-only control. The mark source is the app's choice.
Why this belongs in Tessera
the offset.
Alternatives considered
where the changes are.
priority rules.
Scope and compatibility
Additive. It is opt-in and changes nothing when off. It depends on the
ScrollViewoffset and content-size model, and on the controlled-scroll binding. Marks come from
the app as an array of row indexes and kinds. The track needs its own hit region, so
it depends on the planned mouse-handling slice.
Checks
request.
All reactions