Add OpenRGB per-zone LED control with separate/combined modes and zone preview

- Zone picker UI in device add/settings modals with per-zone checkbox selection
- Combined mode: pixels distributed sequentially across zones
- Separate mode: full effect resampled independently to each zone via linear interpolation
- Per-zone LED preview in target cards: one canvas strip per zone with hover overlay labels
- Zone badges on device cards enriched with actual LED counts from OpenRGB API
- Fix stale led_count by using device_led_count discovered at connect time

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-01 20:35:51 +03:00
parent aafcf83896
commit 52ee4bdeb6
19 changed files with 769 additions and 55 deletions

View File

@@ -137,6 +137,15 @@
"device.ws_url.hint": "客户端连接并接收 LED 数据的 WebSocket URL",
"device.openrgb.url": "OpenRGB URL",
"device.openrgb.url.hint": "OpenRGB 服务器地址(例如 openrgb://localhost:6742/0",
"device.openrgb.zone": "区域:",
"device.openrgb.zone.hint": "选择要控制的 LED 区域(全部不选则控制所有区域)",
"device.openrgb.zone.loading": "加载区域中…",
"device.openrgb.zone.error": "加载区域失败",
"device.openrgb.mode": "区域模式:",
"device.openrgb.mode.hint": "合并模式将所有区域作为一条连续 LED 灯带。独立模式让每个区域独立渲染完整效果。",
"device.openrgb.mode.combined": "合并灯带",
"device.openrgb.mode.separate": "独立区域",
"device.openrgb.added_multiple": "已添加 {count} 个设备",
"device.type.openrgb": "OpenRGB",
"device.url.hint": "设备的 IP 地址或主机名(例如 http://192.168.1.100",
"device.name": "设备名称:",