36 VN Engine v1.3.2.7 詳細資料・旧版履歴

v1.3.2.7はv1.3.2 Visual Continuityを安定基準とし、2026-09-26以降のChatGPT表示構造、type-to-focus、SPA会話遷移へ必要な互換修正を段階的に加えたホットフィックスです。
応答・バックログ・TURN監視と送信先を現在の会話へ限定し、VN入力は現在表示中のComposerと同一フォームだけを使用します。
VNタグなしの通常応答はNarrationとして取得し、登録済みのNarration専用立ち絵も再び表示します。
常時強制フォーカス、3秒回復走査、通常診断UIは採用せず、VN入力欄と定義済みショートカットに必要な範囲で入力を隔離します。
======================================

重要
----
現在の導入方法、動作環境、アンインストール、ライセンスは、ZIP直下の
README.txtおよびLICENSE.txtを正本として参照してください。
このファイルは詳細な機能説明と旧試作版からの履歴を残すための資料です。

36 VN Engine v1.1-distribution時点の概要
----------------------------------------

本製品は、開発時の旧称「ChatGPT-VN」から「36 VN Engine」へ名称を変更しました。ChatGPT上で動作する独立したブラウザ拡張機能であり、OpenAIの公式製品ではありません。旧内部識別子は既存データとの互換性維持のため一部残しています。

v1.1では、複数のゲーム資料を名前付きゲームパックとして保存し、現在のChatGPTチャットへ一括添付してセッション環境を起動できます。

配布版では、「Ashes of Living：Hidden Wing 第一話」を初回パックとして自動登録します。出力指示書v1.17、AoL統合ゲームルールブックv0.5、第一話セッション準備資料v1.3、AoLデフォルト世界ワールドガイド統合版の4資料を登録済みの状態で、そのまま起動テストを行えます。

v1.1.3では、DOM上のメッセージ数からターンを加算する方式を廃止しました。送信文末の`VN_RUNTIME_STATE.turn`を正規値として確定し、DOM監視は送信済みタグの確認、応答と記録候補の関連付け、バックログ取得だけに使用します。手動修正時は古いメッセージ対応表を破棄し、次回送信から修正値+1で再同期します。

v1.2.0では、ゲームパックに永続的なpackageIdを追加し、立ち絵・背景・BGMを作品別に区分しました。各管理画面は現在のゲームパックだけを既定表示し、未分類・共通素材や全作品表示へ切り替えられます。同名アセットもpackageIdが異なれば共存します。`.vngamepack` schemaVersion 2は対応アセットを任意で内包でき、読み込み時に件数確認後、VNフォルダーへ一括インストールします。旧schemaVersion 1は資料のみのパックとして引き続き読み込めます。

v1.2.3では、日本語アセット名が英数字限定の保存名変換によって同じ`asset`へ集約される問題を修正しました。日本語登録名を保持し、素材ごとの短縮SHA-256を付けた固有パスへ保存します。

v1.2.4では、一括インストール完了時に立ち絵・背景・BGMの台帳と各管理画面を自動再読み込みします。手動で各画面の「再読み込み」を押す必要はありません。

v1.3.0-Aでは、立ち絵管理へEyes Half／Eyes Closedの任意差分登録とmotionFramesデータ仕様を追加しました。差分は削除・正規化・ゲームパック書出／読込の対象になり、未登録の既存キャラクターはそのまま利用できます。また、Event／Ambient／Imageの表示レイヤー基盤を追加し、既存感情アニメーションをEventレイヤーへ分離しました。PキーのPCステータス画像も選択中ゲームパックを最優先し、別パックのPCを誤表示しないよう修正しています。

v1.3.0-Bでは、登録済みEyes Half／Eyes Closedを一度に1枚だけ表示するClassic Frame Switching方式で自動瞬きを有効化しました。PCとNPCの双方が、VN画面へ立ち絵として表示されている間に約2.5～5.5秒の自然な間隔で瞬きます。Eyes Halfがない場合はEyes Closedと基本立ち絵だけで動作します。Ambient Motionレイヤーにはごく弱いMicro Motionを追加し、全体設定とキャラクター別設定から停止できます。VNモードOFF、立ち絵OFF、OSの低モーション設定では再生しません。

v1.3.1では、Smile／Angry／Sad／Surprisedの全身差分を立ち絵管理へ追加し、既存の[EMOTION]指定と同期します。感情差分は基本立ち絵や瞬きフレームと重ねず、一度に1枚だけ表示します。表示中は自動瞬きを一時停止し、次ページで基本立ち絵と瞬きへ戻ります。Micro Motion、感情マーク、画面色調、Event Motionは感情差分にも適用されます。差分未登録・読込失敗時は基本立ち絵を使います。

v1.3.2では、同じ背景内でNPCからPCへ話者が変わった場合、直前のNPCを右側へ半透明の聞き手として残します。背景にはGentle Zoom／Pan Horizontal／AutoのAmbient Motionを追加し、専用のモーション設定から強度と速度を選択できます。自動瞬き、Micro Motion、感情立ち絵モーション、背景モーションは個別に調整でき、感情差分中の瞬きもOFF／Quick／Fullから選べます。QuickはClosedだけを約0.09秒挟んで同じ感情差分へ戻ります。従来のモーションON／OFF設定は全体スイッチとして引き継ぎます。

v1.3.2.1では、H4投稿者見出しと兄弟本文が分離したChatGPT表示へ最小限の受信互換を追加し、VN入力欄の実キーをcapture段階で隔離しました。Composer転写直後はVN入力欄へfocusを戻します。

v1.3.2.4では、応答・バックログ・TURN監視を現在開いているChat／Workの会話ルートへ限定しました。v1.3.2.5では、入力欄未選択時の定義済みショートカットをcapture段階で処理し、ChatGPT Composerへの文字混入を防止しました。

v1.3.2.6では、VNタグや既知の本文classがない通常応答もNarrationとして取得し、VN入力欄のArrowUp／ArrowDownがChatGPT側の過去プロンプト呼び戻しへ伝播することを防ぎました。

v1.3.2.7では、SPA遷移後にDOMへ残った旧チャットのComposerを送信先として再利用せず、現在表示中のComposer、同一フォームの送信ボタンとファイル入力を優先します。また、キャラクター管理へNarration素材が登録されている場合は専用立ち絵を表示し、未登録の場合だけVisual Continuityの直前NPC保持へフォールバックします。

v1.2.5では、選択中ゲームパックの立ち絵・PC・背景・初期背景・BGMを共通アセットより常に優先します。作品側に該当素材がない場合だけ共通アセットへフォールバックするため、各作品で同じ「拠点シーン」「探索シーン」「戦闘シーン」などの登録名をそのまま使用できます。

