feat(rich): RichEditorState + palette d'insertion + RenderLevelPrefs (#43, #45, #46) #146

Closed
charles wants to merge 2 commits from feat/46-43-45-editor-prefs into main
Owner

Résumé

Modèle de l'éditeur de messages enrichis dans fractal-rich :

  • RichEditorState : document Vec<RichBlock> + cursor + insert/remove/move
  • InsertableBlock : enum de tous les types insérables via la palette (H1-H3, Code, Quote, Lists, fx-widgets)
  • palette_entries() : liste complète pour la palette GTK
  • RenderLevelPrefs : préférences utilisateur pour le niveau de rendu, sérialisables en TOML
    • default_level, agent_level, enable_interactive, enable_wasm, enable_canvas
  • to_html_preview() : rendu HTML minimal pour prévisualisation
  • 5 tests unitaires

Closes #43, #45, #46

Plan de test

  • cargo test -p fractal-rich passe
  • RichEditorState::insert_after_cursor(Rule) insère après le curseur
  • RenderLevelPrefs::default().agent_level == RenderLevel::Rich
## Résumé Modèle de l'éditeur de messages enrichis dans `fractal-rich` : - `RichEditorState` : document `Vec<RichBlock>` + cursor + insert/remove/move - `InsertableBlock` : enum de tous les types insérables via la palette (H1-H3, Code, Quote, Lists, fx-widgets) - `palette_entries()` : liste complète pour la palette GTK - `RenderLevelPrefs` : préférences utilisateur pour le niveau de rendu, sérialisables en TOML - `default_level`, `agent_level`, `enable_interactive`, `enable_wasm`, `enable_canvas` - `to_html_preview()` : rendu HTML minimal pour prévisualisation - 5 tests unitaires Closes #43, #45, #46 ## Plan de test - [ ] `cargo test -p fractal-rich` passe - [ ] `RichEditorState::insert_after_cursor(Rule)` insère après le curseur - [ ] `RenderLevelPrefs::default().agent_level == RenderLevel::Rich`
feat(rich): expose editor module in lib.rs
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
cd51fc5f43
charles closed this pull request 2026-04-06 02:27:06 +00:00
Some checks are pending
CI / cargo check (pull_request) Has been cancelled
CI / cargo test (pull_request) Has been cancelled
CI / clippy + rustfmt (pull_request) Has been cancelled
qa
Required

Pull request closed

Sign in to join this conversation.
No description provided.