Randomization of stimuli for each group in Pavlovia shelf

How about a dictionary on the shelf containing a list of 300 zeros for each group name?

At the start of the experiment, download the shelf entry and shuffle a list of 300 indices.

Go through the shuffled list and add the first 100 indices that have a value below 6 are added to a second list and add 1 to the shelf dictionary. Use this second list as the useRows variable for selected rows.

Update the shelf entry with the updated dictionary.

I think this would be better than the method I suggest in my Presentation Cap online demo
PsychoPy Online Demos because that accesses the shelf too often. It would be better to accidentally present the pictures slightly unevenly than to have a slower presentation on every trial.