Bug 2039401: Simplified view phase 1 - #1069
Open
kala-moz wants to merge 6 commits into
Open
Conversation
✅ Deploy Preview for mozilla-perfcompare ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
kala-moz
marked this pull request as draft
July 24, 2026 02:14
kala-moz
requested review from
beatrice-acasandrei,
esanuandra,
gmierz and
padenot
and removed request for
padenot
July 24, 2026 02:32
kala-moz
marked this pull request as ready for review
July 24, 2026 02:36
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.
Deploy link
Bug 2039401
Summary
Introduces a beginner-friendly "simplified" results view for the Mann-Whitney-U comparison table, while keeping the full statistical detail one click away for power users. New contributors get plain-language columns and an on-page reading guide by default; power users can reveal the advanced stats columns with a single checkbox (remembered across visits).
User-facing changes
Δ Median % (renamed from MD (%)) — now computed from the raw runs' medians ((median(new) − median(base)) / median(base) × 100), which matches both the expanded panel's bootstrap median-diff and the reference perfcompare-new-stats implementation. Formatted as a signed, 2-decimal percent (+1.08% / −2.40%); a warning icon flags non-normal distributions (the value is still shown, since the median is rank-based); shows +0.00% for a zero base median and - only when there are no runs.
Significance is shown in both views and now uses words instead of symbols — "Real" (significant) / "Noise" (not significant), with matching filter labels. The header reads "Significance" in the simplified view and abbreviates to "Sig" in the advanced view so it doesn't crowd "Total Trials".
The advanced stats columns — CD & CLES — are now hidden by default. A "Advanced columns" checkbox reveals them. The preference is persisted (Redux + localStorage) and shared between the main results page and the subtests page.
"How to read the results" panel: A dismissible guide above the table explaining each column in plain English. Shown by default for new users; the close button or the "How to read the results" checkbox toggles it, and the choice is remembered.
Plain-language tooltips
Rewrote the Δ Median % tooltip.
Under the hood
New
ColumnPrefsSlice(Redux) holdsshowAdvancedColumnsandshowHowToRead, both persisted to localStorage.New shared components:
AdvancedColumnsToggle(used by both control bars) andHowToReadResults.Strategy interface widened so
getColumns/renderColumns/renderSubtestColumnsreceiveshowAdvancedColumns; the column config and row cells gate on the same flag to stay in sync.Performance:
checkDistributionNormalityandmedianDiffPct(both called per-row per-render, and per-comparison during sort) are now memoized via WeakMap keyed on the result object; the column config is useMemo'd in both tables.De-duplication: extracted shared
renderStatusCell/renderMedianDiffCellhelpers so the main and subtests tables render identically from one source.Testing
Added an enableAdvancedColumns() test helper; made row-summary helpers advanced-aware and icon-title-stripping; updated normality-gating tests to the "always show the value" behavior; updated Significance assertions to the Real/Noise words and the Status size line; added coverage for the advanced-columns toggle and the How-to-read panel
Notable decisions / follow-ups
Defaults: simplified view and the reading panel are on by default (dismissible, remembered). Easy to flip if we'd rather not change the default for existing users.
Scope: the reading panel is on the main results view only (not the subtests drill-down) — easy to add there if wanted.
Phase 2 candidate: simplify the expanded row.
🤖 Generated with the help of Claude Code