{ "name": "color twinkles", "id": "aabwwBMMCEHQ8yLij", "sources": { "main": "/*\n Color twinkles\n \n What's interesting about this pattern is the way in which it uses `index`\n without the `pixelCount`. In other words, it depends on the 0-based pixel \n number, instead of `index / pixelCount`, the \"percentage into our overall \n strip length.\" Thinking in these terms allows us to start from a design goal\n of making adjacent pixels different, instead of depending on the total\n number of pixels we have.\n*/\n\nexport function beforeRender(delta) {\n t1 = time(.50) * PI2 \n t2 = time(.15) * PI2 // 3.33 times faster than t1\n}\n\nexport function render(index) {\n /*\n This is a way to start from a confetti-like idea where each pixel's index,\n plus an oscillating function of time and index, determines it's hue. In\n other words, it's a very short wavelength such that colors change rapidly\n from one pixel to the next.\n */\n h = sin(index / 3 + PI2 * sin(index / 2 + t1))\n\n // It takes some minor algebra to work out sin() vs wave(). See the docs.\n v = wave(index / 3 / PI2 + sin(index / 2 + t2))\n v = v * v * v * v // Gamma correction\n \n /*\n The following ternary operator translates to, \"If v is greater than 0.1, let\n it stand. If it's a low intensity, say, below 0.1, squelch it's brightness \n value to zero.\" It's equivalent to:\n \n if (v <= .1) v = 0\n\n It acts as a gate, establishing a threshold that values need to exceed in\n order to be displayed. For more twinkles, try a higher threshold.\n */\n v = v > .1 ? v : 0\n \n hsv(h, 1, v)\n}\n" }, "preview": "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" }