actually generate pallete & update render on file choose