feat(app): study a studyset with everything inside it

Studying a studyset covers its subtree (decided with the tree, ADR 0004):
the studysets of its subtree in tree order, without archived studysets and
what is inside them (studiedIn); an archived studyset studies nothing. The
study queue takes the cards of each studyset as a group: due cards of every
studyset first, earliest first, then each studyset's new cards in tree
order, at most 20 started per studyset and local day, as before for one.

The library's cards count the same way, so a studyset whose cards sit in
its sub-studysets still invites a session, and the badge counts what the
session would study; an archived studyset, paused, still counts all it
holds.

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 12:37:32 +02:00
commit 9c2960f49d
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -91,6 +91,7 @@ GoRouter buildRouter({String initialLocation = RoutePaths.home}) => GoRouter(
final person = PersonScope.of(context);
return BlocProvider(
create: (context) => StudySessionBloc(
person.studysets,
person.cards,
person.reviews,
state.pathParameters['studysetId']!,