undo method
Implementation
bool undo(FluentDocument document) {
if (!canUndo) return false;
final delta = _undoStack.removeLast();
_redoStack.add(delta);
_isRestoringState = true;
try {
delta.revert(document);
} catch (e, st) {
debugPrint('[UNDO_ERROR] revert failed: $e\n$st');
_redoStack.removeLast();
return false;
} finally {
_isRestoringState = false;
}
final affectedIds = _collectAffectedIds(delta, document);
document.notifyDocumentChanged(affectedIds: affectedIds);
_updateJsonCache(document);
_resetGrouping();
return true;
}