@needle-tools/engine 4.7.2-next.d24ebbc → 4.7.3-next.24c33e7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/dist/gltf-progressive-BCZdu3Gc.min.js +8 -0
- package/dist/gltf-progressive-C6QbvrB4.umd.cjs +8 -0
- package/dist/{gltf-progressive-CNdBjvz6.js → gltf-progressive-CCddD-3B.js} +413 -399
- package/dist/{needle-engine.bundle-CGXifNgp.min.js → needle-engine.bundle-BWEF8NxU.min.js} +101 -101
- package/dist/{needle-engine.bundle-Dcn5L5IY.umd.cjs → needle-engine.bundle-d3zmAOp8.umd.cjs} +69 -69
- package/dist/{needle-engine.bundle-CHfSBXXT.js → needle-engine.bundle-wtPHWC_F.js} +1960 -1887
- package/dist/needle-engine.d.ts +21 -0
- package/dist/needle-engine.js +3 -3
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/{postprocessing-xYQWCHFu.min.js → postprocessing-BzY0H7ry.min.js} +9 -9
- package/dist/{postprocessing-CjW23fio.umd.cjs → postprocessing-Dw2OCMp4.umd.cjs} +9 -9
- package/dist/{postprocessing-DYLNOL3W.js → postprocessing-vKBVFpSz.js} +10 -10
- package/dist/{three-examples-DaDLBuy6.min.js → three-examples-BMOhDaYR.min.js} +17 -17
- package/dist/{three-examples-X3OadjXB.umd.cjs → three-examples-DUcCNw9s.umd.cjs} +17 -17
- package/dist/{three-examples-B50TT3Iu.js → three-examples-tvuhV8Ne.js} +688 -688
- package/lib/engine/engine_create_objects.js +24 -1
- package/lib/engine/engine_create_objects.js.map +1 -1
- package/lib/engine/engine_input.js +3 -0
- package/lib/engine/engine_input.js.map +1 -1
- package/lib/engine/engine_physics.d.ts +13 -1
- package/lib/engine/engine_physics.js +15 -7
- package/lib/engine/engine_physics.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.js +14 -11
- package/lib/engine/webcomponents/needle-engine.js.map +1 -1
- package/lib/engine-components/OrbitControls.d.ts +57 -0
- package/lib/engine-components/OrbitControls.js +68 -9
- package/lib/engine-components/OrbitControls.js.map +1 -1
- package/lib/engine-components/Skybox.d.ts +1 -0
- package/lib/engine-components/Skybox.js +14 -18
- package/lib/engine-components/Skybox.js.map +1 -1
- package/lib/engine-components/ui/EventSystem.js +9 -10
- package/lib/engine-components/ui/EventSystem.js.map +1 -1
- package/package.json +3 -3
- package/plugins/common/logger.js +34 -16
- package/plugins/vite/logger.client.js +55 -22
- package/src/engine/engine_create_objects.ts +24 -1
- package/src/engine/engine_input.ts +8 -1
- package/src/engine/engine_physics.ts +26 -8
- package/src/engine/webcomponents/needle-engine.ts +15 -13
- package/src/engine-components/OrbitControls.ts +94 -14
- package/src/engine-components/Skybox.ts +15 -21
- package/src/engine-components/ui/EventSystem.ts +8 -9
- package/dist/gltf-progressive-C_oN6wCA.umd.cjs +0 -8
- package/dist/gltf-progressive-MgWOszRl.min.js +0 -8
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
"use strict";var jt=Object.defineProperty;var Jt=(e,t,r)=>t in e?jt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Xe=(e,t,r)=>Jt(e,typeof t!="symbol"?t+"":t,r);const i=require("./three-B_hneGZr.umd.cjs"),qt=require("./three-examples-
|
|
2
|
-
* postprocessing v6.37.
|
|
1
|
+
"use strict";var jt=Object.defineProperty;var Jt=(e,t,r)=>t in e?jt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Xe=(e,t,r)=>Jt(e,typeof t!="symbol"?t+"":t,r);const i=require("./three-B_hneGZr.umd.cjs"),qt=require("./three-examples-DUcCNw9s.umd.cjs");/**
|
|
2
|
+
* postprocessing v6.37.7 build Mon Aug 04 2025
|
|
3
3
|
* https://github.com/pmndrs/postprocessing
|
|
4
4
|
* Copyright 2015-2025 Raoul van Rüschen
|
|
5
5
|
* @license Zlib
|
|
6
|
-
*/var _t="6.37.
|
|
6
|
+
*/var _t="6.37.7",$t=class{dispose(){}},Be=1/1e3,ei=1e3,ut=class{constructor(){this.startTime=performance.now(),this.previousTime=0,this.currentTime=0,this._delta=0,this._elapsed=0,this._fixedDelta=1e3/60,this.timescale=1,this.useFixedDelta=!1,this._autoReset=!1}get autoReset(){return this._autoReset}set autoReset(e){typeof document<"u"&&document.hidden!==void 0&&(e?document.addEventListener("visibilitychange",this):document.removeEventListener("visibilitychange",this),this._autoReset=e)}get delta(){return this._delta*Be}get fixedDelta(){return this._fixedDelta*Be}set fixedDelta(e){this._fixedDelta=e*ei}get elapsed(){return this._elapsed*Be}update(e){this.useFixedDelta?this._delta=this.fixedDelta:(this.previousTime=this.currentTime,this.currentTime=(e!==void 0?e:performance.now())-this.startTime,this._delta=this.currentTime-this.previousTime),this._delta*=this.timescale,this._elapsed+=this._delta}reset(){this._delta=0,this._elapsed=0,this.currentTime=performance.now()-this.startTime}getDelta(){return this.delta}getElapsed(){return this.elapsed}handleEvent(e){document.hidden||(this.currentTime=performance.now()-this.startTime)}dispose(){this.autoReset=!1}},ti=(()=>{const e=new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),t=new Float32Array([0,0,2,0,0,2]),r=new i.BufferGeometry;return r.setAttribute("position",new i.BufferAttribute(e,3)),r.setAttribute("uv",new i.BufferAttribute(t,2)),r})(),U=class Fe{static get fullscreenGeometry(){return ti}constructor(t="Pass",r=new i.Scene,a=new i.Camera){this.name=t,this.renderer=null,this.scene=r,this.camera=a,this.screen=null,this.rtt=!0,this.needsSwap=!0,this.needsDepthTexture=!1,this.enabled=!0}get renderToScreen(){return!this.rtt}set renderToScreen(t){if(this.rtt===t){const r=this.fullscreenMaterial;r!==null&&(r.needsUpdate=!0),this.rtt=!t}}set mainScene(t){}set mainCamera(t){}setRenderer(t){this.renderer=t}isEnabled(){return this.enabled}setEnabled(t){this.enabled=t}get fullscreenMaterial(){return this.screen!==null?this.screen.material:null}set fullscreenMaterial(t){let r=this.screen;r!==null?r.material=t:(r=new i.Mesh(Fe.fullscreenGeometry,t),r.frustumCulled=!1,this.scene===null&&(this.scene=new i.Scene),this.scene.add(r),this.screen=r)}getFullscreenMaterial(){return this.fullscreenMaterial}setFullscreenMaterial(t){this.fullscreenMaterial=t}getDepthTexture(){return null}setDepthTexture(t,r=i.BasicDepthPacking){}render(t,r,a,s,o){throw new Error("Render method not implemented!")}setSize(t,r){}initialize(t,r,a){}dispose(){for(const t of Object.keys(this)){const r=this[t];(r instanceof i.WebGLRenderTarget||r instanceof i.Material||r instanceof i.Texture||r instanceof Fe)&&this[t].dispose()}this.fullscreenMaterial!==null&&this.fullscreenMaterial.dispose()}},ct=class extends U{constructor(){super("ClearMaskPass",null,null),this.needsSwap=!1}render(e,t,r,a,s){const o=e.state.buffers.stencil;o.setLocked(!1),o.setTest(!1)}},ii=`#include <common>
|
|
7
7
|
#include <dithering_pars_fragment>
|
|
8
8
|
#ifdef FRAMEBUFFER_PRECISION_HIGH
|
|
9
9
|
uniform mediump sampler2D inputBuffer;
|
|
@@ -45,16 +45,16 @@ uniform vec2 range;
|
|
|
45
45
|
#elif defined(THRESHOLD)
|
|
46
46
|
uniform float threshold;uniform float smoothing;
|
|
47
47
|
#endif
|
|
48
|
-
varying vec2 vUv;void main(){vec4 texel=texture2D(inputBuffer,vUv);float l=luminance(texel.rgb);
|
|
48
|
+
varying vec2 vUv;void main(){vec4 texel=texture2D(inputBuffer,vUv);float l=luminance(texel.rgb);float mask=1.0;
|
|
49
49
|
#ifdef RANGE
|
|
50
|
-
float low=step(range.x,l);float high=step(l,range.y);
|
|
50
|
+
float low=step(range.x,l);float high=step(l,range.y);mask=low*high;
|
|
51
51
|
#elif defined(THRESHOLD)
|
|
52
|
-
|
|
52
|
+
mask=smoothstep(threshold,threshold+smoothing,l);
|
|
53
53
|
#endif
|
|
54
54
|
#ifdef COLOR
|
|
55
|
-
gl_FragColor=
|
|
55
|
+
gl_FragColor=texel*mask;
|
|
56
56
|
#else
|
|
57
|
-
gl_FragColor=vec4(l);
|
|
57
|
+
gl_FragColor=vec4(l*mask);
|
|
58
58
|
#endif
|
|
59
59
|
}`,gt=class extends i.ShaderMaterial{constructor(e=!1,t=null){super({name:"LuminanceMaterial",defines:{THREE_REVISION:i.REVISION.replace(/\D+/g,"")},uniforms:{inputBuffer:new i.Uniform$1(null),threshold:new i.Uniform$1(0),smoothing:new i.Uniform$1(1),range:new i.Uniform$1(null)},blending:i.NoBlending,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:Ki,vertexShader:X}),this.colorOutput=e,this.luminanceRange=t}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setInputBuffer(e){this.uniforms.inputBuffer.value=e}get threshold(){return this.uniforms.threshold.value}set threshold(e){this.smoothing>0||e>0?this.defines.THRESHOLD="1":delete this.defines.THRESHOLD,this.uniforms.threshold.value=e}getThreshold(){return this.threshold}setThreshold(e){this.threshold=e}get smoothing(){return this.uniforms.smoothing.value}set smoothing(e){this.threshold>0||e>0?this.defines.THRESHOLD="1":delete this.defines.THRESHOLD,this.uniforms.smoothing.value=e}getSmoothingFactor(){return this.smoothing}setSmoothingFactor(e){this.smoothing=e}get useThreshold(){return this.threshold>0||this.smoothing>0}set useThreshold(e){}get colorOutput(){return this.defines.COLOR!==void 0}set colorOutput(e){e?this.defines.COLOR="1":delete this.defines.COLOR,this.needsUpdate=!0}isColorOutputEnabled(e){return this.colorOutput}setColorOutputEnabled(e){this.colorOutput=e}get useRange(){return this.luminanceRange!==null}set useRange(e){this.luminanceRange=null}get luminanceRange(){return this.uniforms.range.value}set luminanceRange(e){e!==null?this.defines.RANGE="1":delete this.defines.RANGE,this.uniforms.range.value=e,this.needsUpdate=!0}getLuminanceRange(){return this.luminanceRange}setLuminanceRange(e){this.luminanceRange=e}},Qe=class extends U{constructor({renderTarget:e,luminanceRange:t,colorOutput:r,resolutionScale:a=1,width:s=A.AUTO_SIZE,height:o=A.AUTO_SIZE,resolutionX:n=s,resolutionY:l=o}={}){super("LuminancePass"),this.fullscreenMaterial=new gt(r,t),this.needsSwap=!1,this.renderTarget=e,this.renderTarget===void 0&&(this.renderTarget=new i.WebGLRenderTarget(1,1,{depthBuffer:!1}),this.renderTarget.texture.name="LuminancePass.Target");const u=this.resolution=new A(this,n,l,a);u.addEventListener("change",c=>this.setSize(u.baseWidth,u.baseHeight))}get texture(){return this.renderTarget.texture}getTexture(){return this.renderTarget.texture}getResolution(){return this.resolution}render(e,t,r,a,s){const o=this.fullscreenMaterial;o.inputBuffer=t.texture,e.setRenderTarget(this.renderToScreen?null:this.renderTarget),e.render(this.scene,this.camera)}setSize(e,t){const r=this.resolution;r.setBaseSize(e,t),this.renderTarget.setSize(r.width,r.height)}initialize(e,t,r){r!==void 0&&r!==i.UnsignedByteType&&(this.renderTarget.texture.type=r,this.fullscreenMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1")}},Xi=`#ifdef FRAMEBUFFER_PRECISION_HIGH
|
|
60
60
|
uniform mediump sampler2D inputBuffer;
|
|
@@ -872,7 +872,7 @@ uniform vec2 kernel[STEPS];varying vec2 vOffset;varying vec2 vUv;void main(){vec
|
|
|
872
872
|
`+a),this.needsDepthTexture=this.getDepthTexture()===null):this.needsDepthTexture=!1,e.colorSpace===i.SRGBColorSpace&&(a+=`color0 = sRGBToLinear(color0);
|
|
873
873
|
`),e.uvTransformation?(s=`vec2 transformedUv = vUv;
|
|
874
874
|
`+s,e.defines.set("UV","transformedUv")):e.defines.set("UV","vUv"),e.shaderParts.set(E.FRAGMENT_HEAD,r),e.shaderParts.set(E.FRAGMENT_MAIN_IMAGE,a),e.shaderParts.set(E.FRAGMENT_MAIN_UV,s);for(const[n,l]of e.shaderParts)l!==null&&e.shaderParts.set(n,l.trim().replace(/^#/,`
|
|
875
|
-
#`));this.skipRendering=t===0,this.needsSwap=!this.skipRendering,this.fullscreenMaterial.setShaderData(e)}recompile(){this.updateMaterial()}getDepthTexture(){return this.fullscreenMaterial.depthBuffer}setDepthTexture(e,t=i.BasicDepthPacking){this.fullscreenMaterial.depthBuffer=e,this.fullscreenMaterial.depthPacking=t;for(const r of this.effects)r.setDepthTexture(e,t)}render(e,t,r,a,s){for(const o of this.effects)o.update(e,t,a);if(!this.skipRendering||this.renderToScreen){const o=this.fullscreenMaterial;o.inputBuffer=t.texture,o.time+=a*this.timeScale,e.setRenderTarget(this.renderToScreen?null:r),e.render(this.scene,this.camera)}}setSize(e,t){this.fullscreenMaterial.setSize(e,t);for(const r of this.effects)r.setSize(e,t)}initialize(e,t,r){this.renderer=e;for(const a of this.effects)a.initialize(e,t,r);this.updateMaterial(),r!==void 0&&r!==i.UnsignedByteType&&(this.fullscreenMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1")}dispose(){super.dispose();for(const e of this.effects)e.removeEventListener("change",this.listener),e.dispose()}handleEvent(e){switch(e.type){case"change":this.recompile();break}}},es=class extends U{constructor({kernelSize:e=35,iterations:t=1,resolutionScale:r=1,resolutionX:a=A.AUTO_SIZE,resolutionY:s=A.AUTO_SIZE}={}){super("GaussianBlurPass"),this.renderTargetA=new i.WebGLRenderTarget(1,1,{depthBuffer:!1}),this.renderTargetA.texture.name="Blur.Target.A",this.renderTargetB=this.renderTargetA.clone(),this.renderTargetB.texture.name="Blur.Target.B",this.blurMaterial=new Gt({kernelSize:e}),this.copyMaterial=new ve,this.copyMaterial.inputBuffer=this.renderTargetB.texture;const o=this.resolution=new A(this,a,s,r);o.addEventListener("change",n=>this.setSize(o.baseWidth,o.baseHeight)),this.iterations=t}render(e,t,r,a,s){const o=this.scene,n=this.camera,l=this.renderTargetA,u=this.renderTargetB,c=this.blurMaterial;this.fullscreenMaterial=c;let f=t;for(let h=0,d=Math.max(this.iterations,1);h<d;++h)c.direction.set(1,0),c.inputBuffer=f.texture,e.setRenderTarget(l),e.render(o,n),c.direction.set(0,1),c.inputBuffer=l.texture,e.setRenderTarget(u),e.render(o,n),h===0&&d>1&&(f=u);this.fullscreenMaterial=this.copyMaterial,e.setRenderTarget(this.renderToScreen?null:r),e.render(o,n)}setSize(e,t){const r=this.resolution;r.setBaseSize(e,t);const a=r.width,s=r.height;this.renderTargetA.setSize(a,s),this.renderTargetB.setSize(a,s),this.blurMaterial.setSize(e,t)}initialize(e,t,r){r!==void 0&&(this.renderTargetA.texture.type=r,this.renderTargetB.texture.type=r,r!==i.UnsignedByteType?(this.blurMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1",this.copyMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1"):e!==null&&e.outputColorSpace===i.SRGBColorSpace&&(this.renderTargetA.texture.colorSpace=i.SRGBColorSpace,this.renderTargetB.texture.colorSpace=i.SRGBColorSpace))}},ts=class extends U{constructor(e){super("LambdaPass",null,null),this.needsSwap=!1,this.f=e}render(e,t,r,a,s){this.f()}},is=class extends U{constructor(e,t,{renderTarget:r,resolutionScale:a=1,width:s=A.AUTO_SIZE,height:o=A.AUTO_SIZE,resolutionX:n=s,resolutionY:l=o}={}){super("NormalPass"),this.needsSwap=!1,this.renderPass=new ge(e,t,new i.MeshNormalMaterial);const u=this.renderPass;u.ignoreBackground=!0,u.skipShadowMapUpdate=!0;const c=u.getClearPass();c.overrideClearColor=new i.Color(7829503),c.overrideClearAlpha=1,this.renderTarget=r,this.renderTarget===void 0&&(this.renderTarget=new i.WebGLRenderTarget(1,1,{minFilter:i.NearestFilter,magFilter:i.NearestFilter}),this.renderTarget.texture.name="NormalPass.Target");const f=this.resolution=new A(this,n,l,a);f.addEventListener("change",h=>this.setSize(f.baseWidth,f.baseHeight))}set mainScene(e){this.renderPass.mainScene=e}set mainCamera(e){this.renderPass.mainCamera=e}get texture(){return this.renderTarget.texture}getTexture(){return this.renderTarget.texture}getResolution(){return this.resolution}getResolutionScale(){return this.resolution.scale}setResolutionScale(e){this.resolution.scale=e}render(e,t,r,a,s){const o=this.renderToScreen?null:this.renderTarget;this.renderPass.render(e,o,o)}setSize(e,t){const r=this.resolution;r.setBaseSize(e,t),this.renderTarget.setSize(r.width,r.height)}},rt=[new Float32Array(3),new Float32Array(3)],B=[new Float32Array(3),new Float32Array(3),new Float32Array(3),new Float32Array(3)],ie=[[new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,0,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([1,0,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([0,1,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([0,1,1]),new Float32Array([1,1,1])]];function xe(e,t,r,a){const s=r[0]-t[0],o=r[1]-t[1],n=r[2]-t[2],l=e[0]-t[0],u=e[1]-t[1],c=e[2]-t[2],f=o*c-n*u,h=n*l-s*c,d=s*u-o*l,p=Math.sqrt(f*f+h*h+d*d),m=p*.5,g=f/p,T=h/p,w=d/p,D=-(e[0]*g+e[1]*T+e[2]*w),x=a[0]*g+a[1]*T+a[2]*w;return Math.abs(x+D)*m/3}function he(e,t,r,a,s,o){const n=(r+a*t+s*t*t)*4;o[0]=e[n+0],o[1]=e[n+1],o[2]=e[n+2]}function rs(e,t,r,a,s,o){const n=r*(t-1),l=a*(t-1),u=s*(t-1),c=Math.floor(n),f=Math.floor(l),h=Math.floor(u),d=Math.ceil(n),p=Math.ceil(l),m=Math.ceil(u),g=n-c,T=l-f,w=u-h;if(c===n&&f===l&&h===u)he(e,t,n,l,u,o);else{let D;g>=T&&T>=w?D=ie[0]:g>=w&&w>=T?D=ie[1]:w>=g&&g>=T?D=ie[2]:T>=g&&g>=w?D=ie[3]:T>=w&&w>=g?D=ie[4]:w>=T&&T>=g&&(D=ie[5]);const[x,b,G,k]=D,Q=rt[0];Q[0]=g,Q[1]=T,Q[2]=w;const M=rt[1],ee=d-c,te=p-f,V=m-h;M[0]=ee*x[0]+c,M[1]=te*x[1]+f,M[2]=V*x[2]+h,he(e,t,M[0],M[1],M[2],B[0]),M[0]=ee*b[0]+c,M[1]=te*b[1]+f,M[2]=V*b[2]+h,he(e,t,M[0],M[1],M[2],B[1]),M[0]=ee*G[0]+c,M[1]=te*G[1]+f,M[2]=V*G[2]+h,he(e,t,M[0],M[1],M[2],B[2]),M[0]=ee*k[0]+c,M[1]=te*k[1]+f,M[2]=V*k[2]+h,he(e,t,M[0],M[1],M[2],B[3]);const Z=xe(b,G,k,Q)*6,R=xe(x,G,k,Q)*6,me=xe(x,b,k,Q)*6,ye=xe(x,b,G,Q)*6;B[0][0]*=Z,B[0][1]*=Z,B[0][2]*=Z,B[1][0]*=R,B[1][1]*=R,B[1][2]*=R,B[2][0]*=me,B[2][1]*=me,B[2][2]*=me,B[3][0]*=ye,B[3][1]*=ye,B[3][2]*=ye,o[0]=B[0][0]+B[1][0]+B[2][0]+B[3][0],o[1]=B[0][1]+B[1][1]+B[2][1]+B[3][1],o[2]=B[0][2]+B[1][2]+B[2][2]+B[3][2]}}var as=class{static expand(e,t){const r=Math.cbrt(e.length/4),a=new Float32Array(3),s=new e.constructor(t**3*4),o=e instanceof Uint8Array?255:1,n=t**2,l=1/(t-1);for(let u=0;u<t;++u)for(let c=0;c<t;++c)for(let f=0;f<t;++f){const h=f*l,d=c*l,p=u*l,m=Math.round(f+c*t+u*n)*4;rs(e,r,h,d,p,a),s[m+0]=a[0],s[m+1]=a[1],s[m+2]=a[2],s[m+3]=o}return s}},ce=[new Float32Array(2),new Float32Array(2)],re=16,Re=20,ae=30,ss=32,Ie=new Float32Array([0,-.25,.25,-.125,.125,-.375,.375]),at=[new Float32Array([0,0]),new Float32Array([.25,-.25]),new Float32Array([-.25,.25]),new Float32Array([.125,-.125]),new Float32Array([-.125,.125])],ns=[new Uint8Array([0,0]),new Uint8Array([3,0]),new Uint8Array([0,3]),new Uint8Array([3,3]),new Uint8Array([1,0]),new Uint8Array([4,0]),new Uint8Array([1,3]),new Uint8Array([4,3]),new Uint8Array([0,1]),new Uint8Array([3,1]),new Uint8Array([0,4]),new Uint8Array([3,4]),new Uint8Array([1,1]),new Uint8Array([4,1]),new Uint8Array([1,4]),new Uint8Array([4,4])],zt=[new Uint8Array([0,0]),new Uint8Array([1,0]),new Uint8Array([0,2]),new Uint8Array([1,2]),new Uint8Array([2,0]),new Uint8Array([3,0]),new Uint8Array([2,2]),new Uint8Array([3,2]),new Uint8Array([0,1]),new Uint8Array([1,1]),new Uint8Array([0,3]),new Uint8Array([1,3]),new Uint8Array([2,1]),new Uint8Array([3,1]),new Uint8Array([2,3]),new Uint8Array([3,3])];function De(e,t,r){return e+(t-e)*r}function os(e){return Math.min(Math.max(e,0),1)}function st(e){const t=ce[0],r=ce[1],a=Math.sqrt(t[0]*2)*.5,s=Math.sqrt(t[1]*2)*.5,o=Math.sqrt(r[0]*2)*.5,n=Math.sqrt(r[1]*2)*.5,l=os(e/ss);t[0]=De(a,t[0],l),t[1]=De(s,t[1],l),r[0]=De(o,r[0],l),r[1]=De(n,r[1],l)}function I(e,t,r,a,s,o){const n=r-e,l=a-t,u=s,c=s+1,f=t+l*(u-e)/n,h=t+l*(c-e)/n;if(u>=e&&u<r||c>e&&c<=r)if(Math.sign(f)===Math.sign(h)||Math.abs(f)<1e-4||Math.abs(h)<1e-4){const d=(f+h)/2;d<0?(o[0]=Math.abs(d),o[1]=0):(o[0]=0,o[1]=Math.abs(d))}else{const d=-t*n/l+e,p=Math.trunc(d),m=d>e?f*(d-p)/2:0,g=d<r?h*(1-(d-p))/2:0;(Math.abs(m)>Math.abs(g)?m:-g)<0?(o[0]=Math.abs(m),o[1]=Math.abs(g)):(o[0]=Math.abs(g),o[1]=Math.abs(m))}else o[0]=0,o[1]=0;return o}function ls(e,t,r,a,s){const o=ce[0],n=ce[1],l=.5+a,u=.5+a-1,c=t+r+1;switch(e){case 0:{s[0]=0,s[1]=0;break}case 1:{t<=r?I(0,u,c/2,0,t,s):(s[0]=0,s[1]=0);break}case 2:{t>=r?I(c/2,0,c,u,t,s):(s[0]=0,s[1]=0);break}case 3:{I(0,u,c/2,0,t,o),I(c/2,0,c,u,t,n),st(c),s[0]=o[0]+n[0],s[1]=o[1]+n[1];break}case 4:{t<=r?I(0,l,c/2,0,t,s):(s[0]=0,s[1]=0);break}case 5:{s[0]=0,s[1]=0;break}case 6:{Math.abs(a)>0?(I(0,l,c,u,t,o),I(0,l,c/2,0,t,n),I(c/2,0,c,u,t,s),n[0]=n[0]+s[0],n[1]=n[1]+s[1],s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2):I(0,l,c,u,t,s);break}case 7:{I(0,l,c,u,t,s);break}case 8:{t>=r?I(c/2,0,c,l,t,s):(s[0]=0,s[1]=0);break}case 9:{Math.abs(a)>0?(I(0,u,c,l,t,o),I(0,u,c/2,0,t,n),I(c/2,0,c,l,t,s),n[0]=n[0]+s[0],n[1]=n[1]+s[1],s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2):I(0,u,c,l,t,s);break}case 10:{s[0]=0,s[1]=0;break}case 11:{I(0,u,c,l,t,s);break}case 12:{I(0,l,c/2,0,t,o),I(c/2,0,c,l,t,n),st(c),s[0]=o[0]+n[0],s[1]=o[1]+n[1];break}case 13:{I(0,u,c,l,t,s);break}case 14:{I(0,l,c,u,t,s);break}case 15:{s[0]=0,s[1]=0;break}}return s}function us(e,t,r,a,s,o){let n=e===r&&t===a;if(!n){const l=(e+r)/2,u=(t+a)/2,c=a-t,f=e-r;n=c*(s-l)+f*(o-u)>0}return n}function nt(e,t,r,a,s,o){let n=0;for(let l=0;l<ae;++l)for(let u=0;u<ae;++u){const c=u/(ae-1),f=l/(ae-1);us(e,t,r,a,s+c,o+f)&&++n}return n/(ae*ae)}function y(e,t,r,a,s,o,n,l){const u=zt[e],c=u[0],f=u[1];return c>0&&(t+=n[0],r+=n[1]),f>0&&(a+=n[0],s+=n[1]),l[0]=1-nt(t,r,a,s,1+o,0+o),l[1]=nt(t,r,a,s,1+o,1+o),l}function cs(e,t,r,a,s){const o=ce[0],n=ce[1],l=t+r+1;switch(e){case 0:{y(e,1,1,1+l,1+l,t,a,o),y(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 1:{y(e,1,0,0+l,0+l,t,a,o),y(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 2:{y(e,0,0,1+l,0+l,t,a,o),y(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 3:{y(e,1,0,1+l,0+l,t,a,s);break}case 4:{y(e,1,1,0+l,0+l,t,a,o),y(e,1,1,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 5:{y(e,1,1,0+l,0+l,t,a,o),y(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 6:{y(e,1,1,1+l,0+l,t,a,s);break}case 7:{y(e,1,1,1+l,0+l,t,a,o),y(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 8:{y(e,0,0,1+l,1+l,t,a,o),y(e,1,0,1+l,1+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 9:{y(e,1,0,1+l,1+l,t,a,s),y(e,1,0,1+l,1+l,t,a,s);break}case 10:{y(e,0,0,1+l,1+l,t,a,o),y(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 11:{y(e,1,0,1+l,1+l,t,a,o),y(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 12:{y(e,1,1,1+l,1+l,t,a,s);break}case 13:{y(e,1,1,1+l,1+l,t,a,o),y(e,1,0,1+l,1+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 14:{y(e,1,1,1+l,1+l,t,a,o),y(e,1,1,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 15:{y(e,1,1,1+l,1+l,t,a,o),y(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}}return s}function ot(e,t,r){const a=new Float32Array(2);for(let s=0,o=e.length;s<o;++s){const n=e[s],l=n.data,u=n.width;for(let c=0;c<u;++c)for(let f=0;f<u;++f){r?ls(s,f,c,t,a):cs(s,f,c,t,a);const h=(c*u+f)*2;l[h]=a[0]*255,l[h+1]=a[1]*255}}}function lt(e,t,r,a,s,o,n){const l=n.data,u=n.width;for(let c=0,f=r.length;c<f;++c){const h=a[c],d=r[c],p=d.data,m=d.width;for(let g=0;g<s;++g)for(let T=0;T<s;++T){const w=h[0]*s+e+T,x=((h[1]*s+t+g)*u+w)*4,b=o?(g*g*m+T*T)*2:(g*m+T)*2;l[x]=p[b],l[x+1]=p[b+1],l[x+2]=0,l[x+3]=255}}}var fs=class{static generate(){const e=10*re,t=Ie.length*5*re,r=new Uint8ClampedArray(e*t*4),a=new K(e,t,r),s=Math.pow(re-1,2)+1,o=Re,n=[],l=[];for(let u=3,c=r.length;u<c;u+=4)r[u]=255;for(let u=0;u<16;++u)n.push(new K(s,s,new Uint8ClampedArray(s*s*2),2)),l.push(new K(o,o,new Uint8ClampedArray(o*o*2),2));for(let u=0,c=Ie.length;u<c;++u)ot(n,Ie[u],!0),lt(0,5*re*u,n,ns,re,!0,a);for(let u=0,c=at.length;u<c;++u)ot(l,at[u],!1),lt(5*re,4*Re*u,l,zt,Re,!1,a);return a}},hs=`"use strict";(()=>{function q(t,a,s){let e=document.createElement("canvas"),n=e.getContext("2d");if(e.width=t,e.height=a,s instanceof Image)n.drawImage(s,0,0);else{let r=n.createImageData(t,a);r.data.set(s),n.putImageData(r,0,0)}return e}var F=class t{constructor(a=0,s=0,e=null){this.width=a,this.height=s,this.data=e}toCanvas(){return typeof document=="undefined"?null:q(this.width,this.height,this.data)}static from(a){let{width:s,height:e}=a,n;if(a instanceof Image){let r=q(s,e,a);r!==null&&(n=r.getContext("2d").getImageData(0,0,s,e).data)}else n=a.data;return new t(s,e,n)}};var M=[new Float32Array(2),new Float32Array(2)],D=16,W=20,I=30,j=32,v=new Float32Array([0,-.25,.25,-.125,.125,-.375,.375]),N=[new Float32Array([0,0]),new Float32Array([.25,-.25]),new Float32Array([-.25,.25]),new Float32Array([.125,-.125]),new Float32Array([-.125,.125])],z=[new Uint8Array([0,0]),new Uint8Array([3,0]),new Uint8Array([0,3]),new Uint8Array([3,3]),new Uint8Array([1,0]),new Uint8Array([4,0]),new Uint8Array([1,3]),new Uint8Array([4,3]),new Uint8Array([0,1]),new Uint8Array([3,1]),new Uint8Array([0,4]),new Uint8Array([3,4]),new Uint8Array([1,1]),new Uint8Array([4,1]),new Uint8Array([1,4]),new Uint8Array([4,4])],p=[new Uint8Array([0,0]),new Uint8Array([1,0]),new Uint8Array([0,2]),new Uint8Array([1,2]),new Uint8Array([2,0]),new Uint8Array([3,0]),new Uint8Array([2,2]),new Uint8Array([3,2]),new Uint8Array([0,1]),new Uint8Array([1,1]),new Uint8Array([0,3]),new Uint8Array([1,3]),new Uint8Array([2,1]),new Uint8Array([3,1]),new Uint8Array([2,3]),new Uint8Array([3,3])];function C(t,a,s){return t+(a-t)*s}function B(t){return Math.min(Math.max(t,0),1)}function _(t){let a=M[0],s=M[1],e=Math.sqrt(a[0]*2)*.5,n=Math.sqrt(a[1]*2)*.5,r=Math.sqrt(s[0]*2)*.5,o=Math.sqrt(s[1]*2)*.5,c=B(t/j);a[0]=C(e,a[0],c),a[1]=C(n,a[1],c),s[0]=C(r,s[0],c),s[1]=C(o,s[1],c)}function d(t,a,s,e,n,r){let o=s-t,c=e-a,h=n,i=n+1,w=a+c*(h-t)/o,b=a+c*(i-t)/o;if(h>=t&&h<s||i>t&&i<=s)if(Math.sign(w)===Math.sign(b)||Math.abs(w)<1e-4||Math.abs(b)<1e-4){let g=(w+b)/2;g<0?(r[0]=Math.abs(g),r[1]=0):(r[0]=0,r[1]=Math.abs(g))}else{let g=-a*o/c+t,k=Math.trunc(g),m=g>t?w*(g-k)/2:0,U=g<s?b*(1-(g-k))/2:0;(Math.abs(m)>Math.abs(U)?m:-U)<0?(r[0]=Math.abs(m),r[1]=Math.abs(U)):(r[0]=Math.abs(U),r[1]=Math.abs(m))}else r[0]=0,r[1]=0;return r}function J(t,a,s,e,n){let r=M[0],o=M[1],c=.5+e,h=.5+e-1,i=a+s+1;switch(t){case 0:{n[0]=0,n[1]=0;break}case 1:{a<=s?d(0,h,i/2,0,a,n):(n[0]=0,n[1]=0);break}case 2:{a>=s?d(i/2,0,i,h,a,n):(n[0]=0,n[1]=0);break}case 3:{d(0,h,i/2,0,a,r),d(i/2,0,i,h,a,o),_(i,M),n[0]=r[0]+o[0],n[1]=r[1]+o[1];break}case 4:{a<=s?d(0,c,i/2,0,a,n):(n[0]=0,n[1]=0);break}case 5:{n[0]=0,n[1]=0;break}case 6:{Math.abs(e)>0?(d(0,c,i,h,a,r),d(0,c,i/2,0,a,o),d(i/2,0,i,h,a,n),o[0]=o[0]+n[0],o[1]=o[1]+n[1],n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2):d(0,c,i,h,a,n);break}case 7:{d(0,c,i,h,a,n);break}case 8:{a>=s?d(i/2,0,i,c,a,n):(n[0]=0,n[1]=0);break}case 9:{Math.abs(e)>0?(d(0,h,i,c,a,r),d(0,h,i/2,0,a,o),d(i/2,0,i,c,a,n),o[0]=o[0]+n[0],o[1]=o[1]+n[1],n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2):d(0,h,i,c,a,n);break}case 10:{n[0]=0,n[1]=0;break}case 11:{d(0,h,i,c,a,n);break}case 12:{d(0,c,i/2,0,a,r),d(i/2,0,i,c,a,o),_(i,M),n[0]=r[0]+o[0],n[1]=r[1]+o[1];break}case 13:{d(0,h,i,c,a,n);break}case 14:{d(0,c,i,h,a,n);break}case 15:{n[0]=0,n[1]=0;break}}return n}function K(t,a,s,e,n,r){let o=t===s&&a===e;if(!o){let c=(t+s)/2,h=(a+e)/2,i=e-a,w=t-s;o=i*(n-c)+w*(r-h)>0}return o}function G(t,a,s,e,n,r){let o=0;for(let c=0;c<I;++c)for(let h=0;h<I;++h){let i=h/(I-1),w=c/(I-1);K(t,a,s,e,n+i,r+w)&&++o}return o/(I*I)}function A(t,a,s,e,n,r,o,c){let h=p[t],i=h[0],w=h[1];return i>0&&(a+=o[0],s+=o[1]),w>0&&(e+=o[0],n+=o[1]),c[0]=1-G(a,s,e,n,1+r,0+r),c[1]=G(a,s,e,n,1+r,1+r),c}function Q(t,a,s,e,n){let r=M[0],o=M[1],c=a+s+1;switch(t){case 0:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 1:{A(t,1,0,0+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 2:{A(t,0,0,1+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 3:{A(t,1,0,1+c,0+c,a,e,n);break}case 4:{A(t,1,1,0+c,0+c,a,e,r),A(t,1,1,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 5:{A(t,1,1,0+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 6:{A(t,1,1,1+c,0+c,a,e,n);break}case 7:{A(t,1,1,1+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 8:{A(t,0,0,1+c,1+c,a,e,r),A(t,1,0,1+c,1+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 9:{A(t,1,0,1+c,1+c,a,e,n),A(t,1,0,1+c,1+c,a,e,n);break}case 10:{A(t,0,0,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 11:{A(t,1,0,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 12:{A(t,1,1,1+c,1+c,a,e,n);break}case 13:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,0,1+c,1+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 14:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,1,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 15:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}}return n}function R(t,a,s){let e=new Float32Array(2);for(let n=0,r=t.length;n<r;++n){let o=t[n],c=o.data,h=o.width;for(let i=0;i<h;++i)for(let w=0;w<h;++w){s?J(n,w,i,a,e):Q(n,w,i,a,e);let b=(i*h+w)*2;c[b]=e[0]*255,c[b+1]=e[1]*255}}}function T(t,a,s,e,n,r,o){let c=o.data,h=o.width;for(let i=0,w=s.length;i<w;++i){let b=e[i],g=s[i],k=g.data,m=g.width;for(let U=0;U<n;++U)for(let x=0;x<n;++x){let Z=b[0]*n+t+x,O=((b[1]*n+a+U)*h+Z)*4,L=r?(U*U*m+x*x)*2:(U*m+x)*2;c[O]=k[L],c[O+1]=k[L+1],c[O+2]=0,c[O+3]=255}}}var S=class{static generate(){let a=10*D,s=v.length*5*D,e=new Uint8ClampedArray(a*s*4),n=new F(a,s,e),r=Math.pow(D-1,2)+1,o=W,c=[],h=[];for(let i=3,w=e.length;i<w;i+=4)e[i]=255;for(let i=0;i<16;++i)c.push(new F(r,r,new Uint8ClampedArray(r*r*2),2)),h.push(new F(o,o,new Uint8ClampedArray(o*o*2),2));for(let i=0,w=v.length;i<w;++i)R(c,v[i],!0),T(0,5*D*i,c,z,D,!0,n);for(let i=0,w=N.length;i<w;++i)R(h,N[i],!1),T(5*D,4*W*i,h,p,W,!1,n);return n}};var P=new Map([[y(0,0,0,0),new Float32Array([0,0,0,0])],[y(0,0,0,1),new Float32Array([0,0,0,1])],[y(0,0,1,0),new Float32Array([0,0,1,0])],[y(0,0,1,1),new Float32Array([0,0,1,1])],[y(0,1,0,0),new Float32Array([0,1,0,0])],[y(0,1,0,1),new Float32Array([0,1,0,1])],[y(0,1,1,0),new Float32Array([0,1,1,0])],[y(0,1,1,1),new Float32Array([0,1,1,1])],[y(1,0,0,0),new Float32Array([1,0,0,0])],[y(1,0,0,1),new Float32Array([1,0,0,1])],[y(1,0,1,0),new Float32Array([1,0,1,0])],[y(1,0,1,1),new Float32Array([1,0,1,1])],[y(1,1,0,0),new Float32Array([1,1,0,0])],[y(1,1,0,1),new Float32Array([1,1,0,1])],[y(1,1,1,0),new Float32Array([1,1,1,0])],[y(1,1,1,1),new Float32Array([1,1,1,1])]]);function H(t,a,s){return t+(a-t)*s}function y(t,a,s,e){let n=H(t,a,.75),r=H(s,e,1-.25);return H(n,r,1-.125)}function V(t,a){let s=0;return a[3]===1&&(s+=1),s===1&&a[2]===1&&t[1]!==1&&t[3]!==1&&(s+=1),s}function $(t,a){let s=0;return a[3]===1&&t[1]!==1&&t[3]!==1&&(s+=1),s===1&&a[2]===1&&t[0]!==1&&t[2]!==1&&(s+=1),s}var E=class{static generate(){let o=new Uint8ClampedArray(2178),c=new Uint8ClampedArray(64*16*4);for(let h=0;h<33;++h)for(let i=0;i<66;++i){let w=.03125*i,b=.03125*h;if(P.has(w)&&P.has(b)){let g=P.get(w),k=P.get(b),m=h*66+i;o[m]=127*V(g,k),o[m+33]=127*$(g,k)}}for(let h=0,i=17;i<33;++i)for(let w=0;w<64;++w,h+=4)c[h]=o[i*66+w],c[h+3]=255;return new F(64,16,c)}};self.addEventListener("message",t=>{let a=S.generate(),s=E.generate();postMessage({areaImageData:a,searchImageData:s},[a.data.buffer,s.data.buffer]),close()});})();
|
|
875
|
+
#`));this.skipRendering=t===0,this.needsSwap=!this.skipRendering,this.fullscreenMaterial.setShaderData(e)}recompile(){this.updateMaterial()}getDepthTexture(){return this.fullscreenMaterial.depthBuffer}setDepthTexture(e,t=i.BasicDepthPacking){this.fullscreenMaterial.depthBuffer=e,this.fullscreenMaterial.depthPacking=t;for(const r of this.effects)r.setDepthTexture(e,t)}render(e,t,r,a,s){for(const o of this.effects)o.update(e,t,a);if(!this.skipRendering||this.renderToScreen){const o=this.fullscreenMaterial;o.inputBuffer=t.texture,o.time+=a*this.timeScale,e.setRenderTarget(this.renderToScreen?null:r),e.render(this.scene,this.camera)}}setSize(e,t){this.fullscreenMaterial.setSize(e,t);for(const r of this.effects)r.setSize(e,t)}initialize(e,t,r){this.renderer=e;for(const a of this.effects)a.initialize(e,t,r);this.updateMaterial(),r!==void 0&&r!==i.UnsignedByteType&&(this.fullscreenMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1")}dispose(){super.dispose();for(const e of this.effects)e.removeEventListener("change",this.listener),e.dispose()}handleEvent(e){switch(e.type){case"change":this.recompile();break}}},es=class extends U{constructor({kernelSize:e=35,iterations:t=1,resolutionScale:r=1,resolutionX:a=A.AUTO_SIZE,resolutionY:s=A.AUTO_SIZE}={}){super("GaussianBlurPass"),this.renderTargetA=new i.WebGLRenderTarget(1,1,{depthBuffer:!1}),this.renderTargetA.texture.name="Blur.Target.A",this.renderTargetB=this.renderTargetA.clone(),this.renderTargetB.texture.name="Blur.Target.B",this.blurMaterial=new Gt({kernelSize:e}),this.copyMaterial=new ve,this.copyMaterial.inputBuffer=this.renderTargetB.texture;const o=this.resolution=new A(this,a,s,r);o.addEventListener("change",n=>this.setSize(o.baseWidth,o.baseHeight)),this.iterations=t}render(e,t,r,a,s){const o=this.scene,n=this.camera,l=this.renderTargetA,u=this.renderTargetB,c=this.blurMaterial;this.fullscreenMaterial=c;let f=t;for(let h=0,d=Math.max(this.iterations,1);h<d;++h)c.direction.set(1,0),c.inputBuffer=f.texture,e.setRenderTarget(l),e.render(o,n),c.direction.set(0,1),c.inputBuffer=l.texture,e.setRenderTarget(u),e.render(o,n),h===0&&d>1&&(f=u);this.fullscreenMaterial=this.copyMaterial,e.setRenderTarget(this.renderToScreen?null:r),e.render(o,n)}setSize(e,t){const r=this.resolution;r.setBaseSize(e,t);const a=r.width,s=r.height;this.renderTargetA.setSize(a,s),this.renderTargetB.setSize(a,s),this.blurMaterial.setSize(e,t)}initialize(e,t,r){r!==void 0&&(this.renderTargetA.texture.type=r,this.renderTargetB.texture.type=r,r!==i.UnsignedByteType?(this.blurMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1",this.copyMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1"):e!==null&&e.outputColorSpace===i.SRGBColorSpace&&(this.renderTargetA.texture.colorSpace=i.SRGBColorSpace,this.renderTargetB.texture.colorSpace=i.SRGBColorSpace))}},ts=class extends U{constructor(e){super("LambdaPass",null,null),this.needsSwap=!1,this.f=e}render(e,t,r,a,s){this.f()}},is=class extends U{constructor(e,t,{renderTarget:r,resolutionScale:a=1,width:s=A.AUTO_SIZE,height:o=A.AUTO_SIZE,resolutionX:n=s,resolutionY:l=o}={}){super("NormalPass"),this.needsSwap=!1,this.renderPass=new ge(e,t,new i.MeshNormalMaterial);const u=this.renderPass;u.ignoreBackground=!0,u.skipShadowMapUpdate=!0;const c=u.getClearPass();c.overrideClearColor=new i.Color(7829503),c.overrideClearAlpha=1,this.renderTarget=r,this.renderTarget===void 0&&(this.renderTarget=new i.WebGLRenderTarget(1,1,{minFilter:i.NearestFilter,magFilter:i.NearestFilter}),this.renderTarget.texture.name="NormalPass.Target");const f=this.resolution=new A(this,n,l,a);f.addEventListener("change",h=>this.setSize(f.baseWidth,f.baseHeight))}set mainScene(e){this.renderPass.mainScene=e}set mainCamera(e){this.renderPass.mainCamera=e}get texture(){return this.renderTarget.texture}getTexture(){return this.renderTarget.texture}getResolution(){return this.resolution}getResolutionScale(){return this.resolution.scale}setResolutionScale(e){this.resolution.scale=e}render(e,t,r,a,s){const o=this.renderToScreen?null:this.renderTarget;this.renderPass.render(e,o,o)}setSize(e,t){const r=this.resolution;r.setBaseSize(e,t),this.renderTarget.setSize(r.width,r.height)}},rt=[new Float32Array(3),new Float32Array(3)],B=[new Float32Array(3),new Float32Array(3),new Float32Array(3),new Float32Array(3)],ie=[[new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,0,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([1,0,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([0,1,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([0,1,1]),new Float32Array([1,1,1])]];function xe(e,t,r,a){const s=r[0]-t[0],o=r[1]-t[1],n=r[2]-t[2],l=e[0]-t[0],u=e[1]-t[1],c=e[2]-t[2],f=o*c-n*u,h=n*l-s*c,d=s*u-o*l,p=Math.sqrt(f*f+h*h+d*d),m=p*.5,g=f/p,T=h/p,w=d/p,D=-(e[0]*g+e[1]*T+e[2]*w),x=a[0]*g+a[1]*T+a[2]*w;return Math.abs(x+D)*m/3}function he(e,t,r,a,s,o){const n=(r+a*t+s*t*t)*4;o[0]=e[n+0],o[1]=e[n+1],o[2]=e[n+2]}function rs(e,t,r,a,s,o){const n=r*(t-1),l=a*(t-1),u=s*(t-1),c=Math.floor(n),f=Math.floor(l),h=Math.floor(u),d=Math.ceil(n),p=Math.ceil(l),m=Math.ceil(u),g=n-c,T=l-f,w=u-h;if(c===n&&f===l&&h===u)he(e,t,n,l,u,o);else{let D;g>=T&&T>=w?D=ie[0]:g>=w&&w>=T?D=ie[1]:w>=g&&g>=T?D=ie[2]:T>=g&&g>=w?D=ie[3]:T>=w&&w>=g?D=ie[4]:w>=T&&T>=g&&(D=ie[5]);const[x,b,G,k]=D,Q=rt[0];Q[0]=g,Q[1]=T,Q[2]=w;const M=rt[1],ee=d-c,te=p-f,V=m-h;M[0]=ee*x[0]+c,M[1]=te*x[1]+f,M[2]=V*x[2]+h,he(e,t,M[0],M[1],M[2],B[0]),M[0]=ee*b[0]+c,M[1]=te*b[1]+f,M[2]=V*b[2]+h,he(e,t,M[0],M[1],M[2],B[1]),M[0]=ee*G[0]+c,M[1]=te*G[1]+f,M[2]=V*G[2]+h,he(e,t,M[0],M[1],M[2],B[2]),M[0]=ee*k[0]+c,M[1]=te*k[1]+f,M[2]=V*k[2]+h,he(e,t,M[0],M[1],M[2],B[3]);const Z=xe(b,G,k,Q)*6,R=xe(x,G,k,Q)*6,me=xe(x,b,k,Q)*6,ye=xe(x,b,G,Q)*6;B[0][0]*=Z,B[0][1]*=Z,B[0][2]*=Z,B[1][0]*=R,B[1][1]*=R,B[1][2]*=R,B[2][0]*=me,B[2][1]*=me,B[2][2]*=me,B[3][0]*=ye,B[3][1]*=ye,B[3][2]*=ye,o[0]=B[0][0]+B[1][0]+B[2][0]+B[3][0],o[1]=B[0][1]+B[1][1]+B[2][1]+B[3][1],o[2]=B[0][2]+B[1][2]+B[2][2]+B[3][2]}}var as=class{static expand(e,t){const r=Math.cbrt(e.length/4),a=new Float32Array(3),s=new e.constructor(t**3*4),o=e instanceof Uint8Array?255:1,n=t**2,l=1/(t-1);for(let u=0;u<t;++u)for(let c=0;c<t;++c)for(let f=0;f<t;++f){const h=f*l,d=c*l,p=u*l,m=Math.round(f+c*t+u*n)*4;rs(e,r,h,d,p,a),s[m+0]=a[0],s[m+1]=a[1],s[m+2]=a[2],s[m+3]=o}return s}},ce=[new Float32Array(2),new Float32Array(2)],re=16,Re=20,ae=30,ss=32,Ie=new Float32Array([0,-.25,.25,-.125,.125,-.375,.375]),at=[new Float32Array([0,0]),new Float32Array([.25,-.25]),new Float32Array([-.25,.25]),new Float32Array([.125,-.125]),new Float32Array([-.125,.125])],ns=[new Uint8Array([0,0]),new Uint8Array([3,0]),new Uint8Array([0,3]),new Uint8Array([3,3]),new Uint8Array([1,0]),new Uint8Array([4,0]),new Uint8Array([1,3]),new Uint8Array([4,3]),new Uint8Array([0,1]),new Uint8Array([3,1]),new Uint8Array([0,4]),new Uint8Array([3,4]),new Uint8Array([1,1]),new Uint8Array([4,1]),new Uint8Array([1,4]),new Uint8Array([4,4])],zt=[new Uint8Array([0,0]),new Uint8Array([1,0]),new Uint8Array([0,2]),new Uint8Array([1,2]),new Uint8Array([2,0]),new Uint8Array([3,0]),new Uint8Array([2,2]),new Uint8Array([3,2]),new Uint8Array([0,1]),new Uint8Array([1,1]),new Uint8Array([0,3]),new Uint8Array([1,3]),new Uint8Array([2,1]),new Uint8Array([3,1]),new Uint8Array([2,3]),new Uint8Array([3,3])];function De(e,t,r){return e+(t-e)*r}function os(e){return Math.min(Math.max(e,0),1)}function st(e){const t=ce[0],r=ce[1],a=Math.sqrt(t[0]*2)*.5,s=Math.sqrt(t[1]*2)*.5,o=Math.sqrt(r[0]*2)*.5,n=Math.sqrt(r[1]*2)*.5,l=os(e/ss);t[0]=De(a,t[0],l),t[1]=De(s,t[1],l),r[0]=De(o,r[0],l),r[1]=De(n,r[1],l)}function I(e,t,r,a,s,o){const n=r-e,l=a-t,u=s,c=s+1,f=t+l*(u-e)/n,h=t+l*(c-e)/n;if(u>=e&&u<r||c>e&&c<=r)if(Math.sign(f)===Math.sign(h)||Math.abs(f)<1e-4||Math.abs(h)<1e-4){const d=(f+h)/2;d<0?(o[0]=Math.abs(d),o[1]=0):(o[0]=0,o[1]=Math.abs(d))}else{const d=-t*n/l+e,p=Math.trunc(d),m=d>e?f*(d-p)/2:0,g=d<r?h*(1-(d-p))/2:0;(Math.abs(m)>Math.abs(g)?m:-g)<0?(o[0]=Math.abs(m),o[1]=Math.abs(g)):(o[0]=Math.abs(g),o[1]=Math.abs(m))}else o[0]=0,o[1]=0;return o}function ls(e,t,r,a,s){const o=ce[0],n=ce[1],l=.5+a,u=.5+a-1,c=t+r+1;switch(e){case 0:{s[0]=0,s[1]=0;break}case 1:{t<=r?I(0,u,c/2,0,t,s):(s[0]=0,s[1]=0);break}case 2:{t>=r?I(c/2,0,c,u,t,s):(s[0]=0,s[1]=0);break}case 3:{I(0,u,c/2,0,t,o),I(c/2,0,c,u,t,n),st(c),s[0]=o[0]+n[0],s[1]=o[1]+n[1];break}case 4:{t<=r?I(0,l,c/2,0,t,s):(s[0]=0,s[1]=0);break}case 5:{s[0]=0,s[1]=0;break}case 6:{Math.abs(a)>0?(I(0,l,c,u,t,o),I(0,l,c/2,0,t,n),I(c/2,0,c,u,t,s),n[0]=n[0]+s[0],n[1]=n[1]+s[1],s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2):I(0,l,c,u,t,s);break}case 7:{I(0,l,c,u,t,s);break}case 8:{t>=r?I(c/2,0,c,l,t,s):(s[0]=0,s[1]=0);break}case 9:{Math.abs(a)>0?(I(0,u,c,l,t,o),I(0,u,c/2,0,t,n),I(c/2,0,c,l,t,s),n[0]=n[0]+s[0],n[1]=n[1]+s[1],s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2):I(0,u,c,l,t,s);break}case 10:{s[0]=0,s[1]=0;break}case 11:{I(0,u,c,l,t,s);break}case 12:{I(0,l,c/2,0,t,o),I(c/2,0,c,l,t,n),st(c),s[0]=o[0]+n[0],s[1]=o[1]+n[1];break}case 13:{I(0,u,c,l,t,s);break}case 14:{I(0,l,c,u,t,s);break}case 15:{s[0]=0,s[1]=0;break}}return s}function us(e,t,r,a,s,o){let n=e===r&&t===a;if(!n){const l=(e+r)/2,u=(t+a)/2,c=a-t,f=e-r;n=c*(s-l)+f*(o-u)>0}return n}function nt(e,t,r,a,s,o){let n=0;for(let l=0;l<ae;++l)for(let u=0;u<ae;++u){const c=u/(ae-1),f=l/(ae-1);us(e,t,r,a,s+c,o+f)&&++n}return n/(ae*ae)}function y(e,t,r,a,s,o,n,l){const u=zt[e],c=u[0],f=u[1];return c>0&&(t+=n[0],r+=n[1]),f>0&&(a+=n[0],s+=n[1]),l[0]=1-nt(t,r,a,s,1+o,0+o),l[1]=nt(t,r,a,s,1+o,1+o),l}function cs(e,t,r,a,s){const o=ce[0],n=ce[1],l=t+r+1;switch(e){case 0:{y(e,1,1,1+l,1+l,t,a,o),y(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 1:{y(e,1,0,0+l,0+l,t,a,o),y(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 2:{y(e,0,0,1+l,0+l,t,a,o),y(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 3:{y(e,1,0,1+l,0+l,t,a,s);break}case 4:{y(e,1,1,0+l,0+l,t,a,o),y(e,1,1,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 5:{y(e,1,1,0+l,0+l,t,a,o),y(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 6:{y(e,1,1,1+l,0+l,t,a,s);break}case 7:{y(e,1,1,1+l,0+l,t,a,o),y(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 8:{y(e,0,0,1+l,1+l,t,a,o),y(e,1,0,1+l,1+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 9:{y(e,1,0,1+l,1+l,t,a,s),y(e,1,0,1+l,1+l,t,a,s);break}case 10:{y(e,0,0,1+l,1+l,t,a,o),y(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 11:{y(e,1,0,1+l,1+l,t,a,o),y(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 12:{y(e,1,1,1+l,1+l,t,a,s);break}case 13:{y(e,1,1,1+l,1+l,t,a,o),y(e,1,0,1+l,1+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 14:{y(e,1,1,1+l,1+l,t,a,o),y(e,1,1,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}case 15:{y(e,1,1,1+l,1+l,t,a,o),y(e,1,0,1+l,0+l,t,a,n),s[0]=(o[0]+n[0])/2,s[1]=(o[1]+n[1])/2;break}}return s}function ot(e,t,r){const a=new Float32Array(2);for(let s=0,o=e.length;s<o;++s){const n=e[s],l=n.data,u=n.width;for(let c=0;c<u;++c)for(let f=0;f<u;++f){r?ls(s,f,c,t,a):cs(s,f,c,t,a);const h=(c*u+f)*2;l[h]=a[0]*255,l[h+1]=a[1]*255}}}function lt(e,t,r,a,s,o,n){const l=n.data,u=n.width;for(let c=0,f=r.length;c<f;++c){const h=a[c],d=r[c],p=d.data,m=d.width;for(let g=0;g<s;++g)for(let T=0;T<s;++T){const w=h[0]*s+e+T,x=((h[1]*s+t+g)*u+w)*4,b=o?(g*g*m+T*T)*2:(g*m+T)*2;l[x]=p[b],l[x+1]=p[b+1],l[x+2]=0,l[x+3]=255}}}var fs=class{static generate(){const e=10*re,t=Ie.length*5*re,r=new Uint8ClampedArray(e*t*4),a=new K(e,t,r),s=Math.pow(re-1,2)+1,o=Re,n=[],l=[];for(let u=3,c=r.length;u<c;u+=4)r[u]=255;for(let u=0;u<16;++u)n.push(new K(s,s,new Uint8ClampedArray(s*s*2),2)),l.push(new K(o,o,new Uint8ClampedArray(o*o*2),2));for(let u=0,c=Ie.length;u<c;++u)ot(n,Ie[u],!0),lt(0,5*re*u,n,ns,re,!0,a);for(let u=0,c=at.length;u<c;++u)ot(l,at[u],!1),lt(5*re,4*Re*u,l,zt,Re,!1,a);return a}},hs=`"use strict";(()=>{function q(t,a,s){let e=document.createElement("canvas"),n=e.getContext("2d");if(e.width=t,e.height=a,s instanceof Image)n.drawImage(s,0,0);else{let r=n.createImageData(t,a);r.data.set(s),n.putImageData(r,0,0)}return e}var F=class t{constructor(a=0,s=0,e=null){this.width=a,this.height=s,this.data=e}toCanvas(){return typeof document=="undefined"?null:q(this.width,this.height,this.data)}static from(a){let{width:s,height:e}=a,n;if(a instanceof Image){let r=q(s,e,a);r!==null&&(n=r.getContext("2d").getImageData(0,0,s,e).data)}else n=a.data;return new t(s,e,n)}};var M=[new Float32Array(2),new Float32Array(2)],D=16,W=20,I=30,j=32,v=new Float32Array([0,-.25,.25,-.125,.125,-.375,.375]),N=[new Float32Array([0,0]),new Float32Array([.25,-.25]),new Float32Array([-.25,.25]),new Float32Array([.125,-.125]),new Float32Array([-.125,.125])],z=[new Uint8Array([0,0]),new Uint8Array([3,0]),new Uint8Array([0,3]),new Uint8Array([3,3]),new Uint8Array([1,0]),new Uint8Array([4,0]),new Uint8Array([1,3]),new Uint8Array([4,3]),new Uint8Array([0,1]),new Uint8Array([3,1]),new Uint8Array([0,4]),new Uint8Array([3,4]),new Uint8Array([1,1]),new Uint8Array([4,1]),new Uint8Array([1,4]),new Uint8Array([4,4])],p=[new Uint8Array([0,0]),new Uint8Array([1,0]),new Uint8Array([0,2]),new Uint8Array([1,2]),new Uint8Array([2,0]),new Uint8Array([3,0]),new Uint8Array([2,2]),new Uint8Array([3,2]),new Uint8Array([0,1]),new Uint8Array([1,1]),new Uint8Array([0,3]),new Uint8Array([1,3]),new Uint8Array([2,1]),new Uint8Array([3,1]),new Uint8Array([2,3]),new Uint8Array([3,3])];function C(t,a,s){return t+(a-t)*s}function B(t){return Math.min(Math.max(t,0),1)}function _(t){let a=M[0],s=M[1],e=Math.sqrt(a[0]*2)*.5,n=Math.sqrt(a[1]*2)*.5,r=Math.sqrt(s[0]*2)*.5,o=Math.sqrt(s[1]*2)*.5,c=B(t/j);a[0]=C(e,a[0],c),a[1]=C(n,a[1],c),s[0]=C(r,s[0],c),s[1]=C(o,s[1],c)}function d(t,a,s,e,n,r){let o=s-t,c=e-a,h=n,i=n+1,w=a+c*(h-t)/o,b=a+c*(i-t)/o;if(h>=t&&h<s||i>t&&i<=s)if(Math.sign(w)===Math.sign(b)||Math.abs(w)<1e-4||Math.abs(b)<1e-4){let g=(w+b)/2;g<0?(r[0]=Math.abs(g),r[1]=0):(r[0]=0,r[1]=Math.abs(g))}else{let g=-a*o/c+t,k=Math.trunc(g),m=g>t?w*(g-k)/2:0,U=g<s?b*(1-(g-k))/2:0;(Math.abs(m)>Math.abs(U)?m:-U)<0?(r[0]=Math.abs(m),r[1]=Math.abs(U)):(r[0]=Math.abs(U),r[1]=Math.abs(m))}else r[0]=0,r[1]=0;return r}function J(t,a,s,e,n){let r=M[0],o=M[1],c=.5+e,h=.5+e-1,i=a+s+1;switch(t){case 0:{n[0]=0,n[1]=0;break}case 1:{a<=s?d(0,h,i/2,0,a,n):(n[0]=0,n[1]=0);break}case 2:{a>=s?d(i/2,0,i,h,a,n):(n[0]=0,n[1]=0);break}case 3:{d(0,h,i/2,0,a,r),d(i/2,0,i,h,a,o),_(i,M),n[0]=r[0]+o[0],n[1]=r[1]+o[1];break}case 4:{a<=s?d(0,c,i/2,0,a,n):(n[0]=0,n[1]=0);break}case 5:{n[0]=0,n[1]=0;break}case 6:{Math.abs(e)>0?(d(0,c,i,h,a,r),d(0,c,i/2,0,a,o),d(i/2,0,i,h,a,n),o[0]=o[0]+n[0],o[1]=o[1]+n[1],n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2):d(0,c,i,h,a,n);break}case 7:{d(0,c,i,h,a,n);break}case 8:{a>=s?d(i/2,0,i,c,a,n):(n[0]=0,n[1]=0);break}case 9:{Math.abs(e)>0?(d(0,h,i,c,a,r),d(0,h,i/2,0,a,o),d(i/2,0,i,c,a,n),o[0]=o[0]+n[0],o[1]=o[1]+n[1],n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2):d(0,h,i,c,a,n);break}case 10:{n[0]=0,n[1]=0;break}case 11:{d(0,h,i,c,a,n);break}case 12:{d(0,c,i/2,0,a,r),d(i/2,0,i,c,a,o),_(i,M),n[0]=r[0]+o[0],n[1]=r[1]+o[1];break}case 13:{d(0,h,i,c,a,n);break}case 14:{d(0,c,i,h,a,n);break}case 15:{n[0]=0,n[1]=0;break}}return n}function K(t,a,s,e,n,r){let o=t===s&&a===e;if(!o){let c=(t+s)/2,h=(a+e)/2,i=e-a,w=t-s;o=i*(n-c)+w*(r-h)>0}return o}function G(t,a,s,e,n,r){let o=0;for(let c=0;c<I;++c)for(let h=0;h<I;++h){let i=h/(I-1),w=c/(I-1);K(t,a,s,e,n+i,r+w)&&++o}return o/(I*I)}function A(t,a,s,e,n,r,o,c){let h=p[t],i=h[0],w=h[1];return i>0&&(a+=o[0],s+=o[1]),w>0&&(e+=o[0],n+=o[1]),c[0]=1-G(a,s,e,n,1+r,0+r),c[1]=G(a,s,e,n,1+r,1+r),c}function Q(t,a,s,e,n){let r=M[0],o=M[1],c=a+s+1;switch(t){case 0:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 1:{A(t,1,0,0+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 2:{A(t,0,0,1+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 3:{A(t,1,0,1+c,0+c,a,e,n);break}case 4:{A(t,1,1,0+c,0+c,a,e,r),A(t,1,1,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 5:{A(t,1,1,0+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 6:{A(t,1,1,1+c,0+c,a,e,n);break}case 7:{A(t,1,1,1+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 8:{A(t,0,0,1+c,1+c,a,e,r),A(t,1,0,1+c,1+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 9:{A(t,1,0,1+c,1+c,a,e,n),A(t,1,0,1+c,1+c,a,e,n);break}case 10:{A(t,0,0,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 11:{A(t,1,0,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 12:{A(t,1,1,1+c,1+c,a,e,n);break}case 13:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,0,1+c,1+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 14:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,1,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 15:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}}return n}function R(t,a,s){let e=new Float32Array(2);for(let n=0,r=t.length;n<r;++n){let o=t[n],c=o.data,h=o.width;for(let i=0;i<h;++i)for(let w=0;w<h;++w){s?J(n,w,i,a,e):Q(n,w,i,a,e);let b=(i*h+w)*2;c[b]=e[0]*255,c[b+1]=e[1]*255}}}function T(t,a,s,e,n,r,o){let c=o.data,h=o.width;for(let i=0,w=s.length;i<w;++i){let b=e[i],g=s[i],k=g.data,m=g.width;for(let U=0;U<n;++U)for(let x=0;x<n;++x){let Z=b[0]*n+t+x,O=((b[1]*n+a+U)*h+Z)*4,L=r?(U*U*m+x*x)*2:(U*m+x)*2;c[O]=k[L],c[O+1]=k[L+1],c[O+2]=0,c[O+3]=255}}}var S=class{static generate(){let a=10*D,s=v.length*5*D,e=new Uint8ClampedArray(a*s*4),n=new F(a,s,e),r=Math.pow(D-1,2)+1,o=W,c=[],h=[];for(let i=3,w=e.length;i<w;i+=4)e[i]=255;for(let i=0;i<16;++i)c.push(new F(r,r,new Uint8ClampedArray(r*r*2),2)),h.push(new F(o,o,new Uint8ClampedArray(o*o*2),2));for(let i=0,w=v.length;i<w;++i)R(c,v[i],!0),T(0,5*D*i,c,z,D,!0,n);for(let i=0,w=N.length;i<w;++i)R(h,N[i],!1),T(5*D,4*W*i,h,p,W,!1,n);return n}};var P=new Map([[y(0,0,0,0),new Float32Array([0,0,0,0])],[y(0,0,0,1),new Float32Array([0,0,0,1])],[y(0,0,1,0),new Float32Array([0,0,1,0])],[y(0,0,1,1),new Float32Array([0,0,1,1])],[y(0,1,0,0),new Float32Array([0,1,0,0])],[y(0,1,0,1),new Float32Array([0,1,0,1])],[y(0,1,1,0),new Float32Array([0,1,1,0])],[y(0,1,1,1),new Float32Array([0,1,1,1])],[y(1,0,0,0),new Float32Array([1,0,0,0])],[y(1,0,0,1),new Float32Array([1,0,0,1])],[y(1,0,1,0),new Float32Array([1,0,1,0])],[y(1,0,1,1),new Float32Array([1,0,1,1])],[y(1,1,0,0),new Float32Array([1,1,0,0])],[y(1,1,0,1),new Float32Array([1,1,0,1])],[y(1,1,1,0),new Float32Array([1,1,1,0])],[y(1,1,1,1),new Float32Array([1,1,1,1])]]);function H(t,a,s){return t+(a-t)*s}function y(t,a,s,e){let n=H(t,a,.75),r=H(s,e,1-.25);return H(n,r,1-.125)}function V(t,a){let s=0;return a[3]===1&&(s+=1),s===1&&a[2]===1&&t[1]!==1&&t[3]!==1&&(s+=1),s}function $(t,a){let s=0;return a[3]===1&&t[1]!==1&&t[3]!==1&&(s+=1),s===1&&a[2]===1&&t[0]!==1&&t[2]!==1&&(s+=1),s}var E=class{static generate(){let o=new Uint8ClampedArray(2178),c=new Uint8ClampedArray(1024*4);for(let h=0;h<33;++h)for(let i=0;i<66;++i){let w=.03125*i,b=.03125*h;if(P.has(w)&&P.has(b)){let g=P.get(w),k=P.get(b),m=h*66+i;o[m]=127*V(g,k),o[m+33]=127*$(g,k)}}for(let h=0,i=17;i<33;++i)for(let w=0;w<64;++w,h+=4)c[h]=o[i*66+w],c[h+3]=255;return new F(64,16,c)}};self.addEventListener("message",t=>{let a=S.generate(),s=E.generate();postMessage({areaImageData:a,searchImageData:s},[a.data.buffer,s.data.buffer]),close()});})();
|
|
876
876
|
`;function ds(e=!0){const t=URL.createObjectURL(new Blob([hs],{type:"text/javascript"})),r=new Worker(t);return URL.revokeObjectURL(t),new Promise((a,s)=>{r.addEventListener("error",o=>s(o.error)),r.addEventListener("message",o=>{const n=K.from(o.data.searchImageData),l=K.from(o.data.areaImageData),u=[n.toCanvas().toDataURL("image/png",1),l.toCanvas().toDataURL("image/png",1)];e&&(localStorage.setItem("smaa-search",u[0]),localStorage.setItem("smaa-area",u[1])),a(u)}),r.postMessage(null)})}var ps=class{constructor(){this.disableCache=!1}setCacheEnabled(e){this.disableCache=!e}generate(){const e=!this.disableCache&&window.localStorage!==void 0,t=e?[localStorage.getItem("smaa-search"),localStorage.getItem("smaa-area")]:[null,null];return(t[0]!==null&&t[1]!==null?Promise.resolve(t):ds(e)).then(a=>new Promise((s,o)=>{const n=new Image,l=new Image,u=new i.LoadingManager;u.onLoad=()=>s([n,l]),u.onError=o,n.addEventListener("error",c=>u.itemError("smaa-search")),l.addEventListener("error",c=>u.itemError("smaa-area")),n.addEventListener("load",()=>u.itemEnd("smaa-search")),l.addEventListener("load",()=>u.itemEnd("smaa-area")),u.itemStart("smaa-search"),u.itemStart("smaa-area"),n.src=a[0],l.src=a[1]}))}},Te=new Map([[F(0,0,0,0),new Float32Array([0,0,0,0])],[F(0,0,0,1),new Float32Array([0,0,0,1])],[F(0,0,1,0),new Float32Array([0,0,1,0])],[F(0,0,1,1),new Float32Array([0,0,1,1])],[F(0,1,0,0),new Float32Array([0,1,0,0])],[F(0,1,0,1),new Float32Array([0,1,0,1])],[F(0,1,1,0),new Float32Array([0,1,1,0])],[F(0,1,1,1),new Float32Array([0,1,1,1])],[F(1,0,0,0),new Float32Array([1,0,0,0])],[F(1,0,0,1),new Float32Array([1,0,0,1])],[F(1,0,1,0),new Float32Array([1,0,1,0])],[F(1,0,1,1),new Float32Array([1,0,1,1])],[F(1,1,0,0),new Float32Array([1,1,0,0])],[F(1,1,0,1),new Float32Array([1,1,0,1])],[F(1,1,1,0),new Float32Array([1,1,1,0])],[F(1,1,1,1),new Float32Array([1,1,1,1])]]);function be(e,t,r){return e+(t-e)*r}function F(e,t,r,a){const s=be(e,t,.75),o=be(r,a,1-.25);return be(s,o,1-.125)}function vs(e,t){let r=0;return t[3]===1&&(r+=1),r===1&&t[2]===1&&e[1]!==1&&e[3]!==1&&(r+=1),r}function gs(e,t){let r=0;return t[3]===1&&e[1]!==1&&e[3]!==1&&(r+=1),r===1&&t[2]===1&&e[0]!==1&&e[2]!==1&&(r+=1),r}var ms=class{static generate(){const o=new Uint8ClampedArray(2178),n=new Uint8ClampedArray(1024*4);for(let l=0;l<33;++l)for(let u=0;u<66;++u){const c=.03125*u,f=.03125*l;if(Te.has(c)&&Te.has(f)){const h=Te.get(c),d=Te.get(f),p=l*66+u;o[p]=127*vs(h,d),o[p+33]=127*gs(h,d)}}for(let l=0,u=17;u<33;++u)for(let c=0;c<64;++c,l+=4)n[l]=o[u*66+c],n[l+3]=255;return new K(64,16,n)}};const As=Object.freeze(Object.defineProperty({__proto__:null,ASCIIEffect:Qi,ASCIITexture:vt,AdaptiveLuminanceMaterial:Ft,AdaptiveLuminancePass:Lt,BlendFunction:v,BlendMode:pt,BloomEffect:Dt,BlurPass:_,BokehEffect:$i,BokehMaterial:de,BoxBlurMaterial:Ot,BoxBlurPass:Ka,BrightnessContrastEffect:tr,ChromaticAberrationEffect:lr,CircleOfConfusionMaterial:Tt,ClearMaskPass:ct,ClearPass:$,ColorAverageEffect:rr,ColorChannel:j,ColorDepthEffect:sr,ColorEdgesMaterial:Ne,ConvolutionMaterial:Ee,CopyMaterial:ve,CopyPass:Se,DepthComparisonMaterial:Bt,DepthCopyMaterial:Nt,DepthCopyMode:le,DepthCopyPass:ze,DepthDownsamplingMaterial:Pt,DepthDownsamplingPass:Rt,DepthEffect:cr,DepthMaskMaterial:We,DepthOfFieldEffect:vr,DepthPass:Ke,DepthPickingPass:qa,DepthSavePass:ze,DepthTestStrategy:ue,Disposable:$t,DotScreenEffect:mr,DownsamplingMaterial:mt,EdgeDetectionMaterial:Ne,EdgeDetectionMode:Ye,Effect:C,EffectAttribute:P,EffectComposer:ri,EffectMaterial:Ht,EffectPass:$a,EffectShaderData:ht,EffectShaderSection:E,FXAAEffect:Dr,GammaCorrectionEffect:wr,GaussKernel:dt,GaussianBlurMaterial:Gt,GaussianBlurPass:es,GlitchEffect:Cr,GlitchMode:se,GodRaysEffect:Ur,GodRaysMaterial:St,GridEffect:Rr,HueSaturationEffect:br,ImmutableTimer:ai,Initializable:si,KawaseBlurMaterial:Ee,KawaseBlurPass:_,KernelSize:z,LUT1DEffect:Nr,LUT3DEffect:$e,LUT3dlLoader:La,LUTCubeLoader:Oa,LUTEffect:$e,LUTOperation:Et,LambdaPass:ts,LensDistortionEffect:Lr,LookupTexture:pe,LookupTexture3D:pe,LuminanceMaterial:gt,LuminancePass:Qe,MaskFunction:Ve,MaskMaterial:wt,MaskPass:ft,MipmapBlurPass:xt,NoiseEffect:Qr,NoiseTexture:Ce,NormalPass:is,OutlineEdgesMaterial:Oe,OutlineEffect:jr,OutlineMaterial:Oe,OverrideMaterialManager:Le,Pass:U,PixelationEffect:qr,PredicationMode:yt,RawImageData:K,RealisticBokehEffect:$r,RenderPass:ge,Resizable:ni,Resizer:A,Resolution:A,SMAAAreaImageData:fs,SMAAEffect:va,SMAAImageGenerator:ps,SMAAImageLoader:Na,SMAAPreset:ne,SMAASearchImageData:ms,SMAAWeightsMaterial:Mt,SSAOEffect:Ta,SSAOMaterial:Ut,SavePass:Se,ScanlineEffect:ta,Section:E,Selection:ke,SelectiveBloomEffect:na,SepiaEffect:la,ShaderPass:N,ShockWaveEffect:sa,TetrahedralUpscaler:as,TextureEffect:Ea,TiltShiftBlurMaterial:It,TiltShiftBlurPass:bt,TiltShiftEffect:Ua,Timer:ut,ToneMappingEffect:Ia,ToneMappingMode:O,UpsamplingMaterial:At,VignetteEffect:Fa,VignetteTechnique:oe,WebGLExtension:zr,version:_t},Symbol.toStringTag,{value:"Module"}));class xs extends i.BufferGeometry{constructor(){super();Xe(this,"boundingSphere",new i.Sphere);this.setAttribute("position",new i.BufferAttribute(new Float32Array([-1,-1,3,-1,-1,3]),2)),this.setAttribute("uv",new i.BufferAttribute(new Float32Array([0,0,2,0,0,2]),2))}computeBoundingSphere(){}}const Ds=new xs,Ts=new i.OrthographicCamera;class H{constructor(t){this._mesh=new i.Mesh(Ds,t),this._mesh.frustumCulled=!1}render(t){t.render(this._mesh,Ts)}get material(){return this._mesh.material}set material(t){this._mesh.material=t}dispose(){this._mesh.material.dispose(),this._mesh.geometry.dispose()}}const kt={uniforms:{sceneDiffuse:{value:null},sceneDepth:{value:null},sceneNormal:{value:null},projMat:{value:new i.Matrix4},viewMat:{value:new i.Matrix4},projViewMat:{value:new i.Matrix4},projectionMatrixInv:{value:new i.Matrix4},viewMatrixInv:{value:new i.Matrix4},cameraPos:{value:new i.Vector3},resolution:{value:new i.Vector2},biasAdjustment:{value:new i.Vector2},time:{value:0},samples:{value:[]},bluenoise:{value:null},distanceFalloff:{value:1},radius:{value:5},near:{value:.1},far:{value:1e3},ortho:{value:!1},screenSpaceRadius:{value:!1},frame:{value:0}},depthWrite:!1,depthTest:!1,vertexShader:`
|
|
877
877
|
varying vec2 vUv;
|
|
878
878
|
void main() {
|
|
@@ -2,14 +2,14 @@ var ki = Object.defineProperty;
|
|
|
2
2
|
var Qi = (e, t, i) => t in e ? ki(e, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[t] = i;
|
|
3
3
|
var It = (e, t, i) => Qi(e, typeof t != "symbol" ? t + "" : t, i);
|
|
4
4
|
import { Uniform$1 as c, Vector4 as Be, Color as N, Vector2 as p, CanvasTexture as Vi, RepeatWrapping as se, ShaderMaterial as w, NoBlending as G, WebGLRenderTarget as T, NearestFilter as P, EventDispatcher as Tt, SRGBColorSpace as y, UnsignedByteType as Y, PerspectiveCamera as Ie, BasicDepthPacking as W, REVISION as Re, LinearFilter as R, RGBADepthPacking as ae, FloatType as J, LessDepth as Rt, MeshDepthMaterial as Wi, LinearSRGBColorSpace as je, NoColorSpace as tt, DepthTexture as ye, DepthStencilFormat as Zt, UnsignedInt248Type as jt, UnsignedIntType as Le, RGBAFormat as z, Scene as dt, Matrix4 as O, Vector3 as L, HalfFloatType as $, Data3DTexture as Xe, Loader as St, LoadingManager as Ne, FileLoader as Jt, ClampToEdgeWrapping as st, DataTexture as it, RedFormat as rt, MeshNormalMaterial as Yi, BackSide as ke, DoubleSide as Qe, FrontSide as Ki, Camera as Xi, Mesh as qt, Texture as Je, EqualDepth as vt, NotEqualDepth as _t, LinearMipmapLinearFilter as Zi, GreaterDepth as ji, GreaterEqualDepth as Ji, LessEqualDepth as qi, AlwaysDepth as _i, NeverDepth as $i, Material as $t, BufferGeometry as ei, BufferAttribute as qe, RGFormat as er, DepthFormat as bt, OrthographicCamera as tr, Sphere as ir } from "./three-DrqIzZTH.js";
|
|
5
|
-
import { Pass as rr } from "./three-examples-
|
|
5
|
+
import { Pass as rr } from "./three-examples-tvuhV8Ne.js";
|
|
6
6
|
/**
|
|
7
|
-
* postprocessing v6.37.
|
|
7
|
+
* postprocessing v6.37.7 build Mon Aug 04 2025
|
|
8
8
|
* https://github.com/pmndrs/postprocessing
|
|
9
9
|
* Copyright 2015-2025 Raoul van Rüschen
|
|
10
10
|
* @license Zlib
|
|
11
11
|
*/
|
|
12
|
-
var ar = "6.37.
|
|
12
|
+
var ar = "6.37.7", sr = class {
|
|
13
13
|
/**
|
|
14
14
|
* Frees internal resources.
|
|
15
15
|
*/
|
|
@@ -2422,16 +2422,16 @@ uniform vec2 range;
|
|
|
2422
2422
|
#elif defined(THRESHOLD)
|
|
2423
2423
|
uniform float threshold;uniform float smoothing;
|
|
2424
2424
|
#endif
|
|
2425
|
-
varying vec2 vUv;void main(){vec4 texel=texture2D(inputBuffer,vUv);float l=luminance(texel.rgb);
|
|
2425
|
+
varying vec2 vUv;void main(){vec4 texel=texture2D(inputBuffer,vUv);float l=luminance(texel.rgb);float mask=1.0;
|
|
2426
2426
|
#ifdef RANGE
|
|
2427
|
-
float low=step(range.x,l);float high=step(l,range.y);
|
|
2427
|
+
float low=step(range.x,l);float high=step(l,range.y);mask=low*high;
|
|
2428
2428
|
#elif defined(THRESHOLD)
|
|
2429
|
-
|
|
2429
|
+
mask=smoothstep(threshold,threshold+smoothing,l);
|
|
2430
2430
|
#endif
|
|
2431
2431
|
#ifdef COLOR
|
|
2432
|
-
gl_FragColor=
|
|
2432
|
+
gl_FragColor=texel*mask;
|
|
2433
2433
|
#else
|
|
2434
|
-
gl_FragColor=vec4(l);
|
|
2434
|
+
gl_FragColor=vec4(l*mask);
|
|
2435
2435
|
#endif
|
|
2436
2436
|
}`, li = class extends w {
|
|
2437
2437
|
/**
|
|
@@ -6115,7 +6115,7 @@ var ue = class mi {
|
|
|
6115
6115
|
*
|
|
6116
6116
|
* @param {Number} [width=0] - The width of the image.
|
|
6117
6117
|
* @param {Number} [height=0] - The height of the image.
|
|
6118
|
-
* @param {Uint8ClampedArray} [data=null] - The image data.
|
|
6118
|
+
* @param {Uint8ClampedArray<ArrayBuffer>} [data=null] - The image data.
|
|
6119
6119
|
*/
|
|
6120
6120
|
constructor(t = 0, i = 0, r = null) {
|
|
6121
6121
|
this.width = t, this.height = i, this.data = r;
|
|
@@ -12904,7 +12904,7 @@ var An = class {
|
|
|
12904
12904
|
);
|
|
12905
12905
|
return r;
|
|
12906
12906
|
}
|
|
12907
|
-
}, xn = `"use strict";(()=>{function q(t,a,s){let e=document.createElement("canvas"),n=e.getContext("2d");if(e.width=t,e.height=a,s instanceof Image)n.drawImage(s,0,0);else{let r=n.createImageData(t,a);r.data.set(s),n.putImageData(r,0,0)}return e}var F=class t{constructor(a=0,s=0,e=null){this.width=a,this.height=s,this.data=e}toCanvas(){return typeof document=="undefined"?null:q(this.width,this.height,this.data)}static from(a){let{width:s,height:e}=a,n;if(a instanceof Image){let r=q(s,e,a);r!==null&&(n=r.getContext("2d").getImageData(0,0,s,e).data)}else n=a.data;return new t(s,e,n)}};var M=[new Float32Array(2),new Float32Array(2)],D=16,W=20,I=30,j=32,v=new Float32Array([0,-.25,.25,-.125,.125,-.375,.375]),N=[new Float32Array([0,0]),new Float32Array([.25,-.25]),new Float32Array([-.25,.25]),new Float32Array([.125,-.125]),new Float32Array([-.125,.125])],z=[new Uint8Array([0,0]),new Uint8Array([3,0]),new Uint8Array([0,3]),new Uint8Array([3,3]),new Uint8Array([1,0]),new Uint8Array([4,0]),new Uint8Array([1,3]),new Uint8Array([4,3]),new Uint8Array([0,1]),new Uint8Array([3,1]),new Uint8Array([0,4]),new Uint8Array([3,4]),new Uint8Array([1,1]),new Uint8Array([4,1]),new Uint8Array([1,4]),new Uint8Array([4,4])],p=[new Uint8Array([0,0]),new Uint8Array([1,0]),new Uint8Array([0,2]),new Uint8Array([1,2]),new Uint8Array([2,0]),new Uint8Array([3,0]),new Uint8Array([2,2]),new Uint8Array([3,2]),new Uint8Array([0,1]),new Uint8Array([1,1]),new Uint8Array([0,3]),new Uint8Array([1,3]),new Uint8Array([2,1]),new Uint8Array([3,1]),new Uint8Array([2,3]),new Uint8Array([3,3])];function C(t,a,s){return t+(a-t)*s}function B(t){return Math.min(Math.max(t,0),1)}function _(t){let a=M[0],s=M[1],e=Math.sqrt(a[0]*2)*.5,n=Math.sqrt(a[1]*2)*.5,r=Math.sqrt(s[0]*2)*.5,o=Math.sqrt(s[1]*2)*.5,c=B(t/j);a[0]=C(e,a[0],c),a[1]=C(n,a[1],c),s[0]=C(r,s[0],c),s[1]=C(o,s[1],c)}function d(t,a,s,e,n,r){let o=s-t,c=e-a,h=n,i=n+1,w=a+c*(h-t)/o,b=a+c*(i-t)/o;if(h>=t&&h<s||i>t&&i<=s)if(Math.sign(w)===Math.sign(b)||Math.abs(w)<1e-4||Math.abs(b)<1e-4){let g=(w+b)/2;g<0?(r[0]=Math.abs(g),r[1]=0):(r[0]=0,r[1]=Math.abs(g))}else{let g=-a*o/c+t,k=Math.trunc(g),m=g>t?w*(g-k)/2:0,U=g<s?b*(1-(g-k))/2:0;(Math.abs(m)>Math.abs(U)?m:-U)<0?(r[0]=Math.abs(m),r[1]=Math.abs(U)):(r[0]=Math.abs(U),r[1]=Math.abs(m))}else r[0]=0,r[1]=0;return r}function J(t,a,s,e,n){let r=M[0],o=M[1],c=.5+e,h=.5+e-1,i=a+s+1;switch(t){case 0:{n[0]=0,n[1]=0;break}case 1:{a<=s?d(0,h,i/2,0,a,n):(n[0]=0,n[1]=0);break}case 2:{a>=s?d(i/2,0,i,h,a,n):(n[0]=0,n[1]=0);break}case 3:{d(0,h,i/2,0,a,r),d(i/2,0,i,h,a,o),_(i,M),n[0]=r[0]+o[0],n[1]=r[1]+o[1];break}case 4:{a<=s?d(0,c,i/2,0,a,n):(n[0]=0,n[1]=0);break}case 5:{n[0]=0,n[1]=0;break}case 6:{Math.abs(e)>0?(d(0,c,i,h,a,r),d(0,c,i/2,0,a,o),d(i/2,0,i,h,a,n),o[0]=o[0]+n[0],o[1]=o[1]+n[1],n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2):d(0,c,i,h,a,n);break}case 7:{d(0,c,i,h,a,n);break}case 8:{a>=s?d(i/2,0,i,c,a,n):(n[0]=0,n[1]=0);break}case 9:{Math.abs(e)>0?(d(0,h,i,c,a,r),d(0,h,i/2,0,a,o),d(i/2,0,i,c,a,n),o[0]=o[0]+n[0],o[1]=o[1]+n[1],n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2):d(0,h,i,c,a,n);break}case 10:{n[0]=0,n[1]=0;break}case 11:{d(0,h,i,c,a,n);break}case 12:{d(0,c,i/2,0,a,r),d(i/2,0,i,c,a,o),_(i,M),n[0]=r[0]+o[0],n[1]=r[1]+o[1];break}case 13:{d(0,h,i,c,a,n);break}case 14:{d(0,c,i,h,a,n);break}case 15:{n[0]=0,n[1]=0;break}}return n}function K(t,a,s,e,n,r){let o=t===s&&a===e;if(!o){let c=(t+s)/2,h=(a+e)/2,i=e-a,w=t-s;o=i*(n-c)+w*(r-h)>0}return o}function G(t,a,s,e,n,r){let o=0;for(let c=0;c<I;++c)for(let h=0;h<I;++h){let i=h/(I-1),w=c/(I-1);K(t,a,s,e,n+i,r+w)&&++o}return o/(I*I)}function A(t,a,s,e,n,r,o,c){let h=p[t],i=h[0],w=h[1];return i>0&&(a+=o[0],s+=o[1]),w>0&&(e+=o[0],n+=o[1]),c[0]=1-G(a,s,e,n,1+r,0+r),c[1]=G(a,s,e,n,1+r,1+r),c}function Q(t,a,s,e,n){let r=M[0],o=M[1],c=a+s+1;switch(t){case 0:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 1:{A(t,1,0,0+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 2:{A(t,0,0,1+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 3:{A(t,1,0,1+c,0+c,a,e,n);break}case 4:{A(t,1,1,0+c,0+c,a,e,r),A(t,1,1,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 5:{A(t,1,1,0+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 6:{A(t,1,1,1+c,0+c,a,e,n);break}case 7:{A(t,1,1,1+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 8:{A(t,0,0,1+c,1+c,a,e,r),A(t,1,0,1+c,1+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 9:{A(t,1,0,1+c,1+c,a,e,n),A(t,1,0,1+c,1+c,a,e,n);break}case 10:{A(t,0,0,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 11:{A(t,1,0,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 12:{A(t,1,1,1+c,1+c,a,e,n);break}case 13:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,0,1+c,1+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 14:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,1,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 15:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}}return n}function R(t,a,s){let e=new Float32Array(2);for(let n=0,r=t.length;n<r;++n){let o=t[n],c=o.data,h=o.width;for(let i=0;i<h;++i)for(let w=0;w<h;++w){s?J(n,w,i,a,e):Q(n,w,i,a,e);let b=(i*h+w)*2;c[b]=e[0]*255,c[b+1]=e[1]*255}}}function T(t,a,s,e,n,r,o){let c=o.data,h=o.width;for(let i=0,w=s.length;i<w;++i){let b=e[i],g=s[i],k=g.data,m=g.width;for(let U=0;U<n;++U)for(let x=0;x<n;++x){let Z=b[0]*n+t+x,O=((b[1]*n+a+U)*h+Z)*4,L=r?(U*U*m+x*x)*2:(U*m+x)*2;c[O]=k[L],c[O+1]=k[L+1],c[O+2]=0,c[O+3]=255}}}var S=class{static generate(){let a=10*D,s=v.length*5*D,e=new Uint8ClampedArray(a*s*4),n=new F(a,s,e),r=Math.pow(D-1,2)+1,o=W,c=[],h=[];for(let i=3,w=e.length;i<w;i+=4)e[i]=255;for(let i=0;i<16;++i)c.push(new F(r,r,new Uint8ClampedArray(r*r*2),2)),h.push(new F(o,o,new Uint8ClampedArray(o*o*2),2));for(let i=0,w=v.length;i<w;++i)R(c,v[i],!0),T(0,5*D*i,c,z,D,!0,n);for(let i=0,w=N.length;i<w;++i)R(h,N[i],!1),T(5*D,4*W*i,h,p,W,!1,n);return n}};var P=new Map([[y(0,0,0,0),new Float32Array([0,0,0,0])],[y(0,0,0,1),new Float32Array([0,0,0,1])],[y(0,0,1,0),new Float32Array([0,0,1,0])],[y(0,0,1,1),new Float32Array([0,0,1,1])],[y(0,1,0,0),new Float32Array([0,1,0,0])],[y(0,1,0,1),new Float32Array([0,1,0,1])],[y(0,1,1,0),new Float32Array([0,1,1,0])],[y(0,1,1,1),new Float32Array([0,1,1,1])],[y(1,0,0,0),new Float32Array([1,0,0,0])],[y(1,0,0,1),new Float32Array([1,0,0,1])],[y(1,0,1,0),new Float32Array([1,0,1,0])],[y(1,0,1,1),new Float32Array([1,0,1,1])],[y(1,1,0,0),new Float32Array([1,1,0,0])],[y(1,1,0,1),new Float32Array([1,1,0,1])],[y(1,1,1,0),new Float32Array([1,1,1,0])],[y(1,1,1,1),new Float32Array([1,1,1,1])]]);function H(t,a,s){return t+(a-t)*s}function y(t,a,s,e){let n=H(t,a,.75),r=H(s,e,1-.25);return H(n,r,1-.125)}function V(t,a){let s=0;return a[3]===1&&(s+=1),s===1&&a[2]===1&&t[1]!==1&&t[3]!==1&&(s+=1),s}function $(t,a){let s=0;return a[3]===1&&t[1]!==1&&t[3]!==1&&(s+=1),s===1&&a[2]===1&&t[0]!==1&&t[2]!==1&&(s+=1),s}var E=class{static generate(){let o=new Uint8ClampedArray(2178),c=new Uint8ClampedArray(
|
|
12907
|
+
}, xn = `"use strict";(()=>{function q(t,a,s){let e=document.createElement("canvas"),n=e.getContext("2d");if(e.width=t,e.height=a,s instanceof Image)n.drawImage(s,0,0);else{let r=n.createImageData(t,a);r.data.set(s),n.putImageData(r,0,0)}return e}var F=class t{constructor(a=0,s=0,e=null){this.width=a,this.height=s,this.data=e}toCanvas(){return typeof document=="undefined"?null:q(this.width,this.height,this.data)}static from(a){let{width:s,height:e}=a,n;if(a instanceof Image){let r=q(s,e,a);r!==null&&(n=r.getContext("2d").getImageData(0,0,s,e).data)}else n=a.data;return new t(s,e,n)}};var M=[new Float32Array(2),new Float32Array(2)],D=16,W=20,I=30,j=32,v=new Float32Array([0,-.25,.25,-.125,.125,-.375,.375]),N=[new Float32Array([0,0]),new Float32Array([.25,-.25]),new Float32Array([-.25,.25]),new Float32Array([.125,-.125]),new Float32Array([-.125,.125])],z=[new Uint8Array([0,0]),new Uint8Array([3,0]),new Uint8Array([0,3]),new Uint8Array([3,3]),new Uint8Array([1,0]),new Uint8Array([4,0]),new Uint8Array([1,3]),new Uint8Array([4,3]),new Uint8Array([0,1]),new Uint8Array([3,1]),new Uint8Array([0,4]),new Uint8Array([3,4]),new Uint8Array([1,1]),new Uint8Array([4,1]),new Uint8Array([1,4]),new Uint8Array([4,4])],p=[new Uint8Array([0,0]),new Uint8Array([1,0]),new Uint8Array([0,2]),new Uint8Array([1,2]),new Uint8Array([2,0]),new Uint8Array([3,0]),new Uint8Array([2,2]),new Uint8Array([3,2]),new Uint8Array([0,1]),new Uint8Array([1,1]),new Uint8Array([0,3]),new Uint8Array([1,3]),new Uint8Array([2,1]),new Uint8Array([3,1]),new Uint8Array([2,3]),new Uint8Array([3,3])];function C(t,a,s){return t+(a-t)*s}function B(t){return Math.min(Math.max(t,0),1)}function _(t){let a=M[0],s=M[1],e=Math.sqrt(a[0]*2)*.5,n=Math.sqrt(a[1]*2)*.5,r=Math.sqrt(s[0]*2)*.5,o=Math.sqrt(s[1]*2)*.5,c=B(t/j);a[0]=C(e,a[0],c),a[1]=C(n,a[1],c),s[0]=C(r,s[0],c),s[1]=C(o,s[1],c)}function d(t,a,s,e,n,r){let o=s-t,c=e-a,h=n,i=n+1,w=a+c*(h-t)/o,b=a+c*(i-t)/o;if(h>=t&&h<s||i>t&&i<=s)if(Math.sign(w)===Math.sign(b)||Math.abs(w)<1e-4||Math.abs(b)<1e-4){let g=(w+b)/2;g<0?(r[0]=Math.abs(g),r[1]=0):(r[0]=0,r[1]=Math.abs(g))}else{let g=-a*o/c+t,k=Math.trunc(g),m=g>t?w*(g-k)/2:0,U=g<s?b*(1-(g-k))/2:0;(Math.abs(m)>Math.abs(U)?m:-U)<0?(r[0]=Math.abs(m),r[1]=Math.abs(U)):(r[0]=Math.abs(U),r[1]=Math.abs(m))}else r[0]=0,r[1]=0;return r}function J(t,a,s,e,n){let r=M[0],o=M[1],c=.5+e,h=.5+e-1,i=a+s+1;switch(t){case 0:{n[0]=0,n[1]=0;break}case 1:{a<=s?d(0,h,i/2,0,a,n):(n[0]=0,n[1]=0);break}case 2:{a>=s?d(i/2,0,i,h,a,n):(n[0]=0,n[1]=0);break}case 3:{d(0,h,i/2,0,a,r),d(i/2,0,i,h,a,o),_(i,M),n[0]=r[0]+o[0],n[1]=r[1]+o[1];break}case 4:{a<=s?d(0,c,i/2,0,a,n):(n[0]=0,n[1]=0);break}case 5:{n[0]=0,n[1]=0;break}case 6:{Math.abs(e)>0?(d(0,c,i,h,a,r),d(0,c,i/2,0,a,o),d(i/2,0,i,h,a,n),o[0]=o[0]+n[0],o[1]=o[1]+n[1],n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2):d(0,c,i,h,a,n);break}case 7:{d(0,c,i,h,a,n);break}case 8:{a>=s?d(i/2,0,i,c,a,n):(n[0]=0,n[1]=0);break}case 9:{Math.abs(e)>0?(d(0,h,i,c,a,r),d(0,h,i/2,0,a,o),d(i/2,0,i,c,a,n),o[0]=o[0]+n[0],o[1]=o[1]+n[1],n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2):d(0,h,i,c,a,n);break}case 10:{n[0]=0,n[1]=0;break}case 11:{d(0,h,i,c,a,n);break}case 12:{d(0,c,i/2,0,a,r),d(i/2,0,i,c,a,o),_(i,M),n[0]=r[0]+o[0],n[1]=r[1]+o[1];break}case 13:{d(0,h,i,c,a,n);break}case 14:{d(0,c,i,h,a,n);break}case 15:{n[0]=0,n[1]=0;break}}return n}function K(t,a,s,e,n,r){let o=t===s&&a===e;if(!o){let c=(t+s)/2,h=(a+e)/2,i=e-a,w=t-s;o=i*(n-c)+w*(r-h)>0}return o}function G(t,a,s,e,n,r){let o=0;for(let c=0;c<I;++c)for(let h=0;h<I;++h){let i=h/(I-1),w=c/(I-1);K(t,a,s,e,n+i,r+w)&&++o}return o/(I*I)}function A(t,a,s,e,n,r,o,c){let h=p[t],i=h[0],w=h[1];return i>0&&(a+=o[0],s+=o[1]),w>0&&(e+=o[0],n+=o[1]),c[0]=1-G(a,s,e,n,1+r,0+r),c[1]=G(a,s,e,n,1+r,1+r),c}function Q(t,a,s,e,n){let r=M[0],o=M[1],c=a+s+1;switch(t){case 0:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 1:{A(t,1,0,0+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 2:{A(t,0,0,1+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 3:{A(t,1,0,1+c,0+c,a,e,n);break}case 4:{A(t,1,1,0+c,0+c,a,e,r),A(t,1,1,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 5:{A(t,1,1,0+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 6:{A(t,1,1,1+c,0+c,a,e,n);break}case 7:{A(t,1,1,1+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 8:{A(t,0,0,1+c,1+c,a,e,r),A(t,1,0,1+c,1+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 9:{A(t,1,0,1+c,1+c,a,e,n),A(t,1,0,1+c,1+c,a,e,n);break}case 10:{A(t,0,0,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 11:{A(t,1,0,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 12:{A(t,1,1,1+c,1+c,a,e,n);break}case 13:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,0,1+c,1+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 14:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,1,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 15:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}}return n}function R(t,a,s){let e=new Float32Array(2);for(let n=0,r=t.length;n<r;++n){let o=t[n],c=o.data,h=o.width;for(let i=0;i<h;++i)for(let w=0;w<h;++w){s?J(n,w,i,a,e):Q(n,w,i,a,e);let b=(i*h+w)*2;c[b]=e[0]*255,c[b+1]=e[1]*255}}}function T(t,a,s,e,n,r,o){let c=o.data,h=o.width;for(let i=0,w=s.length;i<w;++i){let b=e[i],g=s[i],k=g.data,m=g.width;for(let U=0;U<n;++U)for(let x=0;x<n;++x){let Z=b[0]*n+t+x,O=((b[1]*n+a+U)*h+Z)*4,L=r?(U*U*m+x*x)*2:(U*m+x)*2;c[O]=k[L],c[O+1]=k[L+1],c[O+2]=0,c[O+3]=255}}}var S=class{static generate(){let a=10*D,s=v.length*5*D,e=new Uint8ClampedArray(a*s*4),n=new F(a,s,e),r=Math.pow(D-1,2)+1,o=W,c=[],h=[];for(let i=3,w=e.length;i<w;i+=4)e[i]=255;for(let i=0;i<16;++i)c.push(new F(r,r,new Uint8ClampedArray(r*r*2),2)),h.push(new F(o,o,new Uint8ClampedArray(o*o*2),2));for(let i=0,w=v.length;i<w;++i)R(c,v[i],!0),T(0,5*D*i,c,z,D,!0,n);for(let i=0,w=N.length;i<w;++i)R(h,N[i],!1),T(5*D,4*W*i,h,p,W,!1,n);return n}};var P=new Map([[y(0,0,0,0),new Float32Array([0,0,0,0])],[y(0,0,0,1),new Float32Array([0,0,0,1])],[y(0,0,1,0),new Float32Array([0,0,1,0])],[y(0,0,1,1),new Float32Array([0,0,1,1])],[y(0,1,0,0),new Float32Array([0,1,0,0])],[y(0,1,0,1),new Float32Array([0,1,0,1])],[y(0,1,1,0),new Float32Array([0,1,1,0])],[y(0,1,1,1),new Float32Array([0,1,1,1])],[y(1,0,0,0),new Float32Array([1,0,0,0])],[y(1,0,0,1),new Float32Array([1,0,0,1])],[y(1,0,1,0),new Float32Array([1,0,1,0])],[y(1,0,1,1),new Float32Array([1,0,1,1])],[y(1,1,0,0),new Float32Array([1,1,0,0])],[y(1,1,0,1),new Float32Array([1,1,0,1])],[y(1,1,1,0),new Float32Array([1,1,1,0])],[y(1,1,1,1),new Float32Array([1,1,1,1])]]);function H(t,a,s){return t+(a-t)*s}function y(t,a,s,e){let n=H(t,a,.75),r=H(s,e,1-.25);return H(n,r,1-.125)}function V(t,a){let s=0;return a[3]===1&&(s+=1),s===1&&a[2]===1&&t[1]!==1&&t[3]!==1&&(s+=1),s}function $(t,a){let s=0;return a[3]===1&&t[1]!==1&&t[3]!==1&&(s+=1),s===1&&a[2]===1&&t[0]!==1&&t[2]!==1&&(s+=1),s}var E=class{static generate(){let o=new Uint8ClampedArray(2178),c=new Uint8ClampedArray(1024*4);for(let h=0;h<33;++h)for(let i=0;i<66;++i){let w=.03125*i,b=.03125*h;if(P.has(w)&&P.has(b)){let g=P.get(w),k=P.get(b),m=h*66+i;o[m]=127*V(g,k),o[m+33]=127*$(g,k)}}for(let h=0,i=17;i<33;++i)for(let w=0;w<64;++w,h+=4)c[h]=o[i*66+w],c[h+3]=255;return new F(64,16,c)}};self.addEventListener("message",t=>{let a=S.generate(),s=E.generate();postMessage({areaImageData:a,searchImageData:s},[a.data.buffer,s.data.buffer]),close()});})();
|
|
12908
12908
|
`;
|
|
12909
12909
|
function Dn(e = !0) {
|
|
12910
12910
|
const t = URL.createObjectURL(new Blob([xn], {
|