Actually, indexedDB is used to cache/store the whole .pk4, but using small chunks of data (50MB or so). This works well in practice.
The best would be that all browsers support the Chrome Filesystem API, but that's not for now
Thats cool! Any reason you do it in multiple distinct chunks vs mutating a single chunk?
I'm assuming the time required to store and request a massive blob gets excessive at some point, but were there any other reasons?
It is because IndexedDB maximum row size is not that big, and depends on the browsers
devdocs.io is one of them.
Like the parent commenter said, i'd welcome more control over the storage of that data, but it absolutely can and will cache large blobs like that.