# ts-fsrs > Developer documentation for ts-fsrs ## ガイド - [はじめに](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/guide/index.md): ts-fsrs とは何か、そしてモデル・時刻体系・任意の middleware がどのように再利用可能なスケジューラー定義へ組み合わさるか - [クイックスタート](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/guide/quick-start.md): ts-fsrs をインストールし、DefaultScheduler で素早く導入してから、既定とカスタムのスケジューラー例を Rating.Good で実行します - [v6 と FSRS-7 への移行](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/guide/migration.md): ts-fsrs v5 を v6 の defineScheduler に移行し、復習履歴から FSRS-7 の記憶状態を再構築します。既存カードの次回復習日時を変更せず、legacy API を使わない手順を説明します。 - [アーキテクチャ](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/guide/architecture.md): ts-fsrs の model、chrono、middleware、scheduler の責務、再利用可能なプリセットの組み立て方、review から card と revlog が生成される流れを説明します - [状態遷移](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/guide/state-transitions.md): 評価による New、Learning、Review、Relearning の遷移と、card、revlog、記憶状態、スケジュール状態の違いを説明します - [LLM](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/guide/llms.md): llms.txt と llms-full.txt で ts-fsrs のドキュメントを Markdown として読み、共通の英語 Atom フィードで更新を追跡します - [モデル概要](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/guide/model/index.md): FSRS の Model 契約、バージョン別モデルの直接利用、defineModel による独自モデル定義と責務の境界を説明します - [FSRS-7](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/guide/model/fsrs-7.md): FSRS-7 の二成分忘却曲線、混合重み、安定度と難易度の更新、数値的な間隔計算、パラメーターと記憶状態の移行制約 - [FSRS-6](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/guide/model/fsrs-6.md): FSRS-6 の学習可能な減衰、間隔計算、初期記憶、難易度、安定度、同日更新の数式と旧バージョンとの主な違いを説明します - [FSRS-5](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/guide/model/fsrs-5.md): FSRS-5 のべき忘却曲線、間隔計算、難易度、安定度、同日更新の数式と前後バージョンとの主な違いを説明します - [FSRS-4.5](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/guide/model/fsrs-4dot5.md): FSRS-4.5 のべき忘却曲線、間隔計算、初期記憶、難易度、安定度更新の数式と前後バージョンとの主な違いを説明します - [FSRS-4](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/guide/model/fsrs-4.md): FSRS-4 のべき忘却曲線、間隔計算、初期記憶、難易度、安定度更新の数式と前後バージョンとの主な違いを説明します - [FSRS-3](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/guide/model/fsrs-3.md): FSRS-3 の指数忘却曲線、間隔計算、初期記憶、難易度、安定度更新の数式と後続バージョンとの主な違いを説明します - [Chrono の概要](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/guide/chrono/index.md): ts-fsrs の時間表現を選び、normalize と日数演算を理解し、defineChrono で dateChrono をカスタマイズする - [Date](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/guide/chrono/date.md): dateChrono で UTC の日付差と固定時間の加算を扱い、card と revlog の時刻フィールドを理解する - [Numeric](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/guide/chrono/numeric.md): numericChrono で相対日数を扱い、ゼロを起点とする normalize と用途を理解する - [Temporal Instant](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/guide/chrono/temporal-instant.md): temporalInstantChrono のタイムゾーンと小数日数を設定し、暦日と夏時間の計算を理解する - [ミドルウェア概要](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/guide/middleware/index.md): ミドルウェアがスケジューラにポリシーやアプリケーション固有のフィールドを追加する仕組みと、defineMiddleware による定義を理解する - [ライフサイクル](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/guide/middleware/lifecycle.md): ミドルウェアのハンドラが登録順にスケジューラのコアを囲んで実行される仕組みと、ロールバック・プレビューでの再利用を理解する - [組み込みポリシー](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/guide/middleware/built-in.md): ts-fsrs に同梱されるミドルウェアポリシーと、DefaultScheduler がそれらを並べる順序を確認する - [スケジューラ概要](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/guide/scheduler/index.md): defineScheduler でモデルと chrono を組み合わせて再利用可能な定義を作り、.create で設定ごとに独立したスケジューラを生成し、DefaultScheduler プリセットと比較する - [DefaultScheduler](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/guide/scheduler/default-scheduler.md): DefaultScheduler プリセットを設定し、FSRS モデルバージョンを選び、プリセットと自前の defineScheduler 定義のどちらを使うか判断する - [Optimizer 概要](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/guide/optimizer/index.md): binding で復習ログから FSRS の重みを再学習し、Node かブラウザ / Worker の実行環境を選び、CSV からパラメータまでの流れを理解する - [学習と評価](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/guide/optimizer/train-evaluate.md): binding で復習ログのパイプラインを追う——CSV をアイテムに変換し、重みを学習し、適合度を評価してステップを調整する ## API - [ts-fsrs API 概要](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/index.md): サポート対象の ts-fsrs API の索引——アプリケーションコード向けの定義、プリセット、ポリシー、モデル、型 - [DefaultScheduler](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/default-scheduler.md): DefaultScheduler のリファレンス——すぐ使えるスケジューラプリセットを返す非同期ファクトリ - [Scheduler](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/scheduler.md): defineScheduler.create と DefaultScheduler が返すスケジューラインスタンスのリファレンス - [定義](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/define/index.md): define* 定義関数 — スケジューラ・モデル・時間抽象・ミドルウェアの宣言 - [defineScheduler](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/define/define-scheduler.md): defineScheduler のリファレンス——モデルと chrono から再利用可能なスケジューラ定義を組み立てる - [defineModel](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/define/define-model.md): defineModel のリファレンス——config・記憶状態の schema とモデルコアを備えたモデル定義をまとめる - [defineChrono](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/define/define-chrono.md): defineChrono のリファレンス——スケジューラ向けの独自の時間抽象を定義する - [defineMiddleware](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/define/define-middleware.md): defineMiddleware のリファレンス——schema を拡張し、スケジューラコアの周囲でハンドラを実行する - [Chrono プリセット](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/chrono-presets.md): dateChrono、numericChrono、temporalInstantChrono のリファレンス - [Rating, Grade, State](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/rating-grade-state.md): 復習とカードで使う評価・グレード・状態の enum と、その検証 schema - [モデル](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/models/index.md): ts-fsrs/models/fsrs-3 から fsrs-7 までのバージョン別エントリポイントのリファレンス - [FSRS-7](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/models/fsrs-7.md): ts-fsrs/models/fsrs-7 のリファレンス——モデルのメソッド、重み、パラメータ関数、スキーマと型 - [FSRS-6](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/models/fsrs-6.md): ts-fsrs/models/fsrs-6 のリファレンス — 重み、境界、パラメータ補助関数 - [FSRS-5](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/models/fsrs-5.md): ts-fsrs/models/fsrs-5 のリファレンス — 重み、境界、パラメータ補助関数 - [FSRS-4.5](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/models/fsrs-4dot5.md): ts-fsrs/models/fsrs-4dot5 のリファレンス — 重み、境界、パラメータ補助関数 - [FSRS-4](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/models/fsrs-4.md): ts-fsrs/models/fsrs-4 のリファレンス — 重み、境界、パラメータ補助関数 - [FSRS-3](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/models/fsrs-3.md): ts-fsrs/models/fsrs-3 のリファレンス — 重み、境界、パラメータ補助関数 - [ミドルウェア](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/middlewares/index.md): ts-fsrs/middlewares の索引 — 組み込みポリシーと、併せてエクスポートされるデフォルト値・補助関数・スキーマ - [DesiredRetention](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/middlewares/desired-retention.md): 組み込みミドルウェア schedulerDesiredRetentionMiddleware——間隔の計算前に目標保持率を適用する - [Cost ADR](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/middlewares/cost-adr.md): Cost ADR は記憶状態と復習コストから保持率を調整します。`schedulerDesiredRetentionMiddleware` の代わりに `schedulerCostAdrMiddleware` を組み合わせます。`DefaultScheduler` には含まれません。間隔の上限は引き続き `schedulerMaximumIntervalMiddleware` が担当します。 - [LearningSteps](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/middlewares/learning-steps.md): 組み込みミドルウェア schedulerLearningStepsMiddleware——短期スケジューリングで学習・再学習ステップを適用する - [Fuzzing](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/middlewares/fuzz.md): 組み込みミドルウェア schedulerFuzzingMiddleware——enableFuzz が有効なときに間隔を分散する - [MaximumInterval](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/middlewares/maximum-interval.md): 組み込みミドルウェア schedulerMaximumIntervalMiddleware——日単位の間隔を maximumInterval に制限する - [Stats](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/middlewares/stats.md): 組み込みミドルウェア schedulerStatsMiddleware——reps と lapses のカウンタを管理する - [MonotonicInterval](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/middlewares/monotonic-interval.md): 組み込みミドルウェア schedulerMonotonicIntervalMiddleware——評価間で間隔を順序付ける - [ScheduledDays](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/middlewares/scheduled-days.md): 組み込みミドルウェア schedulerScheduledDaysMiddleware——最終間隔をスケジュール日数として保存する - [Leech](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/middlewares/leech.md): 組み込みミドルウェア schedulerLeechMiddleware——忘却回数が閾値を超えたカードを停止する - [リスケジュール](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/reschedule.md): ts-fsrs/reschedule エントリポイント——通常の復習フロー外で復習履歴を再生し、カードをリスケジュールする - [Utils](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/utils.md): ts-fsrs ルートからエクスポートされる小さな数値ヘルパー(clamp と roundTo)のリファレンス - [型](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/api/ts-fsrs/types.md): ts-fsrs ルートからエクスポートされる型のリファレンス ## Playground - [Playground](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/playground.md): 実際の型ヒント付きで ts-fsrs と WASIP1 オプティマイザーをブラウザー実行します。 ## Others - [Updates](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/updates/index.md): Published package releases, changelogs, and npm downloads. - [Updates](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/updates/page/2.md): Published package releases, changelogs, and npm downloads. - [Updates](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/updates/page/3.md): Published package releases, changelogs, and npm downloads. - [Updates](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/updates/page/4.md): Published package releases, changelogs, and npm downloads. - [Updates](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/updates/page/5.md): Published package releases, changelogs, and npm downloads. - [Updates](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/updates/page/6.md): Published package releases, changelogs, and npm downloads. - [Updates](https://open-spaced-repetition.github.io/ts-fsrs/ja-JP/updates/binding/index.md): Published package releases, changelogs, and npm downloads.