Releases: EasyEyes/remote-calibrator
Version 0.7.0
(Breaking) The international phrases are not included as a part of the main remote-calibrator
package anymore. Instead, we move the content to a new GitHub repository - EasyEyes/remote-calibrator-phrases - to allow dynamic and independent update of the text apart from the rest of the software. Please refer to the new repository to learn how to contribute to the translations or update the text.
Version 0.6.8
Update translations.
Version 0.6.7
Fix missing values for different language translations.
Version 0.6.6
Minor updates for viewing distance tracking.
Version 0.6.5
Added
- The test framework with Mocha and jsdom.
Fixed
- More robust webcam query.
Version 0.6.4
A few fixes and stability enhancement for using the webcam for tracking, including - Preventing the browser from choosing Continuity Camera (a new feature introduced in macOS 13 and iOS 16) by default that would break the code, preferring the front camera, instead of the rare one, on mobile devices by default, and fixing that the webcam image was cut off and not centered when measuring interpupillary distance.
Version 0.6.3
Add desiredDistanceMonitorAllowRecalibrate
option for .trackDistance()
to allow hiding the recalibration button for the nudger. .nudgeDistance()
also takes a new second argument, allowRecalibrate
(default to true
).
Version 0.6.2
0.6.2 - 2022-06-15
Add .performanceCompute([callback])
that can run quietly in the background to get computeArrayFillMHz
and computeRandomMHz
without showing any Remote Calibrator visual elements.
0.6.1 - 2022-06-04
Added
- Gaze nudger to nudge user's focus to the center of the screen -
.nudgeGaze([options = { showOffset: true }, [callback]])
. wait
(in millisecond) as an option for.getGazeNow(options, callback)
.
Fixed
- Cannot get timestamp when checking screen size measure.
- Cannot get the device type of mobile devices.
Removed
- Bot detection is removed as long as the removal of
device-detect-js
.
Version 0.6.0
Added
- Performance testing. Using
.performance()
to execute a series of computation demanding tasks for the CPU and GPU, including filling randoms numbers into an array of length of 5000 (repeatedly for a second), generating random numbers (repeatedly for a second), computing for and rendering stressful 2D canvas graphics. Results are reported ascomputeArrayFillMHz
,computeRandomMHz
,idealFps
(canvas FPS without any heavy tasks), andstressFps
in the returned value. - Check CPU cores with
.concurrency
. If the browser doesn't support, the value will be-1
. - When
showGazer
is true, calling.getGazeNow()
renders a fading-out red gaze dot on the screen. .gazeLearning()
takes one extra optional argument (e.g.,{ click: true, move: false }
) to turn on/off learning from only click or move events.
Changed
- (Breaking) The
timestamp
field of all results usesperformance.now()
instead ofDate
. - When calibrating gaze, the positions of the dot to click follow a certain clockwise sequence instead of randomized. Four more positions - 2 degrees to the top, right, bottom, and left of the screen center - are added. The center dot now appears three times, and each requires doubled click amount. The new positions (2 degrees relative to the center) depend on the viewing distance. Thus, measuring it first is highly recommended. Otherwise, 40 cm is assumed.
Fixed
- Typos of internal parameter naming.
- The video element (for gaze and distance tracking) may occlude the click to other content even when hidden.
undefined
displayed as the results of some homepage example functions.- Frozen nudger when pausing distance tracking while nudger is on.
Version 0.5.1
Update license text, dependencies, and translations.