Components
Components are the building blocks of a screen. PsyCloud ships ~80 of them, each defined by a
manifest and identified by a stable componentId and version —
for example psycloud.stimulus.text@1.0.0. The SDK helpers (text(), keypress(), …) and Studio
palette resolve to these ids.
The tables below are a representative selection grouped by category. The canonical, complete list
lives in the component manifests under src/manifests/core/ and is the source this page will be
generated from.
Stimulus & display
Present information to the participant (~26 components).
componentId | Purpose |
|---|---|
psycloud.stimulus.text | Text on the canvas |
psycloud.stimulus.picture | Display an image |
psycloud.stimulus.sound | Play audio |
psycloud.stimulus.video | Play video |
psycloud.stimulus.richtext / .html | Rich / custom-HTML content |
psycloud.stimulus.fixation-cross | Fixation point |
psycloud.stimulus.blank / .background | Blank screen / background |
psycloud.stimulus.circle / .rectangle / .arrow | Shape stimuli |
psycloud.stimulus.draw2d | 2D drawing surface |
psycloud.stimulus.colored-square-array | Color-grid array (e.g. VWM) |
psycloud.stimulus.random-dot-kinematogram | Motion (RDK) |
psycloud.stimulus.iat / .maxdiff / .free-sort | Task-specific stimuli |
Responses & input
Collect participant input (~24 components).
componentId | Purpose |
|---|---|
psycloud.response.keypress | Keyboard key(s) |
psycloud.response.anykey / .spacekey | Any key / spacebar |
psycloud.response.mousepress / .click | Mouse / generic click |
psycloud.response.slider | Slider input |
psycloud.response.button / .continue / .confirm | Button responses |
psycloud.response.prompt | Text entry |
psycloud.response.form | Form submission |
psycloud.response.grid-click | Grid-cell selection |
psycloud.response.timeout | Non-response (timeout) |
Surveys
componentId | Purpose |
|---|---|
psycloud.survey.likert | Likert scale |
psycloud.survey.multichoice | Multiple choice |
psycloud.survey.vas | Visual analog scale |
psycloud.survey.survey | Survey container |
(HTML form components — psycloud.html.checkbox, .radio-group, .likert-scale, .textfield,
.consent, … — cover DOM-based forms and consent flows.)
Layout & system
componentId | Purpose |
|---|---|
psycloud.container.group / .grid / .radial-layout | Layout containers |
psycloud.runtime.noop | No-op step |
psycloud.runtime.state-update | Update phase state |
psycloud.runtime.data-checkpoint | Progress checkpoint |
psycloud.compat.jspsychTrial | jsPsych compatibility wrapper |
How SDK helpers map
The typed helpers in the SDKs are thin wrappers over these ids — e.g. text() →
psycloud.stimulus.text, image() → psycloud.stimulus.picture, keypress() →
psycloud.response.keypress. Using the helpers means you get the right component id, defaults, and
validation for free.
Next
What a component manifest declares, and how validation works.