The Quotes lens's By session / Sections & themes control: five controls, two places.
Click any control in any frame to switch grouping. Every frame follows, so the sidebar
contents and the heading can be compared as the choice changes.
artefact: shipped CSS and shipped stringscommentary: not the product
Commentary
The case for the sidebar. The content sidebar already holds what this control
changes. Today it lists Sections and Themes whatever the grouping, so in By session view
every link points at a heading that is not on the page (TocSidebar.tsx builds
its entries from /quotes sections and themes and never reads the grouping).
In the sidebar frames here the list follows the choice: By session lists the sessions.
The header slot is empty on Quotes because its title was removed on 14 Aug 2026
(SidebarLayout.tsx:437).
The case against it. Close the sidebar (switch above) and the control goes with it.
That is acceptable only if the choice is reachable another way. On the Mac that means
View-menu rows (“Group by Session” and “Group by Sections & Themes”) beside the ones
that already move through Screens and Discussion. On the web the heading still names the
grouping, so the reader can tell which view they are in, but cannot change it.
The controls
A, two buttons (shipped)..toolbar-btn-toggle × 2 at label size.
Reads as two commands, not one choice. It does not fit the 240px sidebar: it wraps.
B, two buttons, small. The size the system lacks: .lab-sm is new
CSS (caption type, tighter padding). It is still two buttons, and it only just fits.
C, split control (shipped)..dimension-toggle from the Signals
inspector, also used by the person picker (full width) and the Discussion lens. It is
already the house segmented control at caption size, so there is nothing to invent:
one choice, one outline. Full width in the sidebar, as the person picker does it.
At the default 240px sidebar its right half wraps to two lines; D and E do not.
A shorter label would fix it, which is a copy decision, not drawn here.
D, scope words (shipped). The person picker's Session | Paragraph: plain text,
the chosen word semibold. The quietest option. It reads as a heading, which suits a
sidebar header, but it is the least obviously clickable.
E, pop-up. A <select> wearing .toolbar-btn.
The most compact, and it scales to a third grouping, but it hides the alternative
behind a click.
Strings
All shipped: quotes.groupBy.session, quotes.groupBy.sectionsAndThemes,
quotes.sections, quotes.themes,
dashboard.coverageSession (“Session {{number}}”). The sidebar's session list
reuses that key, and listing sessions in the sidebar at all is the one new behaviour,
flagged in each frame's chrome.
The case for the sidebar. The content sidebar already holds what this control changes. Today it lists Sections and Themes whatever the grouping, so in By session view every link points at a heading that is not on the page (
TocSidebar.tsxbuilds its entries from/quotessections and themes and never reads the grouping). In the sidebar frames here the list follows the choice: By session lists the sessions. The header slot is empty on Quotes because its title was removed on 14 Aug 2026 (SidebarLayout.tsx:437).The case against it. Close the sidebar (switch above) and the control goes with it. That is acceptable only if the choice is reachable another way. On the Mac that means View-menu rows (“Group by Session” and “Group by Sections & Themes”) beside the ones that already move through Screens and Discussion. On the web the heading still names the grouping, so the reader can tell which view they are in, but cannot change it.
The controls
.toolbar-btn-toggle× 2 at label size. Reads as two commands, not one choice. It does not fit the 240px sidebar: it wraps..lab-smis new CSS (caption type, tighter padding). It is still two buttons, and it only just fits..dimension-togglefrom the Signals inspector, also used by the person picker (full width) and the Discussion lens. It is already the house segmented control at caption size, so there is nothing to invent: one choice, one outline. Full width in the sidebar, as the person picker does it. At the default 240px sidebar its right half wraps to two lines; D and E do not. A shorter label would fix it, which is a copy decision, not drawn here.<select>wearing.toolbar-btn. The most compact, and it scales to a third grouping, but it hides the alternative behind a click.Strings
All shipped:
quotes.groupBy.session,quotes.groupBy.sectionsAndThemes,quotes.sections,quotes.themes,dashboard.coverageSession(“Session {{number}}”). The sidebar's session list reuses that key, and listing sessions in the sidebar at all is the one new behaviour, flagged in each frame's chrome.