l3kn / org-fc

Spaced Repetition System for Emacs org-mode
https://www.leonrische.me/fc/index.html
GNU General Public License v3.0
258 stars 31 forks source link

feat: Set box to -1 for new positions #105

Open cashpw opened 1 year ago

cashpw commented 1 year ago

I borked the graph for #82. This includes the same changes.

cashpw commented 1 year ago

Checking in -- is there anything you'd like to see changed in this pull request?

l3kn commented 1 year ago

I've been thinking about this for a bit.

Assuming it will take some time until we build an algorithm based on ebisu, the next best (used my many people for a long time) algorithm seems to be the one used by Anki.

A notable difference in this algorithm is a separation of cards into multiple phases (learning, relearning, mature), based (from what I can tell) on a box value (already part of org-fc) and a lapse count (incremented on each failed review).

To correctly implement this "-1" box feature, existing cards would need to be updated too, based on information in the review history file. Changing cards outside of a review is what I'd consider a breaking change and if we go ahead and do something like that, we might as well go for the more powerful feature of a lapse count.

Determining if a card could be derived from this count because only new cards can have box = 0 and lapses = 0.

cashpw commented 1 year ago

the next best (used my many people for a long time) algorithm seems to be the one used by Anki.

A notable difference in this algorithm is a separation of cards into multiple phases (learning, relearning, mature),based (from what I can tell) on a box value (already part of org-fc) and a lapse count (incremented on each failed review).

Do you want this change to only change the PROPERTIES (e.g. add the lapse count) or would it also add a new algorithm to more closely match what Anki is using?