Anki/proto/anki
RumovZ d55f080733
V3 parent limits (#1638)
* avoid repinning Rust deps by default

* add id_tree dependency

* Respect intermediate child limits in v3

* Test new behaviour of v3 counts

* Rework v3 queue building to respect parent limits

* Add missing did field to SQL query

* Fix `LimitTreeMap::is_exhausted()`

* Rework tree building logic

https://github.com/ankitects/anki/pull/1638#discussion_r798328734

* Add timer for build_queues()

* `is_exhausted()` -> `limit_reached()`

* Move context and limits into `QueueBuilder`

This allows for moving more logic into QueueBuilder, so less passing
around of arguments. Unfortunately, some tests will require additional
work to set up.

* Fix stop condition in new_cards_by_position

* Fix order gather order of new cards by deck

* Add scheduler/queue/builder/burying.rs

* Fix bad tree due to unsorted child decks

* Fix comment

* Fix `cap_new_to_review_rec()`

* Add test for new card gathering

* Always sort `child_decks()`

* Fix deck removal in `cap_new_to_review_rec()`

* Fix sibling ordering in new card gathering

* Remove limits for deck total count with children

* Add random gather order

* Remove bad sibling order handling

All routines ensure ascending order now.
Also do some other minor refactoring.

* Remove queue truncating

All routines stop now as soon as the root limit is reached.

* Move deck fetching into `QueueBuilder::new()`

* Rework new card gather and sort options

https://github.com/ankitects/anki/pull/1638#issuecomment-1032173013

* Disable new sort order choices ...

depending on set gather order.

* Use enum instead of numbers

* Ensure valid sort order setting

* Update new gather and sort order tooltips

* Warn about random insertion order with v3

* Revert "Add timer for build_queues()"

This reverts commit c9f5fc6ebe.

* Update rslib/src/storage/card/mod.rs (dae)

* minor wording tweaks to the tooltips (dae)

+ move legacy strings to bottom
+ consistent capitalization (our leech action still needs fixing,
but that will require introducing a new 'suspend card' string as the
existing one is used elsewhere as well)
2022-02-10 09:55:43 +10:00
..
backend.proto Backend Custom Study (#1600) 2022-01-20 14:25:22 +10:00
card_rendering.proto replace the old stripHTML() methods with the backend implementation 2021-10-01 23:15:45 +10:00
cards.proto support updating multiple cards in one transaction/undo op 2021-08-02 16:59:02 +10:00
collection.proto split out cards and collection 2021-07-10 19:52:31 +10:00
config.proto configs.proto plural workaround no longer necessary 2021-07-11 19:35:18 +10:00
deckconfig.proto V3 parent limits (#1638) 2022-02-10 09:55:43 +10:00
decks.proto V3 parent limits (#1638) 2022-02-10 09:55:43 +10:00
generic.proto Card info cleanup (#1446) 2021-10-23 11:00:43 +10:00
i18n.proto refactor protobuf handling for split/import 2021-07-10 19:17:05 +10:00
links.proto Remove native HelpPage enum 2021-07-22 16:32:49 +02:00
media.proto split out remaining tags, stats, media and rendering 2021-07-10 23:16:18 +10:00
notes.proto support updating multiple notes in one transaction/undo op 2021-08-02 17:07:26 +10:00
notetypes.proto Change Notetype UI Rework (#1499) 2021-11-24 12:09:55 +10:00
scheduler.proto Backend Custom Study (#1600) 2022-01-20 14:25:22 +10:00
search.proto fix sort order toggling 2021-10-30 09:14:43 +10:00
stats.proto Switch CardInfoDialog to ts page (#1414) 2021-10-14 19:22:47 +10:00
sync.proto split out sync, search, scheduler & config 2021-07-10 21:33:12 +10:00
tags.proto bikeshedding: amount -> match_limit 2021-09-12 11:57:49 +10:00