feat: add per-layer LED range and collapsible layers to composite source
Some checks failed
Lint & Test / test (push) Failing after 33s

Composite layers now support optional start/end LED range (toggleable)
and reverse flag, making composite a superset of mapped source. Layers
are collapsible with animated expand/collapse and consistent 0.85rem
font sizing. Delete button restyled as ghost icon button.

Also includes minor dashboard CSS overflow fixes.
This commit is contained in:
2026-03-24 17:15:22 +03:00
parent 4caafbb78f
commit bbef7e5869
12 changed files with 349 additions and 51 deletions

View File

@@ -11,6 +11,15 @@
---
## Donation / Open-Source Banner
- [ ] Add a persistent but dismissible banner or notification in the dashboard UI informing users that the project is open-source and under active development, and that donations are highly appreciated
- [ ] Include a link to the donation page (GitHub Sponsors, Ko-fi, or similar — decide on platform)
- [ ] Remember dismissal in localStorage so it doesn't reappear every session
- [ ] Add i18n keys for the banner text (`en.json`, `ru.json`, `zh.json`)
---
# Color Strip Source Improvements
## New Source Types
@@ -35,7 +44,6 @@ Need to research HAOS communication options first (WebSocket API, REST API, MQTT
- [x] Add effects: rain, comet, bouncing ball, fireworks, sparkle rain, lava lamp, wave interference
- [x] Custom palette support: user-defined [[pos,R,G,B],...] stops via JSON textarea
- [ ] Custom palette editor: replace raw JSON textarea with a proper visual editor (reuse gradient editor pattern with color pickers + position sliders)
### `gradient`
@@ -63,7 +71,7 @@ Need to research HAOS communication options first (WebSocket API, REST API, MQTT
- [ ] Allow nested composites (with cycle detection)
- [ ] More blend modes: overlay, soft light, hard light, difference, exclusion
- [ ] Per-layer LED range masks
- [x] Per-layer LED range masks (optional start/end/reverse on each composite layer)
### `notification`