Imported from gael-vanderlee/cs-review (
AGENTS.md). Install upstream withnpx skills add gael-vanderlee/cs-review. Copyright stays with the author.
This is a systematic review paper on neurophysiological markers (neuromarkers) of cybersickness in Virtual Reality (VR). The "BCI" framing was removed from the manuscript per round 1 reviewer feedback (see TODO.md Critical #1) — prefer "neuromarkers" / "neuroimaging" / explicit modality names. The manuscript is under revision for TVCG (currently round 2, Minor Revision); reviewer feedback letters are tracked in reviews/reviewer_feedback_round1.txt and reviews/reviewer_feedback_round2.txt, and condensed actions are in TODO.md.
Revision workflow
- TODO.md — one entry per reviewer comment, tagged
[AE/R1/R2/R3/Editor letter], grouped by round and priority. Each entry has aDecision:line (what we chose to do) and, once implemented, one or moreDone:lines describing what actually landed (file/section, not just intent). Never mark an item done without adding this line — it's how a fresh session (and the eventual response letter) knows what's finished vs. still open. revision_notes/(gitignored, local-only — LLM-assisted working notes, not part of the manuscript):change_log.md— append-only, one line per change, formatYYYY-MM-DD | phase-or-round | file:loc | reviewer-tag | change. Every edit that closes (or partially closes) a TODO item gets a line here, written at the same time as theDone:line above. Feeds the response letter directly.revision_plan.md— round 1's full plan (phased: Phase 0–9, side-jobs, drafting workflow). Kept for reference/precedent.round2_plan.md— round 2's plan. Round 2 is a light Minor Revision (editorial/clarity items, no new analysis), so it skips the phase/side-job scaffolding: a flat ordered checklist is enough.phase1/…phase8/— round 1 side-job notes (verification, audits, outlines) referenced fromrevision_plan.mdandchange_log.md.
reviews/(tracked in git) — reviewer feedback letters and our response letters:reviewer_feedback_round1.txt,reviewer_feedback_round2.txt,response_letter_round1.tex, and (once drafted)response_letter_round2.tex. Read the relevant feedback associated with the TODO item to have a complete understanding of your task.- Doing an item: implement the change → update
TODO.mdwith aDone:line → append arevision_notes/change_log.mdline. All three in the same pass, not deferred.
Outline
Systematic review of neuromarkers of cybersickness in VR (non-invasive brain recording and stimulation), PRISMA 2020, 92 studies (PubMed / WoS / Scopus through 27 Mar 2025). Main file: review_bci_cs.tex. Section sources in contents/.
| Section | File | Contents (condensed) |
|---|---|---|
| Abstract | abstract.tex |
Problem (questionnaires insufficient); scope (92 studies: EEG-dominant, fNIRS, neurostimulation); main EEG pattern (low-frequency ↑, alpha ↓); corpus-level hardware confound on band power; methodological audit headlined on classification reporting gaps (1/38 LOSO-CV, 19/38 no sick/non-sick threshold, 13/38 accuracy-only); delta vs Chang et al. 2023 scoping review; reporting recommendations and forward directions. |
| Introduction | introduction.tex |
VR adoption and cybersickness burden; limits of subjective assessment; neuromarker framing (recording + stimulation); four differences from Chang et al.; three contributions (unified synthesis, meta-analytic hardware effects, methodological audit); section roadmap. |
| Theoretical and Methodological Background | theoretical.tex |
Terminology & etiology: motion sickness → VIMS → cybersickness (match cited papers’ terms); SSQ/FMS vs vection; sensory conflict (+ subjective vertical, rest-frame), postural instability, vergence–accommodation, oculomotor, toxin-defense, predictive coding. Modalities: EEG, fNIRS, non-invasive stimulation (GVS, tDCS, tACS, etc.) — textbook background only, no corpus counts. |
| Review Methodology | methodology.tex |
Three-database search query and date cut-off; PRISMA flow (443 → 219 unique → 92 included); inclusion/exclusion; note on absent PET/MEG/fMRI hits and dataset-reuse papers; structured extraction protocol and research-objective categories that structure Results. |
| Results | results.tex |
Corpus-grounded synthesis by theme: (1) Corpus characteristics — year trend, N, demographics, modalities (EEG montages, multimodal sensors), VR hardware/environments, CS questionnaires, baseline + preprocessing heterogeneity. (2) Correlates — EEG spectral/connectivity (delta/theta ↑, alpha mixed), ERPs (ordered before fNIRS), fNIRS hemodynamics (no fMRI in corpus). (3) Classification — ML/DL pipelines, validation schemes, tasks (binary, multi-level, regression), inline reporting-gap counts (13/38 accuracy-only, 19/38 no threshold, 1/38 LOSO-CV). (4) Individual differences — resting-state and trait predictors, sex/gender effects (calibrated). (5) Mitigation — closed-loop adaptive VR; neurostimulation / sensory / neurofeedback interventions. (6) Corpus-level methodological observations — meta-analytic hardware confounder (HMD vs screen on alpha and beta), stimulus-duration confound with display, exploratory funnel-asymmetry check. Recovery, Cognition, Datasets are no longer Results subsections — Recovery and Cognition moved to Discussion; Datasets stays in Methods. |
| Discussion | discussion.tex + challenges.tex + future.tex |
Findings-level comparison to Chang et al. (delta/theta reproduce; alpha-inconsistency partly resolved by hardware). Objective Markers and the Limits of Self-Report subsection: cybersickness has no diagnostic biomarker, four corpus studies on functional cognitive consequences, postural sway and pupillometry as candidate non-neural objective markers (25/92 already co-record), recovery findings (Woo, Miyazaki) as residual-state evidence. Challenges: (1) classification reporting practices, (2) baseline selection (eyes-closed), (3) protocol and hardware heterogeneity, (4) conceptual and terminological variability; plus one exploratory funnel-asymmetry sentence. Future directions: standardised reporting + open data, causal mechanisms via neurostim, generalisation + ecological validation, sex/gender as a primary factor (Kelly framework), objective behavioural markers, longitudinal designs. |
| Conclusion | conclusion.tex |
Recap of emerging EEG signature and early closed-loop work; methodological barriers to generalization; call for open science and causal validation; BCI/VR as path toward user-aware, adaptive immersive systems. |
Not in the build: contents/template.tex (template stub). challenges.tex and future.tex are \input from discussion.tex, not separate top-level sections.
Manuscript vs internal workflow
Internal names stay internal. Pipeline folder names under review_scripts/data/ (e.g. V4/Stim/ in paths below) are not manuscript vocabulary. Do not use search-iteration labels (V4, Stim, NoStim, or shorthand like V4/Stim) in manuscript prose (contents/*.tex, abstract, captions). In the paper, write the studies included in this review, the literature retrieved by the search, or prior work.
Background vs review findings. Sections that introduce the field must not report results of this systematic review (counts, modality breakdowns, theory-engagement tallies, meta-analytic statistics, PRISMA numbers). Those belong in Methods and Results.
When drafting Background/Theory, ask: Could this sentence appear in a textbook chapter before the reader knows our search existed? If it requires our CSV or screening, move it to Methods or Results.
User in the loop: When you are working on high level planning or important decisions and encounter a non obvious choice where there are compromises, or the path hasn't been explicitely defined: ask the user. Do not make assumptions or decide for him, let the user steer the direction of this project. Likewise, if you need more information to produce a quality output: external papers, figures, information, ask the user.
Writing Style Instructions for Latex
- Tone: Formal, objective, and strictly factual.
- Language: Use precise, specific, and unambiguous terminology. All language must be literal, avoiding metaphors or figurative expressions. Do NOT use em dashes (
---in latex) - Clarity: Prioritize a clear and logical flow. The language must be precise without being convoluted, ensuring the core point is always understandable.
- Objectivity Rules: Strictly avoid all superlatives, exaggeration, emotional language, and value judgments. Do not characterize a subject with subjective descriptors (e.g., do not call a method "simple," "elegant," or "complex"). Present the facts and allow the reader to draw their own conclusions.
- Flow: The reader should be able to follow the argument without backtracking. Tell them what a passage is about before the details when a new line of argument starts; let continuations continue. Move from broader to narrower when that makes the argument visible (construct → instance, framework → refinements, claim → consequence), and the other way when the broader point is the punchline. Connect adjacent sentences with explicit logical links rather than juxtaposing standalone facts; a paragraph that reads as a list usually has missing connectives or facts that belong elsewhere.
- Epistemic scope: Claims about what limits, drives, or determines field-level phenomena require either a supporting citation or grounding in corpus counts. Avoid asserting causal effects of methodological practices on the field's trajectory (e.g. "X limits cumulative progress"); instead, describe the documented practice and its observed consequences (e.g. "X recurs across N corpus studies and constrains cross-study comparability"). This rule is distinct from the value-judgment prohibition: a sentence can be free of evaluative language and still overclaim causation or certainty.
IMPORTANT: Do not make assumptions or guess claims, numbers or citations. Each claim must be made not from something that is likely true, but from something that has been verified to be true. Run scripts, read sources, ask the user, be careful not to hallucinate.
The analysis pipeline lives in a sibling repo: /mnt/Space/Projects/PhD/Latex/review_scripts (see its own AGENTS.md for structure). It hosts search exports, the merge/screen/extract pipeline, and the figure/stats scripts. That repo was also used for a separate Vection review — the Vection track is out of scope for this manuscript; only the cybersickness track matters here.
Corpus data
92 manually selected studies. The active search query includes neurostimulation (tDCS/tACS/TMS/GVS) and neuroimaging terms (TODO Critical #3; R2/R3).
Canonical paths:
- PDF_HighLevel_Analysis_GPT54.csv — 92 rows. GPT-5.4 high-level read of each PDF: summary, main contribution, cybersickness measurement, BCI method, theory engagement, objective category, study details, shortcomings. Use this CSV for narrative tasks (identifying papers, extracting trends, qualitative synthesis). Both CSVs already reflect the final manually-selected corpus — ignore the
Includedcolumn; do not re-filter on it. - Plots_Analysis_GPT54.csv — 92 rows. GPT-5.4 structured extraction of numerical/categorical fields (EEG channels, sampling rate, preprocessing, bands, classification metrics, VR device, CS questionnaires, demographics, theory mention, band-power changes per region, etc.). Consumed by
review_scripts/analysis/scripts to produce stats and figures. - V4_manual_selection.csv, selected.csv — manual screening artefacts feeding into the 92-paper corpus.
- notes.md — exact PubMed/WoS/Scopus search queries.
Manuscript layout
- review_bci_cs.tex — main file
- contents/ — section files
- figures/ — figures (many generated by
review_scripts/analysis/) - references.bib
- template_tvcg/ — active TVCG template; template_ieee/ is unused
- Build: run
latexmk review_bci_cs.texfrom the repo root. Output lands in out/review_bci_cs.pdf (thelatexmkrcsets$out_dir = 'out'). Do not usemake— the includedmakefileis a generic template pointing attemplate.texand will not build this manuscript.
Tooling
- Python: the sibling
review_scriptsrepo usesuv. The systempython3has no scientific packages installed andpip installis blocked. To run a one-off snippet that needs pandas / pypdf / etc., useuv run --with <pkg1>[,<pkg2>] python -c "..."from any directory. Example:uv run --with pandas python -c "import pandas as pd; print(pd.read_csv('data/V4/Stim/Plots_Analysis_GPT54.csv').shape)". The.venvat the repo root works too (.venv/bin/python) but only has what's already locked inuv.lock. - PDF text extraction:
pdftotext/mutool/popplerare not available on this machine. Useuv run --with pypdf python -c "import pypdf; ..."to extract text from PDFs (e.g. reading references from Zotero exports placed underrevision_notes/assets/). - Zotero MCP: You can use the zotero mcp tool to access my zotero library, search for papers, get citations, read full texts, run semantic searches and more.
- Compiling I use a latexmkrc file and
latexmk, your sandbox makes it stall so run it outside sandbox.
Workflow notes
- Reviewers asked for a corpus-grounded synthesis (TODO Critical #5, #7, #8). When making claims in the manuscript, prefer counts/statements derivable from the two CSVs over narrative assertions.
- TODO Critical #1 removes the
BCIframing — when editing prose, prefer "neuroimaging" / "brain-directed methods" / explicit modality names over "BCI" unless the cited paper itself uses BCI. - TODO Critical #6: do not enforce a single hierarchy across cybersickness / VIMS / simulator sickness / motion sickness — match the term used by each cited paper.