Декоратор, который реализует отложенный запуск функции. Уверен, в питоне есть неблокирующие таймеры, достаточно погуглить "python debounce".
Функция-обработчик, вызываемая по запросу извне, также вызывает себя через декоратор для самостоятельного отложенного запуска. Если обработчик будет вызван раньше указанного в декораторе времени, то самостоятельный запуск будет отложен.
short_name: req.body.el
сравнивать массив со строкой бессмысленно, нужно перебирать массив, сравнивая его элементы со значением, может эта библиотека так?
ZHeka, так работает пропорциональное распределение, с асимптотическим уменьшением отношения элемента к сумме. Тем более, ни одного обнуления или вычитания нет, как ноль получать?
А ещё процедура переназначения пропускает "активный" слайдер, так что он не соответствует своему значению из "состояния". И проверки деления на ноль нет.
ZHeka, сохранять предыдущее значение в массиве. В моём варианте происходит обыкновенное пропорциональное распределение с предварительной записью из слайдера в "состояние" прямо в обработчике.
В логике балансировки может оказаться очень много взаимоисключающих условий, которые ещё предстоит выявить.