8000 feat(documents): scroll through every page of a document in one view by adeelahmad · Pull Request #267 · adeelahmad/lense · GitHub
[go: up one dir, main page]

Skip to content

feat(documents): scroll through every page of a document in one view - #267

Merged
adeelahmad merged 1 commit into
mainfrom
claude/project-thread-6yli77
Oct 10, 2026
Merged

adeelahmad merged 1 commit into
mainfrom
claude/project-thread-6yli77

Conversation

@adeelahmad
Copy link
Copy Markdown
Owner

Requested by Adeel · project thread

Description

Before: a multi-page document's page showed one page at a time; reading on meant clicking Next or a thumbnail for every page.

After: every page sits one under another and you scroll through them. Pages are drawn as they near the view (blank placeholders of the right size until then) and kept once drawn. Scrolling updates the page field, thumbnails and the text panel; Previous/Next, the page field, thumbnails, ←/→, choosing a block, find matches, People/Objects and ?page= all scroll to the page (or the marked block). Zoom keeps the page being read in view.

How: PageStage renders a StagePage per page; an IntersectionObserver on the scroll box marks pages to draw (the page being read and its neighbours always are). DocView gains jump (moves made elsewhere, which scroll the stage) and see (scrolling, which only updates the page). pageAtOffset picks the page under the reader's eye line.

Motivation and Context

Fewest clicks: being locked to a single page goes against it.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change; ! in the title)

Checklist:

  • The title is a Conventional Commit.
  • My code follows the code style of this project (make hooks checks it on commit).
  • I added or updated tests.
  • My change requires documentation updates, and I have updated docs/ accordingly.
  • Users need more than the title to understand it, so I wrote it under ## Unreleased in CHANGELOG.md.

🤖 Generated with Claude Code

https://claude.ai/code/session_0157J3XzJSGym9mTScZJU1uB


Generated by Claude Code

Pages sit one under another and are drawn as they near the view. Scrolling
turns the page being read (page field, thumbnails and text follow); turning a
page, choosing a block, a find match or zooming scrolls to it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0157J3XzJSGym9mTScZJU1uB
@adeelahmad adeelahmad self-assigned this Oct 10, 2026
@adeelahmad
adeelahmad merged commit 09906d1 into main Oct 10, 2026
5 checks passed
@adeelahmad
adeelahmad deleted the claude/project-thread-6yli77 branch October 10, 2026 20:02
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.

2 participants

0