Interleaved staircases for different Gabor stimulus properties

OS (e.g. Win10): Win10
PsychoPy version (e.g. 1.84.x): StandalonePsychoPy v 2021.1.2
Standard Standalone? (y/n) yes
What are you trying to achieve?:

I am trying to interleave staircases asking about different stimulus properties of Gabor patches (staircase 1 for orientation, staircase 2 for contrast) using Builder. Three patches are presented. They are tilted to the left or right and they have high or low contrast. Two patches match in orientation and 2 match in contrast. Participants are asked to answer about either orientation or contrast. They press the left arrow if the left two patches match for that property and the right arrow if the right two match for that property. Depending on their performance, orientation and contrast differences should increase or decrease until participants reach a threshold of 79% for both.

What did you try to make it work?:

I have an experiment in Builder which implements the task described above but with fixed orientation and fixed contrast values. The .psyexp and condition xlsx files are attached here (ThreeGaborMDW.psyexp, ThreeGaborMDW.xlsx).

I now want to edit this experiment to get the orientation and contrast values to change based on participant performance, but am unsure on how to proceed. The only somewhat relevant example experiments I can find are ones where staircases for the same stimulus properties are interleaved, such as the psychophysicsStaircaseInterleaved demo that comes with Psychopy, which interleaves a staircase for low stimulus frequency and one for high stimulus frequency. While, what I am trying to do is interleave staircases asking about different stimulus properties (Gabor orientation and contrast).

What specifically is going wrong?:

I can’t for the life of me figure out how to do this. I suspect I should either implement the interleaved staircases in a block of custom code to be inserted into the loop, and/or change the loop from random to interleaved staircases and then edit the conditions xlsx file. However, I don’t even know where to start for the former approach, and if I take the latter approach I am unsure how to incorporate into my xlsx file the values that need to be specified for the staircases such as e.g. label, startVal, etc.

If someone could point me to a solution or to an example Builder experiment that does something similar to what I want, I’d much appreciate it!

ThreeGaborMDW.psyexp (29.5 KB)
ThreeGaborMDW.xlsx (12.3 KB)