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
Is your feature request related to a problem? Please describe.
Not a problem with WLED itself, more a gap in the stuff built around it. Right now there's no good way to preview WLED's effects in a browser. This actually came up in #2688, where someone asked for a JS version of the effects for UI preview, and it got closed as not possible because the effects are written in C. So anyone building web tools around WLED (light show editors, preview galleries, simulators) has no way to show what an effect looks like without plugging in real hardware.
Describe the solution you'd like
I've built a TypeScript port of the WLED effects (the mode_* functions in FX.cpp, plus the FastLED math helpers) as pure functions that render effect frames in the browser. It's preview only, not for driving hardware. I'd like to publish it as a small open source npm package under EUPL-1.2 to match upstream, so other people building WLED-adjacent web tools can use it.
To be clear about what I'm actually asking: I know FX.cpp is EUPL-1.2, WLED is community maintained, and there's no CLA, so nobody can really relicense FX.cpp and I'm not asking anyone to. I'm just hoping for the maintainers' blessing to publish this specific derivative package under EUPL, and maybe a link or mention if you think it's useful for the folks who've asked for browser previews. If you'd rather I use particular attribution wording or a specific name so it stays clearly separate from official WLED, just tell me and I'll do that.
Describe alternatives you've considered
A few things I looked at:
WASM-compiling the C++ effects, which is what some browser-based WLED simulators do. It skips the rewrite, but it ships a binary you have to load, you can't tree-shake individual effects, and it's not something you can easily read or debug as a dependency in a TS web app. A pure TypeScript port ends up lighter and much easier to actually use.
Just keeping the port private inside my own app. Simplest option, but it feels like a waste when people have openly asked for this (Preview effect in UI #2688), and it leaves the same gap open for everyone else.
Asking on Discord first, which I did over in #dev-general. I'm filing it here because a licensing question like this needs somewhere more permanent than a chat channel that scrolls away.
Additional context
Just to be precise about what the package is:
a derivative work of EUPL-licensed WLED code, shipped under EUPL-1.2. It's not a relicense of anything upstream.
preview only. It simulates the effects for display in a UI, it's not meant to control devices.
fully attributed to WLED and FastLED, with the upstream license notices kept intact.
Is your feature request related to a problem? Please describe.
Not a problem with WLED itself, more a gap in the stuff built around it. Right now there's no good way to preview WLED's effects in a browser. This actually came up in #2688, where someone asked for a JS version of the effects for UI preview, and it got closed as not possible because the effects are written in C. So anyone building web tools around WLED (light show editors, preview galleries, simulators) has no way to show what an effect looks like without plugging in real hardware.
Describe the solution you'd like
I've built a TypeScript port of the WLED effects (the
mode_*functions inFX.cpp, plus the FastLED math helpers) as pure functions that render effect frames in the browser. It's preview only, not for driving hardware. I'd like to publish it as a small open source npm package under EUPL-1.2 to match upstream, so other people building WLED-adjacent web tools can use it.To be clear about what I'm actually asking: I know
FX.cppis EUPL-1.2, WLED is community maintained, and there's no CLA, so nobody can really relicenseFX.cppand I'm not asking anyone to. I'm just hoping for the maintainers' blessing to publish this specific derivative package under EUPL, and maybe a link or mention if you think it's useful for the folks who've asked for browser previews. If you'd rather I use particular attribution wording or a specific name so it stays clearly separate from official WLED, just tell me and I'll do that.Describe alternatives you've considered
A few things I looked at:
Additional context
Just to be precise about what the package is:
Either way, thanks for building WLED!