Skip to content

webui-rs 5/6: Server-rendered SVG charts — fitness/novelty over generations (no plotly, no chart.js) #30

Description

@GeorgePearse

Depends on #27; consumed by the #28 pages and pushed live by #29.

Decision 2026-08-05: no JS charting libraries and no d3/React islands — charts are SVG emitted by the server and updated by fragment patches like everything else.

Scope

  • A small chart module (hand-rolled SVG or a light crate like poloto/charming-svg — evaluate, but hand-rolled is likely fine for line/scatter): fitness over generations, novelty score distribution, per-island best
  • Emit stable element ids so Datastar morphs chart updates instead of replacing them (no flicker on live update)
  • Hover detail via CSS + <title> tooltips, or data-on-click on points → server patches a detail panel — no JS
  • Dark/light friendly: use CSS variables for stroke/fill so the page theme flows into the SVG

Definition of done

Run overview shows live-updating fitness + novelty charts during an active evolution, pixel-stable between patches except for genuinely new data.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions