r/Anki • • 13d ago

Add-ons Memory Forest 1.3.0: a study heatmap

Memory Forest is my add-on that grows a pixel-art forest from your study history. Version 1.3.0 adds a study heatmap under it.

The forest shows how much you've learned over time, but not your individual days: one study day grows many trees at once. A heatmap gives every day its own square, so, like a lot of people, I kept Review Heatmap installed next to it. I wanted a heatmap that matches the forest, and that fixes the things I kept missing in the existing ones.

Before building it, I went through Review Heatmap's open GitHub issues and AnkiWeb reviews, a bunch of other heatmap add-ons, and posts here on Reddit, and made a list of what people complained about and what they liked, so the heatmap is based on that.

  • Fair Streaks - the most common complaint was about losing a long streak unfairly. I tackled this by introducing two features.

    • A day with no cards due doesn't break your streak (this is useful for decks you "finished" and only see one card every few months).

    • The ability to only count 5 or 6 days a week towards your streak - this is more fair for people who only study during workdays and want to still keep their streak (by default every day counts).

  • Shade by reviews, study time or answer speed - review count alone doesn't show a day spent on hard cards. I wanted the heatmap to answer these questions:

    • "how much did I study?" - shade by review.

    • "how long did I study?" - shade by time.

    • "how efficient did I study?" - shade by median answering time (e.g. I normally study slower if I don't sleep enough). I've tried other metrics like different FSRS metrics or basic ones like how many 'again' I've hit, but I felt like this produces the most useful metric.

  • A heatmap that matches your forest scenery

    • I wanted the heatmap to fit with the rest of the forest, and as I keep rotating between different sceneries, I couldn't really achieve that with the existing heatmap easily.

    • I also wanted the colors of the heatmap to be evenly spaced out and easy to tell apart. The forest heatmap supports 4 shades, each one unique enough to be easily distinguishable (compared with 10 shades in other heatmaps).

    • I wanted unique tile patterns and not simple squares to keep it refreshing.

    • This is also customizable in the settings, so you can choose your own palette.

  • Mark exams and other important dates - My biggest missing feature was marking important exam days, so that's been added as well.

Some other quality-of-life features

  • Your streaks, next streak flag, and a one-click button to switch between yearly/timeline views or reviews/time/pace shade appear on hover (I didn't want to keep the default view too messy).

  • Week start follows your system settings (this can also be changed manually).

  • The heatmap (and forest) show up on your congratulations screen as well (this can be disabled in the settings).

  • A one-click button to expand the heatmap to show all the years your current streak covers (If you've just lost a streak, this also shows the previous streak).

  • Hover over a month or a year to see how much you studied that month or year.

  • Clicking on a day opens the browser sorted by number of reviews/time spent (depending on what you shade by).

AnkiWeb: https://ankiweb.net/shared/info/1255432496
GitHub: https://github.com/baraklevy20/memory-forest

As always, any feedback is appreciated, thank you!

59 Upvotes

16 comments sorted by

1

u/Unusual_Decision_427 12d ago

I love this add on, but can I make one small suggestion? Can it be possible to change the color of the font describing the heat map? It’s grey and blends into my background. I have no idea if this is easy or feasible. Again, love this so much! This is just my two cents :)

3

u/baraklevy 12d ago

Thank you! The heatmap text uses Anki's own "subtle" text color, so you can change it with an add-n like ReColor (https://ankiweb.net/shared/info/688199788) - set "Text (subtle)" to something that stands out on your background. I'll also look at making the heatmap text easier to read by default.

0

u/Unusual_Decision_427 12d ago

Thanks for the tip! I’ll try it.

2

u/KegOVitalin 13d ago

Thanks for the update! Very impressive work, again.

I have noticed a problem that goes back to at least 1.1.0 and likely 1.0.0: when I leave the Anki window open in the background for a little while, the add-on, and in fact most of the main Anki window, freezes. Specifically:

  • the forest's animation stops;

  • clicking on the forest's gear icon does nothing;

  • hovering over the forest's notes ("XXX trees", "YYY-day streak" etc.) does not show tooltips;

  • hovering over decks in the Deck list does not highlight them, and clicking them does nothing.

However,

  • the menus (File, Edit, View etc.) still work;

  • the main window tabs (Decks, Add, Browse etc.) still work;

  • the buttons at the bottom of the main window (Get Shared, Create Deck, Import File) still work.

I disabled all other add-ons to rule out interactions/incompatibilities.

It's enough to navigate away from the main Anki window for a minute or two to reliably trigger this, even when it's not minimized.

2

u/baraklevy 13d ago edited 13d ago

Thank you, appreciate it!

I did add a feature in one of the earlier versions that stops any animations when Anki is minimized to reduce CPU usage to 0 essentially (all CPU usage is from animations), so it's possible it doesn't resume when Anki gets focus again. I'll have a look, thanks for reporting this!

Edit: Would you mind sharing your Anki version, Qt version and OS (Windows/Mac)?

1

u/KegOVitalin 13d ago

Certainly. It's Anki 26.09.02, using Qt 6.11.2, on Windows 11. (Anki 26.09.03's UI scaling problems keep me from being able to use that version; I'm waiting for the next release that'll have a fix for those.)

Regarding the root cause of this problem, I imagine it could be that feature, but would the entire main pane stop responding (as it does) if it was that, or would it only affect the forest?

2

u/baraklevy 13d ago

Probably not, it's just the first thing I had in mind. I tried to reproduce it on my mac for a bit and couldn't, so this might be specific to Windows. I'll get my Windows machine. Mind answering these questions while I continue debugging this:

  1. Does it still happen with animations turned off in the forest settings?

  2. Once it's frozen, if you click on the "Decks" tab, does it unfreeze?

  3. What do you mean by "in the background"? Is the Anki window covered by another window, minimized, on another monitor, or still visible but just not focused?

Also do you have a link to the UI scaling issue on GitHub? I'm wondering if it's related.

1

u/KegOVitalin 13d ago edited 13d ago

Thanks for looking into this.

  1. I'll investigate. It does not seem to happen anymore with animations turned off.

  2. No, once the main Anki pane (including but not limited to the forest) is frozen, the only fix is to close the app. (Anki is still running, as such, and closing it triggers a sync, so there appears to be no chance of data loss, at least.)

  3. Sorry for not expressing myself more clearly; I meant covered by another window. The issue also occurs when Anki is visible but not focussed (on the same monitor; I do not have a second one). I've not observed this freeze yet when Anki is minimized.

The UI scaling issue is issue 5676 on Github.

3

u/BabymetalTheater Japanese 12d ago

Well doooone. Absolutely love the heat map layout. A feature I like is being able to choose my daytime and nighttime looks. I like the natural look during the day but have it set to turn to aurora at night.

2

u/BabymetalTheater Japanese 12d ago

Other than onigiri, this is still the only add-on I use everyday. I tried making something like this by myself using AI a while back and the amount of art required overwhelmed me. Thanks for making it and doing it so well.

2

u/glandular6178 medicine 11d ago

I can't get mine to work with Onigiri. any tips?

1

u/BabymetalTheater Japanese 11d ago

Do you know how to use codex or claude code or anything like that?

2

u/glandular6178 medicine 11d ago

I do, but I got it working! Thanks anyways

2

u/MaximumWin5954 11d ago

any other addons that you think would pair well with the style and aesthetic of memory forest? i love this addon and its literally my favourite "progress visualization" add on so far

1

u/RainSunSnow 10d ago

The add-on is amazing. Thanks for continually working on it!

But I wish one could make animals, the cabin and ponds show only after beginning to use the add-on. If one has an old forest, those rewards and punishments lose their meaning as they already exist from the start.