VoidReader 1.0.4
VoidReader 1.0.4 — "Math Is Hard"
The one where we learn that not all blocks are 60 pixels tall
Turns out, estimating total document height as blockCount × 60px works great — right up until your document contains Mermaid diagrams, KaTeX equations, code blocks, and tables that are decidedly not 60 pixels tall. The scroll percentage was confidently reporting 100% when you'd barely made it past the introduction. Bold of it.
Scroll Percentage Uses Real Measurements Now
Swapped the vibes-based height estimation for actual measured dimensions from GeometryReader. The percentage now tracks reality, which is apparently a feature people expect from a progress indicator. Extracted ScrollPercentage.calculate() into VoidReaderCore so we could write 9 unit tests proving we can do arithmetic, plus 4 UI tests that open a mixed-content document and verify the number goes up when you scroll down. Groundbreaking.
Install / Update
brew install --cask lazypower/tap/voidreader
# or
brew upgrade --cask voidreaderOr grab the DMG from Releases.
Full Changelog: v1.0.3...v1.0.4
Co-authored with Claude Opus 4.6, who now understands that 60px is not a universal constant.