You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
WLED TV v1.3.4 - Optical Color Pipeline Consolidation & Zero-Allocation UI Loops
Optical Color Science Consolidation
ScreenColorProcessor: Deepened into the single consolidated optical color processing engine:
Absorbed ColorSmoothingFilter as an internal component; encapsulated temporal EMA smoothing and per-device state tracking.
Added high-performance wire encoding (encodeWireFrame) supporting all 6 channel orders (RGB, GRB, BGR, BRG, RBG, GBR) with fast integer enum decoding and zero GC allocations.
Implemented SK6812 4-channel RGBW gamut mapping (AUTO_SUBTRACT, AUTO_ADD, OFF), protected by device.wireBytesPerLed to restrict 4-channel encoding to DDP-compatible devices while safely clamping DRGB and WARLS to 3 channels.
Pure Byte Transport & Zero-Allocation Streaming
WledControllerClient & WledUdpSender:
Completely stripped of optical math and channel reordering logic, acting as pure byte transports.
Replaced per-pixel loops in sendDdpFrame and sendDrgbFrame with chunked System.arraycopy memory transfers directly into UDP packet buffers.
Dynamically sized flashDevice and blackoutFleet payloads based on device.wireBytesPerLed.
Stage 1: Spatial box sampling into pre-allocated rawTargetBuffers upon video frame arrival.
Stage 2: Temporal smoothing on 60Hz ticker into canonical RGB deviceBuffers, ensuring liveFrameListener and getOverlayData() always receive undistorted canonical colors.
Stage 3: Wire encoding into pre-allocated wireBuffers immediately before UDP transmission.
Strict zero GC allocations on the 60 FPS hot path.
Zero-Allocation UI Test Loops:
Rainbow test pattern in MainActivity and real-time color balance preview in CalibrationActivity pre-allocate buffers prior to loop entry, eliminating heap churn during diagnostic tests.
Architecture & Standards
Recorded ADR 0003: Optical Color Pipeline Consolidation and Wire Encoding.
Updated GLOSSARY.md and CODING_STANDARDS.md with protocol-safe channel sizing and zero-allocation cadence loop rules.