v1.0の公式デフォルトパックが保存済みの場合は、補助資料欄へワールドガイドだけを自動追加します。ユーザー作成パック、公式パック内の既存資料、利用者が編集した説明文、現在選択中のパックは変更しません。

ゲームパック差し替え
--------------------

- EscメニューまたはKキーから「ゲームパック管理」を開く
- VNモード出力指示書とコアゲームルールブックを必須資料として登録
- リスキン、セッション準備、継続記録、補助資料を任意で追加
- 複数のゲームパックを保存・選択・複製・削除
- 保存済みパックを.vngamepackへ書き出し、別環境で新規パックとして読み込み
- 「ゲームスタート」で現在のChatGPTチャットへ最大10資料を一括添付
- 全資料のアップロード完了後に限り、セッション開始準備文を自動送信
- 添付欄の検出失敗、アップロード失敗、タイムアウト時は送信せず停止
- 開始準備では資料の役割・優先順位・PC・開始地点・必要アセットを確認し、物語開始前に不足を報告

ファイル形式
------------

MD、TXT、PDF、DOCX、PPTX、XLSX、XLS、CSV、TSV、JSONを選択できます。ChatGPT側のプラン、ワークスペース設定、アップロード上限が優先されます。Googleドキュメントの.gdocは直接添付せず、PDFまたはDOCX等へ書き出してください。

保存場所と引継ぎ
----------------

ゲームパックの資料本体はブラウザ内の専用保存領域へ保存されます。拡張機能の更新では通常維持されますが、サイトデータやブラウザプロファイルを削除すると失われるため、原本ファイルと書き出した`.vngamepack`を別途保管してください。読み込んだパックには新しいIDが付与され、同名の既存パックも上書きしません。通常チャットへ添付した資料は、その会話の資料として利用されます。別チャットではゲームパックから再度起動してください。

v0.9.10から継承する機能
------------------------

- [VN_DATABASE]を解析前に記録候補へ保存
- セッション記録候補とDB更新候補を種別表示
- 正常なDB候補は既定で自動反映
- 解析・保存エラーは「要修正」として保持
- 取得したDB JSONを編集して再試行可能
- 人物・背景ごとに新規・更新・変更なし件数を表示
- DB保存成功／失敗を画面通知
- v0.9.9以前の記録候補データを自動移行

- 正常なVN_RECORDは検出後すぐにセッション記録へ自動反映
- 旧バージョンの記録設定も初回移行時に自動反映ONへ更新
- JSONエラーのある候補は自動反映せず、記録候補画面で修正可能
- Dキーまたはメインメニューから人物・背景DBを表示
- 人物の外見・性格・口調・能力特性と、背景の構造・周辺環境・雰囲気を保存
- 事件経過、判定結果、関係変化など世界線依存情報はDBへ保存しない
- VN_DATABASEタグから恒常設定だけを自動統合
- 名前検索、手動編集、JSON入出力、素材生成への条件引継ぎに対応
- 立ち絵管理・背景画像管理・素材生成の例示をAoL Hidden Wingへ統一
- 出力指示書v1.15を同梱
- 一般配布用アセット23立ち絵・19背景・3BGMを維持

ChatGPT VN Mode v0.9.8-prototype
================================

v0.9.8では、BGM・背景・本文表示を調整し、AoL無料ゲームパック向けの基本演出を整えました。

- BGM管理の曲別基準音量とESCメニューのマスター音量を最大150%へ拡張
- Web Audioの増幅処理を使い、100%を超える音量も実際の再生へ反映
- 音声バッファの連続ループにより、ループ境界のプレイヤー待機時間を0に変更
- 背景画像をフェードアウトしてから次の背景をフェードイン
- ページごとの本文をVN風に文字送り表示
- 本文クリック、次へ、Space、右矢印で現在ページを即時全文表示
- OSの「動きを減らす」設定では文字送りを省略
- 基本BGM「拠点シーン」「探索シーン」「戦闘シーン」を登録済みで同梱
- 出力指示書の例文をAoL・リオ第一話へ統一
- 出力指示書v1.14を同梱
- 最新アセット17立ち絵・21背景を維持

ChatGPT VN Mode v0.9.6-prototype
================================

v0.9.6では、戦闘結果に連動する軽量なCSSエフェクトとVN_EFFECTタグを追加しました。

- 斬撃、打撃、魔法、回復、防御、回避、ダメージ、撃破の8種を追加
- 対象敵、PC、戦場全体をtargetで指定
- ダメージ／回復値、MISS等の短いラベル、弱・通常・強の演出強度に対応
- 炎、氷、雷、闇、聖などの演出色と、連続攻撃用の開始遅延に対応
- 撃破と同時に敵が戦闘状態から消えた場合も、直前画像を使って消滅演出を継続
- 最新応答の確定時だけ一度再生し、バックログ閲覧では再発火しない
- 動きを減らすOS設定では、エフェクトアニメーションを即時完了
- VN_EFFECTのJSONエラーは本文を維持したまま通知
- 出力指示書v1.12を同梱
- 最新アセット17立ち絵・21背景を維持

ChatGPT VN Mode v0.9.5a-prototype
================================

v0.9.5aでは、戦闘コマンド列を撤去し、会話本文と選択肢を隠さない簡易ステータス表示へ整理しました。

- 画面下部の攻撃・防御・撤退・スキル・魔法・所持品コマンド列を撤去
- PC立ち絵上部の左上へ、PC名と主要リソース最大4件をコンパクト表示
- 簡易ステータスをクリックするとPCステータス画面を表示
- 詳細な所持品・スキル・魔法の確認と入力はPキー／PCステータスへ集約
- 敵表示、HP・状態更新、対象選択、バックログ再現、VN_BATTLE規格は維持
- 出力指示書はv1.11を継続

ChatGPT VN Mode v0.9.5-prototype
================================

v0.9.5では、会話しない敵を戦場へ保持する戦闘インターフェースとVN_BATTLEタグを追加しました。

- start／update／endによる戦闘開始・差分更新・終了
- 複数敵の画像、名前、HP等リソース、状態変化、対象選択を常時表示
- PCの主要リソースと、攻撃・防御・撤退・スキル・魔法・所持品の行動入力
- ボタン操作時は数値を直接消費せず、ChatGPTの確定結果だけを反映
- Ctrl＋左右で過去応答へ戻った場合も、その時点の戦闘状態を再現
- 背景画像管理の焦点X／Y調整を廃止し、中央cover表示へ統一
- 既存立ち絵の編集時、画像を差し替えなくても現在画像を調整プレビューへ表示
- 出力指示書v1.11を同梱

ChatGPT VN Mode v0.9.4-prototype
================================

v0.9.4では、立ち絵の表示調整へ実トリミングを追加し、拡大・移動と切り取りを分離しました。

