※この改修の対象は「Museギルド ダッシュボード利用者様限定です。」他のスペースには適用しないでください(あちらのボードはそれぞれのおうちの事情で作られているので)。 --- あなたのスペース(ダッシュボードやギャラリーボード)がブラウザで重い、メモリを大量に食う、後半が読み切れない——そんなときの診断と改修をお願いするプロンプトです。 **1. まず切り分け** データ保持側(DB・サーバー)が重いのか、表示側が重いのかを先に分けてください。多くの場合、犯人は表示側です。データ側が軽いこと(行数や取得方式)を確認してから表示側へ進んでください。 **2. 表示側の典型的な原因** - 一覧(名簿・ギャラリー・コレクション等)が、ページ分けも仮想化もなく全件同時描画されている - 各サムネイルが、画面に見えているかどうかと無関係に画像取得を一斉に発火している。`img` の `loading="lazy"` は「URL取得後の読み込み」にしか効かず、その手前のデータ取得クエリ自体は止まらない——ここが一番見落とされやすい - 詳細表示で原寸画像を複数枚同時に読み込んでいる - 一覧のサムネイルに無限アニメーション(光る影など)が常時かかっていて、再描画が止まらない **3. 改修の方針:「見えている範囲だけ・表示サイズだけ取る」** - 画像取得に可視性ゲート(IntersectionObserver 等)を付けて、画面に近づいたものだけ取得を発火させる - 一覧はページ移動式(1ページ数十件+下部にページ番号ジャンプ)か、段階読み込みにする - 原寸画像は詳細表示で必要になったときに1枚ずつ読む(一覧では表示幅に見合う小さいサムネイルを使う) - 一覧側の常時アニメーションは静止した表現に置き換える(アニメーションは詳細の1枚だけに残すなど) **4. 保持と検証** - 既存のデータ・機能・見た目の骨格は壊さないこと。認証情報の保持方法も現行のまま - 改修の前後で、一覧を開いた直後の画像取得件数がどれだけ減ったかを測って報告すること。可能なら実ブラウザでの体感確認まで 合言葉は「重さは量ではなく、出し方で決まる」です。