Node values under their keys, beneath the memory tier alone: it stages, and only persist
commits each value whole by rename, evicting the least recently used past the budget. Every
change to the backend’s names runs under its lock; lookups and reads never wait on it.
A target rendered block by block off one value graph, reading @notes, the sum of the terms
added. A change builds only what it changed or newly reads; the rest stays as it stood.
Memory over a disk, or over nothing. Evaluation talks to memory alone; only memory decides
whether a lookup, a read or a write passes through to the disk.
Every answer says which reading ran, under which profile, and at what rate.
A reading that truncated a series names what it left out, so the kept list is never read
as the whole of it.
Every call resolved. An answer keys each reading by its name, so a name asked twice
would print one key twice and a JSON reader would keep only the last; it refuses.
A comma list of calls; a comma inside a call’s parentheses separates its arguments, and
one inside an alsa: device name, hw:1,0, stays in it where no reading follows it.
target, an expression over source with no interval of its own, in place of what
stream plays. Each edit here is sva_engine::change’s: the stream plays on meanwhile.
The collapse label beside the reading it belongs to. detail is the one
place a key may be absent: each rule is its own shape, and its fields belong to it.
A node path the source answers for is a node; anything else is math, and its reads are
roots. Only a node path is asked of the source: math is never looked up as a file.
computed counts every miss, stored the misses memory kept and replaced the volatile
misses kept in place of their last value; memory’s figures are as the render left it, and
tier what passed between memory and the disk meanwhile.
stats_json over a stream’s latest lookups, dropped: the latest nodes its live edits
started silent, and pruned: where it cuts below the silence threshold. Each list’s
pagination.count counts all it made.