- 上・右・下・左を0～45%で個別に切り取り
- 「下を切る」で頭部位置を維持した膝上構図を作成
- 管理画面の背景付きプレビューとVN本番画面へ同じ設定を適用
- 立ち絵レイヤーを専用クリッピング領域として画面外へのはみ出しを抑制
- 既存のscale／offsetX／offsetY設定を維持し、crop未設定は0%として互換表示
- 表示倍率の上限を160%から200%へ拡張
- 出力タグの変更はなく、出力指示書v1.10を継続

ChatGPT VN Mode v0.9.3-prototype
================================

v0.9.3では、PCステータス総合画面、所持品・スキル・魔法からの行動入力、進行中のPC状態差分更新を追加しました。

- 出力指示書v1.10を同梱
- PキーまたはメインメニューからPCステータスを表示
- PC立ち絵、能力、装備、所持品、スキル、魔法、状態変化、メモをタブ表示
- 所持品・スキル・魔法のボタンから、消費を確定せずVN入力欄へ行動文を追加
- pcStatePatchにより、変化したPC情報だけをセッション記録へ差分反映
- メインメニューの立ち絵・背景データ再読込を廃止し、保存時・VN切替時の自動更新へ統一

ChatGPT VN Mode v0.9.2-prototype
================================

v0.9.2では、未登録アセット安全処理、汎用シルエット、不一致ログ、個別表示調整を追加しました。

- 未登録背景は現在背景を維持
- 未登録話者・画像読込失敗は灰色シルエットへフォールバック
- 一文字違いだけを保守的に自動補正し、候補とTURNを最大300件記録
- Iキーで不一致ログを開き、JSON書き出し・消去に対応
- 立ち絵の倍率・X／Y位置、背景の焦点X／Yを管理画面で調整
- 登録済み背景と組み合わせるVN表示テストを追加
- 出力指示書v1.9を同梱

ChatGPT VN Mode v0.9.1-prototype
================================

v0.9.1では、元画像の解像度に左右されない立ち絵表示と、768×1024の共通キャンバスへ揃える自動正規化を追加しました。

立ち絵表示と自動正規化
----------------------
- VN画面の立ち絵を表示領域の高さ94%へ統一し、小さい元画像も適切に拡大表示します。
- 新規登録、画像更新、フォルダー一括登録では、透明部分から人物領域を検出して自動正規化します。
- 人物の縦横比を維持し、768×1024の透過キャンバスへ中央下揃えで配置します。
- 立ち絵管理から、選択項目または全立ち絵をまとめて正規化できます。
- 登録済み画像の正規化前には、原本を`assets/characters/backups/normalization-日時`へ保存します。
- 透明画素しかない画像は上書きせず、エラーとして通知します。
- 同じファイル名を更新した場合も、キャッシュを更新してVN画面へ即時反映します。

ショートカット中心UI
--------------------
- ChatGPT標準UIへ重ならないよう、画面左上の常駐メニューボタンを廃止しました。
- Escでメインメニューを開閉し、S／P／L／R／U／A／C／B／I／Hで各画面を直接開閉します。
- VでVNモード、Mでターンカウンターの一時停止／再開を切り替えます。
- 初回のVN有効化時だけ「Esc：メインメニュー｜H：ショートカット一覧」を通知します。
- 入力欄、日本語IME変換中、ChatGPT本体のモーダル表示中はショートカットを横取りしません。

sessionStart連動の自動開始
--------------------------
- 正常なsessionStartを記録へ反映すると、新規カードを現在チャットへ接続してTURN 0から自動開始します。
- 同じ記録にturnLogAppendが含まれる場合は、TURN 1の記録を保持して開始します。
- バックログの自動保存とVNフォルダーへの外部同期を同時にONにします。
- フォルダー権限が有効なら即時同期し、未接続または再許可待ちではブラウザ内保存を続けて「外部同期待ち」と通知します。
- 別セッションが進行中の場合は、その進行を停止せず、新規カードを下書きとして保持します。
- バックログ管理の自動保存・自動同期は、チェック、色、ON／OFF表示で現在状態を明示します。

ChatGPT VN Mode v0.8.9-prototype
================================

v0.8.9では、バックログを会話別に永続保存し、VNフォルダーへの外部同期と管理画面を追加しました。

永続バックログ
--------------
- 新しいChatGPT応答を会話IDごとにブラウザ内へ自動保存し、ChatGPT画面から古いDOMが外れてもCtrl＋←／→で再閲覧できます。
- メインメニューまたはLキーから「バックログ管理」を開けます。
- 管理画面では会話一覧、応答本文の検索、JSON／Markdown出力、削除、元チャットへの移動を行えます。
- 「このチャットの過去ログを取り込む」はChatGPT画面を上から順に走査し、既存チャットの読み込み可能な応答を保存します。
- 応答原文と表示解析結果を分離し、話者・背景・感情・選択肢・VN_RECORDを後から再解析できます。
- 自動保存は初期状態でONです。OFF中も現在DOMの一時バックログ表示は維持します。

VNフォルダーへの外部保存
------------------------
- 立ち絵・背景管理と共通のVNフォルダー接続を使用し、`data/backlogs`へ会話別JSONを保存します。
- 外部保存が未接続または再許可待ちでも、ブラウザ内のバックログを保持します。
- 再接続後は管理画面の「すべて同期」または会話単位の同期で未保存分を書き出せます。
- 拡張機能の再導入後も「外部保存を読み込む」で同じVNフォルダーから会話一覧を復元できます。
- 長期セッションでブラウザ内保存容量が不足しないよう、拡張機能のローカル保存容量制限を解除する権限を追加しています。保存内容はユーザーのPC内だけで扱い、外部サービスへ送信しません。
- バックログ削除はセッションDB、更新履歴、記録候補、立ち絵、背景へ影響しません。

ChatGPT VN Mode v0.8.8-prototype
================================

v0.8.8では、VNモードを解除せず過去のChatGPT応答を読み返せるバックログ機能を追加しました。

VNバックログ
------------
- Ctrl＋←で一つ前、Ctrl＋→で一つ後のアシスタント応答へ移動します。
- 通常の←／→、Space、画面クリックは、従来どおり現在の応答内のページ送りに使用します。
- 過去応答も話者、立ち絵、背景、感情演出、Narration、選択肢、最大5行のページ分割を再現します。
- 各応答で最後に表示していたページ位置を記憶します。
- 画面下部へ「応答番号／全応答数」「ページ番号」「最新／バックログ閲覧中」を表示します。
- バックログ閲覧中に新しい応答が確定しても、閲覧位置を強制的に最新へ移しません。
- Ctrl＋→で後続応答をたどり、最新表示へ復帰できます。
- バックログ閲覧中は新しい応答の生成画面で履歴表示を覆わず、生成中であることを状態欄へ表示します。
- 入力欄、編集フォーム、日本語IME変換中、管理画面、ChatGPT本体のダイアログ表示中はCtrl＋←／→を無効化します。
- VNモードOFF中はCtrl＋←／→を横取りしません。
- 現在ChatGPT画面に読み込まれている会話分岐だけを対象とし、生成途中の応答は確定後に追加します。

