feat(app): study sessions in rounds, by card type, cramming and reversed

A session studies a round of up to the settings' cards per round. In
spaced repetition a card leaves the round once it is a day or more away,
one rated lower comes back when due; cramming walks every card once,
round after round, its reviews moving no schedule, with going back and
on. Asking the back first (a toggle in the header, saved in the
settings) asks front/back and vocabulary cards their back, on their own
schedule. Each type studies its way: a word shows its reading and
meanings, a multiple-choice card is picked and checked, a matching card
sorted by dragging or tapping and checked; then the person rates (Bad,
OK, Good, Perfect, each with when the card comes back). Progress shows
as pills, or a tally bar while cramming; a round ends with how it went.
The session settings gain the mode, cards per round, new cards per day
and the order.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-01 19:29:21 +02:00
commit 46855ab251
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -396,9 +396,9 @@ void main() {
await tester.pumpAndSettle();
await tester.tap(find.text('Show answer'));
await tester.pumpAndSettle();
await tester.tap(find.text('Easy'));
await tester.tap(find.text('Perfect'));
await tester.pumpAndSettle();
await tester.pageBack();
await tester.tap(find.text('Done'));
await tester.pumpAndSettle();
expect(find.byTooltip('Add content'), findsOneWidget);