diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2019-01-07 23:01:11 +0100 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2019-01-07 23:01:11 +0100 |
| commit | 4777c058469847cbe02eb2a24634b21ee37384fc (patch) | |
| tree | 3fd87861241a75f59819bc0771eb3e97bd88e2f6 /docs/js/shards.js | |
| parent | d317978119fc0936d9c342edf47e55be230cd215 (diff) | |
move docs
Diffstat (limited to 'docs/js/shards.js')
| -rw-r--r-- | docs/js/shards.js | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/docs/js/shards.js b/docs/js/shards.js deleted file mode 100644 index 1b374ee..0000000 --- a/docs/js/shards.js +++ /dev/null @@ -1,107 +0,0 @@ -const shards = (function(){ - let count - let delay = 120 * 1000 - let els = [] - let t = 0 - let rebuilding = false - let nextTimeout - let dark, light - const bg_el = document.querySelector('.bgs') - - function init(){ - bind() - build() - step() - setTimeout(next, 20) - bg_el.classList.remove('fade') - } - function bind(){ - document.querySelector('h1').addEventListener('click', () => { - sounds.play('click') - rebuild() - site.navigateHash('') - player.hidePlaylist() - }) - } - function build(){ - count = choice(is_mobile ? [5,7] : [5,7,7,11,11]) - light = cielab.gradient(count) - dark = cielab.gradient(count) - let el - for (var i = 0; i < count; i++) { - el = append(i) - } - } - function destroy(){ - for (var i = 0; i < count; i++) { - els[i] && bg_el.removeChild(els[i]) - } - els.length = 0 - } - function rebuild(){ - if (rebuilding) return - rebuilding = true - // sounds.play('click') - stars.rebuild() - next() - t = 0 - bg_el.classList.add('fade') - setTimeout(() => { - destroy() - build() - step() - setTimeout(next, 20) - bg_el.classList.remove('fade') - rebuilding = false - // sounds.play('click') - }, 500) - } - function append(i){ - const el = document.createElement('div') - el.classList.add('bg') - els.push(el) - bg_el.appendChild(el) - return el - } - function next(){ - clearTimeout(nextTimeout) - nextTimeout = setTimeout(next, delay) - step() - } - function step() { - t += 1 - light = cielab.gradient(count) - let w = { min: is_mobile ? randrange(40, 90) : randrange(20, 40), max: randrange(10, 90) } - if (w.min > w.max) { - w.min += 10 - } - let rot = { min: randint(360), max: randrange(720, 1080) } - for (var i = 0; i < count; i++) { - update(i, t, w, rot, dark, light) - } - document.body.style.backgroundColor = cielab.gradient(2)(0.05) - } - function update(i, t, w, rot){ - const el = els[i] - const n = i / count - const side = lerp(n, w.min, w.max) - const spin = lerp(i % 2 ? (1-n) : (n), rot.min, rot.max) - const rotation = "rotate3d(" + [randrange(-1,1), randrange(-1,1), randrange(-1,1)].join(',') + ',' + randint(360) + "deg)" - el.style.width = side + 'vmin' - el.style.height = side + 'vmin' - el.style.transform = "translate3d(-50%, -50%, 0) rotate(" + spin + "deg) translate3d(50%, 50%, 0) " + rotation - // el.style.transform = "translate3d(-50%, -50%, 0)" - if (t === 1) { - light = cielab.gradient(count) - if (is_mobile) { - el.style.backgroundImage = 'linear-gradient(0deg, ' + dark(1) + ', ' + light(1) + ')' - } else { - el.style.backgroundImage = 'linear-gradient(0deg, ' + dark(1) + ', ' + light(0) + ')' - } - } - el.style.backgroundColor = light(1) - el.style.opacity = lerp(n, randrange(0.1, 0.4), randrange(0.2, 0.5)) - } - init() - return { rebuild: rebuild, step: step, } -})()
\ No newline at end of file |
