get canUndo() {
        return this.undoStack?.length > 0;
    }
Checks if there are any actions that can be undone.

@returns {boolean} True if there are actions in the undo stack, false otherwise.

@description
This getter provides a quick way to check if there are any actions
in the undo stack that can be reversed.

@example
if (undoRedoManager.canUndo) {
    undoButton.enable();
} else {
    undoButton.disable();
}