mirror of
https://github.com/ankitects/anki.git
synced 2026-01-07 02:53:54 -05:00
start_memorized -> reviewless_end_memorized
This commit is contained in:
parent
1e53505339
commit
af6d63cde9
4 changed files with 11 additions and 11 deletions
|
|
@ -420,7 +420,7 @@ message SimulateFsrsReviewResponse {
|
|||
|
||||
message SimulateFsrsWorkloadResponse {
|
||||
map<uint32, float> cost = 1;
|
||||
float start_memorized = 2;
|
||||
float reviewless_end_memorized = 2;
|
||||
map<uint32, float> memorized = 3;
|
||||
map<uint32, uint32> review_count = 4;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -300,11 +300,11 @@ impl Collection {
|
|||
))
|
||||
})
|
||||
.collect::<Result<HashMap<_, _>>>()?;
|
||||
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(),
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in a new issue