This documentation is implementation-first and tracks current behavior in this repository.
- User Guide: Installation, running locally, creating configs, deploying to JATOS, adding a new task.
- Core Framework API: Exhaustive reference for
@experiments/coreutilities. - Configuration & Inheritance: Deep dive into the merge system, runtime overrides, variable resolution, and instruction slots.
- EEG Workflow: Local EEG bridge, optional LSL, and optional LabRecorder remote control.
- Task: NBack: N-Back with optional PM/DRT/Injector modules.
- Task: SFT (DotsExp): Signal-to-Fade task with staircase and flexible trial-plan composition.
- Task: Bricks (Conveyor): Conveyor belt task with dynamic difficulty, spotlight, and DRT.
- Task: Stroop: Colour-word Stroop (congruence and valence modes).
- Task: Tracking: Continuous mouse-tracking (pursuit) and multiple-object tracking (MOT).
- Task: Change Detection: Visual change detection with configurable set sizes and layouts.
- Task: Flanker: Eriksen Flanker task.
- Task: Go/No-Go: Classic Go/No-Go cognitive control task.
- Task: RDK: Random Dot Kinematogram (direction and color judgment).
- Task: MATB: Multi-Attribute Task Battery — four simultaneous subtasks.
These components can be integrated into any compatible task adapter via task.modules:
- Module: Prospective Memory (PM): Rule-based PM trial injection.
- Module: Detection Response Task (DRT): Concurrent detection task (ISO-standard).
- Module: Stimulus Injector: Generic trial injection and block-plan modification.
- Bricks Runtime Config Schema: Detailed runtime-facing schema for Bricks conveyor internals.
?config=<taskId>/<file> loads a config directly without needing it registered in the task manifest — prefer this for development. ?variant=<id> is a shortcut for configs already listed in the task's variants[] manifest.
# Start dev server
npm run dev
# Run tasks using config path (works for any bundled config, no registration needed)
http://localhost:5173/?task=nback&config=nback/default
http://localhost:5173/?task=nback&config=nback/pm_module_demo
http://localhost:5173/?task=bricks&config=bricks/spotlight
http://localhost:5173/?task=stroop&config=stroop/default
http://localhost:5173/?task=matb&config=matb/default
http://localhost:5173/?task=rdk&config=rdk/default
# Add auto-responder (no keyboard input needed — good for smoke-testing)
http://localhost:5173/?task=stroop&config=stroop/default&auto=true
# Override individual config keys at runtime (URL-encoded JSON)
http://localhost:5173/?task=nback&config=nback/default&overrides=%7B%22mapping%22%3A%7B%22targetKey%22%3A%22k%22%7D%7D
# Export planned stimulus list without running
http://localhost:5173/?task=nback&config=nback/default&exportStimuli=true