The tag shelf goes twice as deep, and its handle is the seam again - #56
Merged
Conversation
…e seam again MAX_TAG_ROWS 12 → 24. Raising it alone squeezed the sections from 316px to 56.5px of an 800px window; squeezed out they take the grip off the bottom edge with them, and a shelf whose grip cannot be reached cannot be made small again. So the control strip is capped at calc(100% - 150px) and the chips scroll past it — which also holds when the window is resized after the drag. The last chip row sat 5px off the strip's border at every depth, because the handle rode down over the strip's bottom padding to sit on the border. The padding is the air under the shelf now. The handle is pinned to the strip's border instead of living in the flow, where it could hang off the chips or sit on the border but never both: held to the chips it lit up 9px above the divider it looks like, and welded to the border it glued the last chip row to the edge. Both had shipped, twice. e2e asserts the gap is the same at rest, one row deeper and at the new maximum; that the sections keep 150px however far the shelf is dragged; and that the handle's centre AND its hit area straddle the seam. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
MAX_TAG_ROWS12 → 24, so a drag reaches 96 chips instead of 48.Raising that ceiling alone is what made the rest necessary — with nothing else changed the sidebar list collapsed from 316px to 56.5px on an 800px window. Squeezed that far it takes the grip off the bottom edge with it, and a shelf whose grip can't be reached can't be made small again. The control strip is now capped at
calc(100% - 150px): the sections always keep 150px of the column and the chips scroll past it, which also holds when the window is resized after the drag.Two things the shelf got wrong at every depth, both fixed here:
position: absolute, a 5px band straddling the 1px line), so the strip's padding is free to be the air.Guards
expectHandleOnTheSeamfails on either half: the handle's centre within 1px of the strip's bottom edge, andelementFromPointon the seam returning the grip — the hit area, not just the paint. It runs at the resting depth and at the new maximum. It reported9before the fix.The bottom gap is asserted equal at rest, one row deeper and at the maximum; the list floor and the grip's reachability are asserted after a drag to the bottom of the window. Each assertion was watched red first — the ceiling at 48-vs-48, the gap at 5-vs-10, and the list floor only after the ceiling went up, which is what proves the cap earns its place.
Verification
npm run check— exit 0Not run:
make theme-sweep. The change is pure geometry — no colour, no new surface — socheck:themesandSURFACESneed nothing.🤖 Generated with Claude Code