mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-24 09:46:59 -06:00
When a cancel removes journal entries numbered below a recording's start, the entries after them are numbered down. The recording's start and the journal's hold kept the old number, so Stop Recording left out as many of the recorded steps as there were entries removed, and the hold no longer covered them. `Journal::remove` now moves the hold down with the entries, and Stop Recording reads the start from the hold. `Journal::replace` puts an entry in place of another and counts it at its new size. A cancel uses it for the `document.activate` that takes the place of a canceled group's entry that switched documents, so the journal's size estimate does not keep the old entry's size.