Buffer is different than Queue in that Queue inserts the new slice always at index 1, and moves the rest up. Buffer just inserts the new slice at the index. So a getslice gets something different from the two - in the case of queue, you get a slice delayed by (index) frames; with buffer, you get a slice that changes every (frame count) frames, whose phase is determined by (index).
However, you did point me in the direction of a workaround, which is to add an output pin to your bugfix of the Counter output, and then just subtract the desired index from that pin and feed the resulting number into getslice. Voila! A circular texture buffer that works.
BUT… for some perverse reason this workaround only works in b26. When I run it in 25.1, Buffer only outputs all white in every slice. Sigh…
Code example attached.
texture-queue-workaround-beta26.zip (2.4 kB)