Add equal-grid snapping for split panes - #2488
Open
brsbl wants to merge 16 commits into
Open
Conversation
brsbl
force-pushed
the
bb/split-resize-snap-targets-thr_q8degf2y66
branch
from
August 26, 2026 22:26
0d39493 to
074e03f
Compare
brsbl
force-pushed
the
bb/split-resize-snap-targets-thr_q8degf2y66
branch
from
August 27, 2026 00:17
074e03f to
956030f
Compare
Collaborator
Author
Collaborator
Author
|
Reopened after correcting the interaction model: this now uses one shared midpoint grid per split surface with fast-crossing capture and magnetic release hysteresis. |
…egf2y66' into bb/split-resize-snap-targets-thr_q8degf2y66
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.
Why
bb already makes sibling panes equal when a split is created or removed, because equal-sized grids are the common layout users want. Resizing made it easy to drift into arbitrary proportions but hard to return precisely to that canonical layout. Heavy Diff and Info panes could also leave resize input stuck when a drag lost pointer capture.
User-visible behavior
Reliability and performance
react-resizable-panels, resolves every sample through the shared snap session, and previews the drag through local flex writes to the adjacent panels. It commits once through the panel API on release, matching internal split performance while keyboard resizing, collapse, bounds, drag lifecycle, and width persistence remain library-owned.mouseupfallback and a zero-button pointer sample both terminate the bridge, so a panel-library-consumedpointerupcannot leave resizing active after release.Non-goals
Screenshot evidence
Fresh before/after evidence is pending. Full browser QA and screenshot capture were intentionally not run, so this layer is not yet screenshot-verified.
Validation
pnpm exec turbo run typecheck --filter=@bb/apppasses.pnpm exec turbo run lint --filter=@bb/apppasses with the repository's existing warnings and no errors.git diff --checkpasses.BB-Thread-ID: thr_q8degf2y66