Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Tests
on:
push:
branches:
- main
- master
pull_request:
workflow_dispatch:

permissions:
contents: read

jobs:
test:
name: CPU tests (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
steps:
- name: Check out code
uses: actions/checkout@v7
- name: Set up Python
uses: actions/setup-python@v7
with:
python-version: '3.12'
- name: Install dependencies
run: |
python -m pip install torch --index-url https://download.pytorch.org/whl/cpu
python -m pip install numpy scikit-learn Pillow
- name: Run tests
run: python -m unittest discover -s tests -v
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
__pycache__/
*.pyc
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ python -m pip install -r requirements.txt
- seedの無視、他の処理への乱数状態の干渉、空間マスクの実行エラー、少数画素・少数色での減色失敗、GPUとCPUの混在によるエラーを修正しました。
- 最近傍色の検索を分割し、通常のパレットでは一時的な距離行列を最大約16MiBに抑えました。塗りつぶしも色の対応表を使って一括処理します。
- 明るいパレット色の番号を黒文字にし、番号の位置を調整しました。
- パレットプレビューで全色の番号が左上の1マスに重なって描画される不具合を修正しました。Arialがない環境(macOS / Linux)でも `font_size` が反映されます。
- 不正なJSON、色番号、色成分、番号マップは理由付きエラーで知らせます。以前のような黙った無視や、無効な手動指定から意図しない自動塗りつぶしへの切り替えは行いません。

ノード名、既存の入出力端子、既存ウィジェットの順序は維持しています。新しい減色seedを省略した既存の呼び出しでは0を使います。抽出方法と乱数処理の修正により、旧版と減色結果・パレット番号が変わることがあります。プレビューを確認し、必要なら保護色・手動ペアの番号を更新してください。
Expand All @@ -81,5 +82,6 @@ python -m unittest discover -s tests -v
ComfyUI本体なしで実行できます。CUDAが利用できる環境ではGPU・float16・bfloat16も検証し、それ以外ではGPUテストのみスキップします。GitHub ActionsにLinux / WindowsのCPUテストを追加しています。

## update
26.09.26 - パレットプレビューの番号表示を修正(全番号が0番のマスに重なっていた)、macOS/Linuxでのフォントサイズ対応、テスト用GitHub Actionsを追加
25.02.01 - mask機能の修正、CsCノードの高速化、exampleデータの見直し
25.02.01 - パレットインデックス順を画面占有率でソート、塗りつぶしと影分離のノードを追加、exampleの見直し
19 changes: 19 additions & 0 deletions VALIDATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,3 +44,22 @@ ComfyUI本体の画面操作、動画デコード・エンコードを含むワ
導入用ZIPには `ComfyUI-ColorshiftColor` フォルダーが入っています。既存版をバックアップしたうえでComfyUIの `custom_nodes` 配下へ配置し、READMEの依存パッケージ導入手順に従って再起動してください。

この変更はローカルで実装・検証したものです。GitHubへのpush、PR作成、Comfy Registryへの公開は実施していません。

---

## 2026-09-26 追加修正(v1.2.1)

基準コミット: `62bcdc9`(上記の改善を取り込んだ master)

作業ブランチ: `fix/palette-preview-labels`

1. パレットプレビューの番号が全て0番のマスに重なって描画される不具合を修正しました。`textbbox` を各マスの座標で測った値から、さらにその座標を引いていたため、全番号が左上へ寄っていました。原点で測った字形のオフセットだけを差し引くように変更しています。
2. Arialがない環境(macOS / Linux)では `font_size` が無視され、10px固定の既定フォントになっていました。DejaVu Sans などの代替フォント、Pillow 10.1以降のサイズ指定付き既定フォントの順に使うようにしました。
3. READMEに記載していたLinux / WindowsのCPUテスト用GitHub Actions(`.github/workflows/tests.yml`)を追加しました。
4. `nodes.py` のCRLF/LF混在をLFに統一しました(内容変更なし、別コミット)。

上記1・2の回帰テストを追加し、修正前のコードで失敗・修正後に成功することを確認しました。

`python -m unittest discover -s tests -v`: **29テスト成功、CUDAテスト1件スキップ**(Linux / Python 3.11 / PyTorch 2.14 CPU / Pillow 12.2 / scikit-learn 1.8)。

48フレーム×512×768のバッチで、減色約2.0秒・パレット編集約1.7秒・塗りつぶし約2.2秒(CPU)でした。
Loading
Loading