ChatGPT VN Mode v0.8.7-prototype
================================

v0.8.7では、Mキーによるターンカウンターの一時停止・再開と、立ち絵・背景管理の共通接続先を追加しました。

ターン一時停止ショートカット
----------------------------
- セッション進行中にMキーを押すと、現在のTURNを維持してターンカウンターを一時停止します。
- 一時停止中に再度Mキーを押すと、同じセッションを再開します。
- 停止中に行った画像生成や相談の入力は、再開後も遡ってターンへ加算しません。
- 現在のChatGPTチャットに接続されたセッションだけを操作し、別チャットのセッションや終了済みカードは変更しません。
- 成功時は現在TURNまたは次のTURNを、操作不能時は理由を画面上部へ表示します。
- メインメニューは従来どおりEscキーまたは画面左上のボタンで開閉できます。

立ち絵・背景管理の共通接続先
----------------------------
- 立ち絵管理と背景管理が同じVNフォルダー接続先を共有します。
- どちらか一方で初回設定すれば、もう一方も自動再接続します。
- v0.8.6で保存した立ち絵管理の接続先は、共通接続先へ自動移行します。
- ページ更新、タブ再表示、ブラウザ再起動後も、権限が有効なら自動接続します。
- 再許可が必要な場合は「接続を再開」、別フォルダーへ移る場合は「接続先を変更」を使用します。

ChatGPT VN Mode v0.8.6-prototype
================================

v0.8.6では、形式が揺れた終了・成長記録の互換変換、VNモードの直接切り替え、立ち絵管理の接続先記憶を追加しました。

操作と互換性の改善
------------------
- VキーだけでVNモードをON／OFFできます。入力欄や日本語IME変換中は反応しません。
- 切り替え時は画面上部へ現在のON／OFF状態を短時間表示します。
- sessionClosure内へ誤配置されたcustomAssessmentsを作品固有評価欄へ移動します。
- growthUpdateをgrowthConfirmationへ変換し、成長点と技能変化を成長記録欄へ反映します。
- 立ち絵管理で初回に選んだVNフォルダーを記憶し、ページ更新後や次回起動時に自動再接続します。
- ブラウザが書き込み権限を再確認する場合は、保存済み接続先に対する「接続を再開」だけで復帰できます。
- VNフォルダーを移動した場合や別バージョンを別フォルダーへ展開した場合は「接続先を変更」で再設定します。

ChatGPT VN Mode v0.8.5-prototype
================================

v0.8.5は、v0.8.4の画面・タグ仕様・ゲーム進行を維持しながら、今後の機能追加に備えて保守基盤を整理した試作版です。

保守基盤の変更
----------------
- ChatGPT画面の検出処理を一か所へ集約しました。
- VNタグと記録タグの解析を独立モジュールへ分離しました。
- ターン更新、記録承認、履歴復元の保存処理を共通ロックで保護しました。
- セッション編集画面が古いデータで新しいターンや記録を上書きしないよう、更新競合を検出します。
- 自動テストと開発ガイドを追加しました。

重要：本版は保守基盤の試作版です。初回利用前にv0.8.4のセッション全体JSONと拡張機能フォルダをバックアップしてください。

ChatGPT VN Mode v0.8.4
======================

v0.8.4では、メインメニューと各管理画面をキーボードから直接操作できるショートカット機能を追加しました。

キーボードショートカット
--------------------------
- Esc：現在の子画面または管理画面を一段閉じます。何も開いていない場合はメインメニューを開き、メインメニュー表示中は閉じます。
- M：メインメニュー
- S：セッション記録
- R：記録候補
- U：更新履歴・復元
- A：素材生成
- C：立ち絵管理
- B：背景画像管理
- I：アセット不一致ログ
- H：ショートカット一覧
- 同じ文字キーを再度押すと、対応する画面を閉じます。
- 入力欄、検索欄、編集フォームへフォーカス中、および日本語IMEの変換中は文字ショートカットを無効化します。
- ChatGPT本体のモーダルが前面にある場合、Escを含む拡張機能側のショートカットは反応しません。
- セッション記録の「セーブ／出力」など子画面が開いている場合、Escは子画面だけを先に閉じます。

ChatGPT VN Mode v0.8.3
======================

v0.8.3では、v0.8.2の記録編集機能に加え、長い会話の自動ページ分割と、形式が揺れたVN_RECORDを失わず取り込む寛容な登録処理を追加しました。

長文の自動ページ分割
--------------------
- 同じ話者の本文が会話枠で5行を超える場合、現在の画面幅と文字サイズを測定し、最大5表示行ごとに自動分割します。
- Narrationを含め、明示改行のない日本語長文が画面内で折り返された場合も分割対象です。
- 画面クリック、「戻る」「次へ」、左右キー、Spaceキーで従来どおり読み進められます。
- 会話枠内の縦スクロールは使用しません。話者、背景、感情指定は分割後の各ページへ引き継がれます。

形式が揺れたVN_RECORDの受理
---------------------------
- sessionEndはsessionClosure、nextIntroはnextIntroductionへ自動変換します。
- 正式項目へ対応できる内容は、従来どおりセッションカードの専用欄へ登録します。
- 対応欄のないタグや項目は、元のタグ名を残したMarkdownへ変換して「自由補足メモ」へ追記します。
- 正式項目と未対応項目が同じJSONに混在していても、エラー停止せず両方を保持します。
- 登録候補画面には、自動補正や自由補足への退避が行われることを事前表示します。

自由補足メモ
------------
- セッションカード下部へ、補足資料、原作との差異、補完情報、次回準備などを自由に記録できます。
- 入力内容は自動保存され、カード保存、全体JSON、Markdown出力へ収録されます。
- Markdown記法はそのまま保持されます。空欄の場合、Markdown出力では項目自体を省略します。
- v0.8.1以前のカードとバックアップは、自由補足メモを空欄としてそのまま読み込めます。

登録済みターン記録の編集
------------------------
- 各ターン記録の「編集」から、対応TURN、物語要約、場所、重要記録、タグを修正できます。
- TURN変更後は番号順へ自動的に並び替わります。
- 重複TURNと現在の進行値を超える番号は警告されますが、確認後は保存できます。
- 過去ログを編集しても、VN画面右上の現在TURNカウンターは変わりません。
- 編集前の状態は更新履歴へ保存され、記録ID、出典情報、記録日時も維持されます。

