Skip to content

待機中の3D描画と画面終了時のリソース解放を修正 - #82

Open
yutteee wants to merge 1 commit into
mainfrom
codex/fix-idle-rendering
Open

yutteee wants to merge 1 commit into
mainfrom
codex/fix-idle-rendering

Conversation

@yutteee

@yutteee yutteee commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

概要

折り紙の投稿・詳細画面が無操作でも描画し続け、画面を離れたり投稿画面のサイズ設定を変えたりすると古い描画ループが残る問題を修正します。静止時は描画を停止し、変更やアニメーションがある時だけ描画します。

変更内容

  • 新旧の投稿・詳細画面に必要時だけ描画する共通処理を導入し、非表示時と終了時の描画予約を解除。
  • 終了時にOrbitControlsのイベント、板・線・影などのリソース、rendererを破棄。旧版の板や強調表示の差し替え時にもリソースを解放。
  • 新版投稿のサイズ・カメラ座標の更新をシーン初期化から分離し、設定変更によるループ増殖を防止。
  • 折り・裏返し・視点移動・慣性移動の動作中は描画し、静止後に停止。
  • Storybookの新版詳細画面は自動再生せず、「再生」「一時停止」で切り替える方式に変更。
  • 静止・再描画の集約・非表示・終了・サイズ変更・StrictMode・リソース解放の回帰テストを追加。

検証

  • PRブランチで42ファイル・236テスト成功、git diff --check成功。
  • 実ブラウザーで新版投稿を27秒、旧版投稿を29秒放置し、追加描画0回を確認。修正前は約59回/秒。
  • 幅変更後も継続する描画ループ0本。折り・裏返しの中間フレームを保存して表示を確認し、完了後の予約0本を確認。
  • 新版投稿を離れた後はバッファ91/91個・描画プログラム17/17個、旧版投稿は35/35個・4/4個の解放を確認。
  • 新版詳細の初期状態で26秒、一時停止後30秒の追加描画0回を確認。
  • 変更ファイルのLintエラー0。既存のHook依存配列警告は残っています。

備考

  • 実ブラウザー検証は作業ツリーで実施。その後、既存PR #81の変更を含めず最新mainに今回の修正だけを移し、上記236テストを再実行しました。
  • PRブランチの型チェックは、変更していないdesign-systemのreact-aria-components解決エラーと、それに伴う暗黙anyの計4件で停止しています。既存のローカル依存設定を含む元の作業ツリーでは型チェックが成功しています。
  • Chrome全体の50GB使用・クラッシュは未再現であり、その完全解消を保証するものではありません。

@vercel

vercel Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
ori-cube Ready Ready Preview Sep 9, 2026 2:33pm UTC
ori-cube-storybook Ready Ready Preview Sep 9, 2026 2:33pm UTC

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant