3.1 KiB
改善・検証記録
対象: 852wa/ComfyUI-ColorshiftColor
基準コミット: faedbc433198cf31469862edf4d420067811aa42
作業ブランチ: fix/color-processing-reliability
修正前後の確認
以下の6件は修正前のコードで再現するテストを作成し、修正後にすべて成功しました。
- RGB指定で上流のパレットが書き換わり、指定を消しても元に戻らない。
- 同じseedでランダム色編集を実行しても結果が一致しない。
- 色編集がPythonのグローバル乱数状態を変更する。
- 通常の空間マスクを接続するとテンソルの真偽判定エラーになる。
- 1ピクセル画像を64色指定で処理すると、縮小後の寸法が0になり失敗する。
- 手動塗りつぶしで暗いA・明るいBを指定すると、A/Bが勝手に入れ替わる。
検証結果
python -m unittest discover -s tests -v: 27テスト成功、スキップなし。
追加の検証対象は、入力画像・パレットの非破壊性、HSV変換、RGB/HSV指定、ロックと反転、空欄・コメント付きoperations、不正な入力の検出、細長い画像・単色画像、色占有率順序、パレット固定、マスクの補間・バッチ展開、分割検索の結果一致、影のRGBA出力、プレビュー文字の視認性です。
CUDA上でも3ノードを実行し、CPU上のパレット・番号マップ・マスクとの混在とfloat32 / float16 / bfloat16画像を確認しました。
付属 sample0.png(896×1344)を使い、以下の3ワークフローに保存されたウィジェット設定で、対象カスタムノードの処理と出力形状・有限値・パレットの非破壊性を確認しました。
CsC_image_workflow.jsonCsC_video_workflow.jsonCsC_videofill_workflow.json
パッケージの __init__.py 経由で3ノードの登録も確認しました。
実行環境: Windows / Python 3.12.9 / PyTorch 2.8.0+cu128 / NumPy 2.2.6 / scikit-learn 1.8.0 / Pillow 11.3.0 / NVIDIA GeForce RTX 5090。
確認範囲と導入
ComfyUI本体の画面操作、動画デコード・エンコードを含むワークフロー全体の実行、GitHub Actions上での実行は未確認です。動画用ワークフローの確認には静止画1フレームを使用しました。
ノード名・既存端子・既存ウィジェット順は維持していますが、減色の抽出方法と乱数処理を修正したため、旧版とはパレット番号や出力が変わる可能性があります。保護色・塗りつぶしペアは導入後にプレビューで確認してください。不正なoperationsは以前の黙った無視から理由付きエラーに変更しています。
導入用ZIPには ComfyUI-ColorshiftColor フォルダーが入っています。既存版をバックアップしたうえでComfyUIの custom_nodes 配下へ配置し、READMEの依存パッケージ導入手順に従って再起動してください。
この変更はローカルで実装・検証したものです。GitHubへのpush、PR作成、Comfy Registryへの公開は実施していません。