1#ifndef YAZE_APP_EDITOR_CORE_UNDO_ACTION_H_
2#define YAZE_APP_EDITOR_CORE_UNDO_ACTION_H_
7#include "absl/status/status.h"
24 virtual absl::Status
Undo() = 0;
25 virtual absl::Status
Redo() = 0;
Abstract base for all undoable actions (Command pattern)
virtual absl::Status Redo()=0
virtual absl::Status Undo()=0
virtual void MergeWith(UndoAction &)
virtual bool CanMergeWith(const UndoAction &) const
virtual size_t MemoryUsage() const
Approximate memory footprint for budget enforcement.
virtual std::string Description() const =0
Human-readable description (e.g., "Paint 12 tiles on map 5")
virtual ~UndoAction()=default