in packages/playground/src/playground.ts [1003:1046]
function setParamIndex(index: number, value: any, fromUI: boolean) {
//sync slider / numberbox
var div = getParamUIControl(index);
if (fromUI) {
if (div.range && div.rangeText) {
div.range.value = value;
div.rangeText.value = value;
}
} else {
if (div.range && div.rangeText) {
div.rangeText.value = value;
div.range.value = value;
} else if (div.bool) {
div.bool.checked = !!value;
} else if (div.text) {
div.text.value = value;
} else if (div.select) {
let select = div.select;
let valueAsString = (typeof value === 'string') ? value : JSON.stringify(value);
for (let i = 0; i < select.options.length; i++) {
let optionValue: string;
if (select.options[i].attributes.length) {
optionValue = select.options[i].getAttribute('value');
} else {
optionValue = select.options[i].innerText;
}
if (optionValue === valueAsString) {
select.selectedIndex = i;
break;
}
}
}
}
processed.paramValues[index] = value;
}