Repository navigation
v1.2.0 — Guided Onboarding & Smarter Calibration
This release focuses on making Peekr easier to use out of the box, with a redesigned UI and a much more robust calibration pipeline.
Highlights
- Guided 4-step onboarding — The demo page now walks you through Load Model → Start Tracking → Calibrate → Validate, with a status badge and visual progress indicators.
- Better calibration — The assisted calibration now uses a 9-point grid (3×3) with 30 averaged samples per point, fitted via multi-start gradient descent. This replaces the previous 4-point single-sample approach.
- Validation step — After calibration, you can now measure prediction accuracy against held-out points. Reports per-point error, mean error (px and % of screen diagonal), and directional bias.
- Gaze recording — Record gaze data during tracking and export it as CSV for offline analysis.
All Changes
Added
- Guided stepper UI with status badge (idle / loading / ready / tracking / calibrating)
- Calibration validation step measuring prediction error and bias
- 9-point calibration grid with 30 averaged samples per point
- Multi-start gradient descent optimizer for calibration parameters
- Gaze recording panel with CSV export
- 18 unit tests for calibration math (Vitest)
Changed
- Tracking dot is green when in-screen, red when out of screen
- X/Y coefficients merged into a single "distance to screen" parameter
- Complete CSS rewrite: card-based layout, step indicators, dark-themed log
- Improved calibration algorithm with better MSE fitting
- DOM layer cleanly separated from core logic
Fixed
- Model constants reverted to correct values (MODEL_DIST_X = -270, MODEL_DIST_Y = 350)
- Kalman-filtered values now correctly used during calibration
Full Changelog: v1.1.0...v1.2.0
