Well first off,
- Is there a reference for what information is available to you in the custom scheduler and what it means.
I’m aware this link from the deck options in the manual, but neither are very descriptive of what everything means.
I ask because
- I’m trying to incorporate “over due time” for learning cards. Make them progress faster if you answer correctly past the due time.
I thought I could use learning.elapsedSecs for this but it doesn’t seem to behave the way I expect. When I log it, it frequently does weird things.
- Example screenshot 1: Delay in info =/= elapsedSecs
- Example screenshot 2a: elapsed only shows time after it was actually scheduled for (not what scheduledSecs is) and underflows before that?
- Example screenshot 2b: shows underflow
My scheduler code during these screenshots
/**
* @param {ReviewStates} states
*/
let main = (states) => {
/**
* @param {AnswerButton} _state
* @returns {LearningState}
*/
let getLearningState = (_state) => {
if (states.current.filtered) {
return _state.filtered.rescheduling.originalState;
}
return _state.normal;
}
let current = getLearningState(states.current);
// let again = getLearningState(states.again);
// let hard = getLearningState(states.hard);
let good = getLearningState(states.good);
// let easy = getLearningState(states.easy);
if (current.learning) {
let eSecs = current.learning.elapsedSecs;
console.log(
"current", JSON.stringify(current, null, 1.6) +
`\n incorporating ${eSecs} secs!\n ` ,
"hours: ", Math.floor(eSecs / (60*60)),
" mins: ", Math.floor((eSecs % (60*60)) / 60),
" secs: ", Math.floor((eSecs % (60*60)) % 60));
if ( good.learning) {
// vv Turned on for 1st screenshot vv
//good.learning.scheduledSecs = 3*60;
}
}
}
// DO NOT END WITH COMMENT. PUT EXTRA LINE
main(states);