{#if !collapsed}
{#each LIGHT_SLIDERS as slider (slider.key)}
{formatValue(params.light[slider.key])}
onSliderInput(slider.key, Number(e.currentTarget.value))} onchange={onSliderCommit} />
{/each}
Кривая
{#each CURVE_CHANNELS as ch (ch)} {/each}
{#each [25, 50, 75] as step (step)} {/each} {#each channelPoints(channel) as point, index (index)} onPointDown(e, index)} onkeydown={(e) => onPointKey(e, index)} > {/each}
Точечная кривая · линейная
{#if busy}

Сохраняем на сервере…

{:else if dirty && !busy}

Правки видны сразу, на сервер уйдут через 10 секунд без изменений

{:else if rendering}

Рендерим правки на сервере…

{/if} {#if error}

{error}

{/if}
{/if}