ターン同期（v0.8.1から継続）
----------------------------
ユーザーのメッセージ送信一回を1ターンとして数え、VN画面右上へTURN番号を表示します。さらに、進行中カードの確定値から次のTURNを算出し、送信時に[VN_RUNTIME_STATE]としてChatGPTへ同期します。
メインメニューの「セッション記録」でカードを作成し、「このカードで開始」を押すとTURN 0で待機します。続くユーザー送信がTURN 1です。

ターン計測は「このカードで開始」を押したChatGPT会話だけに固定されます。別のチャットで相談やエラー報告を行っても、その送信は進行中セッションへ加算されません。別チャット側の表示は「TURN --／別チャットでセッション進行中」になります。

v0.8.0c以前から進行中のカードには、一度だけ「このチャットに接続」ボタンが表示されます。実際にセッションを進めているチャットで押してください。現在のTURNと反映済みログを維持したまま、計測対象の会話だけを確定します。

記録候補の対応TURNが誤っている場合は、候補画面の「対応TURN」欄を承認前に修正できます。修正後に承認すると、その番号でターンログへ反映され、カードの現在TURNも必要に応じて進みます。

「ターン修正」で現在値を直した場合、次の送信には修正値+1が同期されます。VN専用入力欄とChatGPT標準入力欄の送信ボタン・Enter送信に対応します。一時停止中、終了後、未接続カード、別チャットでは同期情報を付与しません。

記録候補の「対応TURN」入力欄は、白背景・黒文字の高視認性表示です。

拡張機能管理画面で「再読み込み」を押した後は、必ず開いているChatGPTタブも再読み込みしてください。
再読み込み前のタブには旧コンテンツスクリプトが残るため、ブラウザのエラー画面に「Extension context invalidated」と表示されることがあります。ChatGPTタブの再読み込み後も同じエラーが新しく発生する場合だけ、不具合として確認してください。

新しいセッション記録カードは、次の順に縦読みできます。

1. セッション基本情報
2. 開始時PC
3. ターン記録
4. セッション終了記録
5. 主要NPC
6. 成長処理
7. 最終PC
8. 自由補足メモ

通常ターンのGM応答では、同梱の出力指示書v1.8に従ってturnLogAppendを出力してください。拡張機能が対応するTURN番号を自動付与します。v0.8.3の互換処理は形式の揺れに備える安全網であり、正式スキーマは引き続きv1.8です。

重要：v0.7系から更新する場合も、ブラウザ内の旧DBは初回読込時にlegacyArchiveへ退避されます。更新前には念のためv0.7.6のセーブ／ロード画面からキャンペーン全体JSONも保存してください。


ChatGPT VN Mode v0.7.6
=======================

v0.7.6では、キャンペーン概要を[VN_RECORD]から半自動更新し、その保存時点の内容を
セッションカードへ同梱できるようにしました。

キャンペーン概要連携
----------------------
- [VN_RECORD]のcampaignUpdatesから、キャンペーン名、使用システム、世界観・舞台、中心PC、進行状態、開始日、概要を更新できます。
- campaignUpdatesだけの候補を承認した場合、不要な新規セッションカードは作成されません。
- 記録候補の比較画面で、キャンペーン概要の変更前と変更後を確認できます。
- .vncard形式をv2へ更新し、保存時点のキャンペーン概要を参照用スナップショットとして同梱します。
- v0.7.5までの.vncard v1も引き続き読み込めます。
- 保存時点の概要が現在と異なるカードを読み込む場合、「カードだけを読み込む」「キャンペーン概要も更新」「中止」から選択できます。
- 読み込み時にキャンペーン概要が確認なしで上書きされることはありません。
- カード読込直前の履歴保存には、概要を更新するかどうかも記録されます。
- 出力指示書v1.4のcampaignUpdatesに対応しています。

ChatGPT VN Mode v0.7.5
=======================

v0.7.5では、セッション記録カードの出力・復元を、ゲームのセーブ／ロードに近い操作へ整理しました。
通常は選択中のカードを保存・読込するだけで、概要と世界状態をまとめて持ち運べます。

セッションカードのセーブ／ロード
----------------------------------
- セッション記録画面右上の「セーブ／ロード」を開きます。
- 「セッションカードを保存」は、選択中カードの概要、PC、NPC、人物関係、伏線、場所、アセット状況を一つの.vncardファイルへ保存します。
- 「セッションカードを読み込む」は、.vncardを現在のキャンペーンへ追加します。
- 同じカードIDが既に存在する場合は、新しいカードとして複製、既存カードを更新、読込中止から選べます。
- 読込直前のセッションDBは更新履歴へ自動保存されるため、誤操作後も戻せます。
- 「閲覧用Markdownを出力」は、人が読む記録やChatGPTへ渡す資料として利用できます。
- キャンペーン全体JSON、資料一括ZIP、従来の細分類Markdownは「詳細バックアップ」内に残しています。
- .vncardの読込はセッションDBだけを対象とし、立ち絵・背景データには影響しません。

v0.7.4から継続して、PC・NPC・人物関係・伏線・場所・アセット状況を各セッションカード内へ統合しました。
セッションごとの世界状態を保ちながら、前回状態の継承とパラレル世界線への分岐ができます。

ChatGPT VN Mode v0.7.4
=======================

v0.7.4では、PC・NPC・人物関係・伏線・場所・アセット状況を各セッションカード内へ統合しました。
セッションごとの世界状態を保ちながら、前回状態の継承とパラレル世界線への分岐ができます。

セッション統合型・世界線対応DB
--------------------------------
- セッションカードを選ぶと、概要、PC、NPC、人物関係、伏線・設定、場所、アセットの7タブが表示されます。
- [VN_RECORD]の人物・関係・伏線などは、承認時に選択したセッションカード内部だけへ反映されます。
- 「＋ 新規」は選択中のセッション終了時点の世界状態を複製し、次のセッションとして継承します。
- 「この状態から分岐」は親カードを記録し、独立した世界線IDを持つ複製カードを作ります。
- 過去のセッションカードは当時の人物状態・関係・伏線を保持し、後続カードの更新では書き換わりません。
- 旧形式の共通PC・NPC等は削除せず旧共通記録として保護し、既存の各セッションへ初期状態として複製します。
- 世界線IDはセッション概要タブから編集できます。
- Markdownの個別記録カードにも、そのセッション内のPC・主要NPC・世界線IDを出力します。

v0.7.3から継続して、セッションDBの更新履歴、取り消し、任意スナップショット、復元、
左上固定・ブラウザ全体へ広がる全画面メニューを利用できます。

