Every frame below is drawn with the shipped tokens and the real
sidebar.css
rules — panel width, type scale, weights, the 7px status dot, the outdented close ×.
Nothing here is approximated, so what you see is what lands.
The title goes. Section and theme headings stay — they're doing real work, separating two different groupings of the same quotes.
Four changes at once: title out, "Your tags" → Manual tags, "Built-in" → Default, "Frameworks" → Library, and the "Codebook Library →" button removed.
"Library" is the change that earns the most. It stops the heading and the button underneath it saying two different words for one thing — and once the heading says Library, the button reads as a duplicate, which is the argument for deleting it rather than moving it.
The button loses nothing. The browse modal is still reached three ways: the primary button in the Codebooks panel header (same string, visible on the same screen), clicking any greyed row here, and the native Browse Codebooks… menu item.
Open — "Manual tags" may be false. AutoCode-accepted tags land in this
same group carrying source:"autocode". They are not manual. Bench 4 puts the three
candidates side by side.
Knock-on. The browse modal's own section title is
codebook.frameworksHeader = "Codebook frameworks". If Frameworks becomes Library here,
that should follow, or the modal contradicts the sidebar that opened it.
There is a single <span class="sidebar-title"> in
SidebarLayout. Commenting it out removes it from all five lenses, not two.
Here's what the other three lose.
Sessions survives it. "P1 · Rukmini Iyer" is self-evidently a session. The title was restating the rows.
Analysis is the one to look hard at. Without "Signals", the rows are five bare noun phrases — "Delivery slot anxiety" doesn't announce what kind of object it is. This is the one lens where the title was classifying rather than repeating.
Recommendation: take all five anyway. Keeping one exception means a
conditional in SidebarLayout that exists solely to preserve a word — and if Analysis
genuinely needs the classification, the honest fix is a .toc-heading inside the panel
(like Quotes' "Sections"/"Themes"), not a title bar the other four don't need.
Same panel, three headings. The group holds every tag that isn't from an installed codebook — typed by hand and accepted from AutoCode.
One more thing this key does: codebook.yourTags is also the fallback heading
in the Codebooks panel when a project has no name. Whichever word wins shows up there too.
You said the minimum width is a good default. Read one way that's "leave it alone"; read the other it's "make 200 the default". Both drawn with the same rows.
Framework titles are the stress test — Nielsen's runs to four lines at 200px against three at 280px.
Everything else in both panels is unaffected. If you meant "leave the minimum where it is",
say so and I'll change nothing; if you meant "ship 200 as the default", it's one constant
(DEFAULT_WIDTH) and the existing per-user saved width still wins.
In the Mac app the sidebars are driven from the native toolbar, so
SidebarLayout gates the × out. Remove the title as well and the header holds
nothing — but still occupies space-md + 0.25rem of the panel.
hatched red = empty box still taking vertical space
It's ~1rem of nothing at the top of every panel on the Mac, and it pushes the first heading off the datum the toolbar establishes. Cheap to fix: render the header only when it has a child. In the browser nothing changes — the × keeps the header alive there.
Vocabulary drift, for later. The native View menu still says Show Contents / Hide Contents and the toolbar button is labelled Contents. Once no panel says the word, that's the only place it survives. Menus naming a panel is ordinary Mac practice, so it can stand — but if it bothers you, Show Sidebar is the stock phrasing.
Correction to what I told you in chat. I said the × sat beside the title and would need re-aligning. It doesn't.
.sidebar-headerisflex-direction: columnand the × carriesorder:-1with a-0.5remhanging indent, so it sits above the title, aligned to where the rail icon was. Drop the title and the × stays exactly where it is. No CSS change needed in the browser.The two remaining
.toc-headingrules keep their bottom rules, so the list still reads as two groups. "Sections" becomes the first thing in the panel — which is what the panel is.