stim
Experiments Surveys & forms On form rows an inline stimulus list displays next to the question; list expansion and HTML apps are experiment-only.
stim is a multi-role column; its meaning depends on stimFormat:
- Inline stimulus list (media/word trials): identical to
stimList, used only whenstimListis empty. One cell of;-separated stimuli replacesstim1..stimN. - Stimulus-list name(s) (
stimFormat: listtrials): names one or more uploaded stimulus lists to draw rows from; such a trial row expands into one generated trial per picked list row, provided the file’sstimFormatcolumn is placed and spelled so that expansion runs at all (see Tips & gotchas). The barestimheader counts as a stim column alongsidestim1,stim2and the rest. - App/HTML reference (
stimFormat: htmltrials):stimis preferred overstim1and is resolved to a predefined app name (cubefield,langfuse), a URL, or a relative.htmlpath.
Separately, each row of an uploaded stimulus list file has a stim field, and those values are what a list’s name gives you when a script column reads or extends the list.
Syntax
Section titled “Syntax”Write the trial’s stimuli in one cell, separated by semicolons: cat;dog;bird. Semicolon is the only separator.
On stimFormat: list rows the cell holds stimulus-list names instead, again separated by semicolons, and the picking options for each list come from listOptions.
On stimFormat: html rows the cell holds one value: a predefined app name, a URL, or the path of an HTML file you uploaded to the project’s stimuli.
Options
Section titled “Options”| Context (stimFormat) | Accepted values | Behavior |
|---|---|---|
media extension or word | ;-separated stimuli, or empty | Same handling as stimList, but only consulted when stimList is empty |
list | ;-separated stimulus-list names | Trial expands into generated rows; picked rows’ stim values become stim_actual |
html | predefined app name, http(s)://... URL, or relative path (auto-suffixed .html) | Loaded as the trial’s HTML app |
| anything else | free text | Ignored by stimulus display |
Defaults & missing values
Section titled “Defaults & missing values”Leave the cell empty, or leave the column out, and the trial has no inline stimulus list: it falls back to stim1..stimN.
On stimFormat: html rows an empty stim cell falls through to stim1.
Works with
Section titled “Works with”stimListalways wins overstimwhen both have values.stimFormatselects the role (see above) and supplies the appended extension in role 1.listOptionsconfigures per-list picking in role 2.stim_actualreports the stimulus each generated trial got in role 2. Any extra columns in the stimulus list file are merged into the generated trial row as well, overriding the values on the base row.- A long
stimcell widens how many numbered stim slots the file offers, the same waystimListdoes. - In a
scriptcolumn, a stimulus list’s name gives you an array of its rows’stimvalues. - For
stimFormat: html(role 3), the in-app API for saving responses and reading trial data is documented in the “Custom HTML trials” section of thestimFormatpage.
Examples
Section titled “Examples”Inline list fallback (equivalent to stimList):
| type | stimFormat | stim | keyboard | key |
|---|---|---|---|---|
| test | word | cat;dog;bird | c d | c |
type,stimFormat,stim,keyboard,key test,word,cat;dog;bird,c d,c
Stimulus-list trial: draw 5 random rows from list “faces”, one generated trial per row:
| type | stimFormat | stim | listOptions | presTime | keyboard | key |
|---|---|---|---|---|---|---|
| test | list | faces | sample 5 | 1000 | f j | f |
type,stimFormat,stim,listOptions,presTime,keyboard,key test,list,faces,sample 5,1000,f j,f
HTML app trial:
| type | stimFormat | stim |
|---|---|---|
| test | html | cubefield |
type,stimFormat,stim test,html,cubefield
Tips & gotchas
Section titled “Tips & gotchas”- In role 2 it makes no difference whether you write
listA;listBin onestimcell or putlistAinstimandlistBinstim1. All the stim columns are read as one semicolon-separated sequence, and the lists at each position are merged per pick. - Role 1 shares all of
stimList’s gotchas: items are not trimmed, and an item carrying a different extension thanstimFormatends up with both. - In role 3 the value goes through variable replacement first, so
%variable%placeholders work.
Common combinations
Section titled “Common combinations”stim appears in these worked recipes:
- Trials from a stimulus list: Expand a single trial-file row into one trial per item of an uploaded stimulus list, in a fresh random order each session.
- Counterbalanced sides: Show a fixed pair of stimuli with the left and right assignment drawn once per participant, and score the choice correctly whichever side the target lands on.
- Multi-column list file: Give every generated trial its own settings, such as the correct key, from extra columns in the stimulus list CSV.
- Match to sample: Show a sample stimulus, then an array of choices in shuffled positions, scoring the matching choice correctly wherever it appears.
- Paired presentation: Present items in fixed pairs whose order shuffles for every participant while the members of each pair always stay together on screen.