The outputs from any single node are cached, so that means you can re-use the queried position as many times as you want. It also means that it does the search then computes the average for each channel specified in the list so its not searching the particles multiple times.
This isn’t too much harder to do, it just requires potentially unbounded space to process. I foresee complaints about it locking up Max with a particularly bad choice of radius or particle distribution.
I agree. This should be an output provided by the node.
An interesting idea. I’ll likely add it as a preferred option over the straight-up volume approach to see if its usable. I do plan on adding the purely volume based approach too though.