Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide an efficient way of progressively revealing cloze deletions #3637

Open
dae opened this issue Dec 14, 2024 · 10 comments
Open

Provide an efficient way of progressively revealing cloze deletions #3637

dae opened this issue Dec 14, 2024 · 10 comments
Milestone

Comments

@dae
Copy link
Member

dae commented Dec 14, 2024

Originally reported on https://forums.ankiweb.net/t/nested-clozes-doesnt-work-for-more-than-3-nests/52661

We decreased the nested cloze limit from 10 (protobuf library hard limit, and exponentially slower parsing) to 3 in the 24.11 release This has upset users who were already creating more than 3 levels of cloze deletions.

This ticket is to keep track of possible solutions.

  • One would be to remove our extra limit. Some users were not experiencing slowdowns, and it will make them happy for now. But we have the unavoidable upper limit that some users will hit.
  • Another option for some cases would be to provide some sort of "hide all, show one" mode, like image occlusions. At least one user has pointed out that it wouldn't help in their case.
  • Another option would be to provide a different sort of mode that progressively reveals (shows all cloze numbers below the current one).

Thoughts?

@DerIshmaelite
Copy link

Making a different cloze bracket syntax (like curly braces) for cloze cards that belong to each other that hides them all at the same time (progressive reveal).

@Iacob-Alexandru-Andrei
Copy link

Hello,

Thank you so much for creating this issue; I would like to mention that as the Alx forum user in the Anki forums thread, I am perfectly happy with a low limit that can be customized in Anki preferences with a flashing warning, especially since the alternatives would require additional coding effort.

@trambaiolo
Copy link

I agree with the previous comment. "A low limit that can be customized in Anki preferences with a warning" seems to be the best solution here. I had been relying on nested cloze heavily in my decks, so the hard limit on depth in the update created a whole new set of actual problems in order to solve "potential" problems that I never encountered in practice.
If there is no way to solve all the problems at once, let users choose which ones they want to avoid!

@xanthalius
Copy link

I would strongly agree with what's been said earlier about a lower limit that can be customised. I use nested cloze cards to learn step-by-step processes, which requires the information above to be revealed before the information below. Despite the brilliant features in 24.11, this breaks literally hundreds of cards in my collection, which I hadn't properly appreciated until finding this thread, so I have no choice but to stick with the older version for now. I'd be hugely grateful for a quick resolution!

@dae
Copy link
Member Author

dae commented Dec 23, 2024

This has caused more disruption than I expected it to, and I think as a short-term solution we'll need to either increase the default limit and/or make it configurable.

@dae dae added this to the 25.01 milestone Dec 23, 2024
@xanthalius
Copy link

I've since found this brilliant card template, which does pretty much everything I need - might be a more suitable long term solution, depending on how others use nesting clozes. I'd also suggest a pop-up warning when you use too many nests would be useful. At the moment there's no way of knowing there's going to be an issue until you look at the card afterwards.

@Iacob-Alexandru-Andrei
Copy link

Thanks a lot for considering this, I strongly support it to be customisable with no upper limit but a warning. In my case I could start using ankimobile to do my reviews again rather than using an anki fork on desktop.

@voidplayer
Copy link

voidplayer commented Jan 12, 2025

Maybe im missing something, but my guess for long nested clozed to cause a slow down is that this is making recursive calls

But there could be a custom linear parser that simply find the {{cx::}} hes looking for in the first pass and strip the rest of {{cx::}} from the text in a second pass, making notes parsing time linear regardless of how many nested clozed there are

Anyway, even tho i support having nested clozed, as an user i think having to deal with endless }}}}}}}}} at the end of a note is not ideal. Its easy to lose track of so many opening/clossing {}

I think it would be better to have normal clozed and being able to chose how you want your clozed cards to be shown. Options similar to clozer overlapper. You can simulate what nested clozed are supposed to do with clozer overlapper kinda of options

@sfratamico2001
Copy link

I would support either:
(a) the reinstatement of the upper bound of 10 on the cloze limit; or
(b) creating an option to increase the cloze limit

I am a pretty heavy anki user (800+ reviews/day) , so I would really appreciate being able to update to the latest version with all the new anki features:

Image

I have found clozes to be critical for long-term memorization, and I have found deep clozes very useful for certain types of information. I really appreciate the fantastic work that the dev team has put into Anki over the past two years in regards to FSRS. It makes long-term memorization so much easier because it minimizes review load, and it prevents the exponential review increase from retention misalignment. However, it would be a shame for these improvements to no longer be compatible with a note-type that is so useful (and in my experience critical) for long-term retention.

dae added a commit that referenced this issue Jan 13, 2025
Making it configurable would be complicated, so this just restores
the limit to close to the protobuf limit we were butting up against
for now.

Related: #3637
@Iacob-Alexandru-Andrei
Copy link

Thank you very much for the increase.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants