Memoized full paths for every directory, for one name pool. Only built
when the query contains path terms โ and split per pool so a query only
pays for the pool(s) it reads (nearly all path queries are folded).
Entry paths are memo[parent] + name.
Sorted (pool offset โ entry id) table that maps pool-scan hits back to
entries. name_off loses monotonicity after renames (new names append),
so a sorted view is maintained per content generation via the indexโs
derived-cache slot โ incrementally when possible (Self::extend_from):
pool appends are always at the tail, so a generation step is โcopy +
appendโ, never a re-sort.
The path memos one query execution may read. None means the compiled
query proved it never reads that pool โ most path queries are folded
and skip the original-name memo entirely.
Pre-sorted id order for one sort key, built on the first query that
sorts by it and extended per content generation after that โ the same
insertion-point in-place merge the name permutation uses, through the
same cmp_by order (ADR-0006).
Bytes currently held by this indexโs derived caches (offset table +
dir-path memos), for the RAM accounting in IndexStats. Probes only โ
never builds.
Reuse the previous memoโs allocations when the cache slot held the only
Arc (the common case โ no in-flight query still reads it), clone
otherwise.