Anki/rslib/src/storage
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
..
card V3 parent limits (#1638) 2022-02-10 09:55:43 +10:00
config update to latest rusqlite 2021-06-25 16:22:21 +10:00
deck V3 parent limits (#1638) 2022-02-10 09:55:43 +10:00
deckconfig update to latest rusqlite 2021-06-25 16:22:21 +10:00
graves update to latest rusqlite 2021-06-25 16:22:21 +10:00
note update to latest rusqlite 2021-06-25 16:22:21 +10:00
notetype fix case of fields table 2021-09-07 10:22:22 +10:00
revlog update to latest rusqlite 2021-06-25 16:22:21 +10:00
tag add basic tag completion to backend 2021-09-09 15:38:08 +02:00
upgrades fix case of fields table 2021-09-07 10:22:22 +10:00
collection_timestamps.rs update to latest rusqlite 2021-06-25 16:22:21 +10:00
mod.rs add notetype changing to backend 2021-06-09 20:56:52 +10:00
schema11.sql Add comment explaining why sfld column has type integer 2021-01-25 18:39:59 +08:00
sqlite.rs Optimise searching in (all) fields (#1622) 2022-01-24 20:30:08 +10:00
sync.rs update to latest rusqlite 2021-06-25 16:22:21 +10:00
sync_check.rs zero out graves before comparison, instead of at creation 2021-06-30 10:08:52 +10:00