diff --git a/proto/anki/scheduler.proto b/proto/anki/scheduler.proto index 15aaa1d99..85ae0f5c3 100644 --- a/proto/anki/scheduler.proto +++ b/proto/anki/scheduler.proto @@ -420,7 +420,7 @@ message SimulateFsrsReviewResponse { message SimulateFsrsWorkloadResponse { map cost = 1; - float start_memorized = 2; + float reviewless_end_memorized = 2; map memorized = 3; map review_count = 4; } diff --git a/rslib/src/scheduler/fsrs/simulator.rs b/rslib/src/scheduler/fsrs/simulator.rs index 58c5fd5a0..0e700bfef 100644 --- a/rslib/src/scheduler/fsrs/simulator.rs +++ b/rslib/src/scheduler/fsrs/simulator.rs @@ -300,11 +300,11 @@ impl Collection { )) }) .collect::>>()?; - let start_memorized = cards - .iter() - .fold(0., |p, c| p + c.retention_on(&req.params, req.days_to_simulate as f32)); + let reviewless_end_memorized = cards.iter().fold(0., |p, c| { + p + c.retention_on(&req.params, req.days_to_simulate as f32) + }); Ok(SimulateFsrsWorkloadResponse { - start_memorized, + reviewless_end_memorized, memorized: dr_workload.iter().map(|(k, v)| (*k, v.0)).collect(), cost: dr_workload.iter().map(|(k, v)| (*k, v.1)).collect(), review_count: dr_workload.iter().map(|(k, v)| (*k, v.2)).collect(), diff --git a/ts/routes/deck-options/SimulatorModal.svelte b/ts/routes/deck-options/SimulatorModal.svelte index 50e5502ca..434001f6f 100644 --- a/ts/routes/deck-options/SimulatorModal.svelte +++ b/ts/routes/deck-options/SimulatorModal.svelte @@ -212,7 +212,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html x: parseInt(dr), timeCost: resp!.cost[dr], memorized: v, - start_memorized: resp!.startMemorized, + reviewless_end_memorized: resp!.reviewlessEndMemorized, count: resp!.reviewCount[dr], label: simulationNumber, learnSpan: simulateFsrsRequest.daysToSimulate, diff --git a/ts/routes/graphs/simulator.ts b/ts/routes/graphs/simulator.ts index 32f29682f..271052795 100644 --- a/ts/routes/graphs/simulator.ts +++ b/ts/routes/graphs/simulator.ts @@ -37,7 +37,7 @@ export interface Point { export type WorkloadPoint = Point & { learnSpan: number; - start_memorized: number; + reviewless_end_memorized: number; }; export enum SimulateSubgraph { @@ -69,7 +69,7 @@ export function renderWorkloadChart( const subgraph_data = ({ [SimulateWorkloadSubgraph.ratio]: data.map(d => ({ ...d, - y: (60 * 60 * (d.memorized - d.start_memorized)) / d.timeCost, + y: (60 * 60 * (d.memorized - d.reviewless_end_memorized)) / d.timeCost, })), [SimulateWorkloadSubgraph.time]: data.map(d => ({ ...d, y: d.timeCost / d.learnSpan })), [SimulateWorkloadSubgraph.count]: data.map(d => ({ ...d, y: d.count / d.learnSpan })), @@ -114,7 +114,7 @@ export function renderWorkloadChart( .attr("stroke", "black") .attr("stroke-width", 1); - const startMemorized = subgraph_data[0].start_memorized; + const startMemorized = subgraph_data[0].reviewless_end_memorized; return _renderSimulationChart( svgElem, @@ -133,8 +133,8 @@ export function renderWorkloadChart( .enter() .attr("x1", x(xMin)) .attr("x2", x(xMax)) - .attr("y1",d => y(d)) - .attr("y2",d => y(d)) + .attr("y1", d => y(d)) + .attr("y2", d => y(d)) .attr("stroke", "black") .attr("stroke-dasharray", "5,5") .attr("stroke-width", 1);