JSFiddle - React, Tailwind, and code Playground

HTML

<canvas id="cnv"></canvas>
<span>
  <label id="zoomLabel" for="zoomSlider">Zoom</label>
  <input id="zoomSlider" type="range" min="100" max="999" step="1" value="600" />
</span>
<button id="randomBtn">Random palette</button>

CSS

body
{
  background-color: #111;
  color: #aaa;
}

canvas
{
  display: block;
  border: 2px solid #222;
}

JavaScript

let points = [
  7.998,  -27.729,  -43.551,
  11.120,  -23.468,  -43.773,
  13.189,  -17.656,  -44.007,
  13.955,  -10.992,  -44.179,
  13.327,   -4.280,  -44.247,
  11.379,    1.667,  -44.220,
  8.347,    6.129,  -44.146,
  4.597,    8.566,  -44.086,
  4.200,  -29.932,  -43.420,
  12.929,  -41.997,  -37.536,
  18.796,  -34.157,  -38.187,
  22.685,  -23.442,  -38.837,
  24.125,  -11.133,  -39.246,
  22.944,    1.274,  -39.296,
  19.284,   12.266,  -39.036,
  13.586,   20.507,  -38.654,
  6.538,   25.005,  -38.378,
  5.791,  -46.043,  -37.142,
  16.589,  -51.547,  -28.916,
  24.494,  -41.298,  -30.003,
  29.733,  -27.263,  -31.067,
  31.674,  -11.115,  -31.693,
  30.083,    5.173,  -31.684,
  25.151,   19.597,  -31.139,
  17.475,   30.397,  -30.400,
  7.979,   36.801,  -30.984,
  6.972,  -56.827,  -28.253,
  18.537,  -55.408,  -19.064,
  27.526,  -44.153,  -20.396,
  33.483,  -28.343,  -19.230,
  35.690,  -10.952,  -22.432,
  33.881,    7.122,  -20.043,
  28.273,   22.846,  -21.658,
  19.544,   34.719,  -20.706,
  8.745,   43.408,  -20.653,
  7.600,  -61.200,  -18.249,
  18.537,  -53.596,   -9.330,
  27.526,  -41.594,   -7.586,
  33.483,  -27.833,  -11.864,
  35.690,  -10.681,  -12.580,
  33.881,    6.623,  -12.527,
  28.273,   21.938,  -11.833,
  19.544,   33.396,  -10.914,
  8.745,   42.169,  -11.137,
  7.600,  -64.346,   -9.230,
  16.589,  -46.869,   -0.818,
  24.494,  -37.607,   -1.799,
  29.733,  -24.927,   -2.759,
  31.674,  -10.344,   -3.324,
  30.083,    4.361,   -3.315,
  28.198,   17.494,   -4.240,
  17.475,   26.639,   -0.752,
  7.979,   36.535,   -0.720,
  6.972,  -51.641,    2.187,
  12.929,  -36.389,    5.678,
  18.796,  -29.679,    5.123,
  22.685,  -20.511,    4.568,
  24.125,   -9.984,    4.218,
  22.944,    0.624,    4.177,
  17.930,   13.069,    6.256,
  19.002,   18.575,    1.942,
  5.791,  -39.852,    6.015,
  7.998,  -23.563,    9.432,
  11.120,  -19.820,    9.810,
  13.189,  -15.135,    9.841,
  13.955,   -9.635,    9.700,
  13.471,   ...