← Notebook
Ashes of the Unbound Decision 1 minute read

Versioning Save Data as Ordered Chunks

Persistence became an explicit, versioned protocol instead of a reflection pass over whatever objects happened to exist.

A save is not one undifferentiated snapshot. Each gameplay system contributes a versioned chunk, and restoration applies those chunks in a defined order.

The order is part of the contract. Derived state cannot safely restore before the base state it references exists. A factory graph needs its definitions and ownership context. Progression-dependent systems need progression. Making that order explicit turns accidental initialization timing into a format that can be tested.

It also gives migrations somewhere to live. A system can recognize an older chunk version and upgrade its own data without a central save object learning every historical detail of every plugin.