Skip to content

v2.0.0 "Fresh Coat"

Choose a tag to compare

@github-actions github-actions released this 21 Oct 19:47
· 16 commits to master since this release

Plöttr v2.0.0 "Fresh Coat" — release notes

A full redesign of everything around the figures: a new landing page, one app bar across every
tool, and a workspace in every plot tool with the controls, the figure and the statistics side
by side. The figures and the statistics themselves have not changed.

What stayed the same

Every chart and every statistical result is identical to v1.12.0. Before release, each of the
ten plot tools was run in both versions on its example data, with default settings and with
fourteen non-default ones (letters, brackets, violin, horizontal bars, stars off, ΔΔCt, mosaic,
χ² with BH, faceted RLU, the Σ barplot, UpSet statistics, scatter regression, …). Every export
(SVG, PNG, CSV, R script, report, methods text, and the files inside zip archives) was compared
byte for byte: 194 files, all identical apart from the "Generated:" timestamp in R scripts and
reports. The
chart snapshot tests pass unchanged, and the statistics kernel and the R / SciPy benchmark
(1,701 comparisons, 0 failures) are untouched.

✨ Added

Statistics on demand

In Group Plot, Line Plot, Scatter, qPCR, Proportions and RLU Timecourse, the statistics column
starts folded into a "Statistics" strip on the right edge, leaving the figure more room. Click
the strip to open the column, and "Hide" to fold it again. The choice is remembered per tool.
Significance letters and brackets on the plot keep working while the column is closed, since it
is only hidden, not removed. UpSet and Venn keep their column open: clicking a bar or a region on
the figure lists its items there.

Group Plot: optional outlier marks

With points shown, a "Mark outliers in black" switch (on by default) can remove the black dot
drawn over each outlier, leaving only its coloured point. With points hidden, outliers are always
marked.

🔧 Changed

New look

  • Type: Space Grotesk for headings, the wordmark and result titles; IBM Plex Sans for text;
    IBM Plex Mono for numbers, file names and small section labels. All three are self-hosted, so
    the site still makes no third-party request.
  • Colour: a cool grey background, white surfaces and one deeper blue accent. Blue now means
    an action, a link, the current step or keyboard focus. The chosen option in any pick-one
    control (segmented switches, On / Off pairs, the plot-style icons, the Calculator's modes and
    "solve for" list) is a dark pill.
  • Buttons: quieter secondary buttons; the R script, Methods and report exports are three
    equal buttons.
  • Light-mode error text is darker, so it is easier to read.

One app bar for every tool

From left to right: the Plöttr mark (home), a menu to switch tool (grouped by the question each
tool answers), the steps, the file name, Start over, a "More" menu, "Download SVG", settings,
theme, language and feedback. "More" holds PNG and every other download (CSV, tables, the RLU
barplot's Σ sums CSV), so every figure and data export is in the same place in every tool. The
bar stays on one row down to 1100 px in English and French.

Workspace in every plot tool

  • Left: the controls, as tabs named by intent (for example Groups · Style · Facets · Axes);
    each tool remembers the last tab you used.
  • Middle: the figure on a dotted canvas, with quick options above it (marks on the plot,
    series and layout, summaries).
  • Right: the statistics column: test result, assumptions, post-hoc table, group summaries,
    replication planning and the analysis exports.

Group Plot: one list to keep, rename and order values

The filter step's two panels (filter checkboxes on one side, rename fields with drag handles on
the other) are merged into one list per column, in the same style as qPCR's group list: a
checkbox to keep a value, a field to rename it (the old name is shown next to it), its row count,
and ↑ / ↓ to set its place on the plot. Rows stay in place when unticked or renamed, and giving
two values the same name merges them into one group.

qPCR: collapsible statistics

Each gene's statistics fold under its name, with its significance stars still visible, so a run
with many genes stays readable. The first gene starts open. "Why the tests use ΔCt" now opens on
click, like "Why this test?".

Landing page

A hero with Group Plot's real output on its example data (the figure, the chosen test and the
post-hoc results), the four steps every plot tool follows, the tools grouped by the question they
answer, a band for the calculators, a strip with the benchmark count, privacy and citation, and a
citation footer with a copy button. "Try it on example data" opens Group Plot on the example.
On phones the page opens straight on the calculators.

Calculators, Benchmark and Privacy

  • Power Analysis and the Calculator use the new app bar (one row on a phone), and every button,
    switch and field is at least 44 px tall.
  • The Benchmark and Privacy pages share the landing's top bar and footer; on phones the
    benchmark tables scroll inside their box instead of widening the page.

Dark mode, French and accessibility

  • Every screen was checked in light and dark mode, in English and French.
  • Every form field has an accessible name, every page has a main landmark and a valid heading
    outline, and keyboard focus is visible in dark mode.
  • Text that used accent or data colours now has dedicated text colours that stay readable in both
    themes.
  • The remaining English strings in Line Plot, Volcano, Venn, UpSet, Group Plot and RLU Timecourse
    are translated.

🐛 Fixed

  • "per group" in French. The replication-planning sample size is now translated.

Under the hood

  • New shared pieces in tools/_shell/: AppBar, WorkspaceLayout (with the foldable
    inspector), ControlTabs, ValueListPanel, GroupTestSections and the Inspector
    vocabulary.
  • The v1 StatsTile, unused since v0.8.0, is removed.
  • New tests guard the colour rules: text contrast and focus-outline contrast in both themes, no
    duplicated theme token, and no accent-filled "selected" state.
  • scripts/gen-ui-screenshots.mjs regenerates the README's interface screenshots.