Files
wled-screen-controller-mixed/TODO.md
alexei.dolgolyov ee40d99067 Add Daylight Cycle value source type
New value source that outputs brightness (0-1) based on the daylight
color LUT, computing BT.601 luminance from the simulated sky color.
Supports real-time wall-clock mode or configurable simulation speed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 11:27:36 +03:00

4.3 KiB
Raw Blame History

Pending Features & Issues

Priority: P1 quick win · P2 moderate · P3 large effort

Processing Pipeline

  • P1 Zone grouping — Merge adjacent LEDs into logical groups sharing one averaged color
    • Complexity: medium — doesn't fit the PP filter model (operates on extracted LED colors, not images); needs a new param on calibration/color-strip-source config + PixelMapper changes
    • Impact: high — smooths out single-LED noise, visually cleaner ambilight on sparse strips
  • P3 Transition effects — Crossfade, wipe, or dissolve between sources/profiles instead of instant cut
    • Complexity: large — requires a new transition layer concept in ProcessorManager; must blend two live streams simultaneously during switch, coordinating start/stop timing
    • Impact: medium — polishes profile switching UX but ambient lighting rarely switches sources frequently

Output Targets

  • P2 Art-Net / sACN (E1.31) — Stage/theatrical lighting protocols, DMX controllers
    • Complexity: medium — UDP-based protocols with well-documented specs; similar architecture to DDP client; needs DMX universe/channel mapping UI
    • Impact: medium — opens stage/theatrical use case, niche but differentiating

Automation & Integration

  • P2 Webhook/MQTT trigger — Let external systems activate profiles without HA integration
    • Complexity: low-medium — webhook: simple FastAPI endpoint calling SceneActivator; MQTT: add asyncio-mqtt dependency + subscription loop
    • Impact: high — key integration point for home automation users without Home Assistant

Multi-Display

  • P2 Investigate multimonitor support — Research and plan support for multi-monitor setups
    • Complexity: research — audit DXGI/MSS capture engine's display enumeration; test with 2+ monitors; identify gaps in calibration UI (per-display config)
    • Impact: high — many users have multi-monitor setups; prerequisite for multi-display unification
  • P3 Multi-display unification — Treat 2-3 monitors as single virtual display for seamless ambilight
    • Complexity: large — virtual display abstraction stitching multiple captures; edge-matching calibration between monitors; significant UI changes
    • Impact: high — flagship feature for multi-monitor users, but depends on investigation results

Capture Engines

  • P3 SCRCPY capture engine — Implement SCRCPY-based screen capture for Android devices
    • Complexity: large — external dependency on scrcpy binary; need to manage subprocess lifecycle, parse video stream (ffmpeg/AV pipe), handle device connect/disconnect
    • Impact: medium — enables phone screen mirroring to ambient lighting; appeals to mobile gaming use case

Code Health

  • P1 "Start All" targets button — "Stop All" exists but "Start All" is missing
  • P2 Manual backup trigger endpointPOST /system/auto-backup/trigger (~5 lines)
  • P2 Scene snapshot should capture device brightnesssoftware_brightness not saved/restored
  • P2 Distinguish "crashed" vs "stopped" in dashboardmetrics.last_error is already populated
  • P3 Home Assistant MQTT discovery — publish auto-discovery payloads; MQTT infra already exists
  • P3 CSS source import/export — share individual sources without full config backup

UX

  • P1 Collapse dashboard running target stats — Show only FPS chart by default; uptime, errors, and pipeline timings in an expandable section collapsed by default
  • P1 Review new CSS types (Daylight & Candlelight) — End-to-end review: create via UI, assign to targets, verify LED rendering, check edge cases (0 candles, extreme latitude, real-time toggle)
  • P1 Daylight brightness value source — New value source type that reports a 0255 brightness level based on daylight cycle time (real-time or simulated), reusing the daylight LUT logic
  • P1 Tags input: move under name, remove hint/title — Move the tags chip input directly below the name field in all entity editor modals; remove the hint toggle and section title for a cleaner layout
  • P1 IconSelect grid overflow & scroll jump — Expandable icon grid sometimes renders outside the visible viewport; opening it causes the modal/page to jump scroll