Solid box = current checkpoint.
Dashed box = current visible state when it differs from the checkpoint.
Major change: Create a checkpoint.
Minor change: Create no checkpoint. Formally desynchronize history.
Ignored change: Create no checkpoint. Do not affect history.