pub fn save_entry(
slug: &str,
tag: &str,
seq: i64,
speaker: &str,
text: &str,
) -> Result<DialogueRow, String>Expand description
Validate, mutate, recompute stats, back up and write — the one save
both the dashboard’s Dialogue tab and the Timeline’s dialogue modal call.
No locking between the two surfaces or the Raw JSON textarea editor: last write wins, the same as the existing whole-file editor already behaves — not worth new machinery for a single-operator local tool.