更新履歴・復元
--------------
- メインメニュー、または拡張機能ポップアップから「更新履歴・復元」を開きます。
- [VN_RECORD]候補を承認する直前のセッションDBを、差分概要付きで自動保存します。
- セッション記録画面で手動編集した場合も、画面を閉じる際に編集前状態を保存します。
- JSONバックアップから復元する直前にも、現在の状態を自動保存します。
- 「現在を保存」で、任意名の完全スナップショットを作成できます。
- 「直前の更新を取り消す」または履歴詳細の「この状態へ復元」でDBを戻せます。
- 復元直前の状態も自動保存されるため、復元後に元の状態へ戻せます。
- 履歴は新しい順に最大30件、容量上限内で保持します。
- 復元対象はセッションDBだけです。立ち絵、背景、素材履歴、未処理の記録候補には影響しません。

全画面メインメニュー
--------------------
- メインメニューボタンを画面左上へ固定しました。
- メニューはVN領域から独立し、ブラウザ表示領域全体へ展開します。
- 項目は画面幅に応じて4列・3列・2列・1列へ自動調整されます。
- 背景クリック、Esc、閉じるボタンで終了できます。

v0.7.2から継続して、GM応答末尾の[VN_RECORD]を検出し、セッションDBへ反映する前に
内容を確認・修正・承認できます。余分な[VN_RECORD]タグやJSONコードフェンスも自動補正します。

ChatGPT VN Mode v0.7.2
=======================

v0.7.2では、GM応答末尾の[VN_RECORD]を検出し、セッションDBへ反映する前に
内容を確認・修正・承認できる半自動記録機能を追加しました。

半自動記録
------------
- 出力指示書v1.4に従った[VN_RECORD]ブロックを、VN本文から自動的に除外します。
- 正常なJSONは「確認待ち」、不正なJSONは「要修正」の記録候補として保存します。
- VN画面のメインメニュー、または拡張機能ポップアップから「記録候補」を開けます。
- 候補ごとに反映先セッションを選び、JSONを直接修正してから承認できます。
- 承認時だけセッションDBを更新し、却下した候補は反映しません。
- あらすじ、現在地、目的、PC、NPC、人物関係、伏線、場所、アセット状況を更新できます。
- 同じ応答IDと同じ記録内容を処理済みとして保持し、再描画による二重登録を防止します。
- 記録JSONが壊れていてもVN本文のページ分割と表示は維持されます。
- 既存の長文項目は重複を避けて追記し、候補と無関係な手動項目は維持します。
- 「確認せず自動反映」は任意設定で、初期状態では無効です。
- 自動反映を有効にする際は確認画面を表示します。

v0.7.1から継続して、手動セッションデータベースの内容をMarkdown、JSON、ZIPへ
書き出し、JSONバックアップから同じ状態へ復元できます。

セッション記録
----------------
- 画面左上の「メインメニュー」から「セッション記録」を選びます。
- 拡張機能アイコンのポップアップから直接開くこともできます。
- キャンペーン概要とセッションカードを管理し、PC、NPC、人物関係、伏線・設定、場所、アセット状況は各セッションカード内で分類します。
- セッションカードには目的、結果、開始・終了地点、重要な出来事、要約、引継ぎ、成長・状態変化、判明情報、未解決事項を記録できます。
- PCシートには文字列、数値、長文メモ、チェック状態、項目グループ、能力値・技能、一覧を自由に追加できます。
- 各記録には重複しにくい内部ID、作成日時、更新日時が付与されます。
- 入力内容は約0.45秒後にchrome.storage.localへ自動保存され、右上に保存状態が表示されます。
- 保存データには形式バージョンと更新回数が付き、立ち絵・背景・素材生成履歴とは別の領域に保存されます。
- ブラウザまたはChatGPTタブを再起動しても記録は再読み込みされます。
- 削除時は確認画面を表示します。
- 右上の「セーブ／ロード」から、選択中のセッションカードを.vncardで保存・読込できます。
- 閲覧用Markdownは基本操作から、詳細記録、次回用引継ぎ、全セッションなどは「詳細バックアップ」から出力できます。
- MarkdownはUTF-8 BOM付き、日本語を維持したWindows向けファイル名で保存します。
- 「全データ JSON」はセッションDB全体を完全バックアップします。
- 「JSONから復元」は現在のセッションDBをバックアップ内容で置き換えます。復元前に確認画面を表示します。
- 「Markdown＋JSON 一括ZIP」は主要資料、個別セッションカード、次回引継ぎ、完全バックアップを一つにまとめます。
- 更新履歴、取り消し、スナップショット、NPCを含む世界状態の統合に対応しています。

v0.6.2から継続する素材生成機能では、生成画像の透過状態と縦横比を確認し、用途に合う候補を
自動的に優先する機能と、アセット制作履歴を追加しました。

素材生成ウィザード
-----------------------

1. ChatGPTの画面でVNモードを有効にします。
2. 左上の「メインメニュー」から「素材生成」を選びます。
3. 「VN立ち絵（透過）」または「VN背景（16:9）」を選びます。
4. 登録名と、人物の外見または場所の説明を入力します。
5. 必要に応じて画風、構図、雰囲気、除外条件を調整します。
6. 右側の生成プロンプトを確認し、「ChatGPTで生成」を押します。
7. 生成画像が表示されると、画面右下に「生成画像を検出しました」と表示されます。
8. 「立ち絵として取り込む」または「背景として取り込む」を選びます。
9. 管理画面でVNフォルダを選択し、内容を確認して「登録する」を押します。

立ち絵では透過・縦長・一人・頭から膝付近まで、背景では横長16:9・人物を
主役にしない構図がテンプレートとして自動入力されます。入力途中の条件は
ブラウザ内へ保存され、次回ウィザードを開いた際に復元されます。

登録名、画像、WebP保存ファイル名は管理画面へ自動入力されます。管理画面では
従来と同じWebP品質設定を使用し、characters.jsonまたはbackgrounds.jsonへ
保存します。画像の直接取得に失敗した場合は「保存して手動登録」を利用できます。
検出されない場合は素材生成画面の「生成画像を再検出」を押してください。

候補画像の優先順位
-------------------
- 立ち絵：透過あり、縦長、新しく表示された画像の順に優先
- 背景：横長、新しく表示された画像の順に優先
- 候補パネルに「透過あり」「透過なし」「透過判定不可」と縦横比を表示
- 透過版が後から現れた場合は、自動的に推奨候補へ切り替え
- 「前の候補」「次の候補」で手動選択した後は、その選択を維持

アセット制作履歴
----------------
- 画像生成を依頼すると、登録名・素材種別・生成条件・プロンプトを保存
- 「生成待ち」「候補検出済み」「登録画面へ送信済み」の状態を表示
- 過去の生成条件を現在の入力欄へ再利用
- 同じプロンプトをワンクリックで再生成
- 個別削除と、完了済み履歴の一括整理
- 最大30件をブラウザ内へ保存

