Cabinetあっしゅクリーン太郎 v0.1.5（試作版）
=============================================

■ 概要
楽天R-CabinetのJPG/JPEG画像を指定条件で再圧縮し、「画像 差し替え」で上書きするChrome拡張です。
画像URL・縦横サイズ・ファイル名は維持する設計です。

■ 処理範囲
次の2モードを選べます。
1. このフォルダ
   現在開いているR-Cabinetフォルダ全体を診断・処理します。
2. 自分で選択済みの画像のみ
   現在表示中のページで、R-Cabinet標準のチェックボックスを自分でONにした画像だけを診断・処理します。
   診断・処理開始時に画像ID・URL・ファイル名等をスナップショット保存するため、その後チェック表示が外れても対象リストは維持されます。

※「選択済み画像のみ」は現在表示中のページが対象です。ページをまたいで選択した画像を自動統合する仕様ではありません。

■ 初期設定
・対象：300KB以上
・目標容量：200KB
・JPEG品質：82%から開始、最低75%
・最低削減率：1%
・縦横サイズ：変更しない
・対応形式：JPG/JPEGのみ

■ UI
R-Cabinet画面右下に「Cabinetあっしゅクリーン太郎」が表示されます。
基本設定は閉じた状態で起動します。
処理範囲を「このフォルダ」「自分で選択済みの画像のみ」から選択できます。
選択画像モードでは、現在のページで選択中の枚数を表示します。
診断ボタンのすぐ下に処理開始ボタンがあります。
処理完了時は、成功・スキップ・失敗・削減容量を大きな完了パネルで表示します。
ツール外をクリックすると自動的に縮小します。
右上の [使い方] から https://enhance-assist.jp/cabinet-ash-clean-taro/ を開けます。

■ インストール
1. ZIPを展開します。
2. Chromeで chrome://extensions/ を開きます。
3. 右上の「デベロッパーモード」をONにします。
4. 「パッケージ化されていない拡張機能を読み込む」を押します。
5. cabinet-ash-clean-taro フォルダを選択します。
6. R-Cabinetを再読み込みします。

■ 使い方（フォルダ全体）
1. R-Cabinetで処理したいフォルダを開きます。
2. 処理範囲「このフォルダ」を選びます。
3. 「このフォルダを診断する」で対象枚数・削減見込みを確認します。
4. 「処理開始」を押します。
5. 確認ダイアログで内容を確認して実行します。

■ 使い方（選択画像のみ）
1. R-Cabinetの現在のページで、処理したい画像のチェックボックスをONにします。
2. 処理範囲「自分で選択済みの画像のみ」を選びます。
3. 「選択した○枚を診断する」で選択画像だけ診断できます。
4. 「選択した○枚を処理」を押すと、選択画像だけを対象に差し替えます。

■ ページ再読み込みへの対応
処理開始時に対象リストと進捗をChromeストレージへ保存します。
差し替えの最終「変更」後などにR-Cabinet側でページが再読み込みされても、再読み込み後に「続きから再開しますか？」と確認します。
再開した場合、最終「変更」直前まで進んでいた画像を二重圧縮しないよう、完了済み扱いとして次の画像から続行します。

■ 重要
このツールは既存画像を「差し替え」で上書きします。元画像はR-Cabinet上では残りません。
必ず少数のテスト用フォルダ・テスト画像で検証してから本番利用してください。

■ 注意
・楽天RMS側のDOMや差し替え画面が変更された場合は動かなくなる可能性があります。
・差し替え後に想定外の確認画面が出た場合、ツールは安全のため停止することがあります。
・画像再圧縮ではICC/EXIF等の付加情報が失われる場合があります。
・GIF/PNG/WebP等は処理しません。
・「選択画像のみ」は現在表示中ページの選択状態を開始時に取得します。

■ v0.1.5 変更点
・「自分で選択済みの画像のみ」モードを追加。
・選択画像だけの診断に対応。
・選択画像だけの圧縮・差し替えに対応。
・選択枚数をUIに表示。
・処理開始時に対象画像リストと進捗を保存。
・R-Cabinet側のページ再読み込み後に途中処理を再開できる仕組みを追加。
・再読み込み時の二重圧縮を避けるため、最終「変更」直前の状態を保存。

■ ファイル構成
manifest.json   Chrome拡張設定
content.js      UI・診断・R-Cabinet操作
content.css     UIデザイン
page-main.js    RMSページ本体の関数を呼ぶ橋渡し
background.js   画像取得・JPEG圧縮
README.txt      この説明
