Focused sidebar border: use accent colour, not bold (box-art renders broken in casts) #25
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
The focused schema-sidebar panel border (ADR-0046 DC3) is drawn bold. Bold
box-drawing glyphs render as broken / gapped line-art in the asciinema player
used for the website casts (the vertical strokes don't connect and don't line
up with the corner glyphs), and bold box-art is fragile in some terminals too.
Switch the focus indicator from bold to a non-bold accent colour.
Discovered while reviewing the website
schema-sidebarcast (website branch);filing here because the fix is app-side on
main.Where
src/ui.rs,panel_border_style(~line 280):Proposed change (option A, user-approved)
Drop
Modifier::BOLDfrom the focused arm and rely on colour for the focuscue. Two viable flavours — implementer's choice (a quick visual check decides):
theme.fg(bright) without bold. The focused panel alreadycontrasts bright
fgagainst the mutedtheme.borderof the unfocusedpanels, so a clear focus cue remains with no bold.
theme.mode_simple(blue) oranother existing theme colour, non-bold — a stronger, lazygit-style focus
border.
Either way: no
Modifier::BOLDon box-drawing borders.Expected fallout (please handle as part of the change)
instasnapshots (src/snapshots/): the ADR-0046 focus / expandsnapshots encode the bold border attribute and will need re-accepting
(
cargo insta review).panel_border_style(if any) that check forBOLDneed updating.panel_border_style("an accented, bold border")should be reworded.
record the refinement (colour, not bold) as an amendment/note in the ADR, and
update
docs/adr/README.mdper the index-upkeep rule if the ADR status linechanges.
Website follow-up (tracked separately on the website branch)
After this lands and merges, the
schema-sidebarcast (and likely all casts)will be re-recorded against the updated binary — no action needed here.
Fixed in
fde50ce(user-confirmed visually).panel_border_stylenow marks the focused sidebar panel with a non-bold accent colour (theme.mode_simple, blue) instead of brightfg+Modifier::BOLD. The unfocused border stays muted (theme.border). Bold is untouched on text spans (titles, key hints) — the constraint is specifically that box-drawing borders carry no bold attribute, so they render cleanly in the asciinema cast player.One correction to the fallout list: the Tier-2
instasnapshots did not need re-accepting —render_to_stringcaptures cell symbols only, not styles, so a bold→colour change is invisible to them (full suite confirms, no snapshot churn). The Tier-1panel_border_styleassertion was updated, and a new render-level test now inspects the actual buffer border cells (focused →mode_simple, neverBOLD; nothing focused → no border cell wears the accent), covering both the inline panel and the DC2 expand-on-focus overlay.Decision recorded as ADR-0046 Amendment 1 (focus accent is a colour, not bold). Full suite green (2425 pass, 1 ignored).
The website
schema-sidebarcast re-recording is tracked separately on the website branch, as noted.