Optionalallocate: VectorBufferAllocatorDimensions per row, or 0 before the first vector is written.
True when the row buffers are shared with other threads.
The current row→key array. It is replaced (never reordered) on compaction, so a captured reference stays valid for the rows it saw.
Rows written, including tombstones.
Live rows.
Process-unique identity of this store.
Live rows whose vector is all zeros.
Rows written or removed after version, oldest first (a row can repeat).
Lets a derived index — a native ANN graph, say — follow the store
incrementally. Returns null when it cannot answer: the change log no
longer reaches back that far, or rows were renumbered since (generation
changed), so the caller must rebuild from scratch.
Removes every row. The dimension lock is kept, as the service always has.
A row's values as a typed array in the store's precision (a copy).
Live rows in insertion order.
A row's values as a plain array (a copy).
Removes a key, leaving a tombstone. Compacts when tombstones pile up.
Reserves room for additionalRows more rows so a bulk load allocates once.
A view plus version stamps, for readers on other threads.
Copies a vector into a Float64Array with each value rounded to the store's precision, so it compares exactly like a stored row (equality-based metrics such as hamming depend on that).
The live view used by kernels on this thread.
Writes a vector for key, overwriting the existing row in place or
appending a new one. Metadata is left to SetMetadata. The caller
is responsible for dimension validation.
The row the vector was written to
StaticAdoptWraps an existing view (for example, shared memory received by a worker)
as a read-only store. Each live row in candidates (or every live row)
gets the synthetic key String(row), so results computed on the
adopted store map straight back to source rows.
Packed row store keyed by string. Not thread-safe for writers; see the file overview for the reader contract.