Files
852wa-ComfyUI-ColorshiftColor/VALIDATION.md
T
2026-09-07 16:36:38 +09:00

3.1 KiB

改善・検証記録

対象: 852wa/ComfyUI-ColorshiftColor

基準コミット: faedbc433198cf31469862edf4d420067811aa42

作業ブランチ: fix/color-processing-reliability

修正前後の確認

以下の6件は修正前のコードで再現するテストを作成し、修正後にすべて成功しました。

  1. RGB指定で上流のパレットが書き換わり、指定を消しても元に戻らない。
  2. 同じseedでランダム色編集を実行しても結果が一致しない。
  3. 色編集がPythonのグローバル乱数状態を変更する。
  4. 通常の空間マスクを接続するとテンソルの真偽判定エラーになる。
  5. 1ピクセル画像を64色指定で処理すると、縮小後の寸法が0になり失敗する。
  6. 手動塗りつぶしで暗い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.json
  • CsC_video_workflow.json
  • CsC_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への公開は実施していません。