Files
pluma/00_unanchay/pluma/pluma-editor-cuerpo/LEEME.md
T
sergio 30467600bc feat: pluma standalone — autoría multilienzo (haz de cuerpos) + notebook reactivo (front-door, git-dep al monorepo)
Front-door limpio: solo crates del dominio; Llimphi y lo fundacional por
git-dep del monorepo gioser.git. cargo check pasa (40 crates, 0 errores).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 12:18:01 +00:00

817 B

pluma-editor-cuerpo

Editor texto ↔ átomos con diff (greedy) para pluma.

EditorCuerpo { texto, atom_ids }. from_cuerpo(c, atoms) concatena con SEPARADOR = "\n\n". parrafos() recupera el split actual. diff(atoms_originales) -> Vec<CambioAtom> con greedy por contenido: párrafos que coinciden se saltan, los que difieren emiten Mutar reusando el Uuid (hebras vivas), sobrantes emiten Crear o Eliminar. aplicar_cambios(cambios, nuevos_ids) extiende/remueve el atom_ids tras persistir.

API

use pluma_editor_cuerpo::EditorCuerpo;

let mut e = EditorCuerpo::from_cuerpo(&c, &atoms);
e.set_texto(nuevo);
let cambios = e.diff(&atoms_originales);

Deps