Count label pill overhang in the graph's content size - #86
Merged
Conversation
A long branch name on a short row draws past its last commit column, but contentSize measured columns only — pan clamping and fit stopped short, so the overhanging label was forever cut at the viewport edge. Feed the measured label widths into contentSize so every pill stays reachable.
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.
Problem
A long branch name on a short row draws its label pill well past the row's last commit column — but
contentSizemeasured commit columns only. Pan clamping (clampView) andfitboth stop at that width, so the overhanging label was forever cut at the viewport edge: no amount of panning could reveal the rest of it.Fix
contentSizenow takes an optional label-width accessor and extends the diagram's width to cover each pill's rest rect (vialabelRect) plus the right margin.GraphCanvasfeeds it the measured widths (labelWidthFor), so both the pan clamp and fit-to-view account for every label.Verified in the running app: at high zoom, panning fully right now brings the longest labels (
fix-graph-label-overflow,fix-graph-pane-covers-selection) completely into view; fit shows the whole diagram including pills; no console errors.Tests
contentSizegrows to cover a pill overhanging its last columncontentSizeis unchanged when labels fit inside their row span🤖 Generated with Claude Code