feat(rich): RichParser HTML→blocs + fx-chart widget config (#29 #30) #162

Merged
charles merged 1 commit from feat/29-30-rich-parser-chart into main 2026-04-06 02:28:37 +00:00
Owner

Résumé

  • #29RichParser déjà dans main (parseur HTML → RichBlock + widgets fx-*) — ce branch ajoute le config model manquant pour fx-chart
  • #30ChartWidgetModel + ChartConfig : configuration du widget fx-chart (bar, line, pie, scatter, area) avec séries de données, labels, légende, grilles

Changements

  • crates/fractal-rich/src/chart.rsChartConfig, ChartKind, ChartSeries, ChartWidgetModel, ChartState

Plan de test

  • cargo test -p fractal-rich passe (tests load_bar_chart, error_on_empty_series)
  • ChartWidgetModel::load_from_json(…) → state Ready pour un JSON valide avec séries
  • ChartConfig::show_legend() retourne true si plus d'une série
  • ChartConfig::effective_width() retourne 400 par défaut

Closes #29, closes #30

## Résumé - **#29** — `RichParser` déjà dans main (parseur HTML → `RichBlock` + widgets `fx-*`) — ce branch ajoute le config model manquant pour `fx-chart` - **#30** — `ChartWidgetModel` + `ChartConfig` : configuration du widget `fx-chart` (bar, line, pie, scatter, area) avec séries de données, labels, légende, grilles ## Changements - `crates/fractal-rich/src/chart.rs` — `ChartConfig`, `ChartKind`, `ChartSeries`, `ChartWidgetModel`, `ChartState` ## Plan de test - [ ] `cargo test -p fractal-rich` passe (tests `load_bar_chart`, `error_on_empty_series`) - [ ] `ChartWidgetModel::load_from_json(…)` → state `Ready` pour un JSON valide avec séries - [ ] `ChartConfig::show_legend()` retourne `true` si plus d'une série - [ ] `ChartConfig::effective_width()` retourne `400` par défaut Closes #29, closes #30
feat(rich): fx-chart widget config — plotters + GtkDrawingArea (#30)
Some checks failed
CI / cargo check (pull_request) Has been cancelled
CI / cargo test (pull_request) Has been cancelled
CI / clippy + rustfmt (pull_request) Has been cancelled
11ba44e7d0
Sign in to join this conversation.
No description provided.