For AI agents: the complete documentation index is available at https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/llms.txt, the full documentation bundle is available at https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/llms-full.txt, and this page is available as Markdown at https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/playground.md.

Playground

現在のワークスペースビルドをブラウザーで直接実行できます。Monaco はリポジトリ内の ts-fsrs と @open-spaced-repetition/binding の実際の宣言を読み込むため、ホバー、診断、補完、定義ジャンプが公開パッケージと一致します。

ブラウザーラボ

型付きの例を Worker で実行

型付きエディターを読み込んでいます…
Worker の出力

サンプルを編集して実行してください。スケジューリングやパラメータ学習はメインスレッド外で実行されるため、ページは応答したままです。

WASIP1 binding で学習

コンパニオンパッケージのブラウザーエントリー、CSV 変換、FSRSBindingItem / FSRSBindingReview の生成、オプティマイザー呼び出しはすべて同じ専用 Worker 内に残ります。メインスレッドは選択した File のテキストを読み、それを Worker に送るだけです。

復習タイムゾーン

FSRS7 は各学習日の実際の長さで間隔を正規化し、小数や同日内の間隔も保持します。選択したタイムゾーンと日付の切り替え時刻が学習日の境界を決めます。夏時間で 23 時間または 25 時間になる場合も、学習日全体を 1 日として扱います。 FSRS7 の学習に間隔の成長と短い間隔へのペナルティを追加します。既定は無効で、スケジューリングの数式は変わりません。

サンプル revlog.csv をダウンロード

CSV ファイルを選択してください。

revlog.csv スキーマ(全列が必須)
フィールド型意味と制約
card_id文字列カード履歴をまとめる固定 ID。カンマを含む値は引用符で囲みます。
review_time64 ビット符号付き整数ミリ秒の Unix タイムスタンプ。FSRS6 は整数の学習日数、FSRS7 は各学習日の実際の長さで正規化した小数日数を使います。
review_rating符号なし整数(1–4)1 Again、2 Hard、3 Good、4 Easy。
review_state符号なし整数(0–3)回答前の状態:0 New、1 Learning、2 Review、3 Relearning。最後の New/Learning ブロックから履歴を保持します。
review_duration符号なし整数必須の回答時間(非負のミリ秒)。

このリンクからは fsrs-rs のサンプル revlog.csv をダウンロードできます。123,730 件の復習レコードを含む 4,626,708 bytes のデータセットです。binding の Rust csv パーサーは CRLF、引用符、フィールド内のカンマを正しく処理します。コンバーターは card_id ごとにグループ化して review_time 順に並べ、最後の New/Learning ブロックから履歴を保持します。選択した IANA タイムゾーンで各タイムスタンプの現地時刻と夏時間を解決し、選択した nextDayStartsAt より前の現地時刻を前の学習日に割り当てます。FSRS6 はその学習日間の整数日の距離を deltaT として計算します。両モデルとも現在の deltaT > 0 の学習アイテムだけを生成します。

既定の FSRS7 も、選択したタイムゾーンと学習日の境界を使います。各学習日内の経過時間をその学習日の実際の長さで割り、日をまたぐ場合は各部分を足し合わせるため、小数や同日内の間隔も保持します。夏時間で 23 時間または 25 時間になる場合も、学習日全体を 1 日として扱います。CSV 変換と学習には同じモデルを選択してください。

FSRS6 では短期パラメーターを有効にして当日中の復習をモデル化するか、無効にして長期のみの重みを学習できます。FSRS7 の学習では常に enableShortTerm: true を使います。いずれの場合も、返された完全な weights 配列を丸めず、省略せずに表示します。