Goal
Add user-facing filters to the generated offline HTML so users can focus on subsets, e.g.:
- species (Art) filter
- condition (Zustand) filter (range + quick toggles like “dead only” / “hide dead”)
- height/size filter (range)
Why
In larger groves, it’s hard to spot patterns. Filters make the visualization much more useful without changing the underlying CSV format.
Scope (MVP)
- Add a small “Filters” panel (collapsible) in the HTML UI.
- Species: multi-select (derived from the dataset).
- Condition: range slider + toggle for including/excluding
0 (dead) and “no data”.
- Height: range slider.
- Filters apply immediately (no reload) and work across timeline slices.
- Persist filter settings in
localStorage.
Acceptance criteria
Notes / hints
Implementation can be “hide points/cells” rather than re-computing the full dataset:
- For scatter points: filter out entries before feeding ECharts or set them to hidden.
- For heatmap cells: treat filtered-out cells as “no data” so the grid stays stable.
Keep the UI calm/minimal (fits the existing aesthetic).
Goal
Add user-facing filters to the generated offline HTML so users can focus on subsets, e.g.:
Why
In larger groves, it’s hard to spot patterns. Filters make the visualization much more useful without changing the underlying CSV format.
Scope (MVP)
0(dead) and “no data”.localStorage.Acceptance criteria
Notes / hints
Implementation can be “hide points/cells” rather than re-computing the full dataset:
Keep the UI calm/minimal (fits the existing aesthetic).