離散拍と単方向進行の哲学
このページは Ktory の設計原則 に従い、現在の契約と長期目標を区別します。
離散的な拍とホスト駆動
Section titled “離散的な拍とホスト駆動”Ktory の進行は、次の論理的な停止点まで実行する操作です。「離散」は物語の実行契約を表し、ゲーム全体の時間を離散化したり、拍の境界で音声やアニメーションを止めたりする意味ではありません。
一回の進行で起こること
Section titled “一回の進行で起こること”Start()、Step()、有効な SubmitChoice() は制御フローを同期的に実行し、Status と CurrentPayload / CurrentChoice を更新して修飾子を通知します。画面のスナップショットを返す API ではなく、ホストが出力を読み取って表示します。
ジャンプや呼び出しは、一回の進行中にテキスト、文字のない指令、選択肢、終了へ達するまで連続して実行できます。通常の Step() は選択待ちを通過できません。決定性には同じ脚本、入力、ホストの評価結果が必要で、外部の乱数や副作用が純粋関数になるわけではありません。
時間の所有者
Section titled “時間の所有者”タイプライター、全文即時表示、読書の待ち時間、外部演出の条件はホストが管理します。PresentationController は共有 C# ライブラリに含まれますが、任意の表示方針の補助であり、Sequencer がアニメーションを待つ仕組みではありません。環境音や動作を続けながら、ホストが次に進む条件を判断できます。
Ink もホストから行ごとに駆動でき、選択肢と拡張インターフェースを提供します。Ktory は拍のデータ、引数付き修飾子、同一ファイルの多言語を共通契約にする方針であり、他エンジンでは描画を分離できないことを前提としません。
状態と復元の境界
Section titled “状態と復元の境界”コアは実行位置、呼び出しスタック、セッション内の選択履歴を持ちます。外部の状態変更を自動で巻き戻さず、前の位置へジャンプすると内容を再実行します。将来の文単位の復元には安定した識別子とホストの復元契約が必要で、現在の PresentationId では代用できません。
場面ごとの接続作業を減らす長期目標は、実際のプロジェクトで検証する必要があります。演出協調が完成したかどうかは、構成の説明だけでなく具体例と接続先のフィードバックから判断します。
