// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. /** * A mastery window consists a range of scores and the percentage of the total exercises in the * batch returned by the scheduler that will fall within that range. * * Mastery windows are used by the scheduler to control the amount of exercises for a given range * of difficulty given to the student to try to keep an optimal balance. For example, exercises * that are already fully mastered should not be shown very often lest the student becomes bored. * Very difficult exercises should not be shown too often either lest the student becomes * frustrated. */ export type MasteryWindow = { /** * The percentage of the exercises in each batch returned by the scheduler whose scores should * fall within this window. */ percentage: number, /** * The range of scores which fall on this window. Scores whose values are in the range * `[range.0, range.1)` fall within this window. If `range.1` is equal to 5.0 (the float * representation of the maximum possible score), then the range becomes inclusive. */ range: [number, number], };