SIGN IN SIGN UP

fix(visualization): address sonar code-smell findings

- Use `globalThis` instead of `window` (S7764) in dispatchAfterPaint.
- Mark `scrollFunction` field as `readonly` (S2933) in explorerTreeLevel.
- Drop redundant `as` assertion in sidebarExplorer.selectors and annotate
  the `.map` callback's return type so the literals stay narrow (S4325).
- Remove `role="img"` on the explorer tree item icon span (S6819) — the
  existing `aria-hidden="true"` already hides it from assistive tech.
- Replace the explorer sort control's div-with-button-role with a real
  `<button>` element and drop the redundant `tabindex="0"` from the
  dropdown `<ul>` (S6819, S6845).
- Replace the rules popover's `<div role="list">` with a real `<ul>`
  containing `<li>` rule rows (S6819).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
C
Christian Huehn committed
e2e5982a361cfb13616656c3e1cb5741d8d1616f
Parent: 1c4695a
Committed by Christian Hühn <161825497+ChristianHuehn@users.noreply.github.com> on 5/6/2026, 8:21:15 AM