diff --git a/task-launcher/src/tasks/adult-reasoning/helpers/config.ts b/task-launcher/src/tasks/adult-reasoning/helpers/config.ts index cff34d761..9e848a7d7 100644 --- a/task-launcher/src/tasks/adult-reasoning/helpers/config.ts +++ b/task-launcher/src/tasks/adult-reasoning/helpers/config.ts @@ -26,7 +26,6 @@ export const getLayoutConfig = ( value: stimItem, displayValue: undefined, }; - defaultConfig.inCorrectTrialConfig.onIncorrectTrial = 'skip'; if (!defaultConfig.isInstructionTrial) { const mappedDistractors = mapDistractorsToString(distractors); const prepChoices = prepareChoices(answer.toString(), mappedDistractors, true, trialType); diff --git a/task-launcher/src/tasks/adult-reasoning/timeline.ts b/task-launcher/src/tasks/adult-reasoning/timeline.ts index 226c21685..ef7ef1f7e 100644 --- a/task-launcher/src/tasks/adult-reasoning/timeline.ts +++ b/task-launcher/src/tasks/adult-reasoning/timeline.ts @@ -1,5 +1,5 @@ // setup -import { initTrialSaving, initTimeline, createPreloadTrials, getRealTrials } from '../shared/helpers'; +import { initTrialSaving, initTimeline, createPreloadTrials, getRealTrials, prepareCorpus } from '../shared/helpers'; import { jsPsych, initializeCat } from '../taskSetup'; import { taskStore } from '../../taskStore'; // trials @@ -10,6 +10,7 @@ import { taskFinished, enterFullscreen, finishExperiment, + fixationOnly, } from '../shared/trials'; import { getLayoutConfig } from './helpers/config'; @@ -23,6 +24,8 @@ export default function buildAdultReasoningTimeline(config: Record, const translations: Record = taskStore().translations; const validationErrorMap: Record = {}; + const cat = taskStore().runCat; + taskStore('totalTestTrials', getRealTrials(corpus)); const layoutConfigMap: Record = {}; @@ -48,14 +51,30 @@ export default function buildAdultReasoningTimeline(config: Record, layoutConfigMap, }; - const stimulusBlock = { - timeline: [afcStimulusTemplate(trialConfig)], + const stimulusBlock = (trial?: StimulusType) => { + return { + timeline: [afcStimulusTemplate(trialConfig, trial)] + } }; - const numOfTrials = taskStore().totalTrials; + let numOfTrials; + + if (cat) { + const fullCorpus = prepareCorpus(corpus, false); + const practice = [...fullCorpus.ipLight, ...fullCorpus.ipHeavy]; + numOfTrials = 8; + + practice.forEach(trial => { + timeline.push({ ...fixationOnly, stimulus: `` }); + timeline.push(stimulusBlock(trial)); + }); + } else { + numOfTrials = taskStore().totalTrials; + } + for (let i = 0; i < numOfTrials; i++) { timeline.push({ ...setupStimulus, stimulus: `` }); - timeline.push(stimulusBlock); + timeline.push(stimulusBlock()); } initializeCat(); diff --git a/task-launcher/src/tasks/same-different-selection/catTimeline.ts b/task-launcher/src/tasks/same-different-selection/catTimeline.ts index ad12df76c..6891431fc 100644 --- a/task-launcher/src/tasks/same-different-selection/catTimeline.ts +++ b/task-launcher/src/tasks/same-different-selection/catTimeline.ts @@ -34,7 +34,7 @@ export default function buildSameDifferentTimelineCat(config: Record !startItems.includes(trial)); + const catCorpus: StimulusType[] = + randomStartBlock ? + normedTrials.filter((trial) => !startItems.includes(trial)) : normedTrials; corpora = { ipHeavy: corpusParts.ipHeavy, // heavy instruction/practice trials