io7m | single-page | multi-page | Laurel User Manual 0.99.1-SNAPSHOT
5.3. Images
Previous
5. Theory Of Operation
Up
5.5. Metadata
Next

# 5.4. History

- 5.4.1. Overview
- 5.4.2. Implementation

## 5.4.1. Overview

1
The application stores the complete, persistent history of every change ever made to the dataset.

## 5.4.2. Implementation

1
The undo and redo stacks are stored in the file model.
2
Each command that is executed on the file model is invertible. That is, each command knows how to perform an action, and how to revert that action. By storing the complete sequence of executed commands, it is effectively possible to take a dataset and repeatedly undo operations until the dataset is back at the blank starting state.
5.3. Images
Previous
5. Theory Of Operation
Up
5.5. Metadata
Next
io7m | single-page | multi-page | Laurel User Manual 0.99.1-SNAPSHOT