in player.js [61:81]
requestAnimationFrame(function() { // so the effects from sending to the port are performed
parsedState.layers.forEach((layer, index) => {
if (is.nativeMetaballs(layer)) {
const size = [ parsedState.size.v1, parsedState.size.v2 ];
const nativeMetaballsModel = nativeMetaballs.build(size, layer.model, parsedState.palette, index);
allNativeMetaballs[index] = nativeMetaballsModel;
const debouncedResize = timing.debounce((function(index)
{ return function(newSize) {
const prev = allNativeMetaballs[index];
if (!prev) return;
allNativeMetaballs[index] = nativeMetaballs.update(newSize, prev, prev.stop, index);
}
})(index), 300);
if (app.ports.requestWindowResize) {
app.ports.requestWindowResize.subscribe((size) => {
debouncedResize(size);
});
} else console.error('No port `requestWindowResize` was detected');
}
});
});