Skip to content

Repository files navigation

saccade.js

Webcam eye tracking in the browser, built for jsPsych: MediaPipe face landmarks → a small ONNX eye-embedding model → a per-participant ridge calibration.

A screen→webcam timing loopback measures the display and camera lag that JavaScript cannot see, so gaze samples line up with the experiment clock.

The core (@saccadejs/core) has no jsPsych dependency.

package what
@saccadejs/core core tracker, calibration, timing loopback
@saccadejs/extension jsPsych extension: per-trial gaze samples + target rectangles
@saccadejs/plugin-preview start the camera; face + eye-crop preview
@saccadejs/plugin-performance effective frame rate; exclude machines too slow to track
@saccadejs/plugin-time-sync display + camera lag measurement (no flicker)
@saccadejs/plugin-calibrate calibration trial
@saccadejs/plugin-validate validation trial

Docs and live demo: https://saccade.jspsych.org/

Development: npm install, npm run build, npm test. Interface contracts for the first release are in CONTRACTS.md.

About

saccade.js: webcam eye tracking in the browser, with jsPsych plugins and extension

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages