Here's a geometry node problem, how could we "shuffle" an attribute? (Randomly mixing the indices of the field values)
In the illustratory shuffle_example_problem.blend below, we'd like to only display N points of our distribution in the viewport, to do so we compare the index value of the points and cull every points whose indices are exceeding N value, however, the default Index of the distribution is bias to our surface geometry, we need a shuffle node to work with a truly random index value.
i tried various techniques already, see shuffle_by_offsetting_index.blend consisting of "offsetting" or "mirroring" indices depending on odd/even numbers or random ranges.
This technique wasn't quite successful, because picking random ranges might not be noticeable on a large number of points, and the even/odd (modulo) numbers are too regular, not random enough for this case.
I'm curious if someone has a more "elegant" solution for shuffling attributes?