概要
----
ChatGPTの既存会話欄を直接装飾する方式から、拡張機能側に独立した
ビジュアルノベル画面を構築する方式へ変更した試作版です。

画面構成
--------
- 上部：背景画像、左側のPC、右側の現在話者を表示するVNステージ
- ステージ下部：半透明の名前欄・会話ウィンドウ
- 最下部：ChatGPTへ送信する専用入力欄
- 左上：メインメニュー

主な変更
--------
- 背景画像管理、[BG: 背景名]切り替え、別名、初期背景、履歴復元、クロスフェードに対応
- 専用フォルダ内のPNG・JPG・WebP立ち絵を一括登録
- 画像ファイル名を初期キャラクター名として自動採用
- 登録時に全画像をWebPへ自動変換
- 同名キャラクターを省略、または既存の別名・PC指定を維持して画像だけ更新
- 登録済みキャラクターの複数選択・全選択・一括削除
- 一括削除前の対象件数・対象名確認
- 一括処理でもcharacters.jsonのバックアップを1回だけ作成
- Character Manager v0.2相当の立ち絵管理機能をVN本体へ統合
- 右上にメインメニューを追加
- メニューからChatGPT画面内の立ち絵管理オーバーレイを直接起動
- フォルダ選択処理をhttps://chatgpt.com側のメイン実行環境で動作
- 立ち絵データ再読込、立ち絵ON/OFF、VN ON/OFFをメニューへ集約
- 管理画面で保存すると、開いているVN画面へ立ち絵データ更新を自動通知
- Character Managerを別拡張機能として導入する必要を解消
- 独立したVN専用画面を新設
- ChatGPT標準会話欄のDOMを直接書き換えない方式へ変更
- 最新のアシスタント応答だけを読み取り、独自会話窓へ再表示
- 応答生成中は画面中央に大きな発光文字を明滅表示
- 生成中は背景と立ち絵を暗くし、生成停止後に約1.4秒待って応答を反映
- characters.jsonでroleをplayerにしたPCを左側へ常駐表示
- NPC・Narrationは右側へ表示し、現在の話者側を明るく強調
- PC自身の発言では右側への重複表示を避け、左側のPCを強調
- 感情マークと立ち絵モーションを、実際の話者側へ振り分け
- PC指定のないcharacters.jsonでは従来の1名表示へ自動フォールバック
- 同じ応答をハッシュで識別し、重複処理を防止
- [SPEAKER: 名前]から名前欄と立ち絵を更新
- [EMOTION: 感情名]から喜・怒・哀・驚の一時感情マーク・色調・立ち絵モーションを表示
- 拡張側の入力欄からChatGPT標準入力欄へ内容を転送して送信

導入方法
--------
1. ZIPを展開します。
2. Google Chromeで chrome://extensions/ を開きます。
3. デベロッパーモードを有効にします。
4. 「パッケージ化されていない拡張機能を読み込む」を選びます。
5. 展開済みの36-VN-Engine-v1.1-distributionフォルダを指定します。
6. ChatGPTタブを再読み込みします。
7. 左上の「メインメニュー」から「VN OFF」を押すとVNモードが有効になります。

対応ブラウザ
------------
- 推奨：Google Chrome
- 動作確認済み：Microsoft Edge、Avast Secure Browser
- 条件付き対応：Brave
- Braveでフォルダ選択が機能しない場合は、brave://flags/#file-system-access-api をEnabledに変更し、ブラウザを再起動してください。

内蔵立ち絵管理
--------------
- 画面左上の「メインメニュー」から「立ち絵管理」を選びます。
- ChatGPT画面内に管理画面が重なって表示されたら、展開済みの36-VN-Engine-v1.1-distributionフォルダを選択します。
- キャラクター名、別名、立ち絵、PC指定を登録・編集・削除できます。
- 登録済みキャラクターは、立ち絵画像を再選択せずに別名やPC指定だけを更新できます。
- 「立ち絵フォルダを選択」でフォルダ直下の対応画像をまとめて登録できます。
- 一括登録では画像ファイル名（拡張子を除く）がキャラクター名になります。
- 「同名の登録済みキャラクターは画像だけ更新」を有効にすると、既存の別名・PC指定を維持して立ち絵を更新します。
- 登録済み一覧のチェック欄から複数キャラクターを選択し、一括削除できます。
- フォルダ内のサブフォルダは読み込まず、直下のPNG・JPG・JPEG・WebPだけを対象にします。
- 管理画面右上の「閉じる」またはEscキーでVN画面へ戻れます。
- characters.json更新前にcharacters.backup.jsonを自動作成します。
- 保存後は開いているVN画面へ更新が通知され、立ち絵データを自動再読込します。
- 反映されない場合は立ち絵管理画面内の「再読み込み」を押してください。
- ブラウザの安全仕様により、管理画面を開くたびにVNフォルダの選択が必要です。

出力例
------
[SPEAKER: リオ]
[BG: ラストヘイヴン冒険者ギルド]
[EMOTION: joy]
依頼の報告に来ました。

PC常駐表示
----------
- characters.jsonの対象キャラクターに "role": "player" を追加します。
- 同梱例ではリオがPCに指定されています。
- PCは1名だけ指定してください。内蔵の立ち絵管理画面で指定できます。
- PC発言中は左側のPCが明るくなり、右側へ同じ立ち絵を重複表示しません。
- NPC・Narration発言中はPCが左側に少し暗く残り、現在話者が右側で強調されます。
- 未登録NPCの場合は右側だけ非表示になり、PCは左側に残ります。

応答生成中表示
--------------
- VN入力欄から送信した直後、画面中央に「応答生成中…」を表示します。
- ChatGPT本体の生成停止ボタンも監視し、生成中表示を維持します。
- 文字は約1.2秒周期で穏やかに明滅し、背景と立ち絵は一時的に暗くなります。
- 応答確定後は中央表示を消し、新しい応答の1ページ目へ切り替えます。

