All compressed blocks, concatenated.
FNV-1a over the whole source.
Computed HERE, during the same pass, not lazily like the contiguous
accessor's. A blocked source cannot hash itself without inflating
everything, so the key has to be taken while the bytes are still
contiguous -- which is why the blocked arm of IfcSourceTransfer
declares it required rather than nullable.
blocks offsets, length blockCount + 1. Block i occupies
[index[i], index[i + 1]), so the last entry is blocks.byteLength.
One byte per block: 1 = stored verbatim, 0 = deflated. Incompressible blocks (already-compressed payloads embedded in a STEP file) would otherwise grow, and a store that can grow is not one you can gate on size.
Logical length of the original source.
The wire/consructor shape: compressed blocks plus their offset index.