Persistence Pipeline

← Diagrams
STRVCT

Drilling into Local Storage. The object pool persists slot mutations through the synchronous track on the left. The blob pool stores content-addressable binaries asynchronously on the right. Garbage collection bridges them: the object pool walks reachable nodes, collects referenced hashes, and the blob pool removes any blob not in that set.

Object Pool & Record Store (Synchronous) SvNode Setter Mutates Slot Slot setter invokes didMutate() addDirtyObject(self) Schedules deferred commit in SvObjectPool End of Event Loop Commit SvPersistentAtomicMap begins transaction SvRecordRow Written to IndexedDB Row payload keyed by (poolId + objectId) Mark & Sweep GC Traces reachable nodes & collects referenced SHA-256 binary hash strings SHA-256 Blob Store (Asynchronous CAS) asyncStoreBlob(ArrayBuffer) Triggered from app code or media upload sha256(ArrayBuffer) -> Hash Digest Computes content-addressable key Write Hash -> Data + Metadata Stores raw binary in IndexedDB SvBlobPool Domain Node Stores Hash String Slot holds hash ref string ("hash:...") Orphan Blob Purge Deletes binary blobs not in GC referenced hash set