感情マーク・色調・立ち絵モーション
----------------------------------
- [EMOTION: joy]で金色の「✦」と淡い金色の明るい色調を表示します。
- [EMOTION: anger]で怒りマークを表示します。
- [EMOTION: sadness]で涙マークを表示します。
- [EMOTION: surprise]で大きな「！」を表示します。
- 感情マークはページ表示時に約1.2～1.5秒だけ現れ、感情別に動いてフェードアウトします。
- joyはキラキラが上昇し、angerは弾けて震え、sadnessは涙が下へ落ち、surpriseは「！」が飛び出して上へ抜けます。
- 前後移動で感情ページを再表示した時は、感情マークのアニメーションを再び再生します。
- angerでは短い赤色フラッシュ、sadnessでは薄暗い青色調、surpriseでは瞬間的な白色フラッシュを表示します。
- joyとsadnessの色調はページ表示中に淡く残り、angerとsurpriseのフラッシュは自動的に消えます。
- 色調演出は背景・立ち絵へ作用し、会話ウィンドウと操作欄の読みやすさは維持します。
- joyでは立ち絵が軽く2回弾み、angerでは細かく左右に振動します。
- sadnessでは立ち絵がゆっくり沈み、surpriseでは瞬間的に上へ跳ねます。
- 立ち絵モーションはページを表示した時に一度だけ再生し、前後移動でページを再表示した時は再び再生します。
- 立ち絵OFF、Narration、画像未登録の話者ではモーションを実行しません。
- 感情タグは直前の[NARRATION]または[SPEAKER: 名前]と同じページに置きます。
- 感情タグ自体はページを増やさず、会話本文にも表示されません。
- 未対応の感情名は表示せず、通常ページとして安全に処理します。
- OS側で視覚効果を減らす設定が有効な場合、色調演出と立ち絵モーションを省略し、感情マークは移動せず短いフェードだけを表示します。

ページ送り
----------
- [NARRATION]または[SPEAKER: 名前]が現れるたびに、新しいページを開始します。
- 会話窓のクリック、「次へ」ボタン、Spaceキー、右矢印キーで次へ進めます。
- 「戻る」ボタンまたは左矢印キーで前のページへ戻れます。
- 最初のページでは「戻る」、最後のページでは「次へ」が無効になります。
- 前後移動すると、名前欄・立ち絵・本文がそのページの状態へ復元されます。
- ページ移動時は会話欄のスクロール位置が先頭へ戻ります。
- ページ切り替え時は名前欄、本文、立ち絵が約0.2秒でフェード表示されます。
- OS側で視覚効果を減らす設定が有効な場合、フェード演出は自動的に省略されます。
- 新しい応答が確定すると、自動的にその応答の1ページ目を表示します。
- ページ番号は会話窓の右下に表示します。
- [CHOICES]タグだけを非表示にし、内側の番号付き選択肢は最終ページに本文として表示します。
- ChatGPTが番号付きリストをMarkdownへ変換した場合も、各項目の番号を本文へ復元します。

推奨出力例
----------
[NARRATION]
冒険者ギルドの扉が静かに開いた。

[SPEAKER: リオ]
[BG: ラストヘイヴン冒険者ギルド]
[EMOTION: joy]
「共同井戸の調査結果を報告します」

[CHOICES]
1. 現在の状況を尋ねる
2. 外交状況を確認する
3. 別の話題を切り出す
[/CHOICES]

現在の制限
----------
- 表情差分と効果音には未対応です。BGMはv0.9.8以降で対応します。
- 複数立ち絵はPC1名＋現在話者1名の最大2名表示です。
- タグのない応答はNarrationの1ページとして表示します。
- 同じ話者の文章でも、ページを分けたい場合は話者タグをもう一度記述してください。
- ChatGPT側のUI変更により入力欄や送信ボタンの検出が失敗する可能性があります。
- 初回は必ず通常のChatGPT入力欄が利用可能な状態で試してください。

動作確認項目
------------
- VN ONで独立画面が表示される
- VN OFFで通常のChatGPTへ戻れる
- [SPEAKER: リオ]でリオの立ち絵が出る
- [SPEAKER: グラント]でグラントへ切り替わる
- [EMOTION: joy]で喜びマークが短時間表示され、タグ本文は表示されない
- anger、sadness、surpriseでも対応するマークへ切り替わる
- 4種類の感情マークが感情別に動き、約1.2～1.5秒で完全にフェードアウトする
- 前後移動で感情ページを再表示すると感情マークのアニメーションが再び再生される
- joyで淡い金色、angerで赤色、sadnessで青色、surpriseで白色の画面演出が表示される
- angerとsurpriseのフラッシュが短時間で消え、joyとsadnessの色調がページ表示中に淡く残る
- joyのマークが「✦」だけになり、音符が表示されない
- joyで立ち絵が軽く弾み、angerで細かく左右に振動する
- sadnessで立ち絵がゆっくり沈み、surpriseで瞬間的に上へ跳ねる
- 前後移動で感情ページを再表示すると立ち絵モーションが再び再生される
- 立ち絵OFF、Narration、画像未登録の話者ではモーションが実行されない
- 会話ウィンドウと最下部入力欄が色調演出で読みにくくならない
- OSの「視覚効果を減らす」設定時に色調演出と立ち絵モーションが省略され、感情マークは移動せず短いフェードだけになる
- 感情タグだけではページが分割されない
- 未対応の感情名でも本文表示とページ送りが壊れない
- 複数の話者タグを含む応答が1ページずつ表示される
- 会話窓クリック・次へボタン・Space・右矢印でページが進む
- 戻るボタン・左矢印で前ページへ戻る
- 前後のページ切り替え時に名前欄、本文、立ち絵がフェード表示される
- 前後移動時に名前欄・立ち絵・本文とスクロール位置が復元される
- 最終ページに番号付き選択肢が本文として表示される
- 応答生成中に立ち絵が頻繁に切り替わらない
- 送信直後に中央の「応答生成中…」が表示され、生成完了後に消える
- characters.jsonでroleがplayerのPCが左側へ常駐する
- PC発言では左側が強調され、右側へPCが重複表示されない
- NPC・Narration発言では右側が強調され、左側PCが少し暗く残る
- PCとNPCの感情演出が対応する左右へ正しく表示される
- PC指定がない旧characters.jsonでも従来どおり話者立ち絵が表示される
- 最下部入力欄から送信できる
- ページ再読み込み後もON/OFF設定が保持される
- メインメニューから立ち絵管理をChatGPT画面内に表示できる
- 管理画面内の「VNフォルダを選択」からフォルダ選択画面を開ける
- 保存後にVN画面の立ち絵データが自動再読込される
- 手動の「立ち絵データ再読込」でもcharacters.jsonを反映できる

注意
----
これは画面再構築の検証を目的とした試作版です。
問題が発生した場合は左上のメインメニューからVN ONボタンを押して通常表示へ戻してください。


【v0.4.1 Narration Patch】
・[NARRATION] タグをNarrationキャラクターとして表示します。
・[SPEAKER] タグのない応答もNarrationへ自動フォールバックします。
・ナレーション本文も会話窓へ必ず反映します。
・Narration.pngを標準立ち絵として追加しました。
・タグが本文行内にあっても表示本文から除去します。

【v0.4.2 Page Advance】
・話者タグとNarrationタグをページ境界として解析します。
・ページごとに名前欄、立ち絵、本文を同期して切り替えます。
・選択肢のボタン化は行わず、最終ページの本文として保持します。
・日本語名の立ち絵ファイルを正常なファイル名へ修復しました。
