A named collection of records, queried and filtered - the shape SaveSystem
does not cover. A save slot is one blob loaded wholesale; a collection is many
small records asked questions: where((q) => !q.done) is "everything not yet
completed".
Every call hits the storage directly - nothing is cached, so there is no copy
to go stale, and two Collection objects over the same name agree trivially.
Records come back in insertion order. Built for logs and bestiaries (hundreds
of records), not for anything scanned per frame.
A named collection of records, queried and filtered - the shape
SaveSystemdoes not cover. A save slot is one blob loaded wholesale; a collection is many small records asked questions:where((q) => !q.done)is "everything not yet completed".Every call hits the storage directly - nothing is cached, so there is no copy to go stale, and two
Collectionobjects over the same name agree trivially. Records come back in insertion order. Built for logs and bestiaries (hundreds of records), not for anything scanned per frame.Example