Skip to content

v0.2.9

Choose a tag to compare

@github-actions github-actions released this 24 Sep 06:28
· 10 commits to main since this release
v0.2.9
b850bb0

動作の軽量化

  • サーフェス画像のキャッシュにキャラクターごとの上限(推定16MiB・128件)を設け、使われていない画像から解放するようにした。画像合成の共通化と、終了・再読込時の描画資源の解放も行った
  • 発話履歴で同じサムネイルを共有し、画像の読み直しを減らした。履歴更新をまとめ、閉じた履歴画面の描画処理を解放することで、履歴が増えた時の文字送りの負荷を抑えた
  • 呼び出しゴーストの休止中はアニメーション・音声・ファイル監視を止め、不要な画像キャッシュを解放するようにした。復帰時は休止時間を除いて再開し、保留中のSHIORI通知・応答を処理する
  • HTTPの進捗・ストリーミング通知を順番に処理し、タスクや応答データの重複保持を減らした。ウインドウモードのゴースト切り替えで、古いEscapeキー処理が残る問題も修正した

表示・配置の修正

  • 発話履歴のサムネイルが透明になる不具合を修正し、icon.rectや画像上部の切り抜き方向も修正した
  • 起動時にシェルが自由配置を指定していても、ゴーストごとの「画面下に固定」設定を優先するようにした
  • balloonoffsetの変更・解除、会話終了、再読込で、利用者がドラッグしたバルーンの移動分を保持するようにした。位置初期化・プリセット復元にも反映する
  • dumpsurfaceで負座標を含む合成画像を書き出せるようにし、「ゼロ位置切り出し」指定時だけ負座標部分を切り落とすようにした。表示用キャッシュと分離し、極端な合成範囲の拡張も制限した

SHIORI・SakuraScript互換性

  • OnBalloonBreak・OnSSTPBreak・消滅キャンセルの中断位置を、タグやエスケープを含むスクリプト先頭からの文字数で通知するようにした。話者・翻訳後のスクリプト・埋め込み応答の位置も追跡する
  • SSTPの中断対象を再生中の会話から取得し、nobreakの予約があっても正しい対象を通知するようにした。会話の置き換え・キャンセル時には残った予約を破棄する
  • SHIORIの起動・終了をNOTIFYで送り、ゴースト/SHIORI再読込時にReference0=reloadを渡すようにした。NOTIFYの返答では発話を開始しない
  • 起動時の画面情報・着せ替え一覧通知を追加した。ウインドウモードでは、その表示領域の変更を対象ゴーストへOnDisplayChange/OnDisplayChangeExで通知する
  • 着せ替えの複数変更は最後だけGET、それ以前はNOTIFYで送り、100件以上は全状態の通知にまとめるようにした。メニュー・スクリプト操作への返答も再生する
  • OnSurfaceChangeをNOTIFYへ修正し、キャラクターIDと画像サイズを追加した。バルーン情報には追加キャラクターの画像番号も含めるようにした
  • 「ウインドウ位置を初期化」でゴーストの返答を優先し、返答がない時だけ標準の位置初期化を行うようにした

Full Changelog: v0.2.8...v0.2.9

🛡️ VirusTotal Scan