R8a: composer must never overlap the minimap or the token counter - #166
Merged
Conversation
The composer island's width formula only ever reserved clearance from the minimap (a thin margin, not real space), and never accounted for the token counter at all beyond a 7px vertical gap - a real but razor-thin non-overlap that a font/padding change, or the composer picking up a second line, could erase. At common window widths the composer could visibly paint over both corners' chrome. Fixed with three independent, structural guarantees instead of one tuned distance: 1. The composer's layer now reserves REAL horizontal space on both sides (left:230px for the token counter's measured footprint, right:232px for the minimap's) and centers its card WITHIN that narrowed box, not the full viewport - centering can no longer land it in territory either neighbor already owns. 2. bottom:64px still gives the token-counter side a second, independent vertical guarantee on top of that. 3. Both the token counter and the minimap now sit on a new --gl-z-canvas-hud tier (21) that outranks the composer's app-layer tier (20) regardless of position - so even if the geometry above were ever wrong, neither can be painted over. Verified live at the app's real minimum window width (960px, per graphlink_desktop.py's own min_size) and at the width the collision was first reported at, with real measured pixel gaps on both sides, not just an absence of overlap.
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
The composer island's width formula only reserved a thin margin from the minimap, and relied on a bare 7px vertical gap from the token counter - a razor-thin technical non-overlap, not a real design margin. At common window widths the composer's higher z-index let it visibly paint over both corners' chrome.
Change
Three independent, structural guarantees instead of one tuned distance:
.app-composer-layernow reserves real horizontal space on both sides (left: 230pxfor the token counter's measured footprint,right: 232pxfor the minimap's) and centers the card within that narrowed box via flex - not the full viewport - so centering can never land it in territory either neighbor already owns.bottom: 64pxstill gives the token-counter side a second, independent vertical guarantee on top of that.--gl-z-canvas-hudtier (21) that outranks the composer'sapp-layertier (20) regardless of position - so even if the geometry above were ever wrong, neither can be painted over.Test plan
tsc --noEmitclean, lint 0 errors, 794 tests passed, build succeedsgraphlink_desktop.py's ownmin_size)