Skip to content

v0.12.0 — Pixel Map trigger (rotation-tolerant colour matching)

Latest

Choose a tag to compare

@SpaceSquare640 SpaceSquare640 released this 03 Aug 16:45

Downloads

  • PixelPulse-Setup-vX.Y.Z-windows.exe — the full app (GUI + engine bundled). This is what most people want — see Installation.
  • PixelPulse-Core-vX.Y.Z-windows.zip — a standalone, compiled CLI-only engine (no GUI, no Python install needed) for driving PixelPulse straight from a rules.json file. See Running from Source for how the CLI works.

What's new — Pixel Map trigger (for targets that move and rotate)

Image matching only tolerates a target moving, not rotating — the moment a target spins or turns, it stops matching the original capture. The existing pixel-colour trigger only ever checks one fixed screen point, so it can't follow a moving target either. Testing surfaced exactly this gap: a target that both moves and rotates couldn't be reliably detected by either existing trigger type.

Pixel Map is a new third trigger kind built for that case: it records a handful of key colours from the target and matches wherever several of them cluster together on screen — completely ignoring the target's current rotation, since it never compares the colours' relative angle to each other, only whether they're near one another.

  • Auto-Detect Colours — select a region on screen and the app automatically picks out its most prominent colours (k-means colour quantization).
  • Pick Colours with Magnifier — a new standalone pixel magnifier tool (also reachable from Settings → Tools) shows the live RGB value under your cursor as you move, and lets you click to add several colours to a list.
  • Minimum colours to match / Cluster search radius — tune how many key colours need to cluster together, and how close counts as "clustered", trading sensitivity against false positives. Always scans the whole screen.

Because it only checks colour proximity, not layout, a Pixel Map rule can have more false positives than an image trigger if the same colours happen to cluster elsewhere on screen — the tolerance/colour-count/minimum-matches controls exist specifically to tune that tradeoff.

Verified: 18 new backend tests (detection algorithm, capture.detectColours, WebSocket wiring) plus manual browser testing against a real backend — trigger-kind switching, colour picking via the magnifier, Test Match round-trips (including a genuine "no match" result against real screen content, and a real live capture.pixel call from the magnifier overlay itself), Edit re-opening with colours preserved, and the standalone Settings entry point.

Other

  • README (EN + zh-TW) and the in-app Help manual document the new trigger and magnifier tool.
  • GitHub Wiki gained a bilingual "Pixel Map" page.

Downloads / 下載說明

  • PixelPulse-Setup-vX.Y.Z-windows.exe——完整應用程式(GUI + 內建引擎)。大多數人應該下載這個——請見 安裝說明
  • PixelPulse-Core-vX.Y.Z-windows.zip——獨立、已編譯好的純 CLI 引擎(沒有 GUI、不需要另外安裝 Python),可以直接用 rules.json 檔案驅動 PixelPulse。CLI 用法請見 從原始碼執行

新功能 —— 像素圖(Pixel Map)觸發條件(給會移動又旋轉的目標用)

圖片比對只耐得住目標移動位置,耐不住旋轉——目標一轉角度,跟截圖不像了就比對失敗。既有的像素顏色觸發條件只檢查螢幕上單一固定座標,同樣沒辦法跟著移動的目標跑。測試中剛好遇到這個缺口:一個「又會移動、又會旋轉」的目標,兩種既有觸發條件都沒辦法可靠偵測到。

像素圖 是新增的第三種觸發條件,就是為了這種情境設計:記錄目標身上幾個關鍵顏色,偵測時只要這些顏色在畫面上某處群聚在一起就算命中——完全不管目標現在轉到哪個角度,因為從來不比較顏色點之間的相對角度,只看它們是否彼此靠近。

  • 自動偵測顏色——在螢幕上框選一個區域,應用程式會用 k-means 色彩量化自動抓出裡面最主要的幾個顏色。
  • 使用放大鏡挑選顏色——新增的獨立像素放大鏡工具(也可以從設定 → 工具開啟),滑鼠移動時即時顯示游標下的 RGB 值,點擊即可把好幾個顏色加進清單。
  • 至少要命中幾個顏色 / 群聚搜尋半徑——調整需要幾個關鍵顏色群聚在一起、多靠近才算「群聚」,藉此在敏感度跟誤判率之間取捨。一律掃描整個螢幕。

因為只檢查顏色是否彼此靠近、不檢查排列方式,如果畫面上剛好有別的地方也有相同顏色群聚,像素圖規則的誤判機率可能會比圖片比對高——容許誤差、顏色數量、最低命中數這幾個控制項就是為了讓你調整這個取捨。

驗證方式:新增 18 個後端測試(偵測演算法、capture.detectColours、WebSocket 串接),另外針對真實後端做了瀏覽器手動測試——切換觸發條件類型、透過放大鏡挑色、Test Match 來回測試(包含針對真實螢幕內容測出真正的「沒有命中」結果,以及放大鏡疊層本身發出的真實 capture.pixel 請求)、編輯重新開啟後顏色保留正確、設定頁的獨立入口也確認可用。

其他

  • README(中英雙語)與 App 內建說明手冊都補上了新觸發條件與放大鏡工具的說明。
  • GitHub Wiki 新增雙語的「像素圖」頁面。