0xe4f517a4…f7b9sent to0x99a9b7c1…b069·#16,496,594·view on Etherscan
RenderTarget(this._width,this._height,{wrapS:THREE.ClampToEdgeWrapping,wrapT:THREE.ClampToEdgeWrapping,minFilter:THREE.LinearFilter,magFilter:THREE.NearestFilter,format:THREE.RGBFormat}),this._renderTarget.texture.generateMipmaps=!1}_createUniforms(){this._uniforms={uScale:{value:1},uStrength:{value:1},uTime:{value:0},uSaturation:{value:1},uContrast:{value:1},uIsAbs:{value:0},uIsBlackAndWhite:{value:0},uRatio:{value:new THREE.Vector2(1,1)},uAnimTime:{value:0}}}draw(){let s=o.displacementData;this._uniforms.uScale.value=s.scale,this._uniforms.uStrength.value=s.strength,this._uniforms.uTime.value=s.time,this._uniforms.uAnimTime.value=0,this._uniforms.uSaturation.value=s.saturation,this._uniforms.uContrast.value=s.contrast,this._uniforms.uIsAbs.value=s.isAbs,this._uniforms.uIsBlackAndWhite.value=s.isBlackAndWhite,this._uniforms.uRatio.value.y=this._height/this._width,this._renderer.setRenderTarget(this._renderTarget),this._renderer.setClearColor(o.globalData.backgroundColorGL,1),this._renderer.clear(!0,!0,!0),this._renderer.render(this._mesh,this._camera),this._renderer.setRenderTarget(null)}get textureArtwork(){return this._renderTarget.texture}};var it=y(z());var u0=class{generate(){let s=o.displacementData,t=n.rand();s.displacementType=R0.REASONABLE;let e=[.25,.4,.55,.6,.75],a=[.25,.55,.75,.8],i=[1,.55,.3,.8,.75],l=[1.1,.8,1,1.25,.8,.9,1.5],m=e,zo=n.rand(),h=n.rand();zo<.12?s.scale=i[i.length*h>>0]:o<.2?s.scale=l[l.length*h>>0]:s.scale=.2+t*.4+w(0,.9,3);let g=n.rand()*2,u=w(2,0,3),v=w(0,4,4),d=w(0,2,5);s.strength=1+g+u+v+d,s.strength=Math.min(s.strength,10),s.strength=Math.min(5.5,s.strength),A()&&(s.strength*=-1),s.time=n.rand()*10,s.isBlackAndWhite=!0,s.contrast=.2,s.strength>5&&(s.scale=Math.min(s.scale,1)),(s.strength>8||s.scale>=1)&&(s.contrast=.1)}};var g0=class{generate(){let s=o.layersData;s.clearBetweenLayers=!1,s.invertColorsLayers=!1,s.patternMode=P.GLOBAL,s.patternType=S0.GRID,this.canBoostDispTexScale=!1,this.canDeboostDispDefScale=!1,this.type=0;let t=s.globalPatternData;t.shape=C0.SQUARE,this._generate()}_generate(){let s=o.layersData,t=s.globalPatternData,ze=o.displacementData;t.chancesToStroke=0,t.strokesWidth=15,t.isCircleHalf=!1,t.chancesToSkip=.6,t.chancesToFill=.575;let a=n.rand(),i=n.rand(),l=n.rand();if(a<.125){let o=4;i<.15&&(o=3),t.cols=o+n.rand()*3>>0,t.lines=o+n.rand()*3>>0,n.composition="Very minimalistic"}else if(a<.32)t.cols=5+w(0,10,6)>>0,t.lines=6+w(0,12,6)>>0,n.composition="Minimalistic";else if(a<.73)t.cols=9+n.rand()*12+w(0,10,4)+w(0,64,9),t.lines=t.cols*1.4,n.composition="Balanced";else if(a<.92)t.cols=4+n.rand()*27+w(0,7,4)+w(0,35,9),t.lines=4+n.rand()*32+w(0,7,4)+w(0,35,9),n.composition="Free";else{let o=3+l*.1;i<.5?(t.cols=40+n.rand()*40>>0,t.lines=t.cols/o>>0):(t.lines=40+n.rand()*40>>0,t.cols=t.lines/o>>0),n.composition="Unbalanced"}t.turbulence=0,t.lines<10&&t.cols>10&&t.lines*2>t.cols&&(t.cols=t.lines*2),s.clearBetweenLayers=!0,s.invertColorsLayers=!0;let m=n.rand();t.chancesToStroke=m*.8+w(.2,0,3),t.chancesToFill=.68+n.rand()*.12,(t.cols>40&&t.lines>30||t.lines>40&&t.cols>30)&&(t.chancesToFill+=.1),t.cols<=10&&t.lines<=10&&(ze.scale*=.87,ze.scale=Math.max(.2,ze.scale),ze.scale=Math.min(ze.scale,.98))}};function _e(){let r=o.displacementData,s=Math.abs(r.strength),t=r.scale<=.8?r.scale:1,e=s*t;return s>=5.5&&r.scale>.55?"Extreme":e<=.9?"Very small":e<2?"Small":e<3.1?"Medium":e<4.3?"Big":"Extreme"}function ye(){let r=o.layersData.globalDeformerData.glitchVerticalBand+o.layersData.globalDeformerData.glitchHorizontalBand;return r<=0?"None":r<.25?"Small":r<.5?"Medium":r<.65?"Strong":"Extreme"}function I(){let s=o.layersData.globalPatternData;return{Palette:`Palette ${o.idxStyle}`||"Merveilleuse","Layer Count":o.layersData.count,"Columns count":s.cols>>0,"Lines count":s.lines>>0,Evolution:_e(),Perturbations:ye(),Composition:n.composition}}var f0=class{constructor(s){this._onChangeSeed=s,this._displacementGenerator=new u0,this._gridGenerator=new g0,this.onGeneration=new it.Signal}generateDisplacement=()=>{this._onChangeSeed(),this._displacementGenerator.generate(this.type),this.onGeneration.dispatch()};generateWithoutDisplacement=()=>{this.generate(!1)};generate=(s=!0)=>{this._onChangeSeed(),n.rand(),this._currentGenerator=this._gridGenerator,this.type="grid",s&&this._displacementGenerator.generate(this.type),this._currentGenerator.generate(),this._generateDeformersForGrid(),this._generateGlitch(),this.adjustGenerationBasedOnStyle(),this.onGeneration.dispatch()};adjustGenerationBasedOnStyle=()=>{let s=o.layersData,t=s.globalPatternData,e=o.layersData.globalDeformerData,a=n.rand()*Math.PI*2,l=1.7;for(let i of s.layersData){if(i.rotationValue=a,a+=l,this._currentGenerator===this._gridGenerator&&(t.cols>25||t.lines>25)){let m=250;(t.cols>32||t.lines>32)&&(m=180),i.segmentLengthMax>=m&&(i.segmentLengthMax=$s(i.segmentLengthMax,5,300,40,m,!0))}e.displacementDistance>1.9&&(i.rotationType=0)}};_generateDeformersForGrid(){let t=o.layersData.globalPatternData,e=o.layersData.globalDeformerData;e.deformersOrder=q.DISP_GLITCH,e.glitchMirrorChanceVertical=0,e.glitchMirrorChanceHorizontal=0,e.displacementDistance=1,e.displacementScale=1,e.displacementUseRandomAngle=!1,t.cols<10&&t.lines<10?(e.displacementAngle=0,e.displacementUseRandomAngle=!0):e.displacementAngle=n.rand()*360-180,e.displacementIncrementAngle=10}_generateGlitch(){let t=o.layersData.globalDeformerData;t.glitchHorizontalBand=0,t.glitchVerticalBand=0,t.glitchAmount=0;let e=n.rand(),a=n.rand(),i=n.rand(),l=w(0,1,4),m=A(.23);m&&(t.glitchHorizontalBand=.15+e*.3+l*.4,t.glitchHorizontalBandPos=i<.5?a*.25:1-a*.25,t.glitchHorizontalBandMirror=i<.1),e=n.rand(),a=n.rand(),i=n.rand(),l=w(0,1,4),A(m?.05:.175)&&(t.glitchVerticalBand=.15+e*.2+l*.4,t.glitchVerticalBandPos=Math.max(0,Math.min(a,1-t.glitchVerticalBand)),t.glitchVerticalBandMirror=!1)}};function q0(r){let s=document.createElement("a");s.setAttribute("download","tout_trace-"+tokenData.hash+".png"),s.setAttribute("href",r.toDataURL("image/png").replace("image/png","image/octet-stream")),s.click()}var x0=class extends V{constructor(s,t){if(super(s,t,!1),window.addEventListener("keydown",e=>{e.key==="s"?q0(this._renderer.domElement):e.key==="h"&&window.open(window.location.href+"?hd=1","_blank").focus()}),this._counterToDraw=0,this._tick=0,o.onRedrawRequired.add(this._onRedrawRequired),o.onDisplacementRegenerationRequired.add(this._onDisplacementRegenerationRequired),o.onPatternRegenerationRequired.add(this._onPatternRegenerationRequired),this.initWebGL(),this._forceSeed)this._onChangeSeed();else{let e=new M;n.rand=e.random_dec,U0()}if(this._displacementTexture=new d0(this._renderer,this.width,this.height),this._artwork=new p0(this._renderer,this._displacementTexture,this.width,this.height),this._forceStyle){let e=R0(this._forceStyle);o.setStyle(e.data,e.id,e.__idx)}else{let e=Fs();o.setStyle(e.data,e.id,e.__idx)}this._generator=new f0(this._onChangeSeed),this._generator.generate(),this._isDisplacementGenerationRequired=!0,this._isPatternGenerationRequired=!0,this._isDrawRequired=!0,B.onUpdate.add(this._onUpdate)}_onDisplacementRegenerationRequired=()=>{this._isDisplacementGenerationRequired=!0,this._isPatternGenerationRequired=!0,this._isDrawRequired=!0};_onPatternRegenerationRequired=()=>{this._isPatternGenerationRequired=!0,this._isDrawRequired=!0};_onRedrawRequired=()=>{this._isDrawRequired=!0};_onUpdate=s=>{this._counterToDraw+=s,(this._isPatternGenerationRequired||this._isDisplacementGenerationRequired||this._isDrawRequired)&&(Ys(),this._artwork.reset(),this._tick=0),this._isDisplacementGenerationRequired&&this._displacementTexture?.draw(),!this._artwork?.isFullyDrawn&&this._counterToDraw>30&&(this._artwork?.drawAnimated()&&(this._renderer.setRenderTarget(null),this._renderArtwork()),this._counterToDraw=0,this._tick+=1),this._isDisplacementGenerationRequired=!1,this._isPatternGenerationRequired=!1,this._isDrawRequired=!1};_renderArtwork(){this._applyPostprocessData(),this.artwork=this._artwork.textureArtwork,this.setBgColor(o.globalData.backgroundColorGL),this._renderWebGL()}_applyPostprocessData(){let s=Math.min(this._artwork.percent,1),t=st(Math.min(s*2,1)),e=tt(s),a=o.postprocessData;this.optionsPost.brightness=a.brightness,this.optionsPost.contrast=a.contrast,this.optionsPost.saturation=a.saturation*t,this.optionsPost.highlights=a.highlights,this.optionsPost.shadows=a.shadows,this.optionsPost.hue=a.hue,this.optionsPost.noise=a.noise,this.optionsPost.noiseRepeat=a.noiseRepeat,this.optionsPost.sharpenBlur=a.sharpenBlur*e,this.optionsPost.sharpenSize=a.sharpenSize,this.optionsPost.normalStr=a.normalStr*e,this.optionsPost.lightPosX=a.lightPosX,this.optionsPost.lightPosY=a.lightPosY,this.optionsPost.lightStr=a.lightStr*e,this.optionsPost.enableNormal=a.enableNormal}_onChangeSeed=()=>{this.changeSeed(),this._forceSeed&&(tokenData.hash=this._forceSeed),this._resetHashes(),U0(),this._isPatternGenerationRequired=!0,this._isDrawRequired=!0};get generator(){return this._generator}};console.log("-------------------");console.log("Author: Florian Zumbrunn");console.log("@florianzumbrunn // https://florianzumbrunn.com");console.log("~");console.log("Series: Tout trac\xE9");console.log("~");console.log("Hash:",tokenData.hash);console.log("-------------------");console.log("PROD");window.innerHeight<800&&(n.dpr=.2);function lt(){Pe(window.innerWidth,window.innerHeight)}var ze=new x0(n.size.width*n.resolution,n.size.height*n.resolution);window.addEventListener("resize",lt,!1);lt();function Pe(r=512,s=512){s=Math.min(s,n.size.height);let t=Math.min(s/n.size.height,1);r=n.size.width*t,ze.resize(r,s)}})();
/** @license
* JS Signals <http://millermedeiros.github.com/js-signals/>
* Released under the MIT license
* Author: Miller Medeiros
* Version: 1.0.0 - Build: 268 (2012/11/29 05:48 PM)
*/