Effect provenance¶
borrowed_effects.c contains small native C renderers, with MIT SPDX and upstream
copyright comments. motion_effects.c retains FastLED attribution for its Motion
twinkle PRNG approach. No Arduino runtime, FastLED,
WS2812FX library, WLED framework, transports, scheduler or brightness code is imported.
- Twinklefox: adapted from Mark Kriegsman's December 2015 FastLED example,
examples/TwinkleFox/TwinkleFox.ino, at FastLED commit5daddd7c56bd7cc3ac590ad19eaa53c9450e49f6. Pinned source. Retains the stable per-pixel PRNG clocks, cycle hashing and attack/decay shape. Uses fractional 16-bit output, restrained density, selected palettes and the shared background/output pipeline. Anchors palette colours along the full outline like static/sparkle, rather than selecting a new hue each cycle. Omits incandescent colour cooling and palette rotation. Copyright Mark Kriegsman (2015) and FastLED contributors; MIT licence retained in licenses/FastLED-MIT.txt. - Chase bands: adaptation of the running-colour pattern in Harm Aldick's WS2812FX,
src/modes.cpp/src/modes_funcs.cpp, commit6dfa94eedf2503d0e5cd4c8860c8db77cea46182. Pinned source. Generalises two colours to the selected 1–8-colour palette and adds half-pixel edge blending, continuous time and mirrored logical ears. Copyright Harm Aldick (2016); MIT licence retained in licenses/WS2812FX-MIT.txt. - Aurora: independent native implementations inspired by the
WLED effect catalogue. Aurora layers four
moving, smoothly enveloped colour clouds. Colourwaves was retired in 0.4.0.
WLED source was reviewed at v16.0.1 (
29b389df1c1aaec6ff53aea742d17063b985906c), but no WLED code is copied into this renderer. It is not an exact WLED port.
Motion twinkle, Liquid light, Inertia, Stardust and Motion aurora are new native implementations. Motion twinkle uses stable deterministic per-pixel cycles inspired by the already-adapted Twinklefox; existing FastLED notices remain applicable. Motion aurora extends the native cloud composition idea; no new upstream code is copied.
Surviving numeric IDs stay unchanged; 3, 4 and 10 are reserved after retirement. The motion additions occupy 13–17. All renderers produce logical 16-bit RGB only. Physical direction/order, common fade gamma, hardware brightness ceiling, per-phase current limiting and RMT ownership remain in the LED/runtime components. Visual fidelity and hardware timing must be checked on the assembled ears.