Anki/rslib/src
Jarrett Ye 7056c63765 Feat/support load balance and easy days in FSRS simulator (#3829)
* Feat/support load balance and easy days in FSRS simulator

* format

* consider LoadBalancerEnabled

* use fsrs::PostSchedulingFn

* add load balance and easy days to compute_optimal_retention

* move simulator to a pop-over

* fix incorrect simulationNumber when error 500

* Feat: Save to Preset Options

* update tabs when update newPerDay & reviewsPerDay

* don't reset deckSize & daysToSimulate when save options

* fix missing easy days

* plan to support review priority

* Fix graph line rendering with non-scaling stroke

* simplify review priority function with helper wrapper

* fallback to default ReviewPriority for Added & ReverseAdded

* Update ts/routes/deck-options/SimulatorModal.svelte

Co-authored-by: Luc Mcgrady <lucmcgrady@gmail.com>

* Wrap review priority function in Arc for thread-safe sharing

* more granularity for R sorting

* Add graph smoothing option to FSRS simulator

* Improve graph resize handling in FSRS simulator

* simplify review priority calculation

* Add review order selection to FSRS simulator modal

* Refactor review priority function using macro for conciseness

* Add copyright and license header to SimulatorModal.svelte

* cargo clippy

* ./ninja fix:eslint

* update fsrs-rs

* Update FSRS dependencies and refactor load balancing functions

- Update fsrs-rs dependency to latest commit
- Modify retention and simulator modules to use Arc instead of Box
- Update function signatures and imports in simulator module
- Simplify review card order handling with direct enum usage

* resolve reviewed changes

* replace .unwrap() with ?

* move simulating into SimulatorModal

* add (crate) to interval_to_weekday

* Update FsrsOptions.svelte

* format

---------

Co-authored-by: Luc Mcgrady <lucmcgrady@gmail.com>
2025-02-27 10:53:01 +07:00
..
ankidroid lazy_static → once_cell → stabilized versions (#3447) 2024-09-30 23:35:06 +10:00
ankihub Bump AnkiHub API version (#3564) 2024-11-09 04:05:26 +03:00
backend Update to Rust 1.85 2025-02-21 10:42:42 +07:00
card Update to Rust 1.85 2025-02-21 10:42:42 +07:00
card_rendering Bump Rust to 1.84 2025-01-26 18:51:21 +11:00
collection Rust 1.73 2023-10-09 19:22:43 +10:00
config Feat/option to enable FSRS short-term scheduler when (re)learning steps run out && speed up features based on simulation (#3505) 2024-10-21 15:09:07 +10:00
deckconfig Update to Rust 1.85 2025-02-21 10:42:42 +07:00
decks Add descending retrievability (#3559) 2024-11-08 22:53:13 +10:00
error Remove remaining remnants of unused error; fix CI 2024-11-19 15:26:02 +10:00
i18n Refactor service generation (#2552) 2023-06-19 15:33:40 +10:00
image_occlusion Fix IO editor always starting in "hide all, guess one" mode (#3709) 2025-01-09 23:14:02 +11:00
import_export Bump Rust to 1.84 2025-01-26 18:51:21 +11:00
media Recognise and check for media referenced in <source> tags (#3763) 2025-01-25 10:16:24 +03:00
notes Fix newer notes incorrectly being skipped when importing successive exports (#3693) 2025-01-13 13:42:44 +11:00
notetype Bump Rust to 1.84 2025-01-26 18:51:21 +11:00
revlog Create a new kind of revlog entry for reschedule cards on change (#3508) 2024-10-21 16:47:01 +10:00
scheduler Feat/support load balance and easy days in FSRS simulator (#3829) 2025-02-27 10:53:01 +07:00
search Update to Rust 1.85 2025-02-21 10:42:42 +07:00
stats Update to Rust 1.85 2025-02-21 10:42:42 +07:00
storage Update to Rust 1.85 2025-02-21 10:42:42 +07:00
sync Update to Rust 1.85 2025-02-21 10:42:42 +07:00
tags Do not strip quotation marks from deck/tag names (#3407) 2024-09-11 03:56:09 +07:00
undo Fix maybe_coalesce_note_undo_entry() (#2992) 2024-02-11 16:04:10 +10:00
adding.rs Default to current deck in csv import if settings allow it (#2527) 2023-05-31 13:47:12 +10:00
browser_table.rs Fix/inconsistent retrievability calculations between normal/filtered decks and display/sorting (#3582) 2024-11-18 01:24:04 +10:00
cloze.rs Increase allowed nesting level 2025-01-13 16:03:27 +11:00
dbcheck.rs Bump Rust to 1.81 for latest CVE 2024-09-05 12:39:59 +07:00
findreplace.rs Fix invalid ids on db check (#2445) 2023-03-19 10:58:35 +10:00
latex.rs lazy_static → once_cell → stabilized versions (#3447) 2024-09-30 23:35:06 +10:00
lib.rs lazy_static → once_cell → stabilized versions (#3447) 2024-09-30 23:35:06 +10:00
links.rs Remove remaining remnants of unused error; fix CI 2024-11-19 15:26:02 +10:00
log.rs Integrate FSRS into Anki (#2654) 2023-09-16 16:09:26 +10:00
markdown.rs Switch Rust import style (#2330) 2023-01-18 21:39:55 +10:00
ops.rs Empty cards become undoable (#3386) 2024-08-29 20:06:41 +07:00
preferences.rs Feat/option to enable FSRS short-term scheduler when (re)learning steps run out && speed up features based on simulation (#3505) 2024-10-21 15:09:07 +10:00
prelude.rs Move generated protobuf into anki_proto 2023-06-12 15:47:51 +10:00
progress.rs Fix/re-optimize FSRS if short-term param is weird (#3742) 2025-01-26 10:42:17 +11:00
serde.rs Take another approach to dealing with conflicting flattened keys 2023-08-15 11:25:53 +10:00
services.rs Rust 1.73 2023-10-09 19:22:43 +10:00
template.rs Bump Rust to 1.84 2025-01-26 18:51:21 +11:00
template_filters.rs template_filters: make {{type:}} forwards compatible (#3525) 2024-10-26 19:58:52 +10:00
tests.rs Fix flaky tests (#3724) 2025-01-13 13:56:52 +11:00
text.rs Recognise and check for media referenced in <source> tags (#3763) 2025-01-25 10:16:24 +03:00
timestamp.rs Support rescheduling on weight/retention change 2023-10-01 15:20:58 +10:00
typeanswer.rs Bump Rust to 1.84 2025-01-26 18:51:21 +11:00
types.rs update scheduling ops 2021-04-06 16:38:42 +10:00
version.rs lazy_static → once_cell → stabilized versions (#3447) 2024-09-30 23:35:06 +10:00