From ba1fa5aa1f7630f64af48f829bfcdf61f72ab804 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 11 May 2026 23:08:05 +0000 Subject: [PATCH 1/3] Initial plan From 6dd88a667d2db6ca60f17b61cbffe03941ba9786 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 11 May 2026 23:17:31 +0000 Subject: [PATCH 2/3] Add GitHub Pages files for lightward.tv Agent-Logs-Url: https://github.com/lightward/tv/sessions/c896ac7b-de79-4ea6-b723-a93f85914f0b Co-authored-by: isaacbowen <302012+isaacbowen@users.noreply.github.com> --- CNAME | 1 + dist/aura.js | 18 ++++ favicon.png | Bin 0 -> 45588 bytes index.html | 203 +++++++++++++++++++++++++++++++++++++++++++ wordmark-display.png | Bin 0 -> 74749 bytes 5 files changed, 222 insertions(+) create mode 100644 CNAME create mode 100644 dist/aura.js create mode 100644 favicon.png create mode 100644 index.html create mode 100644 wordmark-display.png diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..24d5a07 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +lightward.tv diff --git a/dist/aura.js b/dist/aura.js new file mode 100644 index 0000000..113c99e --- /dev/null +++ b/dist/aura.js @@ -0,0 +1,18 @@ +var LightwardAura=function(){"use strict"; +/*! ***************************************************************************** + Copyright (c) Microsoft Corporation. + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + ***************************************************************************** */function n(n,e,t){if(t||2===arguments.length)for(var r,o=0,i=e.length;o>>0,e=(r*=e)>>>0,e+=4294967296*(r-=e)}return 2.3283064365386963e-10*(e>>>0)});t.next=function(){var n=2091639*t.s0+2.3283064365386963e-10*t.c;return t.s0=t.s1,t.s1=t.s2,t.s2=n-(t.c=0|n)},t.c=1,t.s0=r(" "),t.s1=r(" "),t.s2=r(" "),t.s0-=r(n),t.s0<0&&(t.s0+=1),t.s1-=r(n),t.s1<0&&(t.s1+=1),t.s2-=r(n),t.s2<0&&(t.s2+=1),r=null}function o(n,e){return e.c=n.c,e.s0=n.s0,e.s1=n.s1,e.s2=n.s2,e}function i(n,e){var t=new r(n),i=e&&e.state,a=t.next;return a.int32=function(){return 4294967296*t.next()|0},a.double=function(){return a()+11102230246251565e-32*(2097152*a()|0)},a.quick=a,i&&("object"==typeof i&&o(i,t),a.state=function(){return o(t,{})}),a}e&&e.exports?e.exports=i:t&&t.amd?t((function(){return i})):this.alea=i})(0,t,!1);var r={exports:{}};!function(n){!function(n,e,t){function r(n){var e=this,t="";e.x=0,e.y=0,e.z=0,e.w=0,e.next=function(){var n=e.x^e.x<<11;return e.x=e.y,e.y=e.z,e.z=e.w,e.w^=e.w>>>19^n^n>>>8},n===(0|n)?e.x=n:t+=n;for(var r=0;r>>0)/4294967296};return a.double=function(){do{var n=((t.next()>>>11)+(t.next()>>>0)/4294967296)/(1<<21)}while(0===n);return n},a.int32=t.next,a.quick=a,i&&("object"==typeof i&&o(i,t),a.state=function(){return o(t,{})}),a}e&&e.exports?e.exports=i:t&&t.amd?t((function(){return i})):this.xor128=i}(0,n,!1)}(r);var o={exports:{}};!function(n){!function(n,e,t){function r(n){var e=this,t="";e.next=function(){var n=e.x^e.x>>>2;return e.x=e.y,e.y=e.z,e.z=e.w,e.w=e.v,(e.d=e.d+362437|0)+(e.v=e.v^e.v<<4^n^n<<1)|0},e.x=0,e.y=0,e.z=0,e.w=0,e.v=0,n===(0|n)?e.x=n:t+=n;for(var r=0;r>>4),e.next()}function o(n,e){return e.x=n.x,e.y=n.y,e.z=n.z,e.w=n.w,e.v=n.v,e.d=n.d,e}function i(n,e){var t=new r(n),i=e&&e.state,a=function(){return(t.next()>>>0)/4294967296};return a.double=function(){do{var n=((t.next()>>>11)+(t.next()>>>0)/4294967296)/(1<<21)}while(0===n);return n},a.int32=t.next,a.quick=a,i&&("object"==typeof i&&o(i,t),a.state=function(){return o(t,{})}),a}e&&e.exports?e.exports=i:t&&t.amd?t((function(){return i})):this.xorwow=i}(0,n,!1)}(o);var i={exports:{}};!function(n){!function(n,e,t){function r(n){var e=this;e.next=function(){var n,t,r=e.x,o=e.i;return n=r[o],t=(n^=n>>>7)^n<<24,t^=(n=r[o+1&7])^n>>>10,t^=(n=r[o+3&7])^n>>>3,t^=(n=r[o+4&7])^n<<7,n=r[o+7&7],t^=(n^=n<<13)^n<<9,r[o]=t,e.i=o+1&7,t},function(n,e){var t,r=[];if(e===(0|e))r[0]=e;else for(e=""+e,t=0;t0;--t)n.next()}(e,n)}function o(n,e){return e.x=n.x.slice(),e.i=n.i,e}function i(n,e){null==n&&(n=+new Date);var t=new r(n),i=e&&e.state,a=function(){return(t.next()>>>0)/4294967296};return a.double=function(){do{var n=((t.next()>>>11)+(t.next()>>>0)/4294967296)/(1<<21)}while(0===n);return n},a.int32=t.next,a.quick=a,i&&(i.x&&o(i,t),a.state=function(){return o(t,{})}),a}e&&e.exports?e.exports=i:t&&t.amd?t((function(){return i})):this.xorshift7=i}(0,n,!1)}(i);var a={exports:{}};!function(n){!function(n,e,t){function r(n){var e=this;e.next=function(){var n,t,r=e.w,o=e.X,i=e.i;return e.w=r=r+1640531527|0,t=o[i+34&127],n=o[i=i+1&127],t^=t<<13,n^=n<<17,t^=t>>>15,n^=n>>>12,t=o[i]=t^n,e.i=i,t+(r^r>>>16)|0},function(n,e){var t,r,o,i,a,c=[],s=128;for(e===(0|e)?(r=e,e=null):(e+="\0",r=0,s=Math.max(s,e.length)),o=0,i=-32;i>>15,r^=r<<4,r^=r>>>13,i>=0&&(a=a+1640531527|0,o=0==(t=c[127&i]^=r+a)?o+1:0);for(o>=128&&(c[127&(e&&e.length||0)]=-1),o=127,i=512;i>0;--i)r=c[o+34&127],t=c[o=o+1&127],r^=r<<13,t^=t<<17,r^=r>>>15,t^=t>>>12,c[o]=r^t;n.w=a,n.X=c,n.i=o}(e,n)}function o(n,e){return e.i=n.i,e.w=n.w,e.X=n.X.slice(),e}function i(n,e){null==n&&(n=+new Date);var t=new r(n),i=e&&e.state,a=function(){return(t.next()>>>0)/4294967296};return a.double=function(){do{var n=((t.next()>>>11)+(t.next()>>>0)/4294967296)/(1<<21)}while(0===n);return n},a.int32=t.next,a.quick=a,i&&(i.X&&o(i,t),a.state=function(){return o(t,{})}),a}e&&e.exports?e.exports=i:t&&t.amd?t((function(){return i})):this.xor4096=i}(0,n,!1)}(a);var c={exports:{}};!function(n){!function(n,e,t){function r(n){var e=this,t="";e.next=function(){var n=e.b,t=e.c,r=e.d,o=e.a;return n=n<<25^n>>>7^t,t=t-r|0,r=r<<24^r>>>8^o,o=o-n|0,e.b=n=n<<20^n>>>12^t,e.c=t=t-r|0,e.d=r<<16^t>>>16^o,e.a=o-n|0},e.a=0,e.b=0,e.c=-1640531527,e.d=1367130551,n===Math.floor(n)?(e.a=n/4294967296|0,e.b=0|n):t+=n;for(var r=0;r>>0)/4294967296};return a.double=function(){do{var n=((t.next()>>>11)+(t.next()>>>0)/4294967296)/(1<<21)}while(0===n);return n},a.int32=t.next,a.quick=a,i&&("object"==typeof i&&o(i,t),a.state=function(){return o(t,{})}),a}e&&e.exports?e.exports=i:t&&t.amd?t((function(){return i})):this.tychei=i}(0,n,!1)}(c);var s={exports:{}};!function(n){!function(e,t,r){var o,i=256,a=r.pow(i,6),c=r.pow(2,52),s=2*c,l=255;function u(n,l,u){var p=[],y=x(v((l=1==l?{entropy:!0}:l||{}).entropy?[n,m(t)]:null==n?function(){try{var n;return o&&(n=o.randomBytes)?n=n(i):(n=new Uint8Array(i),(e.crypto||e.msCrypto).getRandomValues(n)),m(n)}catch(n){var r=e.navigator,a=r&&r.plugins;return[+new Date,e,a,e.screen,m(t)]}}():n,3),p),h=new d(p),b=function(){for(var n=h.g(6),e=a,t=0;n=s;)n/=2,e/=2,t>>>=1;return(n+t)/e};return b.int32=function(){return 0|h.g(4)},b.quick=function(){return h.g(4)/4294967296},b.double=b,x(m(h.S),t),(l.pass||u||function(n,e,t,o){return o&&(o.S&&f(o,h),n.state=function(){return f(h,{})}),t?(r.random=n,e):n})(b,y,"global"in l?l.global:this==r,l.state)}function d(n){var e,t=n.length,r=this,o=0,a=r.i=r.j=0,c=r.S=[];for(t||(n=[t++]);o0)throw new Error(`Can not guess numComponents for attribute '${n}'. Tried ${t} but ${e} values is not evenly divisible by ${t}. You should specify it.`);return t}function S(n,e){if(b(n))return n;if(b(n.data))return n.data;Array.isArray(n)&&(n={data:n});let t=n.type;return t||(t=A(e)?Uint16Array:Float32Array),new t(n.data)}function C(n,e){const t={};return Object.keys(e).forEach((function(r){if(!A(r)){const i=e[r],a=i.attrib||i.name||i.attribName||w+r;if(i.value){if(!Array.isArray(i.value)&&!b(i.value))throw new Error("array.value is not array or typedarray");t[a]={value:i.value}}else{let e,c,s,l;if(i.buffer&&i.buffer instanceof WebGLBuffer)e=i.buffer,l=i.numComponents||i.size,c=i.type,s=i.normalize;else if("number"==typeof i||"number"==typeof i.data){const t=i.data||i,a=i.type||Float32Array,u=t*a.BYTES_PER_ELEMENT;c=function(n){if(n===Int8Array)return 5120;if(n===Uint8Array)return y;if(n===Uint8ClampedArray)return y;if(n===Int16Array)return 5122;if(n===Uint16Array)return 5123;if(n===Int32Array)return 5124;if(n===Uint32Array)return 5125;if(n===Float32Array)return 5126;throw new Error("unsupported typed array type")}(a),s=void 0!==i.normalize?i.normalize:(o=a)===Int8Array||o===Uint8Array,l=i.numComponents||i.size||E(r,t),e=n.createBuffer(),n.bindBuffer(z,e),n.bufferData(z,u,i.drawType||35044)}else{const t=S(i,r);e=T(n,t,void 0,i.drawType),c=h(t),s=void 0!==i.normalize?i.normalize:function(n){return n instanceof Int8Array||n instanceof Uint8Array}(t),l=function(n,e){return n.numComponents||n.size||E(e,function(n){return n.length?n:n.data}(n).length)}(i,r)}t[a]={buffer:e,numComponents:l,type:c,normalize:s,stride:i.stride||0,offset:i.offset||0,divisor:void 0===i.divisor?void 0:i.divisor,drawType:i.drawType}}}var o})),n.bindBuffer(z,null),t}const D=["position","positions","a_position"];function F(n,e,t){const r=C(n,e),o=Object.assign({},t||{});o.attribs=Object.assign({},t?t.attribs:{},r);const i=e.indices;if(i){const e=S(i,"indices");o.indices=T(n,e,34963),o.numElements=e.length,o.elementType=h(e)}else o.numElements||(o.numElements=function(n,e){let t,r;for(r=0;r{const o=parseInt(n[1]),i=r[t+1],a=i?i.index:e.length;return[o-1,e.substring(n.index,a)]})));return n.split("\n").map(((n,e)=>{const r=o.get(e);return`${e+1+t}: ${n}${r?`\n\n^^^ ${r}`:""}`})).join("\n")}const sn=/^[ \t]*\n/;function ln(n,e,t,r){const o=r||k,i=n.createShader(t);let a=0;sn.test(e)&&(a=1,e=e.replace(sn,"")),n.shaderSource(i,e),n.compileShader(i);if(!n.getShaderParameter(i,35713)){const r=n.getShaderInfoLog(i);return o(`${cn(e,r,a)}\nError compiling ${M(n,t)}: ${r}`),n.deleteShader(i),null}return i}function un(n,e,t){let r,o;if("function"==typeof e&&(t=e,e=void 0),"function"==typeof n)t=n,n=void 0;else if(n&&!Array.isArray(n)){if(n.errorCallback)return n;const e=n;t=e.errorCallback,n=e.attribLocations,r=e.transformFeedbackVaryings,o=e.transformFeedbackMode}const i={errorCallback:t||k,transformFeedbackVaryings:r,transformFeedbackMode:o};if(n){let t={};Array.isArray(n)?n.forEach((function(n,r){t[n]=e?e[r]:r})):t=n,i.attribLocations=t}return i}const dn=["VERTEX_SHADER","FRAGMENT_SHADER"];function fn(n,e){e.forEach((function(e){n.deleteShader(e)}))}function vn(n,e,t,r,o){const i=un(t,r,o),a=[];for(let t=0;t=0?35632:s.indexOf("vert")>=0?35633:void 0)||a),r=ln(n,o,a,i.errorCallback),c.push(r)}"undefined"!=typeof WebGLShader&&r instanceof WebGLShader&&a.push(r)}var s;if(a.length!==e.length)return i.errorCallback("not enough shaders for program"),fn(n,c),null;const l=n.createProgram();a.forEach((function(e){n.attachShader(l,e)})),i.attribLocations&&Object.keys(i.attribLocations).forEach((function(e){n.bindAttribLocation(l,i.attribLocations[e],e)}));let u=i.transformFeedbackVaryings;if(u&&(u.attribs&&(u=u.attribs),Array.isArray(u)||(u=Object.keys(u)),n.transformFeedbackVaryings(l,u,i.transformFeedbackMode||35981)),n.linkProgram(l),!n.getProgramParameter(l,35714)){const e=n.getProgramInfoLog(l);return i.errorCallback(`${a.map((e=>{const t=cn(n.getShaderSource(e),"",0),r=n.getShaderParameter(e,n.SHADER_TYPE);return`${M(n,r)}\n${t}}`})).join("\n")}\nError in program linking: ${e}`),n.deleteProgram(l),fn(n,c),null}return l}(n,a,i)}function xn(n){const e=n.name;return e.startsWith("gl_")||e.startsWith("webgl_")}const mn=/(\.|\[|]|\w+)/g;function pn(n,e,t,r){const o=n.split(mn).filter((n=>""!==n));let i=0,a="";for(;;){const n=o[i++];a+=n;const s=(c=n[0])>="0"&&c<="9",l=s?parseInt(n):n;s&&(a+=o[i++]);if(i===o.length){t[l]=e;break}{const n=o[i++],e="["===n,c=t[l]||(e?[]:{});t[l]=c,t=c,r[a]=r[a]||function(n){return function(e){yn(n,e)}}(c),a+=n}}var c}function yn(n,e){for(const t in e){const r=n[t];"function"==typeof r?r(e[t]):yn(n[t],e[t])}}function hn(n,...e){const t=n.uniformSetters||n,r=e.length;for(let n=0;n> 13) ^ n;\n int nn = (n * (n * n * 60493 + 19990303) + 1376312589) & 0x7fffffff;\n return 1.0 - (float(nn) / 1073741824.0);\n }\n\n// vec4 intToSeedVec(uint seed) {\n// vec4 iSeedVec = vec4((seed / uvec4(1, 256, 65536, 16777216)) & uvec4(255));\n// return trunc(iSeedVec * (1.0 / 9.0)) * 10.0 + fract(iSeedVec * (1.0 / 9.0)) * 9.0 + 1.0; // Skip multiples of 9\n// }\n\n\n\n\n#endif\n\n#ifndef HASH_3\n#define HASH_3\n\n#define hashi(x) lowbias32(x)\n// #define hashi(x) triple32(x)\n\n #define hash(x) ( float( hashi(x) ) / float( 0xffffffffU ) )\n\nuint lowbias32(uint x)\n{\n x ^= x >> 16;\n x *= 0x7feb352dU;\n x ^= x >> 15;\n x *= 0x846ca68bU;\n x ^= x >> 16;\n return x;\n}\n\nuint triple32(uint x)\n{\n x ^= x >> 17;\n x *= 0xed5ad4bbU;\n x ^= x >> 11;\n x *= 0xac4c1b51U;\n x ^= x >> 15;\n x *= 0x31848babU;\n x ^= x >> 14;\n return x;\n}\n\n\n\n#endif\n\n",_n=`\n#version 300 es\nprecision highp float;\n\n#define linearstep(edge0, edge1, x) min(max((x - edge0)/(edge1 - edge0), 0.0), 1.0)\n\n${An}\n${`\n#ifndef LAB_COLORSPACE\n#define LAB_COLORSPACE\n\n#ifndef saturate\n#define saturate(v) clamp(v, 0.,1.)\n#endif\n\n${An}\n\n//Lifted from https://code.google.com/p/flowabs/source/browse/glsl/?r=f36cbdcf7790a28d90f09e2cf89ec9a64911f138\nvec3 lab2xyz( vec3 c ) {\n float fy = ( c.x + 16.0 ) / 116.0;\n float fx = c.y / 500.0 + fy;\n float fz = fy - c.z / 200.0;\n return vec3(\n 95.047 * (( fx > 0.206897 ) ? fx * fx * fx : ( fx - 16.0 / 116.0 ) / 7.787),\n 100.000 * (( fy > 0.206897 ) ? fy * fy * fy : ( fy - 16.0 / 116.0 ) / 7.787),\n 108.883 * (( fz > 0.206897 ) ? fz * fz * fz : ( fz - 16.0 / 116.0 ) / 7.787)\n );\n}\n\nvec3 xyz2rgb( vec3 c ) {\n vec3 v = c / 100.0 * mat3(\n 3.2406, -1.5372, -0.4986,\n -0.9689, 1.8758, 0.0415,\n 0.0557, -0.2040, 1.0570\n );\n vec3 r;\n r.x = ( v.r > 0.0031308 ) ? (( 1.055 * pow( v.r, ( 1.0 / 2.4 ))) - 0.055 ) : 12.92 * v.r;\n r.y = ( v.g > 0.0031308 ) ? (( 1.055 * pow( v.g, ( 1.0 / 2.4 ))) - 0.055 ) : 12.92 * v.g;\n r.z = ( v.b > 0.0031308 ) ? (( 1.055 * pow( v.b, ( 1.0 / 2.4 ))) - 0.055 ) : 12.92 * v.b;\n return r;\n}\n\nvec3 rgb2xyz( vec3 c ) {\n vec3 tmp;\n tmp.x = ( c.r > 0.04045 ) ? pow( ( c.r + 0.055 ) / 1.055, 2.4 ) : c.r / 12.92;\n tmp.y = ( c.g > 0.04045 ) ? pow( ( c.g + 0.055 ) / 1.055, 2.4 ) : c.g / 12.92,\n tmp.z = ( c.b > 0.04045 ) ? pow( ( c.b + 0.055 ) / 1.055, 2.4 ) : c.b / 12.92;\n return 100.0 * tmp *\n mat3( 0.4124, 0.3576, 0.1805,\n 0.2126, 0.7152, 0.0722,\n 0.0193, 0.1192, 0.9505 );\n}\n\nvec3 xyz2lab( vec3 c ) {\n vec3 n = c / vec3( 95.047, 100, 108.883 );\n vec3 v;\n v.x = ( n.x > 0.008856 ) ? pow( n.x, 1.0 / 3.0 ) : ( 7.787 * n.x ) + ( 16.0 / 116.0 );\n v.y = ( n.y > 0.008856 ) ? pow( n.y, 1.0 / 3.0 ) : ( 7.787 * n.y ) + ( 16.0 / 116.0 );\n v.z = ( n.z > 0.008856 ) ? pow( n.z, 1.0 / 3.0 ) : ( 7.787 * n.z ) + ( 16.0 / 116.0 );\n return vec3(( 116.0 * v.y ) - 16.0, 500.0 * ( v.x - v.y ), 200.0 * ( v.y - v.z ));\n}\n\nvec3 rgb2lab(vec3 c) {\n vec3 lab = xyz2lab( rgb2xyz( c ) );\n return vec3( lab.x / 100.0, 0.5 + 0.5 * ( lab.y / 127.0 ), 0.5 + 0.5 * ( lab.z / 127.0 ));\n}\n\nvec3 lab2rgb(vec3 c) {\n return xyz2rgb( lab2xyz( vec3(100.0 * c.x, 2.0 * 127.0 * (c.y - 0.5), 2.0 * 127.0 * (c.z - 0.5)) ) );\n}\n\nvec3 lab2rgb2(vec3 c)\n{\n float l = c.r;\n float a = c.g;\n float b = c.b;\n\n vec3 rgb = vec3(0.);\n\n float y = (l+16.)/116.;\n float x = a/500. + y;\n float z = y - b/200.;\n\n y = pow(y, 3.) > 0.008856 ? pow(y,3.) : (y-16./116.)/7.787;\n x = pow(x, 3.) > 0.008856 ? pow(x,3.) : (x-16./116.)/7.787;\n z = pow(z, 3.) > 0.008856 ? pow(z,3.) : (z-16./116.)/7.787;\n\n x *= 95.047;\n y *= 100.;\n z *= 108.883;\n\n x /= 100.;\n y /= 100.;\n z /= 100.;\n\n float R = x * 3.2406 + y * -1.5372 + z * -0.4986;\n float G = x * -0.9689 + y * 1.8758 + z * 0.0415;\n float B = x * 0.0557 + y * -0.2040 + z * 1.0570;\n\n R = R > 0.0031308 ? 1.055 * pow(R , ( 1. / 2.4 )) - 0.055 : 12.92 * R;\n G = G > 0.0031308 ? 1.055 * pow(G , ( 1. / 2.4 )) - 0.055 : 12.92 * G;\n B = B > 0.0031308 ? 1.055 * pow(B , ( 1. / 2.4 )) - 0.055 : 12.92 * B;\n\n return vec3(R, G, B);\n\n}\n\nvec3 oklab_mix_2(vec3 colA, vec3 colB, float h)\n{\n return lab2rgb(mix(rgb2lab(colA), rgb2lab(colB), h));\n}\n\n// See here: https://www.shadertoy.com/view/ttcyRS\nvec3 oklab_mix( vec3 colA, vec3 colB, float h )\n{\n // https://bottosson.github.io/posts/oklab\n const mat3 kCONEtoLMS = mat3(\n 0.4121656120, 0.2118591070, 0.0883097947,\n 0.5362752080, 0.6807189584, 0.2818474174,\n 0.0514575653, 0.1074065790, 0.6302613616);\n const mat3 kLMStoCONE = mat3(\n 4.0767245293, -1.2681437731, -0.0041119885,\n -3.3072168827, 2.6093323231, -0.7034763098,\n 0.2307590544, -0.3411344290, 1.7068625689);\n\n // rgb to cone (arg of pow can't be negative)\n vec3 lmsA = pow( kCONEtoLMS*colA, vec3(1.0/3.0) );\n vec3 lmsB = pow( kCONEtoLMS*colB, vec3(1.0/3.0) );\n // lerp\n vec3 lms = mix( lmsA, lmsB, h );\n // gain in the middle (no oaklab anymore, but looks better?)\n lms *= 1.0+0.2*h*(1.0-h);\n // cone to rgb\n return kLMStoCONE*(lms*lms*lms);\n}\n#endif\n`}\nconst int MAX_COLORS = 10;\n\nuniform vec2 resolution;\nuniform vec3 color1;\nuniform vec3 color2;\nuniform vec3 color3;\nuniform vec3 color4;\nuniform vec3 color5;\n\nuniform vec3 colors[MAX_COLORS];\n\nuniform int numColors;\n\nin vec4 fragUV;\nout vec4 FragColor;\n\nvoid main() {\n vec2 uv = gl_FragCoord.xy / resolution;\n uv.x += .001*rand(uv);\n\n vec3 c1 = color1 / vec3(255.0);\n vec3 c2 = color2 / vec3(255.0);\n vec3 c3 = color3 / vec3(255.);\n vec3 c4 = color4 / vec3(255.);\n vec3 c5 = color5 / vec3(255.);\n\n vec3 lab1 = rgb2lab(colors[0]/255.);\n vec3 lab2 = rgb2lab(colors[1]/255.);\n vec3 lab3 = rgb2lab(c3);\n vec3 lab4 = rgb2lab(c4);\n vec3 lab5 = rgb2lab(c5);\n\n float nCol= float(numColors);\n float step = 1./(nCol-1.);\n\n\n\n // vec3 labOut = oklab_mix(lab1, lab2, linearstep(0.*step, 1.*step, uv.x));\n float dither = rand(uv)*.001;\n vec3 col = mix(rgb2lab(colors[0]/255.), rgb2lab(colors[1]/255.), linearstep(0.*step, 1.*step, uv.x + dither));\n\n for(int i = 2; i < MAX_COLORS; i++)\n {\n // break early when done\n if(i >= numColors) break;\n\n vec3 nextLab = rgb2lab(colors[i]/255.);\n\n col = mix(col, nextLab, linearstep(float(i-1)*step, float(i)*step, uv.x)+ dither);\n }\n\n col = lab2rgb(col);\n // linear to gamma\n col = pow( col, vec3(0.4545) );\n\n\n FragColor.rgb = (col);\n}\n`,Pn="\n#version 300 es\n\nin vec4 position;\nin vec2 texCoord;\n\n\nout vec4 fragUV;\n\nvoid main() {\n gl_Position = position;\n\n vec2 uv = position.xy;\n uv = position.xy * 0.5 + 0.5;\n// uv = vec2(position.x ,0.);\n// uv = position.xy;\n// uv = texCoord;\nuv = vec2(1.,0.);\n fragUV = vec4(uv, 0., 0.);\n}\n",En="\n#ifndef saturate\n#define saturate(v) clamp(v, 0., 1.)\n#endif\n",Sn=`\n#version 300 es\n\n#if __VERSION__ > 130\n#define texture2D texture\n#endif\n\nprecision mediump float;\n\n${`\n\n#ifndef SHAPES_GLSL\n#define SHAPES_GLSL\n\nfloat dot2( in vec2 v ) { return dot(v,v); }\nfloat ndot(vec2 a, vec2 b ) { return a.x*b.x - a.y*b.y; }\n\n#define PI 3.14159265358979323846\n#define TWOPI 2.*PI\n#define RAD2DEG (180.0/PI)\n#define DEG2RAD (PI/180.)\n\nfloat sminCubic( float a, float b, float k )\n{\n float h = max( k-abs(a-b), 0.0 )/k;\n return min( a, b ) - h*h*h*k*(1.0/6.0);\n}\n\nfloat sdCircle( vec2 p, float r )\n{\n return length(p) - r;\n}\n\nfloat sdRoundedBox( in vec2 p, in vec2 b, in vec4 r )\n{\n r.xy = (p.x>0.0)?r.xy : r.zw;\n r.x = (p.y>0.0)?r.x : r.y;\n vec2 q = abs(p)-b+r.x;\n return min(max(q.x,q.y),0.0) + length(max(q,0.0)) - r.x;\n}\n\nfloat sdBox( in vec2 p, in vec2 b )\n{\n vec2 d = abs(p)-b;\n return length(max(d,0.0)) + min(max(d.x,d.y),0.0);\n}\n\nfloat sdOrientedBox( in vec2 p, in vec2 a, in vec2 b, float th )\n{\n float l = length(b-a);\n vec2 d = (b-a)/l;\n vec2 q = (p-(a+b)*0.5);\n q = mat2(d.x,-d.y,d.y,d.x)*q;\n q = abs(q)-vec2(l,th)*0.5;\n return length(max(q,0.0)) + min(max(q.x,q.y),0.0);\n}\n\nfloat sdEquilateralTriangle( in vec2 p )\n{\n const float k = sqrt(3.0);\n p.x = abs(p.x) - 1.0;\n p.y = p.y + 1.0/k;\n if( p.x+k*p.y>0.0 ) p = vec2(p.x-k*p.y,-k*p.x-p.y)/2.0;\n p.x -= clamp( p.x, -2.0, 0.0 );\n return -length(p)*sign(p.y);\n}\n\nfloat sdRhombus( in vec2 p, in vec2 b )\n{\n p = abs(p);\n float h = clamp( ndot(b-2.0*p,b)/dot(b,b), -1.0, 1.0 );\n float d = length( p-0.5*b*vec2(1.0-h,1.0+h) );\n return d * sign( p.x*b.y + p.y*b.x - b.x*b.y );\n}\n\nfloat sdTrapezoid( in vec2 p, in float r1, float r2, float he )\n{\n vec2 k1 = vec2(r2,he);\n vec2 k2 = vec2(r2-r1,2.0*he);\n p.x = abs(p.x);\n vec2 ca = vec2(p.x-min(p.x,(p.y<0.0)?r1:r2), abs(p.y)-he);\n vec2 cb = p - k1 + k2*clamp( dot(k1-p,k2)/dot2(k2), 0.0, 1.0 );\n float s = (cb.x<0.0 && ca.y<0.0) ? -1.0 : 1.0;\n return s*sqrt( min(dot2(ca),dot2(cb)) );\n}\n\nfloat sdParallelogram( in vec2 p, float wi, float he, float sk )\n{\n vec2 e = vec2(sk,he);\n p = (p.y<0.0)?-p:p;\n vec2 w = p - e; w.x -= clamp(w.x,-wi,wi);\n vec2 d = vec2(dot(w,w), -w.y);\n float s = p.x*e.y - p.y*e.x;\n p = (s<0.0)?-p:p;\n vec2 v = p - vec2(wi,0); v -= e*clamp(dot(v,e)/dot(e,e),-1.0,1.0);\n d = min( d, vec2(dot(v,v), wi*he-abs(s)));\n return sqrt(d.x)*sign(-d.y);\n}\n\nvec2 translate(vec2 p, vec2 t)\n{\n\treturn p - t;\n}\n\nvec3 translate(vec3 p, vec3 t)\n{\n return p - t;\n}\n\nvec2 scale(vec2 p, float zoom)\n{\n p *= zoom;\n return p;\n}\n\nvec2 scale(vec2 p, vec2 origin, float zoom)\n{\n p -= origin;\n p *= zoom;\n p += origin;\n\n return p;\n}\n\nvec2 rotate(vec2 p, float a)\n{\n mat2 m = mat2(cos(a),sin(a),-sin(a),cos(a));\n return p*m;\n}\n\nvec2 rotate(vec2 p, vec2 origin, float a)\n{\n p -= origin;\n mat2 m = mat2(cos(a),sin(a),-sin(a),cos(a));\n return p*m + origin;\n}\n\n#endif\n\n${An}\n//\n// Description : Array and textureless GLSL 2D/3D/4D simplex\n// noise functions.\n// Author : Ian McEwan, Ashima Arts.\n// Maintainer : stegu\n// Lastmod : 20201014 (stegu)\n// License : Copyright (C) 2011 Ashima Arts. All rights reserved.\n// Distributed under the MIT License. See LICENSE file.\n// https://github.com/ashima/webgl-noise\n// https://github.com/stegu/webgl-noise\n//\n\n#ifndef MOD289_3\n#define MOD289_3\nvec3 mod289(vec3 x) {\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\n#endif\n\n#ifndef MOD289_4\n#define MOD289_4\nvec4 mod289(vec4 x) {\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\n#endif\n\n#ifndef PERMUTE_4\n#define PERMUTE_4\nvec4 permute(vec4 x) {\n return mod289(((x*34.0)+10.0)*x);\n}\n#endif\n\n#ifndef TAYLORINVSQRT\n#define TAYLORINVSQRT\nvec4 taylorInvSqrt(vec4 r)\n{\n return 1.79284291400159 - 0.85373472095314 * r;\n}\n#endif\n\nfloat snoise(vec3 v, out vec3 gradient)\n{\n const vec2 C = vec2(1.0/6.0, 1.0/3.0) ;\n const vec4 D = vec4(0.0, 0.5, 1.0, 2.0);\n\n// First corner\n vec3 i = floor(v + dot(v, C.yyy) );\n vec3 x0 = v - i + dot(i, C.xxx) ;\n\n// Other corners\n vec3 g = step(x0.yzx, x0.xyz);\n vec3 l = 1.0 - g;\n vec3 i1 = min( g.xyz, l.zxy );\n vec3 i2 = max( g.xyz, l.zxy );\n\n // x0 = x0 - 0.0 + 0.0 * C.xxx;\n // x1 = x0 - i1 + 1.0 * C.xxx;\n // x2 = x0 - i2 + 2.0 * C.xxx;\n // x3 = x0 - 1.0 + 3.0 * C.xxx;\n vec3 x1 = x0 - i1 + C.xxx;\n vec3 x2 = x0 - i2 + C.yyy; // 2.0*C.x = 1/3 = C.y\n vec3 x3 = x0 - D.yyy; // -1.0+3.0*C.x = -0.5 = -D.y\n\n// Permutations\n i = mod289(i);\n vec4 p = permute( permute( permute(\n i.z + vec4(0.0, i1.z, i2.z, 1.0 ))\n + i.y + vec4(0.0, i1.y, i2.y, 1.0 ))\n + i.x + vec4(0.0, i1.x, i2.x, 1.0 ));\n\n// Gradients: 7x7 points over a square, mapped onto an octahedron.\n// The ring size 17*17 = 289 is close to a multiple of 49 (49*6 = 294)\n float n_ = 0.142857142857; // 1.0/7.0\n vec3 ns = n_ * D.wyz - D.xzx;\n\n vec4 j = p - 49.0 * floor(p * ns.z * ns.z); // mod(p,7*7)\n\n vec4 x_ = floor(j * ns.z);\n vec4 y_ = floor(j - 7.0 * x_ ); // mod(j,N)\n\n vec4 x = x_ *ns.x + ns.yyyy;\n vec4 y = y_ *ns.x + ns.yyyy;\n vec4 h = 1.0 - abs(x) - abs(y);\n\n vec4 b0 = vec4( x.xy, y.xy );\n vec4 b1 = vec4( x.zw, y.zw );\n\n //vec4 s0 = vec4(lessThan(b0,0.0))*2.0 - 1.0;\n //vec4 s1 = vec4(lessThan(b1,0.0))*2.0 - 1.0;\n vec4 s0 = floor(b0)*2.0 + 1.0;\n vec4 s1 = floor(b1)*2.0 + 1.0;\n vec4 sh = -step(h, vec4(0.0));\n\n vec4 a0 = b0.xzyw + s0.xzyw*sh.xxyy ;\n vec4 a1 = b1.xzyw + s1.xzyw*sh.zzww ;\n\n vec3 p0 = vec3(a0.xy,h.x);\n vec3 p1 = vec3(a0.zw,h.y);\n vec3 p2 = vec3(a1.xy,h.z);\n vec3 p3 = vec3(a1.zw,h.w);\n\n//Normalise gradients\n vec4 norm = taylorInvSqrt(vec4(dot(p0,p0), dot(p1,p1), dot(p2, p2), dot(p3,p3)));\n p0 *= norm.x;\n p1 *= norm.y;\n p2 *= norm.z;\n p3 *= norm.w;\n\n// Mix final noise value\n vec4 m = max(0.5 - vec4(dot(x0,x0), dot(x1,x1), dot(x2,x2), dot(x3,x3)), 0.0);\n vec4 m2 = m * m;\n vec4 m4 = m2 * m2;\n vec4 pdotx = vec4(dot(p0,x0), dot(p1,x1), dot(p2,x2), dot(p3,x3));\n\n// Determine noise gradient\n vec4 temp = m2 * m * pdotx;\n gradient = -8.0 * (temp.x * x0 + temp.y * x1 + temp.z * x2 + temp.w * x3);\n gradient += m4.x * p0 + m4.y * p1 + m4.z * p2 + m4.w * p3;\n gradient *= 105.0;\n\n return 105.0 * dot(m4, pdotx);\n}\n\n\n//\n// Description : Array and textureless GLSL 2D/3D/4D simplex\n// noise functions.\n// Author : Ian McEwan, Ashima Arts.\n// Maintainer : stegu\n// Lastmod : 20201014 (stegu)\n// License : Copyright (C) 2011 Ashima Arts. All rights reserved.\n// Distributed under the MIT License. See LICENSE file.\n// https://github.com/ashima/webgl-noise\n// https://github.com/stegu/webgl-noise\n//\n\n#ifndef MOD289_3\n#define MOD289_3\nvec3 mod289(vec3 x) {\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\n#endif\n\n#ifndef MOD289_4\n#define MOD289_4\nvec4 mod289(vec4 x) {\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\n#endif\n\n#ifndef PERMUTE_4\n#define PERMUTE_4\nvec4 permute(vec4 x) {\n return mod289(((x*34.0)+10.0)*x);\n}\n#endif\n\n#ifndef TAYLORINVSQRT\n#define TAYLORINVSQRT\nvec4 taylorInvSqrt(vec4 r)\n{\n return 1.79284291400159 - 0.85373472095314 * r;\n}\n#endif\n\nfloat snoise(vec3 v)\n {\n const vec2 C = vec2(1.0/6.0, 1.0/3.0) ;\n const vec4 D = vec4(0.0, 0.5, 1.0, 2.0);\n\n// First corner\n vec3 i = floor(v + dot(v, C.yyy) );\n vec3 x0 = v - i + dot(i, C.xxx) ;\n\n// Other corners\n vec3 g = step(x0.yzx, x0.xyz);\n vec3 l = 1.0 - g;\n vec3 i1 = min( g.xyz, l.zxy );\n vec3 i2 = max( g.xyz, l.zxy );\n\n // x0 = x0 - 0.0 + 0.0 * C.xxx;\n // x1 = x0 - i1 + 1.0 * C.xxx;\n // x2 = x0 - i2 + 2.0 * C.xxx;\n // x3 = x0 - 1.0 + 3.0 * C.xxx;\n vec3 x1 = x0 - i1 + C.xxx;\n vec3 x2 = x0 - i2 + C.yyy; // 2.0*C.x = 1/3 = C.y\n vec3 x3 = x0 - D.yyy; // -1.0+3.0*C.x = -0.5 = -D.y\n\n// Permutations\n i = mod289(i);\n vec4 p = permute( permute( permute(\n i.z + vec4(0.0, i1.z, i2.z, 1.0 ))\n + i.y + vec4(0.0, i1.y, i2.y, 1.0 ))\n + i.x + vec4(0.0, i1.x, i2.x, 1.0 ));\n\n// Gradients: 7x7 points over a square, mapped onto an octahedron.\n// The ring size 17*17 = 289 is close to a multiple of 49 (49*6 = 294)\n float n_ = 0.142857142857; // 1.0/7.0\n vec3 ns = n_ * D.wyz - D.xzx;\n\n vec4 j = p - 49.0 * floor(p * ns.z * ns.z); // mod(p,7*7)\n\n vec4 x_ = floor(j * ns.z);\n vec4 y_ = floor(j - 7.0 * x_ ); // mod(j,N)\n\n vec4 x = x_ *ns.x + ns.yyyy;\n vec4 y = y_ *ns.x + ns.yyyy;\n vec4 h = 1.0 - abs(x) - abs(y);\n\n vec4 b0 = vec4( x.xy, y.xy );\n vec4 b1 = vec4( x.zw, y.zw );\n\n //vec4 s0 = vec4(lessThan(b0,0.0))*2.0 - 1.0;\n //vec4 s1 = vec4(lessThan(b1,0.0))*2.0 - 1.0;\n vec4 s0 = floor(b0)*2.0 + 1.0;\n vec4 s1 = floor(b1)*2.0 + 1.0;\n vec4 sh = -step(h, vec4(0.0));\n\n vec4 a0 = b0.xzyw + s0.xzyw*sh.xxyy ;\n vec4 a1 = b1.xzyw + s1.xzyw*sh.zzww ;\n\n vec3 p0 = vec3(a0.xy,h.x);\n vec3 p1 = vec3(a0.zw,h.y);\n vec3 p2 = vec3(a1.xy,h.z);\n vec3 p3 = vec3(a1.zw,h.w);\n\n//Normalise gradients\n vec4 norm = taylorInvSqrt(vec4(dot(p0,p0), dot(p1,p1), dot(p2, p2), dot(p3,p3)));\n p0 *= norm.x;\n p1 *= norm.y;\n p2 *= norm.z;\n p3 *= norm.w;\n\n// Mix final noise value\n vec4 m = max(0.5 - vec4(dot(x0,x0), dot(x1,x1), dot(x2,x2), dot(x3,x3)), 0.0);\n m = m * m;\n return 105.0 * dot( m*m, vec4( dot(p0,x0), dot(p1,x1),\n dot(p2,x2), dot(p3,x3) ) );\n }\n \n${En}\n\n// #version 120\n\n// Cellular noise ("Worley noise") in 3D in GLSL.\n// Copyright (c) Stefan Gustavson 2011-04-19. All rights reserved.\n// This code is released under the conditions of the MIT license.\n// See LICENSE file for details.\n// https://github.com/stegu/webgl-noise\n\n#ifndef MOD289_3\n#define MOD289_3\n// Modulo 289 without a division (only multiplications)\nvec3 mod289(vec3 x) {\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\n#endif\n\n#ifndef MOD289_4\n#define MOD289_4\nvec4 mod289(vec4 x) {\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\n#endif\n\n#ifndef MOD7_4\n#define MOD7_4\n// Modulo 7 without a division\nvec4 mod7(vec4 x) {\n return x - floor(x * (1.0 / 7.0)) * 7.0;\n}\n#endif\n\n#ifndef PERMUTE_3\n#define PERMUTE_3\n// Permutation polynomial: (34x^2 + 6x) mod 289\nvec3 permute(vec3 x) {\n return mod289((34.0 * x + 10.0) * x);\n}\n#endif\n\n#ifndef PERMUTE_4\n#define PERMUTE_4\nvec4 permute(vec4 x) {\n return mod289((34.0 * x + 10.0) * x);\n}\n#endif\n\n// Cellular noise, returning F1 and F2 in a vec2.\n// Speeded up by using 2x2x2 search window instead of 3x3x3,\n// at the expense of some pattern artifacts.\n// F2 is often wrong and has sharp discontinuities.\n// If you need a good F2, use the slower 3x3x3 version.\nvec2 cellular2x2x2(vec3 P) {\n#define K 0.142857142857 // 1/7\n#define Ko 0.428571428571 // 1/2-K/2\n#define K2 0.020408163265306 // 1/(7*7)\n#define Kz 0.166666666667 // 1/6\n#define Kzo 0.416666666667 // 1/2-1/6*2\n#define jitter 0.8 // smaller jitter gives less errors in F2\n\tvec3 Pi = mod289(floor(P));\n \tvec3 Pf = fract(P);\n\tvec4 Pfx = Pf.x + vec4(0.0, -1.0, 0.0, -1.0);\n\tvec4 Pfy = Pf.y + vec4(0.0, 0.0, -1.0, -1.0);\n\tvec4 p = permute(Pi.x + vec4(0.0, 1.0, 0.0, 1.0));\n\tp = permute(p + Pi.y + vec4(0.0, 0.0, 1.0, 1.0));\n\tvec4 p1 = permute(p + Pi.z); // z+0\n\tvec4 p2 = permute(p + Pi.z + vec4(1.0)); // z+1\n\tvec4 ox1 = fract(p1*K) - Ko;\n\tvec4 oy1 = mod7(floor(p1*K))*K - Ko;\n\tvec4 oz1 = floor(p1*K2)*Kz - Kzo; // p1 < 289 guaranteed\n\tvec4 ox2 = fract(p2*K) - Ko;\n\tvec4 oy2 = mod7(floor(p2*K))*K - Ko;\n\tvec4 oz2 = floor(p2*K2)*Kz - Kzo;\n\tvec4 dx1 = Pfx + jitter*ox1;\n\tvec4 dy1 = Pfy + jitter*oy1;\n\tvec4 dz1 = Pf.z + jitter*oz1;\n\tvec4 dx2 = Pfx + jitter*ox2;\n\tvec4 dy2 = Pfy + jitter*oy2;\n\tvec4 dz2 = Pf.z - 1.0 + jitter*oz2;\n\tvec4 d1 = dx1 * dx1 + dy1 * dy1 + dz1 * dz1; // z+0\n\tvec4 d2 = dx2 * dx2 + dy2 * dy2 + dz2 * dz2; // z+1\n\n\t// Sort out the two smallest distances (F1, F2)\n#if 0\n\t// Cheat and sort out only F1\n\td1 = min(d1, d2);\n\td1.xy = min(d1.xy, d1.wz);\n\td1.x = min(d1.x, d1.y);\n\treturn vec2(sqrt(d1.x));\n#else\n\t// Do it right and sort out both F1 and F2\n\tvec4 d = min(d1,d2); // F1 is now in d\n\td2 = max(d1,d2); // Make sure we keep all candidates for F2\n\td.xy = (d.x < d.y) ? d.xy : d.yx; // Swap smallest to d.x\n\td.xz = (d.x < d.z) ? d.xz : d.zx;\n\td.xw = (d.x < d.w) ? d.xw : d.wx; // F1 is now in d.x\n\td.yzw = min(d.yzw, d2.yzw); // F2 now not in d2.yzw\n\td.y = min(d.y, d.z); // nor in d.z\n\td.y = min(d.y, d.w); // nor in d.w\n\td.y = min(d.y, d2.x); // F2 is now in d.y\n\treturn sqrt(d.xy); // F1 and F2\n#endif\n}\n\n\n// #version 120\n\n// Cellular noise ("Worley noise") in 3D in GLSL.\n// Copyright (c) Stefan Gustavson 2011-04-19. All rights reserved.\n// This code is released under the conditions of the MIT license.\n// See LICENSE file for details.\n// https://github.com/stegu/webgl-noise\n\n#ifndef MOD289_3\n#define MOD289_3\n// Modulo 289 without a division (only multiplications)\nvec3 mod289(vec3 x) {\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\n#endif\n\n#ifndef MOD7_3\n#define MOD7_3\n// Modulo 7 without a division\nvec3 mod7(vec3 x) {\n return x - floor(x * (1.0 / 7.0)) * 7.0;\n}\n#endif\n\n#ifndef PERMUTE_3\n#define PERMUTE_3\n// Permutation polynomial: (34x^2 + 6x) mod 289\nvec3 permute(vec3 x) {\n return mod289((34.0 * x + 10.0) * x);\n}\n#endif\n\n// Cellular noise, returning F1 and F2 in a vec2.\n// 3x3x3 search region for good F2 everywhere, but a lot\n// slower than the 2x2x2 version.\n// The code below is a bit scary even to its author,\n// but it has at least half decent performance on a\n// modern GPU. In any case, it beats any software\n// implementation of Worley noise hands down.\n\nvec2 cellular(vec3 P) {\n#define K 0.142857142857 // 1/7\n#define Ko 0.428571428571 // 1/2-K/2\n#define K2 0.020408163265306 // 1/(7*7)\n#define Kz 0.166666666667 // 1/6\n#define Kzo 0.416666666667 // 1/2-1/6*2\n#define jitter_cell_noise 1.0 // smaller jitter_cell_noise gives more regular pattern\n\n\tvec3 Pi = mod289(floor(P));\n \tvec3 Pf = fract(P) - 0.5;\n\n\tvec3 Pfx = Pf.x + vec3(1.0, 0.0, -1.0);\n\tvec3 Pfy = Pf.y + vec3(1.0, 0.0, -1.0);\n\tvec3 Pfz = Pf.z + vec3(1.0, 0.0, -1.0);\n\n\tvec3 p = permute(Pi.x + vec3(-1.0, 0.0, 1.0));\n\tvec3 p1 = permute(p + Pi.y - 1.0);\n\tvec3 p2 = permute(p + Pi.y);\n\tvec3 p3 = permute(p + Pi.y + 1.0);\n\n\tvec3 p11 = permute(p1 + Pi.z - 1.0);\n\tvec3 p12 = permute(p1 + Pi.z);\n\tvec3 p13 = permute(p1 + Pi.z + 1.0);\n\n\tvec3 p21 = permute(p2 + Pi.z - 1.0);\n\tvec3 p22 = permute(p2 + Pi.z);\n\tvec3 p23 = permute(p2 + Pi.z + 1.0);\n\n\tvec3 p31 = permute(p3 + Pi.z - 1.0);\n\tvec3 p32 = permute(p3 + Pi.z);\n\tvec3 p33 = permute(p3 + Pi.z + 1.0);\n\n\tvec3 ox11 = fract(p11*K) - Ko;\n\tvec3 oy11 = mod7(floor(p11*K))*K - Ko;\n\tvec3 oz11 = floor(p11*K2)*Kz - Kzo; // p11 < 289 guaranteed\n\n\tvec3 ox12 = fract(p12*K) - Ko;\n\tvec3 oy12 = mod7(floor(p12*K))*K - Ko;\n\tvec3 oz12 = floor(p12*K2)*Kz - Kzo;\n\n\tvec3 ox13 = fract(p13*K) - Ko;\n\tvec3 oy13 = mod7(floor(p13*K))*K - Ko;\n\tvec3 oz13 = floor(p13*K2)*Kz - Kzo;\n\n\tvec3 ox21 = fract(p21*K) - Ko;\n\tvec3 oy21 = mod7(floor(p21*K))*K - Ko;\n\tvec3 oz21 = floor(p21*K2)*Kz - Kzo;\n\n\tvec3 ox22 = fract(p22*K) - Ko;\n\tvec3 oy22 = mod7(floor(p22*K))*K - Ko;\n\tvec3 oz22 = floor(p22*K2)*Kz - Kzo;\n\n\tvec3 ox23 = fract(p23*K) - Ko;\n\tvec3 oy23 = mod7(floor(p23*K))*K - Ko;\n\tvec3 oz23 = floor(p23*K2)*Kz - Kzo;\n\n\tvec3 ox31 = fract(p31*K) - Ko;\n\tvec3 oy31 = mod7(floor(p31*K))*K - Ko;\n\tvec3 oz31 = floor(p31*K2)*Kz - Kzo;\n\n\tvec3 ox32 = fract(p32*K) - Ko;\n\tvec3 oy32 = mod7(floor(p32*K))*K - Ko;\n\tvec3 oz32 = floor(p32*K2)*Kz - Kzo;\n\n\tvec3 ox33 = fract(p33*K) - Ko;\n\tvec3 oy33 = mod7(floor(p33*K))*K - Ko;\n\tvec3 oz33 = floor(p33*K2)*Kz - Kzo;\n\n\tvec3 dx11 = Pfx + jitter_cell_noise*ox11;\n\tvec3 dy11 = Pfy.x + jitter_cell_noise*oy11;\n\tvec3 dz11 = Pfz.x + jitter_cell_noise*oz11;\n\n\tvec3 dx12 = Pfx + jitter_cell_noise*ox12;\n\tvec3 dy12 = Pfy.x + jitter_cell_noise*oy12;\n\tvec3 dz12 = Pfz.y + jitter_cell_noise*oz12;\n\n\tvec3 dx13 = Pfx + jitter_cell_noise*ox13;\n\tvec3 dy13 = Pfy.x + jitter_cell_noise*oy13;\n\tvec3 dz13 = Pfz.z + jitter_cell_noise*oz13;\n\n\tvec3 dx21 = Pfx + jitter_cell_noise*ox21;\n\tvec3 dy21 = Pfy.y + jitter_cell_noise*oy21;\n\tvec3 dz21 = Pfz.x + jitter_cell_noise*oz21;\n\n\tvec3 dx22 = Pfx + jitter_cell_noise*ox22;\n\tvec3 dy22 = Pfy.y + jitter_cell_noise*oy22;\n\tvec3 dz22 = Pfz.y + jitter_cell_noise*oz22;\n\n\tvec3 dx23 = Pfx + jitter_cell_noise*ox23;\n\tvec3 dy23 = Pfy.y + jitter_cell_noise*oy23;\n\tvec3 dz23 = Pfz.z + jitter_cell_noise*oz23;\n\n\tvec3 dx31 = Pfx + jitter_cell_noise*ox31;\n\tvec3 dy31 = Pfy.z + jitter_cell_noise*oy31;\n\tvec3 dz31 = Pfz.x + jitter_cell_noise*oz31;\n\n\tvec3 dx32 = Pfx + jitter_cell_noise*ox32;\n\tvec3 dy32 = Pfy.z + jitter_cell_noise*oy32;\n\tvec3 dz32 = Pfz.y + jitter_cell_noise*oz32;\n\n\tvec3 dx33 = Pfx + jitter_cell_noise*ox33;\n\tvec3 dy33 = Pfy.z + jitter_cell_noise*oy33;\n\tvec3 dz33 = Pfz.z + jitter_cell_noise*oz33;\n\n\tvec3 d11 = dx11 * dx11 + dy11 * dy11 + dz11 * dz11;\n\tvec3 d12 = dx12 * dx12 + dy12 * dy12 + dz12 * dz12;\n\tvec3 d13 = dx13 * dx13 + dy13 * dy13 + dz13 * dz13;\n\tvec3 d21 = dx21 * dx21 + dy21 * dy21 + dz21 * dz21;\n\tvec3 d22 = dx22 * dx22 + dy22 * dy22 + dz22 * dz22;\n\tvec3 d23 = dx23 * dx23 + dy23 * dy23 + dz23 * dz23;\n\tvec3 d31 = dx31 * dx31 + dy31 * dy31 + dz31 * dz31;\n\tvec3 d32 = dx32 * dx32 + dy32 * dy32 + dz32 * dz32;\n\tvec3 d33 = dx33 * dx33 + dy33 * dy33 + dz33 * dz33;\n\n\t// Sort out the two smallest distances (F1, F2)\n#if 0\n\t// Cheat and sort out only F1\n\tvec3 d1 = min(min(d11,d12), d13);\n\tvec3 d2 = min(min(d21,d22), d23);\n\tvec3 d3 = min(min(d31,d32), d33);\n\tvec3 d = min(min(d1,d2), d3);\n\td.x = min(min(d.x,d.y),d.z);\n\treturn vec2(sqrt(d.x)); // F1 duplicated, no F2 computed\n#else\n\t// Do it right and sort out both F1 and F2\n\tvec3 d1a = min(d11, d12);\n\td12 = max(d11, d12);\n\td11 = min(d1a, d13); // Smallest now not in d12 or d13\n\td13 = max(d1a, d13);\n\td12 = min(d12, d13); // 2nd smallest now not in d13\n\tvec3 d2a = min(d21, d22);\n\td22 = max(d21, d22);\n\td21 = min(d2a, d23); // Smallest now not in d22 or d23\n\td23 = max(d2a, d23);\n\td22 = min(d22, d23); // 2nd smallest now not in d23\n\tvec3 d3a = min(d31, d32);\n\td32 = max(d31, d32);\n\td31 = min(d3a, d33); // Smallest now not in d32 or d33\n\td33 = max(d3a, d33);\n\td32 = min(d32, d33); // 2nd smallest now not in d33\n\tvec3 da = min(d11, d21);\n\td21 = max(d11, d21);\n\td11 = min(da, d31); // Smallest now in d11\n\td31 = max(da, d31); // 2nd smallest now not in d31\n\td11.xy = (d11.x < d11.y) ? d11.xy : d11.yx;\n\td11.xz = (d11.x < d11.z) ? d11.xz : d11.zx; // d11.x now smallest\n\td12 = min(d12, d21); // 2nd smallest now not in d21\n\td12 = min(d12, d22); // nor in d22\n\td12 = min(d12, d31); // nor in d31\n\td12 = min(d12, d32); // nor in d32\n\td11.yz = min(d11.yz,d12.xy); // nor in d12.yz\n\td11.y = min(d11.y,d12.z); // Only two more to go\n\td11.y = min(d11.y,d11.z); // Done! (Phew!)\n\treturn sqrt(d11.xy); // F1, F2\n#endif\n}\n\n\n${An}\n\n// Included to use integer seed value to generate noise\n\n// https://gist.github.com/KdotJPG/67f847a9d5c89b9ad82cab673cdf1929\n// MIT for now, will Public Domain when I post to OpenSimplex2 repo!\n\nvec4 intToSeedVec(uint seed) {\n vec4 iSeedVec = vec4((seed / uvec4(1, 256, 65536, 16777216)) & uvec4(255));\n return trunc(iSeedVec * (1.0 / 9.0)) * 10.0 + fract(iSeedVec * (1.0 / 9.0)) * 9.0 + 1.0; // Skip multiples of 9\n}\n\nvec4 permute(vec4 t, float seedPart) {\n return t * (t * 27.0 + seedPart);\n}\n\nfloat permute(float t, float seedPart) {\n return t * (t * 27.0 + seedPart);\n}\n\nvec4 mod639(vec4 t) {\n return t - floor(t * (1.0 / 639.0)) * 639.0;\n}\n\nfloat mod639(float t) {\n return t - floor(t * (1.0 / 639.0)) * 639.0;\n}\n\nvec4 pmod639(vec4 t) {\n return t - trunc(t * (1.0 / 639.0)) * 639.0;\n}\n\nfloat pmod639(float t) {\n return t - trunc(t * (1.0 / 639.0)) * 639.0;\n}\n\nvec4 grad(float index) {\n vec4 p0123 = index * (1.0 / vec4(2.0, 4.0, 8.0, 16.0));\n vec3 p4_i45 = index * (1.0 / vec3(32.0, 128.0, 640.0));\n p0123 = trunc((p0123 - trunc(p0123)) * 2.0) - 0.5;\n p4_i45 = trunc((p4_i45 - trunc(p4_i45)) * vec3(2.0, 4.0, 5.0)) - vec3(0.5, 0.0, 0.0);\n p4_i45.y += p4_i45.z;\n p4_i45.y -= step(5.0, p4_i45.y) * 5.0;\n p0123 *= vec4(equal(notEqual(vec4(p4_i45.y), vec4(0.0, 1.0, 2.0, 3.0)), notEqual(vec4(p4_i45.z), vec4(0.0, 1.0, 2.0, 3.0))));\n p4_i45.x *= float(all(notEqual(p4_i45.yz, vec2(4.0)))) * 1.2071067811865475;\n p0123 += vec4(equal(vec4(p4_i45.y), vec4(0.0, 1.0, 2.0, 3.0))) - vec4(equal(vec4(p4_i45.z), vec4(0.0, 1.0, 2.0, 3.0)));\n p4_i45.x += dot(vec2(equal(p4_i45.yz, vec2(4.0))), vec2(1.2071067811865475, -1.2071067811865475));\n return p0123 + dot(p0123, vec4(-0.138196601125011)) + p4_i45.x * 0.44721359549995793928183473374626;\n}\n\nfloat opensimplex2f(vec4 X, vec4 seedVec) {\n\tvec4 Xs = X + dot(X, vec4(-0.138196601125011));\n\n\tvec4 Xsb = floor(Xs);\n\tvec4 Xsi = Xs - Xsb;\n\n\tfloat siSum = dot(Xsi, vec4(1.0));\n\tfloat firstLattice = trunc(siSum * 1.25);\n\tvec3 startValues = firstLattice * vec3(-128.0, -0.2, -0.8);\n\n\tXsb += startValues.xxxx;\n\tXsi += startValues.yyyy;\n\tsiSum += startValues.z;\n\tvec4 latticeCoordOffsets = vec4(equal(vec4(0.0, 1.0, 2.0, 3.0), vec4(firstLattice))) * -641.0 + 128.0;\n\n\tvec4 vertex0 = vec4(greaterThanEqual(Xsi, max(max(Xsi.yzwx, Xsi.zwxy), max(Xsi.wxyz, vec4(1.0 - siSum)))));\n\tvec4 vh0 = Xsb + vertex0;\n\tXsb = vh0 + latticeCoordOffsets.xxxx; Xsi -= vertex0; siSum = dot(Xsi, vec4(1.0));\n\tvec4 d0 = Xsi + siSum * 0.309016994374947;\n\tXsi += 0.2; siSum += 0.8;\n\n\tvec4 vertex1 = vec4(greaterThanEqual(Xsi, max(max(Xsi.yzwx, Xsi.zwxy), max(Xsi.wxyz, vec4(1.0 - siSum)))));\n\tvec4 vh1 = Xsb + vertex1;\n\tXsb = vh1 + latticeCoordOffsets.yyyy; Xsi -= vertex1; siSum = dot(Xsi, vec4(1.0));\n\tvec4 d1 = Xsi + siSum * 0.309016994374947;\n\tXsi += 0.2; siSum += 0.8;\n\n\tvec4 vertex2 = vec4(greaterThanEqual(Xsi, max(max(Xsi.yzwx, Xsi.zwxy), max(Xsi.wxyz, vec4(1.0 - siSum)))));\n\tvec4 vh2 = Xsb + vertex2;\n\tXsb = vh2 + latticeCoordOffsets.zzzz; Xsi -= vertex2; siSum = dot(Xsi, vec4(1.0));\n\tvec4 d2 = Xsi + siSum * 0.309016994374947;\n\tXsi += 0.2; siSum += 0.8;\n\n\tvec4 vertex3 = vec4(greaterThanEqual(Xsi, max(max(Xsi.yzwx, Xsi.zwxy), max(Xsi.wxyz, vec4(1.0 - siSum)))));\n\tvec4 vh3 = Xsb + vertex3;\n\tXsb = vh3 + latticeCoordOffsets.wwww; Xsi -= vertex3; siSum = dot(Xsi, vec4(1.0));\n\tvec4 d3 = Xsi + siSum * 0.309016994374947;\n\tXsi += 0.2; siSum += 0.8;\n\n\tvec4 vertex4 = vec4(greaterThanEqual(Xsi, max(max(Xsi.yzwx, Xsi.zwxy), max(Xsi.wxyz, vec4(1.0 - siSum)))));\n\tvec4 vh4 = Xsb + vertex4;\n\tXsi -= vertex4; siSum = dot(Xsi, vec4(1.0));\n\tvec4 d4 = Xsi + siSum * 0.309016994374947;\n\n\tvec4 h0123 = permute(mod639(vec4(vh0.x, vh1.x, vh2.x, vh3.x)), seedVec.x);\n\th0123 = permute(mod639(h0123 + vec4(vh0.y, vh1.y, vh2.y, vh3.y)), seedVec.y);\n\th0123 = permute(mod639(h0123 + vec4(vh0.z, vh1.z, vh2.z, vh3.z)), seedVec.z);\n\th0123 = pmod639(permute(mod639(h0123 + vec4(vh0.w, vh1.w, vh2.w, vh3.w)), seedVec.w));\n\n\tfloat h4 = permute(mod639(vh4.x), seedVec.x);\n\th4 = permute(mod639(h4 + vh4.y), seedVec.y);\n\th4 = permute(mod639(h4 + vh4.z), seedVec.z);\n\th4 = pmod639(permute(mod639(h4 + vh4.w), seedVec.w));\n\n\tvec4 g0 = grad(h0123.x);\n\tvec4 g1 = grad(h0123.y);\n\tvec4 g2 = grad(h0123.z);\n\tvec4 g3 = grad(h0123.w);\n\tvec4 g4 = grad(h4);\n\n\t/*vec4 norm = inversesqrt(vec4(dot(g0, g0), dot(g1, g1), dot(g2, g2), dot(g3, g3)));\n\tg0 *= norm.x; g1 *= norm.y; g2 *= norm.z; g3 *= norm.w; g4 *= inversesqrt(dot(g4, g4));*/\n\n\t// "Proper" constant is 0.5. 0.6 produces subtle invisible discontinuities, but looks much better.\n\tvec4 a0123 = max(0.6 - vec4(dot(d0, d0), dot(d1, d1), dot(d2, d2), dot(d3, d3)), 0.0);\n\tfloat a4 = max(0.6 - dot(d4, d4), 0.0);\n\tvec4 r0123 = vec4(dot(d0, g0), dot(d1, g1), dot(d2, g2), dot(d3, g3));\n\tfloat r4 = dot(d4, g4);\n\ta0123 *= a0123; a4 *= a4;\n\treturn (dot(a0123 * a0123, r0123) + a4 * a4 * r4) * 27.0; // TODO compute tighter normalization constant.\n}\n\nfloat opensimplex2f(vec4 X) {\n return opensimplex2f(X, vec4(1.0));\n}\n\n\n#define TO_FLOAT (1./255.0)\n\n#define sin01(x) (sin(x)*.5)+.5\n\n#define disabled vec3(0.0)\n\n`}\n\n\nstruct Layer1\n{\n float brightness;\n float blobbyness;\n float blur;\n\n bool enabled;\n};\n\nstruct Layer2\n{\n float brightness;\n float cycleSpeed;\n bool enabled;\n};\n\nstruct Feedback\n{\n float amount;\n float scaleX;\n float scaleY;\n float centerX;\n float centerY;\n float dist;\n};\n\n\n\nuniform vec2 resolution;\nuniform vec4 time; // [time, time/2, time*2, time/10]\nuniform sampler2D ramp;\nuniform Layer1 layer1;\nuniform Layer2 layer2;\nuniform Feedback feedback;\n\nuniform sampler2D backBufferTex;\n\nuniform float noiseDither;\n\nuniform uint seed;\n\nout vec4 FragColor;\nin vec4 fragUV;\n\n\n\nvec3 doLayer1(in vec4 uv, in vec2 n, inout vec3 col)\n{\n vec2 st = uv.zw;\n // st *= sin(time.x);\n float p1 = hash(seed + uint(156));\n float p2 = hash(seed + uint(12355));\n float p3 = hash(seed + uint(62435));\n\n float s1 = 2.*(p1-.5);\n float s2 = 2.*(p2-.5);\n float s3 = 2.*(p3 - .5);\n\n\nst = scale(st, 2.);\n float sk = .1*sin(time.y*1.56 + p2);\n\n float d = sdParallelogram(st + vec2(sin(time.z) + s1, sin(time.y*1.4) + s2), .4, .1, sk);\n float d2 = sdRhombus(translate(rotate(scale( translate(st, vec2(s2, s3)*vec2(.5, .2)) , 4.*p1), p3*30.*DEG2RAD), vec2(0.,0.)), vec2(1.,1.));\n float d3 = sdEquilateralTriangle(rotate(scale(st,4.*p1+sin(time.x)), 90.*p2*DEG2RAD + time.z/5.));\n\n float noise = snoise(vec3(uv.xy, time.x));\n float dMix = smoothstep(.0,.2, mix(d,d2, sin01(time.y + p3*TWOPI ) ));\n\n dMix = sminCubic(d,d2,.5);\n dMix = sminCubic(sminCubic(d,d2, .5), d3, .5);\n\n dMix+=layer1.blobbyness*noise;\n d += noise*layer1.blobbyness;\n\n vec4 rampSample = texture2D(ramp, vec2(time.z *layer2.cycleSpeed + p2 + length(st)*.2 + noiseDither , .5));\n\n\n vec3 layer1Col = layer1.brightness*rampSample.rgb*saturate(1.-smoothstep(-layer1.blur,layer1.blur, dMix));//(mix(layer1.color1*TO_FLOAT, layer1.color2*TO_FLOAT, saturate(smoothstep(-layer1.blur, layer1.blur, dMix))));\n\n layer1Col = layer1.enabled ? layer1Col : disabled;\n col += layer1Col;\n\n return layer1Col;\n}\n\n\nvec3 doLayer2(in vec4 uv, in vec2 n, inout vec3 col)\n{\n float p1 = hash(seed + uint(98765));\n\n vec3 grad;\n float noise = snoise(vec3(uv.xy, time.x), grad);\n noise *= 0.4;\n noise = smoothstep(-1.,1., noise);\n vec4 rampSample = texture2D(ramp, vec2( time.z *layer2.cycleSpeed + p1 + rotate(uv.xy*.5, time.x*DEG2RAD).x + noiseDither , .5));\n\n vec3 layer2Col = rampSample.rgb*noise*layer2.brightness;\n vec3 color = layer2.enabled ? layer2Col : disabled;\n col.rgb += color;\n\n return color;\n\n}\n\n\n\nvec2 scaleUV(vec2 uv, vec2 scaleFactor, vec2 center)\n{\n return ( uv - center)*scaleFactor + center;\n}\n\n\nvoid main() {\n vec2 uv = gl_FragCoord.xy / resolution;\n vec2 uvOrig = uv;\n vec2 st = (uv*resolution - vec2(.5, .5)*resolution)/resolution.y;\n\n vec2 n = vec2(\n opensimplex2f(vec4(uv*10., time.x, time.y), intToSeedVec(uint(seed))),\n opensimplex2f(vec4(1.), intToSeedVec(uint(seed)))\n ) ;\n\n // Init output\n vec4 col = vec4(0.);\n col.a = 1.;\n\n // Calculate layers\n vec3 l1 = doLayer1(vec4(uv, st), n, col.rgb);\n vec3 l2 = doLayer2(vec4(uv, st), n, col.rgb);\n\n // Comp Layers\n col.rgb = l1 + l2;\n\n // Feedback stage\n vec3 grad;\n float noise = snoise(vec3(uv.xy, time.x)*.5, grad);\n vec4 lastFrame = texture2D(backBufferTex, uv+ grad.xy*feedback.dist);\n // col.rgb += lastFrame.rgb*feedback.amount;\n\n // trying out using the *current* frame for feedback, instead of going\n // backwards, so as to achieve always-reproducible state\n col.rgb += col.rgb*feedback.amount;\n\n // Clamp color values\n col.rgb = saturate(col.rgb);\n\n FragColor = col;\n // FragColor = lastFrame;\n}\n`,Cn=`\n#version 300 es\n\n\n#if __VERSION__ > 130\n#define texture2D texture\n#endif\n\n\nprecision mediump float;\n\nout vec4 FragColor;\n\n${En}\n${An}\n\nuniform float noiseDither;\n\nuniform vec2 resolution;\nuniform sampler2D backBuffer;\n\nuniform float saturation;\nuniform float contrast;\n\n\nuniform sampler2D ramp;\nuniform bool displayGradient;\n\nmat4 brightnessMatrix( float brightness )\n{\n return mat4( 1, 0, 0, 0,\n 0, 1, 0, 0,\n 0, 0, 1, 0,\n brightness, brightness, brightness, 1 );\n}\n\nmat4 contrastMatrix( float c )\n{\n\tfloat t = ( 1.0 - c ) / 2.0;\n\n return mat4( c, 0, 0, 0,\n 0, c, 0, 0,\n 0, 0, c, 0,\n t, t, t, 1 );\n\n}\n\nmat4 saturationMatrix( float s )\n{\n vec3 luminance = vec3( 0.3086, 0.6094, 0.0820 );\n\n float oneMinusSat = 1.0 - s;\n\n vec3 red = vec3( luminance.x * oneMinusSat );\n red+= vec3( s, 0, 0 );\n\n vec3 green = vec3( luminance.y * oneMinusSat );\n green += vec3( 0, s, 0 );\n\n vec3 blue = vec3( luminance.z * oneMinusSat );\n blue += vec3( 0, 0, s );\n\n return mat4( red, 0,\n green, 0,\n blue, 0,\n 0, 0, 0, 1 );\n}\n\nvoid drawRamp(inout vec4 col, vec2 uv, vec2 size)\n{\n\n uv.y = 1. - uv.y;\n vec2 rampUV = uv*(1./size);\n\n float insideRamp = displayGradient ? step(uv.x, size.x) * step(uv.y, size.y) : 0.0;\n vec4 rampSample = texture2D(ramp, rampUV*2.);\n col.rgb = mix(col.rgb, rampSample.rgb, insideRamp);// vec3(insideRamp);\n}\n\nvoid main() {\n vec2 uv = gl_FragCoord.xy / resolution;\n // uv += noiseDither*vec2(rand(uv), rand(uv + vec2(112.234,253.253)));\n\n\n vec4 lastCol = texture2D(backBuffer, uv);\n vec4 colOut;\n colOut.a = 1.;\n\n colOut = contrastMatrix(contrast)*saturationMatrix(saturation)*lastCol;\n\n // linear to gamma\n // colOut.rgb = pow( colOut.rgb, vec3(0.4545) );\n\n drawRamp(colOut, uv, vec2(.5,.2));\n FragColor = colOut;\n}\n\n`;const Dn=(n,e)=>{const t=e.width??256,r=e.height??256;let o=n.createTexture();return n.bindTexture(n.TEXTURE_2D,o),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,t,r,0,n.RGBA,n.UNSIGNED_BYTE,null),o},Fn=(n,e)=>{const t=n.createFramebuffer();return n.bindFramebuffer(n.FRAMEBUFFER,t),n.framebufferTexture2D(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0,n.TEXTURE_2D,e,0),t};class Rn{constructor(n,e){this.width=e.width=e.width??256,this.height=e.height=e.height??256,this.texture1=Dn(n,e),this.texture2=Dn(n,e),this.fb1=Fn(n,this.texture1),this.fb2=Fn(n,this.texture2),this.swp=!1,this.gl=n}currentTexture=()=>this.swp?this.texture2:this.texture1;lastTexture=()=>this.swp?this.texture1:this.texture2;currentFramebuffer=()=>this.swp?this.fb2:this.fb1;swap=()=>this.swp=!this.swp;bind=()=>{this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,this.currentFramebuffer()),this.gl.viewport(0,0,this.width,this.height)}}var Mn=[[95,168,242],[48,64,92],[220,91,172],[111,200,111],[253,205,0]];return function(){function e(e,t){var r=t.animTime,o=t.seed,i=t.colors,a=t.layer1Params,c=t.globalParams,s=t.layer2Params,l=t.feedbackSettings,u=t.blurSettings,d=t.width,f=t.height,v=this;this.renderLoop=function(n){requestAnimationFrame(v.renderLoop),v.render(n)},this.render=function(n){var e=v,t=e.gl,r=e.ppb,o=e.globalParams,i=e.ramp,a=e.programAura,c=e.programFinal,s=e.bufferInfo;if(null!=a&&null!=c){if(v.playing){var l=n-v.prevTimestamp;if(l<=v.fixedDeltaTime)return;v.animTime+=l*v.globalParams.speed,v.prevTimestamp=n-l%v.fixedDeltaTime;var u=n-v.startTime;v.currFps=Math.round(1e3/(u/++v.frameCount)*100)/100}var d=.001*v.animTime;!function(n,e){e=e||1,e=Math.max(0,e);const t=n.clientWidth*e|0,r=n.clientHeight*e|0;(n.width!==t||n.height!==r)&&(n.width=t,n.height=r)}(v.gl.canvas);var f={time:[d,d/2,2*d,10*d],resolution:[v.targetTexWidth,v.targetTexHeight],ramp:v.ramp,layer1:v.layer1Params,layer2:v.layer2Params,feedback:v.feedbackSettings,noiseDither:v.globalParams.noise,backBufferTex:v.ppb.lastTexture(),seed:v.seed};r.bind(),t.useProgram(a.program),bn(t,a,s),hn(a,f),wn(t,s),r.swap();for(var x=v.blurSettings.iterations,m=0;m 130\n#define texture2D texture\n#endif\n\nprecision mediump float;\n\n\nuniform vec2 resolution;\nuniform sampler2D iChannel0;\nuniform vec2 direction;\nout vec4 FragColor;\n\n\nvec4 blur(sampler2D image, vec2 uv, vec2 resolution, vec2 direction) {\n vec4 color = vec4(0.0);\n vec2 off1 = vec2(1.411764705882353) * direction;\n vec2 off2 = vec2(3.2941176470588234) * direction;\n vec2 off3 = vec2(5.176470588235294) * direction;\n color += texture2D(image, uv) * 0.1964825501511404;\n color += texture2D(image, uv + (off1 / resolution)) * 0.2969069646728344;\n color += texture2D(image, uv - (off1 / resolution)) * 0.2969069646728344;\n color += texture2D(image, uv + (off2 / resolution)) * 0.09447039785044732;\n color += texture2D(image, uv - (off2 / resolution)) * 0.09447039785044732;\n color += texture2D(image, uv + (off3 / resolution)) * 0.010381362401148057;\n color += texture2D(image, uv - (off3 / resolution)) * 0.010381362401148057;\n return color;\n }\n\n\n\nvoid main(){\n vec2 uv = gl_FragCoord.xy / resolution;\n\n FragColor = blur(iChannel0, uv, resolution.xy, direction);\n}\n"]),this.bufferInfo=F(e,Tn);for(var x=[],m=n([],this.colors,!0);m.length>0;)x.push(m.splice(Math.floor(this.rng()*m.length),1)[0]);this.ramp=function(n,e){var t,r,o,i=null!==(t=e.resolution)&&void 0!==t?t:256,a=null!==(r=e.height)&&void 0!==r?r:256,c=null!==(o=e.colors)&&void 0!==o?o:[[255,0,0],[0,0,255],[0,255,0]];if(!c||c.length<2)return console.log("Need at least 2 colors to make a gradient"),null;var s=zn(n,[Pn,_n]),l=F(n,Tn);n.viewport(0,0,i,a);var u=n.createTexture();n.bindTexture(n.TEXTURE_2D,u),n.texImage2D(n.TEXTURE_2D,0,n.RGB,i,a,0,n.RGB,n.UNSIGNED_BYTE,null),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.MIRRORED_REPEAT),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.MIRRORED_REPEAT);var d=n.createFramebuffer();n.bindFramebuffer(n.FRAMEBUFFER,d);var f=n.COLOR_ATTACHMENT0;return n.framebufferTexture2D(n.FRAMEBUFFER,f,n.TEXTURE_2D,u,0),n.useProgram(s.program),n.clearColor(0,0,0,1),bn(n,s,l),hn(s,{colors:c.flat(),numColors:c.length,resolution:[i,a]}),wn(n,l),u}(e,{colors:x,resolution:256}),this.ppb=new Rn(e,{width:this.targetTexWidth,height:this.targetTexHeight})}return e.defaultParams={animTime:0,seed:1,colors:n(n([],Mn,!0),[Mn[0]],!1),globalParams:{contrast:1.37,displayGradient:!1,feedback:.99,noise:.5,saturation:1.69,speed:.13,targetFps:60,value:1},layer1Params:{blobbyness:1.3,blur:1.01,brightness:.52,enabled:!0},layer2Params:{blur:1.47,brightness:.6,cycleSpeed:.12,enabled:!0},feedbackSettings:{amount:.28,centerX:.5,centerY:.5,dist:.06,scaleX:1.01,scaleY:1.01},blurSettings:{iterations:5,radius:5}},e}()}(); diff --git a/favicon.png b/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..dcfb382ee01df627f652dbbcd7cac59c4916a8b7 GIT binary patch literal 45588 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 literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..29925b3 --- /dev/null +++ b/index.html @@ -0,0 +1,203 @@ + + + + + + + + + + Lightward Aura + + + + + + + +
+
+
Lightward Aura
+
+ + + + diff --git a/wordmark-display.png b/wordmark-display.png new file mode 100644 index 0000000000000000000000000000000000000000..c3140e4676db45fed69db391e33940d1d4de64aa GIT binary patch literal 74749 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

a5>U*1zz*+KE`7~BA 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 literal 0 HcmV?d00001 From dd4a6b15918353a9e17cea9e947aafd7f1667cab Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 11 May 2026 23:18:47 +0000 Subject: [PATCH 3/3] Tidy GitHub Pages HTML structure Agent-Logs-Url: https://github.com/lightward/tv/sessions/c896ac7b-de79-4ea6-b723-a93f85914f0b Co-authored-by: isaacbowen <302012+isaacbowen@users.noreply.github.com> --- CNAME | 2 +- index.html | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CNAME b/CNAME index 24d5a07..59ae3af 100644 --- a/CNAME +++ b/CNAME @@ -1 +1 @@ -lightward.tv +lightward.tv \ No newline at end of file diff --git a/index.html b/index.html index 29925b3..481e64c 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,6 @@ + + @@ -172,6 +174,7 @@ position: initial; } +

@@ -200,4 +203,4 @@ window.aura = aura; - + \ No newline at end of file