ReadonlyletResolves once the buffers are destroyed or adopted: what a capped build waits for before its next batch.
GPU bytes held until every tree is released (0 once adopted: the storage counts them then).
Every tree of the batch, refused ones included (their problem is set).
The batch's node format: f32, or quantized when built with quantizeOnEmit (a frame slot before each root).
The caller now counts these bytes (SceneTrees.memory.gpuBuildOutputs).
Until then the build that made them counts them in its buildingBytes,
so they are counted somewhere from their allocation on.
Frees the buffers whatever still uses them (the scene is being disposed). Adopted buffers are left to their storage.
The node and triangle buffers now belong to a storage that adopted them: the parents are freed at once (the walk never reads them), and nothing here destroys the other two.
One tree is done with the buffers (copied out in a frame submitted since, swapped, or dropped).
The output buffers of one batch, shared by its trees. Each tree is copied out of them into the scene's buffers, served from them in place (when the scene adopts them), or dropped; the buffers are freed once every tree has let go of them.