codegaze.jpg
CodeGaze
Open-source IntelliJ plugin + OpenXR viewer that streams your editor into VR and records which code token your eye or head ray hits.
codegaze.jpg[01]

Context
CodeGaze is the VR research instrument behind GAZEAIDE, released as an open-source research preview (MIT licence) in September 2026. Where GAZEAIDE is about acting on gaze, CodeGaze is about measuring it: which exact code token a developer's eye (or head) ray lands on while they read code in VR.
Tagline: See your live IntelliJ editor in VR. Record where a measured eye or head ray meets the code. Export the session.
What it does
- Displays the active IntelliJ editor on a floating virtual monitor in the headset, with syntax highlighting and scrolling (editor image ~5 Hz; head movement rendered at the headset's native refresh rate).
- Prefers real eye gaze through OpenXR's standard eye-gaze extension when valid; otherwise falls back to the centre of the headset view. Every sample is labelled
eye,headorsimulated, with fallback reason and validity. - Maps each estimated point to a code token, its source occurrence and — via IntelliJ PSI — its resolved symbol (e.g. distinguishing variable vs. method references), against the exact frame the viewer received, preserving unsaved document revisions and offsets.
- Saves continuously to local disk and exports a ZIP with
session.json,samples.csv,samples.jsonlandframes.jsonl(visible token rectangles; no screenshots). - Includes
analyze.pyto derive token dwell intervals, a desktop mouse simulator and a synthetic demo server so supervisors can try it without a headset.
Three viewers, one plugin
- Native OpenXR viewer (built with Godot) for Windows + Bigscreen Beyond 2e / SteamVR, Quest via Link, or any OpenXR headset — capability-detected eye or head tracking.
- Browser WebXR viewer for Quest Browser over USB (
adb reverse), using head direction — works from a Mac without a gaming GPU. - Browser simulator on any OS with explicitly labelled simulated mouse points.
Research rigour
The README is explicit about what is and isn't validated: geometry, tracking policy, mapping, export and IntelliJ PSI are covered by automated tests and CI; headset interoperability and measured gaze accuracy still require a documented hardware acceptance procedure. It warns that a token under an estimated coordinate isn't proof of attention, that head direction isn't eye tracking, and that gaze doesn't equal comprehension. Recordings stay local — no upload or analytics.
Tech
Java · IntelliJ Platform SDK / PSI (IntelliJ 2024.3+) · Godot (OpenGL compatibility renderer) · OpenXR (XR_EXT_eye_gaze_interaction) · WebXR · Python analysis tools · GitHub Actions CI · SteamVR · Bigscreen Beyond 2e eye tracking
Why this shows I can…
- Build research infrastructure other people can actually use: installable releases, docs, data-format spec, contributing guide.
- Handle hard cross-device engineering (OpenXR, WebXR, desktop) with honest capability detection instead of overclaiming.
- Think like a researcher about validity, timestamps, data loss and privacy.
Results
- v0.1.0 released with plugin ZIP and Windows viewer build.
- CI build and test pipeline on GitHub.