R8a: unify canvas chrome spacing, give the minimap real colors, hide the token counter by default - #165
Merged
Merged
Conversation
…the token counter by default Three related polish fixes to the floating chrome around the canvas: - One canonical edge inset (--gl-chrome-inset, 16px) for every piece of canvas chrome - pins/search/view-popover/plugin-picker were anchored at an inconsistent 8px while the token counter/notification used 16px, and the minimap used React Flow's own baked-in 15px Panel margin, entirely outside this app's spacing system. All of it now shares one value, the same way the z-index scale already gave stacking order one source of truth. Also fixed a stale comment on that z-index scale (claimed pins used the canvas-chrome tier; the real code has used the app-layer tier for a while) and removed .scene-pins, a fully dead CSS block left over from a pre-Popover-refactor pins implementation with zero remaining JSX references. - The minimap rendered every node as React Flow's own default plain rectangle - flat, undifferentiated boxes with no relationship to what's actually on the canvas. It now reflects real color: note/frame/container nodes show their actual assigned color (the same palette the color picker writes), every other kind gets one deliberate neutral tone instead of the default, and the currently selected node is highlighted. Colors are read from the real design tokens at render time, not hardcoded hex. - The token counter overlay is now off by default (fresh installs and any settings file missing the key) rather than on - it was already a fully real, working, persisted setting with a wired Settings checkbox; this only flips which state is the starting one. Existing users who already have it explicitly enabled are unaffected.
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
Three related issues with the floating chrome around the canvas:
Panelmargin - three near-identical values with no stated relationship, none of them tied to this app's own design system.Change
--gl-chrome-inset(16px) token, the same pattern already used for the z-index scale. Every corner/edge-anchored chrome element (pins, search, view popover, plugin picker, token counter, notification, minimap) now uses it. Also fixed a stale comment on the z-index scale (claimed pins used the canvas-chrome tier; the real code has used the app-layer tier for a while) and removed.scene-pins, a fully dead CSS block from a pre-Popover-refactor pins implementation with zero remaining JSX references.nodeColor/nodeStrokeColorto React Flow's<MiniMap>. note/frame/container nodes show their actual assigned color (the same palette the color picker writes); every other kind gets one deliberate neutral tone instead of the flat default; the currently selected node is highlighted. Colors are read from the real design tokens at render time, not hardcoded hex.Test plan
tsc --noEmitclean, lint 0 errors, 794 tests passed, build succeedsshow_token_countertoFalse, while the real user's already-explicittruevalue in their existingsession.datis correctly left untouched