v0.2.0
currentOct 1, 2026First stable release; fixed duplicate preview scheduling and made malformed imports preserve the loaded file.
Version history
First stable release; fixed duplicate preview scheduling and made malformed imports preserve the loaded file.
Added a shared theme palette with optional element color overrides.
Centralized page and logo theme colors; set the default Gamma Lift to 2.0.
Consolidated FX dispatch while preserving existing rendering and Copy Segment behavior.
Preserved shuffle state and isolated playback when applying playlist timing edits.
Restored direct diffuser drawing to avoid canvas-cache churn during animated effects.
Added FX control metadata and safer preset writes, preserving shuffled playlist order through non-timing edits.
Added shared preset updates; applying single-preset edits now preserves playback and resets only changed effects or segment bounds.
Restored the secondary-color background and corrected spark fading in Fireworks and Rain.
Reduced live-transition allocations and consolidated animation restart cleanup.
Kept interrupted same-effect fades continuous and reset both animation state banks when changing FPS.
Removed shadowed audio branches, reduced compositing allocations, and fixed a one-frame gap when Outside In transitions finish.
Removed obsolete particle paths and reused color-output buffers to reduce render allocations.
Removed shadowed FX code, reduced fallback allocations, and tightened FX state and diffuser-cache management.
Reduced per-frame preview allocations and continued dead-path auditing.
Reduced per-frame preview allocations and continued dead-path auditing.
Removed shadowed FX branches and reduced preview render churn with cached diffuser sprites.
Corrected nested-playlist resume holds and transition precedence. Preserved white-channel rendering in Colorwaves and Aurora.
Improved 16-color palette sampling, added one-level nested playlists, and fixed white-channel fading in scanner and particle trails.
Improved palette fade timing and preserved effect state through color and palette changes. Shortened recent changelog entries.
Fixed frozen frames, outgoing FullStack buffers, transition CCT, and black RGB+CCT output.
Added live 1D transitions and controller gamma, RGBW, automatic-white, and CCT controls.
Fixed segment mapping and color math. Added RGBW support and playlist timing, repeat, end, and shuffle handling.
Completed all 17 blend modes and corrected Add, segment opacity, and first-layer compositing.
Moved the LED display/diffuser slider into Preview rendering. Made the WLED FPS slider a full-width row below the other rendering controls.
JSON files now apply immediately when opened, while manual editor changes still wait for Apply changes. Save JSON file now asks for a filename before downloading. Moved Restart animation to the bottom of the preview panel.
Made both JSON editors draft-based: changes now wait for an explicit Apply changes or Apply preset changes action, survive tab switching, and leave the active preview untouched until then. Added Save JSON file for the applied preset document. Added a selectable 15–120 WLED FPS simulation cadence (42 FPS default), including 120 FPS for higher-refresh controllers; persistent effect state resets safely when the rate changes.
Replaced Fireworks (FX 42) and Rain (FX 43) with their shared WLED-style persistent spark buffer. The effects now use 42-FPS fade/blur behavior, preserve the two latest flare points, use intensity for spawn probability, and make Rain shift the actual spark buffer at WLED’s speed-and-length-derived cadence.
Replaced the simple Rolling Balls (FX 48) and Fairy (FX 49) stand-ins with persistent, source-guided simulations. Rolling Balls now retains each ball’s velocity, mass, collisions, overlay/background, and optional trails; Fairy now builds WLED’s stable palette field, intensity-set flasher spacing, timed fades, and zone-based shimmer dimming.
Added source-guided classic 1D ports for Android (FX 27), Gradient (FX 46), and Two Dots (FX 50). These now use WLED’s stateful grow/shrink logic, 16-bit moving gradient coordinate and spread, palette/background behavior, mapped movement delay, and intensity-derived dot width.
Replaced the remaining classic chase approximations with source-guided ports for Chase (FX 28), Chase Random (FX 29), Chase Rainbow (FX 30), Rainbow Runner (FX 33), Colorful (FX 34), and Chase 2 (FX 37). They now use WLED’s 16-bit position math, width control, palette backgrounds, wrap-driven random changes, rainbow stepping, and color rotation rules.
Ported the next classic 1D group with WLED-guided timing and state: Wipe/Sweep (FX 3/6), Wipe Random/Sweep Random (FX 4/36), Random Colors (FX 5), and Dynamic/Dynamic Smooth (FX 7/117). The preview now follows their source cycle lengths, directional wipe transitions, palette mapping, random-color fades, per-pixel update probability, and smooth-mode blending.
Continued core 1D fidelity ports for Blink and Strobe (FX 1/23), Colorloop and Rainbow (FX 8/9), Fade (FX 12), Strobe Rainbow (FX 24), and Blink Rainbow (FX 26). These now use WLED’s frame pulse lengths, speed math, duty cycle, color-wheel stepping, saturation/size controls, and triangular fade timing.
Continued the source-faithful classic-effect work with new WLED-guided ports for Twinkle (FX 17), Sparkle (FX 20), Sparkle Dark (FX 21), and Sparkle+ (FX 22). Twinkle now retains its frame-faded LED buffer and PRNG list; the Sparkle effects now use their WLED background, update cadence, probability, and density behavior.
Improved WLED fidelity in the shared rendering engine: effect time now follows WLED’s normal 42 FPS cadence, color blending is quantized in LED color space, and position-mapped palettes no longer wrap at the segment endpoint. Replaced Theater and Theater Rainbow (FX 13/14) with source-guided running-pattern ports using WLED’s width, timing, palette, and rainbow-step rules.
Audio-reactive preset names now show a microphone marker in the picker and preview title. The startup chooser now follows the random starter preset actually playing. Added source-guided running-light ports for Theater Rainbow (FX 14), Running (FX 15), and Saw (FX 16).
The Audio visualizer now pauses itself when the active preset has no audio-reactive segments, displaying an in-panel explanation instead of unrelated moving bars. Added source-guided ports for Scanner/Scanner Dual (FX 10/11) and Stream (FX 39), including sweep trails, mirrored scanner behavior, and intensity-sized color zones.
Replaced the single built-in example with a varied 20-preset themed starter collection. A random built-in preset is selected each time the page opens, including five audio-reactive previews, while opening or pasting your own JSON still replaces the starter collection as before.
Moved Playing, Play/Pause, and Float preview into a bottom preview footer, with Float immediately to the right of Play/Pause. Refined source-guided WLED ports for Running Dual (FX 52) and Fire Flicker (FX 45), including their opposing sine fields and intensity-limited flicker behavior.
Refined floating preview into a cleaner edge-sticky strip view. Only the black LED canvas floats; the title, controls, labels, and panel remain in the page. The strip now catches the top or bottom viewport edge instead of passing through it, and tapping the LED preview toggles float mode with a brief Float On/Off message.
Refined Smart float preview handoff: while scrolling down, the preview now docks at the top as soon as it reaches the viewport edge instead of disappearing completely and then popping back into view.
Moved the Float preview switch directly into the LED preview header next to Play/Pause, so it is immediately available without scrolling through the layout controls.
Added numeric preset IDs to the preview title when a preset comes from a complete file. Added an optional Smart float preview mode: the LED preview stays inline while its normal location is visible, docks at the bottom before you reach it, and docks at the top after you scroll past it.
Made the Audio visualizer span the full width on narrow screens, placing it on its own row between the Audio source controls and optional local-file playback controls.
Added a lightweight 16-band block visualizer to the Audio panel. It displays the same level, bass, and beat analyzer data fed to audio-reactive FX, uses the pghWebLED cyan-to-pink color flow, and refreshes at a capped 30 FPS.
Reorganized the preview controls into clean Strip layout, Physical spacing, Preview rendering, and Brightness override groups. Moved Audio input and local-file playback into its own responsive panel, keeping Simulated and Load modes while preventing the wide-screen control row from becoming cluttered.
Reworked the classic 1D audio family with effect-specific, source-guided strip behavior for Pixels, Pixelwave, Matripix, Gravimeter, Plasmoid, Puddles, Midnoise, Noisemeter, Freqwave, Freqmatrix, Waterfall, and Freqpixels. Each now responds distinctly to loaded or simulated audio rather than sharing the broad fallback look. Also restored the complete numeric changelog and made the build reject a missing release number.
Completed 1D animated preview coverage for the remaining matrix-only WLED effects, including Binmap, 2D Fire, DNA, Matrix, Metaballs, Game of Life, Polar Lights, Lissajous, Plasma Ball, and Black Hole. All are clearly labeled as 1D strip-slice interpretations rather than true matrix ports.
Added animated 1D strip-slice fallbacks for Rotozoomer, Spaceships, Crazy Bees, Blobs, Scrolling Text, Drift Rose, Distortion Waves, Soap, Octopus, and Waving Cell. These are labeled as matrix-oriented approximations in the preview notes.
Ported the remaining practical 1D gaps: Traffic Light, Tetrix, ICU, Percent, and TV Simulator. Image now follows WLED’s no-GIF fallback by rendering Solid instead of appearing unsupported. Matrix-only effects remain separate from the 1D preview.