feat(log-viewer): one type scale and a header that folds when narrow - #928
Merged
lcottercertinia merged 5 commits intoAug 19, 2026
Merged
Conversation
Both branches touched the same declarations: main tokenised colour and space, this branch tokenised size. Resolutions keep both.
Literal font sizes were still spread across the webview, so a user who changed their VS Code font size saw only part of the app follow. Every shadow-DOM and light-DOM style now takes a step from the ramp in styles/tokens.css, and the rule file states the ramp so the literals do not come back. - FindWidget trades fixed 33px/25px heights for align-items: center, so the widget grows with the font instead of clipping it. - Two literals stay, each with a note: the 9px badge count is under the ramp floor, and DataGrid.scss's 14px chevron sizes a glyph box. - Canvas text keeps its numbers: a PIXI font size cannot read a var.
…arrows A narrow panel pushed the header's right-hand controls off the edge: the identity chunks held their width and nothing shed. The header now sheds one chunk at a time, right to left, and each shed item reappears in the ••• menu, so no value or control is ever lost. The title truncates to a 10ch floor first, and the budget counts every active chunk whether inline or folded, so a shed never hands width back and the title cannot grow as the window shrinks. - LogTitle owns its floor and exposes floorWidth; NavBar budgets on it. - A folded row drops its hover when the full value reads the same.
…pe-scale # Conflicts: # .claude/rules/log-viewer.md
lcottercertinia
approved these changes
Aug 19, 2026
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.
What
One type scale and one mono family for the whole webview, replacing hand-written pixel sizes and bare
monospaceliterals — plus a header that folds its items into the•••menu instead of pushing them off the edge.Why
Text sizes were set per component, so the same kind of text read at a different size depending on where it sat, and none of it followed the reader's VS Code font size. Code-shaped text picked its family per file.
A narrow panel then made it worse: the header's identity items held their width, so the right-hand controls were pushed off the edge and became unreachable.
How
styles/tokens.css:--lana-text-lg→--vscode-bodyFontSize(13px)--lana-text-base→--vscode-bodyFontSize-small(12px)--lana-text-sm→--vscode-bodyFontSize-xSmall(11px)--lana-text-xs→ 0.84 × base (10px)--lana-text-caps+--lana-text-caps-trackingfor section headers--lana-font-mono→var(--vscode-editor-font-family, monospace)— carries the only non-VS-Code-host fallback. Applied to the table name columns, group rows, tooltips and code blocks..claude/rules/log-viewer.mdnow states it, so the literals do not come back.FindWidgettrades its fixed33px/25pxheights foralign-items: center, so it grows with the font. Two literals stay with a note each: the 9px badge count is under the ramp floor, andDataGrid.scss's 14px chevron sizes a glyph box.•••menu, so no value or control is lost. The title truncates to a 10ch floor first, and the budget counts every active chunk whether inline or folded, so a shed never hands width back and the title cannot grow as the window shrinks.LogTitleowns its floor and exposesfloorWidth;NavBarbudgets on it.Notes
--vscode-editor-font-size, so a large editor font puts grid cells a step above the app base. Left as is — a separate decision.Testing
tsc -b,tsc6 -b,eslint,jest(1775 tests / 131 suites) and the production build all pass.•••marker.Merged with
mainmaintokenised colour and space on many of the same declarations this branch tokenised size on, soboth sides are kept.
--lana-text-md, added by that sweep, is gone: its one user (the timeline key)now reads
--lana-text-base, the registered 12px it approximated.