PageSourceSearch

https://lumalabs.ai/_next/static/chunks/598.9fbb3b9dba5ed152.js

js lumalabs.ai collected 2026-10-01 08:46:01 UTC 49,163 bytes, 224 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[598],{88930:function(e,t,r){r.d(t,{$g:function(){return s},Kt:function(){return a},XH:function(){return i}});let i={name:"local-uniform-bit",vertex:{header:`
2
3            struct LocalUniforms {
4                uTransformMatrix:mat3x3<f32>,
5                uColor:vec4<f32>,
6                uRound:f32,
7            }
8
9            @group(1) @binding(0) var<uniform> localUniforms : LocalUniforms;
10        `,main:`
11            vColor *= localUniforms.uColor;
12            modelMatrix *= localUniforms.uTransformMatrix;
13        `,end:`
14            if(localUniforms.uRound == 1)
15            {
16                vPosition = vec4(roundPixels(vPosition.xy, globalUniforms.uResolution), vPosition.zw);
17            }
18        `}},a={...i,vertex:{...i.vertex,header:i.vertex.header.replace("group(1)","group(2)")}},s={name:"local-uniform-bit",vertex:{header:`
19
20            uniform mat3 uTransformMatrix;
21            uniform vec4 uColor;
22            uniform float uRound;
23        `,main:`
24            vColor *= uColor;
25            modelMatrix = uTransformMatrix;
26        `,end:`
27            if(uRound == 1.)
28            {
29                gl_Position.xy = roundPixels(gl_Position.xy, uResolution);
30            }
31        `}}},17368:function(e,t,r){r.d(t,{e:function(){return a},r:function(){return i}});let i={name:"texture-bit",vertex:{header:`
32
33        struct TextureUniforms {
34            uTextureMatrix:mat3x3<f32>,
35        }
36
37        @group(2) @binding(2) var<uniform> textureUniforms : TextureUniforms;
38        `,main:`
39            uv = (textureUniforms.uTextureMatrix * vec3(uv, 1.0)).xy;
40        `},fragment:{header:`
41            @group(2) @binding(0) var uTexture: texture_2d<f32>;
42            @group(2) @binding(1) var uSampler: sampler;
43
44
45        `,main:`
46            outColor = textureSample(uTexture, uSampler, vUV);
47        `}},a={name:"texture-bit",vertex:{header:`
48            uniform mat3 uTextureMatrix;
49        `,main:`
50            uv = (uTextureMatrix * vec3(uv, 1.0)).xy;
51        `},fragment:{header:`
52        uniform sampler2D uTexture;
53
54
55        `,main:`
56            outColor = texture(uTexture, vUV);
57        `}}},81495:function(e,t,r){r.d(t,{B:function(){return s}});var i=r(41199),a=r(18442);function s(e,t){for(let r in e.attributes){let a=e.attributes[r],s=t[r];s?(a.format??(a.format=s.format),a.offset??(a.offset=s.offset),a.instance??(a.instance=s.instance)):(0,i.Z)(`Attribute ${r} is not present in the shader, but is present in the geometry. Unable to infer attribute details.`)}!function(e){let{buffers:t,attributes:r}=e,i={},s={};for(let e in t){let r=t[e];i[r.uid]=0,s[r.uid]=0}for(let e in r){let t=r[e];i[t.buffer.uid]+=(0,a.v)(t.format).stride}for(let e in r){let t=r[e];t.stride??(t.stride=i[t.buffer.uid]),t.start??(t.start=s[t.buffer.uid]),s[t.buffer.uid]+=(0,a.v)(t.format).stride}}(e)}},50598:function(e,t,r){r.d(t,{WebGPURenderer:function(){return eU}});var i=r(33989),a=r(52948),s=r(77037),n=r(27099),o=r(64299),u=r(91984),d=r(88930),l=r(88569),c=r(31035),h=r(12331);class f{constructor(){this._maxTextures=0}contextChange(e){let t=new h.o({uTransformMatrix:{value:new a.y,type:"mat3x3<f32>"},uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uRound:{value:0,type:"f32"}});this._maxTextures=e.limits.maxBatchableTextures;let r=(0,n.d)({name:"graphics",bits:[o.M,(0,u.m)(this._maxTextures),d.Kt,l.j]});this.shader=new c.e({gpuProgram:r,resources:{localUniforms:t}})}execute(e,t){let r=t.context,i=r.customShader||this.shader,a=e.renderer,{batcher:n,instructions:o}=a.graphicsContext.getContextRenderData(r),u=a.encoder;u.setGeometry(n.geometry,i.gpuProgram);let d=a.globalUniforms.bindGroup;u.setBindGroup(0,d,i.gpuProgram);let l=a.renderPipes.uniformBatch.getUniformBindGroup(i.resources.localUniforms,!0);u.setBindGroup(2,l,i.gpuProgram);let c=o.instructions,h=null;for(let t=0;t<o.instructionSize;t++){let r=c[t];if(r.topology!==h&&(h=r.topology,u.setPipelineFromGeometryProgramAndState(n.geometry,i.gpuProgram,e.state,r.topology)),i.groups[1]=r.bindGroup,!r.gpuBindGroup){let e=r.textures;r.bindGroup=(0,s.Q)(e.textures,e.count,this._maxTextures),r.gpuBindGroup=a.bindGroup.getBindGroup(r.bindGroup,i.gpuProgram,1)}u.setBindGroup(1,r.bindGroup,i.gpuProgram),u.renderPassEncoder.drawIndexed(r.size,1,r.start)}}destroy(){this.shader.destroy(!0),this.shader=null}}f.extension={type:[i.nw.WebGPUPipesAdaptor],name:"graphics"};var p=r(17368),m=r(92709),g=r(41199);class _{init(){let e=(0,n.d)({name:"mesh",bits:[d.XH,p.r,l.j]});this._shader=new c.e({gpuProgram:e,resources:{uTexture:m.x.EMPTY._source,uSampler:m.x.EMPTY._source.style,textureUniforms:{uTextureMatrix:{type:"mat3x3<f32>",value:new a.y}}}})}execute(e,t){let r=e.renderer,i=t._shader;if(i){if(!i.gpuProgram){(0,g.Z)("Mesh shader has no gpuProgram",t.shader);return}}else(i=this._shader).groups[2]=r.texture.getTextureBindGroup(t.texture);let a=i.gpuProgram;if(a.autoAssignGlobalUniforms&&(i.groups[0]=r.globalUniforms.bindGroup),a.autoAssignLocalUniforms){let t=e.localUniforms;i.groups[1]=r.renderPipes.uniformBatch.getUniformBindGroup(t,!0)}r.encoder.draw({geometry:t._geometry,shader:i,state:t.state})}destroy(){this._shader.destroy(!0),this._shader=null}}_.extension={type:[i.nw.WebGPUPipesAdaptor],name:"mesh"};var v=r(60842);let x=v.Z.for2d();class b{start(e,t,r){let i=e.renderer,a=i.encoder,s=r.gpuProgram;this._shader=r,this._geometry=t,a.setGeometry(t,s),x.blendMode="normal",i.pipeline.getPipeline(t,s,x);let n=i.globalUniforms.bindGroup;a.resetBindGroup(1),a.setBindGroup(0,n,s)}execute(e,t){let r=this._shader.gpuProgram,i=e.renderer,a=i.encoder;if(!t.bindGroup){let e=t.textures;t.bindGroup=(0,s.Q)(e.textures,e.count,i.limits.maxBatchableTextures)}x.blendMode=t.blendMode;let n=i.bindGroup.getBindGroup(t.bindGroup,r,1),o=i.pipeline.getPipeline(this._geometry,r,x,t.topology);t.bindGroup._touch(i.gc.now,i.tick),a.setPipeline(o),a.renderPassEncoder.setBindGroup(1,n),a.renderPassEncoder.drawIndexed(t.size,1,t.start)}}b.extension={type:[i.nw.WebGPUPipesAdaptor],name:"batch"};var y=r(22832),G=r(10069),T=r(72427);class P{constructor(e){this._hash=Object.create(null),this._renderer=e}contextChange(e){this._gpu=e}getBindGroup(e,t,r){return e._updateKey(),this._hash[e._key]||this._createBindGroup(e,t,r)}_createBindGroup(e,t,r){let i=this._gpu.device,a=t.layout[r],s=[],n=this._renderer;for(let t in a){let r;let i=e.resources[t]??e.resources[a[t]];if("uniformGroup"===i._resourceType){n.ubo.updateUniformGroup(i);let e=i.buffer;r={buffer:n.buffer.getGPUBuffer(e),offset:0,size:e.descriptor.size}}else"buffer"===i._resourceType?r={buffer:n.buffer.getGPUBuffer(i),offset:0,size:i.descriptor.size}:"bufferResource"===i._resourceType?r={buffer:n.buffer.getGPUBuffer(i.buffer),offset:i.offset,size:i.size}:"textureSampler"===i._resourceType?r=n.texture.getGpuSampler(i):"textureSource"===i._resourceType&&(r=n.texture.getTextureView(i));s.push({binding:a[t],resource:r})}let o=n.shader.getProgramData(t).bindGroups[r],u=i.createBindGroup({layout:o,entries:s});return this._hash[e._key]=u,u}destroy(){this._hash=null,this._renderer=null}}P.extension={type:[i.nw.WebGPUSystem],name:"bindGroup"};var B=r(84874),C=r(40318),S=r(4623);class w{constructor(e){this.gpuBuffer=e}destroy(){this.gpuBuffer.destroy(),this.gpuBuffer=null}}class U{constructor(e){this._renderer=e,this._managedBuffers=new B.e({renderer:e,type:"resource",onUnload:this.onBufferUnload.bind(this),name:"gpuBuffer"})}contextChange(e){this._gpu=e}getGPUBuffer(e){return e._gcLastUsed=this._renderer.gc.now,e._gpuData[this._renderer.uid]?.gpuBuffer||this.createGPUBuffer(e)}updateBuffer(e){let t=this.getGPUBuffer(e),r=e.data;return e._updateID&&r&&(e._updateID=0,this._gpu.device.queue.writeBuffer(t,0,r.buffer,0,(e._updateSize||r.byteLength)+3&-4)),t}destroyAll(){this._managedBuffers.removeAll()}onBufferUnload(e){e.off("update",this.updateBuffer,this),e.off("change",this.onBufferChange,this)}createGPUBuffer(e){let t=this._gpu.device.createBuffer(e.descriptor);return e._updateID=0,e._resourceId=(0,C.h)("resource"),e.data&&((0,S.T)(e.data.buffer,t.getMappedRange(),e.data.byteOffset,e.data.byteLength),t.unmap()),e._gpuData[this._renderer.uid]=new w(t),this._managedBuffers.add(e)&&(e.on("update",this.updateBuffer,this),e.on("change",this.onBufferChange,this)),t}onBufferChange(e){this._managedBuffers.remove(e),e._updateID=0,this.createGPUBuffer(e)}destroy(){this._managedBuffers.destroy(),this._renderer=null,this._gpu=null}}U.extension={type:[i.nw.WebGPUSystem],name:"buffer"};class M{constructor(e){this._colorMaskCache=15,this._renderer=e}setMask(e){this._colorMaskCache!==e&&(this._colorMaskCache=e,this._renderer.pipeline.setColorMask(e))}destroy(){this._renderer=null,this._colorMaskCache=null}}M.extension={type:[i.nw.WebGPUSystem],name:"colorMask"};var R=r(31185);class E{constructor(e){this._renderer=e}async init(e){return this._initPromise||(this._initPromise=(e.gpu?Promise.resolve(e.gpu):this._createDeviceAndAdaptor(e)).then(e=>{this.gpu=e,this._renderer.runners.contextChange.emit(this.gpu)})),this._initPromise}contextChange(e){this._renderer.gpu=e}async _createDeviceAndAdaptor(e){let t=await R.z.get().getNavigator().gpu.requestAdapter({powerPreference:e.powerPreference,forceFallbackAdapter:e.forceFallbackAdapter}),r=["texture-compression-bc","texture-compression-astc","texture-compression-etc2"].filter(e=>t.features.has(e)),i=await t.requestDevice({requiredFeatures:r});return{adapter:t,device:i}}destroy(){this.gpu=null,this._renderer=null}}E.extension={type:[i.nw.WebGPUSystem],name:"device"},E.defaultOptions={powerPreference:void 0,forceFallbackAdapter:!1};class L{constructor(e){this._boundBindGroup=Object.create(null),this._boundVertexBuffer=Object.create(null),this._renderer=e}renderStart(){this.commandFinished=new Promise(e=>{this._resolveCommandFinished=e}),this.commandEncoder=this._renderer.gpu.device.createCommandEncoder()}beginRenderPass(e){this.endRenderPass(),this._clearCache(),this.renderPassEncoder=this.commandEncoder.beginRenderPass(e.descriptor)}endRenderPass(){this.renderPassEncoder&&this.renderPassEncoder.end(),this.renderPassEncoder=null}setViewport(e){this.renderPassEncoder.setViewport(e.x,e.y,e.width,e.height,0,1)}
57setPipelineFromGeometryProgramAndState(e,t,r,i){let a=this._renderer.pipeline.getPipeline(e,t,r,i);this.setPipeline(a)}setPipeline(e){this._boundPipeline!==e&&(this._boundPipeline=e,this.renderPassEncoder.setPipeline(e))}_setVertexBuffer(e,t){this._boundVertexBuffer[e]!==t&&(this._boundVertexBuffer[e]=t,this.renderPassEncoder.setVertexBuffer(e,this._renderer.buffer.updateBuffer(t)))}_setIndexBuffer(e){if(this._boundIndexBuffer===e)return;this._boundIndexBuffer=e;let t=2===e.data.BYTES_PER_ELEMENT?"uint16":"uint32";this.renderPassEncoder.setIndexBuffer(this._renderer.buffer.updateBuffer(e),t)}resetBindGroup(e){this._boundBindGroup[e]=null}setBindGroup(e,t,r){if(this._boundBindGroup[e]===t)return;this._boundBindGroup[e]=t,t._touch(this._renderer.gc.now,this._renderer.tick);let i=this._renderer.bindGroup.getBindGroup(t,r,e);this.renderPassEncoder.setBindGroup(e,i)}setGeometry(e,t){let r=this._renderer.pipeline.getBufferNamesToBind(e,t);for(let t in r)this._setVertexBuffer(parseInt(t,10),e.attributes[r[t]].buffer);e.indexBuffer&&this._setIndexBuffer(e.indexBuffer)}_setShaderBindGroups(e,t){for(let r in e.groups){let i=e.groups[r];t||this._syncBindGroup(i),this.setBindGroup(r,i,e.gpuProgram)}}_syncBindGroup(e){for(let t in e.resources){let r=e.resources[t];r.isUniformGroup&&this._renderer.ubo.updateUniformGroup(r)}}draw(e){let{geometry:t,shader:r,state:i,topology:a,size:s,start:n,instanceCount:o,skipSync:u}=e;this.setPipelineFromGeometryProgramAndState(t,r.gpuProgram,i,a),this.setGeometry(t,r.gpuProgram),this._setShaderBindGroups(r,u),t.indexBuffer?this.renderPassEncoder.drawIndexed(s||t.indexBuffer.data.length,o??t.instanceCount,n||0):this.renderPassEncoder.draw(s||t.getSize(),o??t.instanceCount,n||0)}finishRenderPass(){this.renderPassEncoder&&(this.renderPassEncoder.end(),this.renderPassEncoder=null)}postrender(){this.finishRenderPass(),this._gpu.device.queue.submit([this.commandEncoder.finish()]),this._resolveCommandFinished(),this.commandEncoder=null}restoreRenderPass(){let e=this._renderer.renderTarget.adaptor.getDescriptor(this._renderer.renderTarget.renderTarget,!1,[0,0,0,1],this._renderer.renderTarget.mipLevel,this._renderer.renderTarget.layer);this.renderPassEncoder=this.commandEncoder.beginRenderPass(e);let t=this._boundPipeline,r={...this._boundVertexBuffer},i=this._boundIndexBuffer,a={...this._boundBindGroup};this._clearCache();let s=this._renderer.renderTarget.viewport;for(let e in this.renderPassEncoder.setViewport(s.x,s.y,s.width,s.height,0,1),this.setPipeline(t),r)this._setVertexBuffer(e,r[e]);for(let e in a)this.setBindGroup(e,a[e],null);this._setIndexBuffer(i)}_clearCache(){for(let e=0;e<16;e++)this._boundBindGroup[e]=null,this._boundVertexBuffer[e]=null;this._boundIndexBuffer=null,this._boundPipeline=null}destroy(){this._renderer=null,this._gpu=null,this._boundBindGroup=null,this._boundVertexBuffer=null,this._boundIndexBuffer=null,this._boundPipeline=null}contextChange(e){this._gpu=e}}L.extension={type:[i.nw.WebGPUSystem],name:"encoder",priority:1};class k{constructor(e){this._renderer=e}contextChange(){this.maxTextures=this._renderer.device.gpu.device.limits.maxSampledTexturesPerShaderStage,this.maxBatchableTextures=this.maxTextures}destroy(){}}k.extension={type:[i.nw.WebGPUSystem],name:"limits"};var F=r(38885);class I{constructor(e){this._renderTargetStencilState=Object.create(null),this._renderer=e,e.renderTarget.onRenderTargetChange.add(this)}onRenderTargetChange(e){let t=this._renderTargetStencilState[e.uid];t||(t=this._renderTargetStencilState[e.uid]={stencilMode:F.D.DISABLED,stencilReference:0}),this._activeRenderTarget=e,this.setStencilMode(t.stencilMode,t.stencilReference)}setStencilMode(e,t){let r=this._renderTargetStencilState[this._activeRenderTarget.uid];r.stencilMode=e,r.stencilReference=t;let i=this._renderer;i.pipeline.setStencilMode(e),i.encoder.renderPassEncoder.setStencilReference(t)}destroy(){this._renderer.renderTarget.onRenderTargetChange.remove(this),this._renderer=null,this._activeRenderTarget=null,this._renderTargetStencilState=null}}I.extension={type:[i.nw.WebGPUSystem],name:"stencil"};var z=r(4269);let A={i32:{align:4,size:4},u32:{align:4,size:4},f32:{align:4,size:4},f16:{align:2,size:2},"vec2<i32>":{align:8,size:8},"vec2<u32>":{align:8,size:8},"vec2<f32>":{align:8,size:8},"vec2<f16>":{align:4,size:4},"vec3<i32>":{align:16,size:12},"vec3<u32>":{align:16,size:12},"vec3<f32>":{align:16,size:12},"vec3<f16>":{align:8,size:6},"vec4<i32>":{align:16,size:16},"vec4<u32>":{align:16,size:16},"vec4<f32>":{align:16,size:16},"vec4<f16>":{align:8,size:8},"mat2x2<f32>":{align:8,size:16},"mat2x2<f16>":{align:4,size:8},"mat3x2<f32>":{align:8,size:24},"mat3x2<f16>":{align:4,size:12},"mat4x2<f32>":{align:8,size:32},"mat4x2<f16>":{align:4,size:16},"mat2x3<f32>":{align:16,size:32},"mat2x3<f16>
57":{align:8,size:16},"mat3x3<f32>":{align:16,size:48},"mat3x3<f16>":{align:8,size:24},"mat4x3<f32>":{align:16,size:64},"mat4x3<f16>":{align:8,size:32},"mat2x4<f32>":{align:16,size:32},"mat2x4<f16>":{align:8,size:16},"mat3x4<f32>":{align:16,size:48},"mat3x4<f16>":{align:8,size:24},"mat4x4<f32>":{align:16,size:64},"mat4x4<f16>":{align:8,size:32}};function D(e){let t=e.map(e=>({data:e,offset:0,size:0})),r=0;for(let e=0;e<t.length;e++){let i=t[e],a=A[i.data.type].size,s=A[i.data.type].align;if(!A[i.data.type])throw Error(`[Pixi.js] WebGPU UniformBuffer: Unknown type ${i.data.type}`);i.data.size>1&&(a=Math.max(a,s)*i.data.size),r=Math.ceil(r/s)*s,i.size=a,i.offset=r,r+=a}return{uboElements:t,size:r=16*Math.ceil(r/16)}}var O=r(93368),H=r(61684);function W(e,t){let{size:r,align:i}=A[e.data.type],a=(i-r)/4,s=e.data.type.indexOf("i32")>=0?"dataInt32":"data";return`
58         v = uv.${e.data.name};
59         ${0!==t?`offset += ${t};`:""}
60
61         arrayOffset = offset;
62
63         t = 0;
64
65         for(var i=0; i < ${e.data.size*(r/4)}; i++)
66         {
67             for(var j = 0; j < ${r/4}; j++)
68             {
69                 ${s}[arrayOffset++] = v[t++];
70             }
71             ${0!==a?`arrayOffset += ${a};`:""}
72         }
73     `}function N(e){return(0,O.S)(e,"uboWgsl",W,H.R)}class V extends z.L{constructor(){super({createUboElements:D,generateUboSync:N})}}V.extension={type:[i.nw.WebGPUSystem],name:"ubo"};var j=r(33884),K=r(99964),q=r(41708);class ${constructor({minUniformOffsetAlignment:e}){this._minUniformOffsetAlignment=256,this.byteIndex=0,this._minUniformOffsetAlignment=e,this.data=new Float32Array(65535)}clear(){this.byteIndex=0}addEmptyGroup(e){if(e>this._minUniformOffsetAlignment/4)throw Error(`UniformBufferBatch: array is too large: ${4*e}`);let t=this.byteIndex,r=t+4*e;if((r=Math.ceil(r/this._minUniformOffsetAlignment)*this._minUniformOffsetAlignment)>4*this.data.length)throw Error("UniformBufferBatch: ubo batch got too big");return this.byteIndex=r,t}addGroup(e){let t=this.addEmptyGroup(e.length);for(let r=0;r<e.length;r++)this.data[t/4+r]=e[r];return t}destroy(){this.data=null}}var Y=r(55241);class Z{constructor(e){this._bindGroupHash=Object.create(null),this._buffers=[],this._bindGroups=[],this._bufferResources=[],this._renderer=e,this._batchBuffer=new $({minUniformOffsetAlignment:128});for(let e=0;e<2;e++){let t=q.F.UNIFORM|q.F.COPY_DST;0===e&&(t|=q.F.COPY_SRC),this._buffers.push(new j.l({data:this._batchBuffer.data,usage:t}))}}renderEnd(){this._uploadBindGroups(),this._resetBindGroups()}_resetBindGroups(){this._bindGroupHash=Object.create(null),this._batchBuffer.clear()}getUniformBindGroup(e,t){if(!t&&this._bindGroupHash[e.uid])return this._bindGroupHash[e.uid];this._renderer.ubo.ensureUniformGroup(e);let r=e.buffer.data,i=this._batchBuffer.addEmptyGroup(r.length);return this._renderer.ubo.syncUniformGroup(e,this._batchBuffer.data,i/4),this._bindGroupHash[e.uid]=this._getBindGroup(i/128),this._bindGroupHash[e.uid]}getUboResource(e){this._renderer.ubo.updateUniformGroup(e);let t=e.buffer.data,r=this._batchBuffer.addGroup(t);return this._getBufferResource(r/128)}getArrayBindGroup(e){let t=this._batchBuffer.addGroup(e);return this._getBindGroup(t/128)}getArrayBufferResource(e){let t=this._batchBuffer.addGroup(e);return this._getBufferResource(t/128)}_getBufferResource(e){if(!this._bufferResources[e]){let t=this._buffers[e%2];this._bufferResources[e]=new K.q({buffer:t,offset:(e/2|0)*256,size:128})}return this._bufferResources[e]}_getBindGroup(e){if(!this._bindGroups[e]){let t=new Y.v({0:this._getBufferResource(e)});this._bindGroups[e]=t}return this._bindGroups[e]}_uploadBindGroups(){let e=this._renderer.buffer,t=this._buffers[0];t.update(this._batchBuffer.byteIndex),e.updateBuffer(t);let r=this._renderer.gpu.device.createCommandEncoder();for(let i=1;i<this._buffers.length;i++){let a=this._buffers[i];r.copyBufferToBuffer(e.getGPUBuffer(t),128,e.getGPUBuffer(a),0,this._batchBuffer.byteIndex)}this._renderer.gpu.device.queue.submit([r.finish()])}destroy(){for(let e=0;e<this._bindGroups.length;e++)this._bindGroups[e]?.destroy();this._bindGroups=null,this._bindGroupHash=null;for(let e=0;e<this._buffers.length;e++)this._buffers[e].destroy();this._buffers=null;for(let e=0;e<this._bufferResources.length;e++)this._bufferResources[e].destroy();this._bufferResources=null,this._batchBuffer.destroy(),this._renderer=null}}Z.extension={type:[i.nw.WebGPUPipes],name:"uniformBatch"};var X=r(81495),Q=r(49792),J=r(61465);let ee={"point-list":0,"line-list":1,"line-strip":2,"triangle-list":3,"triangle-strip":4};
73class et{constructor(e){this._moduleCache=Object.create(null),this._bufferLayoutsCache=Object.create(null),this._bindingNamesCache=Object.create(null),this._pipeCache=Object.create(null),this._pipeStateCaches=Object.create(null),this._colorMask=15,this._multisampleCount=1,this._colorTargetCount=1,this._renderer=e}contextChange(e){this._gpu=e,this.setStencilMode(F.D.DISABLED),this._updatePipeHash()}setMultisampleCount(e){this._multisampleCount!==e&&(this._multisampleCount=e,this._updatePipeHash())}setRenderTarget(e){this._multisampleCount=e.msaaSamples,this._depthStencilAttachment=e.descriptor.depthStencilAttachment?1:0,this._colorTargetCount=e.colorTargetCount,this._updatePipeHash()}setColorMask(e){this._colorMask!==e&&(this._colorMask=e,this._updatePipeHash())}setStencilMode(e){this._stencilMode!==e&&(this._stencilMode=e,this._stencilState=J.L[e],this._updatePipeHash())}setPipeline(e,t,r,i){let a=this.getPipeline(e,t,r);i.setPipeline(a)}getPipeline(e,t,r,i){var a,s;e._layoutKey||((0,X.B)(e,t.attributeData),this._generateBufferKey(e)),i||(i=e.topology);let n=(a=e._layoutKey,s=t._layoutKey,a<<24|s<<16|r.data<<10|r._blendModeId<<5|ee[i]);return this._pipeCache[n]||(this._pipeCache[n]=this._createPipeline(e,t,r,i)),this._pipeCache[n]}_createPipeline(e,t,r,i){let a=this._gpu.device,s=this._createVertexBufferLayouts(e,t),n=this._renderer.state.getColorTargets(r,this._colorTargetCount),o=this._stencilMode===F.D.RENDERING_MASK_ADD?0:this._colorMask;for(let e=0;e<n.length;e++)n[e].writeMask=o;let u=this._renderer.shader.getProgramData(t).pipeline,d={vertex:{module:this._getModule(t.vertex.source),entryPoint:t.vertex.entryPoint,buffers:s},fragment:{module:this._getModule(t.fragment.source),entryPoint:t.fragment.entryPoint,targets:n},primitive:{topology:i,cullMode:r.cullMode},layout:u,multisample:{count:this._multisampleCount},label:"PIXI Pipeline"};return this._depthStencilAttachment&&(d.depthStencil={...this._stencilState,format:"depth24plus-stencil8",depthWriteEnabled:r.depthTest,depthCompare:r.depthTest?"less":"always"}),a.createRenderPipeline(d)}_getModule(e){return this._moduleCache[e]||this._createModule(e)}_createModule(e){let t=this._gpu.device;return this._moduleCache[e]=t.createShaderModule({code:e}),this._moduleCache[e]}_generateBufferKey(e){let t=[],r=0,i=Object.keys(e.attributes).sort();for(let a=0;a<i.length;a++){let s=e.attributes[i[a]];t[r++]=s.offset,t[r++]=s.format,t[r++]=s.stride,t[r++]=s.instance}let a=t.join("|");return e._layoutKey=(0,Q.Z)(a,"geometry"),e._layoutKey}_generateAttributeLocationsKey(e){let t=[],r=0,i=Object.keys(e.attributeData).sort();for(let a=0;a<i.length;a++){let s=e.attributeData[i[a]];t[r++]=s.location}let a=t.join("|");return e._attributeLocationsKey=(0,Q.Z)(a,"programAttributes"),e._attributeLocationsKey}getBufferNamesToBind(e,t){let r=e._layoutKey<<16|t._attributeLocationsKey;if(this._bindingNamesCache[r])return this._bindingNamesCache[r];let i=this._createVertexBufferLayouts(e,t),a=Object.create(null),s=t.attributeData;for(let e=0;e<i.length;e++){let t=Object.values(i[e].attributes)[0].shaderLocation;for(let r in s)if(s[r].location===t){a[e]=r;break}}return this._bindingNamesCache[r]=a,a}_createVertexBufferLayouts(e,t){t._attributeLocationsKey||this._generateAttributeLocationsKey(t);let r=e._layoutKey<<16|t._attributeLocationsKey;if(this._bufferLayoutsCache[r])return this._bufferLayoutsCache[r];let i=[];return e.buffers.forEach(r=>{let a={arrayStride:0,stepMode:"vertex",attributes:[]},s=a.attributes;for(let i in t.attributeData){let n=e.attributes[i];(n.divisor??1)!==1&&(0,g.Z)(`Attribute ${i} has an invalid divisor value of '${n.divisor}'. WebGPU only supports a divisor value of 1`),n.buffer===r&&(a.arrayStride=n.stride,a.stepMode=n.instance?"instance":"vertex",s.push({shaderLocation:t.attributeData[i].location,offset:n.offset,format:n.format}))}s.length&&i.push(a)}),this._bufferLayoutsCache[r]=i,i}_updatePipeHash(){var e,t;let r=(e=this._stencilMode,t=this._multisampleCount,this._colorMask<<8|e<<5|this._depthStencilAttachment<<3|this._colorTargetCount<<1|t);this._pipeStateCaches[r]||(this._pipeStateCaches[r]=Object.create(null)),this._pipeCache=this._pipeStateCaches[r]}destroy(){this._renderer=null,this._bufferLayoutsCache=null}}et.extension={type:[i.nw.WebGPUSystem],name:"pipeline"};var er=r(55639),ei=r(54368),ea=r(28240),es=r(52492);class en{constructor(){this.contexts=[],this.msaaTextures=[],this.msaaSamples=1}}class eo{init(e,t){this._renderer=e,this._renderTargetSystem=t}copyToTexture(e,t,r,i,a){let s=this._renderer,n=this._getGpuColorTexture(e),o=s.texture.getGpuSource(t.source);return s.encoder.commandEncoder.copyTextureToTexture({texture:n,origin:r},{texture:o,origin:a},i),t}startRenderPass(e,t=!0,r,i,a=0,s=0){let n=this._renderTargetSystem.getGpuRenderTarget(e);if(0!==s&&n.msaaTextures?.length)throw Error("[RenderTargetSystem] Rendering to array layers is not supported with MSAA render targets.");if(a>0&&n.msaaTextures?.length)throw Error("[RenderTargetSystem] Rendering to mip levels is not supported with MSAA render targets.");let o=this.getDescriptor(e,t,r,a,s);n.descriptor=o,this._renderer.pipeline.setRenderTarget(n),this._renderer.encoder.beginRenderPass(n),this._renderer.encoder.setViewport(i)}finishRenderPass(){this._renderer.encoder.endRenderPass()}_getGpuColorTexture(e){let t=this._renderTargetSystem.getGpuRenderTarget(e);return t.contexts[0]?t.contexts[0].getCurrentTexture():this._renderer.texture.getGpuSource(e.colorTextures[0].source)}
73getDescriptor(e,t,r,i=0,a=0){let s;"boolean"==typeof t&&(t=t?ei.E.ALL:ei.E.NONE);let n=this._renderTargetSystem,o=n.getGpuRenderTarget(e),u=e.colorTextures.map((e,s)=>{let u,d;let l=o.contexts[s];if(l){if(0!==a)throw Error("[RenderTargetSystem] Rendering to array layers is not supported for canvas targets.");u=l.getCurrentTexture().createView()}else u=this._renderer.texture.getGpuSource(e).createView({dimension:"2d",baseMipLevel:i,mipLevelCount:1,baseArrayLayer:a,arrayLayerCount:1});o.msaaTextures[s]&&(d=u,u=this._renderer.texture.getTextureView(o.msaaTextures[s]));let c=t&ei.E.COLOR?"clear":"load";return r??(r=n.defaultClearColor),{view:u,resolveTarget:d,clearValue:r,storeOp:"store",loadOp:c}});if((e.stencil||e.depth)&&!e.depthStencilTexture&&(e.ensureDepthStencilTexture(),e.depthStencilTexture.source.sampleCount=o.msaa?4:1),e.depthStencilTexture){let r=t&ei.E.STENCIL?"clear":"load",n=t&ei.E.DEPTH?"clear":"load";s={view:this._renderer.texture.getGpuSource(e.depthStencilTexture.source).createView({dimension:"2d",baseMipLevel:i,mipLevelCount:1,baseArrayLayer:a,arrayLayerCount:1}),stencilStoreOp:"store",stencilLoadOp:r,depthClearValue:1,depthLoadOp:n,depthStoreOp:"store"}}return{colorAttachments:u,depthStencilAttachment:s}}clear(e,t=!0,r,i,a=0,s=0){if(!t)return;let{gpu:n,encoder:o}=this._renderer,u=n.device;if(null===o.commandEncoder){let n=u.createCommandEncoder(),o=this.getDescriptor(e,t,r,a,s),d=n.beginRenderPass(o);d.setViewport(i.x,i.y,i.width,i.height,0,1),d.end();let l=n.finish();u.queue.submit([l])}else this.startRenderPass(e,t,r,i,a,s)}initGpuRenderTarget(e){e.isRoot=!0;let t=new en;return t.colorTargetCount=e.colorTextures.length,e.colorTextures.forEach((e,r)=>{if(e instanceof ea.D){let i=e.resource.getContext("webgpu"),a=e.transparent?"premultiplied":"opaque";try{i.configure({device:this._renderer.gpu.device,usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.COPY_SRC,format:"bgra8unorm",alphaMode:a})}catch(e){console.error(e)}t.contexts[r]=i}if(t.msaa=e.source.antialias,e.source.antialias){let i=new es.p({width:0,height:0,sampleCount:4,arrayLayerCount:e.source.arrayLayerCount});t.msaaTextures[r]=i}}),t.msaa&&(t.msaaSamples=4,e.depthStencilTexture&&(e.depthStencilTexture.source.sampleCount=4)),t}
73destroyGpuRenderTarget(e){e.contexts.forEach(e=>{e.unconfigure()}),e.msaaTextures.forEach(e=>{e.destroy()}),e.msaaTextures.length=0,e.contexts.length=0}ensureDepthStencilTexture(e){let t=this._renderTargetSystem.getGpuRenderTarget(e);e.depthStencilTexture&&t.msaa&&(e.depthStencilTexture.source.sampleCount=4)}resizeGpuRenderTarget(e){let t=this._renderTargetSystem.getGpuRenderTarget(e);t.width=e.width,t.height=e.height,t.msaa&&e.colorTextures.forEach((e,r)=>{let i=t.msaaTextures[r];i?.resize(e.source.width,e.source.height,e.source._resolution)})}}class eu extends er.l{constructor(e){super(e),this.adaptor=new eo,this.adaptor.init(e,this)}}eu.extension={type:[i.nw.WebGPUSystem],name:"renderTarget"};class ed{constructor(){this._gpuProgramData=Object.create(null)}contextChange(e){this._gpu=e}getProgramData(e){return this._gpuProgramData[e._layoutKey]||this._createGPUProgramData(e)}_createGPUProgramData(e){let t=this._gpu.device,r=e.gpuLayout.map(e=>t.createBindGroupLayout({entries:e}));return this._gpuProgramData[e._layoutKey]={bindGroups:r,pipeline:t.createPipelineLayout({bindGroupLayouts:r})},this._gpuProgramData[e._layoutKey]}destroy(){this._gpu=null,this._gpuProgramData=null}}ed.extension={type:[i.nw.WebGPUSystem],name:"shader"};let el={};el.normal={alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"}},el.add={alpha:{srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"one",dstFactor:"one",operation:"add"}},el.multiply={alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"dst",dstFactor:"one-minus-src-alpha",operation:"add"}},el.screen={alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"one",dstFactor:"one-minus-src",operation:"add"}},el.overlay={alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"one",dstFactor:"one-minus-src",operation:"add"}},el.none={alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"zero",dstFactor:"zero",operation:"add"}},el["normal-npm"]={alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha",operation:"add"}},el["add-npm"]={alpha:{srcFactor:"one",dstFactor:"one",operation:"add"},color:{srcFactor:"src-alpha",dstFactor:"one",operation:"add"}},el["screen-npm"]={alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"src-alpha",dstFactor:"one-minus-src",operation:"add"}},el.erase={alpha:{srcFactor:"zero",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"zero",dstFactor:"one-minus-src",operation:"add"}},el.min={alpha:{srcFactor:"one",dstFactor:"one",operation:"min"},color:{srcFactor:"one",dstFactor:"one",operation:"min"}},el.max={alpha:{srcFactor:"one",dstFactor:"one",operation:"max"},color:{srcFactor:"one",dstFactor:"one",operation:"max"}};class ec{constructor(){this.defaultState=new v.Z,this.defaultState.blend=!0}contextChange(e){this.gpu=e}getColorTargets(e,t){let r=el[e.blendMode]||el.normal,i=[],a={format:"bgra8unorm",writeMask:0,blend:r};for(let e=0;e<t;e++)i[e]=a;return i}destroy(){this.gpu=null}}ec.extension={type:[i.nw.WebGPUSystem],name:"state"};var eh=r(83114);let ef={type:"image",upload(e,t,r,i=0){let a=e.resource,s=(0|e.pixelWidth)*(0|e.pixelHeight),n=a.byteLength/s;r.device.queue.writeTexture({texture:t,origin:{x:0,y:0,z:i}},a,{offset:0,rowsPerImage:e.pixelHeight,bytesPerRow:e.pixelWidth*n},{width:e.pixelWidth,height:e.pixelHeight,depthOrArrayLayers:1})}},ep={"bc1-rgba-unorm":{blockBytes:8,blockWidth:4,blockHeight:4},"bc2-rgba-unorm":{blockBytes:16,blockWidth:4,blockHeight:4},"bc3-rgba-unorm":{blockBytes:16,blockWidth:4,blockHeight:4},"bc7-rgba-unorm":{blockBytes:16,blockWidth:4,blockHeight:4},"etc1-rgb-unorm":{blockBytes:8,blockWidth:4,blockHeight:4},"etc2-rgba8unorm":{blockBytes:16,blockWidth:4,blockHeight:4},"astc-4x4-unorm":{blockBytes:16,blockWidth:4,blockHeight:4}},em={blockBytes:4,blockWidth:1,blockHeight:1},eg={type:"compressed",upload(e,t,r,i=0){let a=e.pixelWidth,s=e.pixelHeight,n=ep[e.format]||em;for(let o=0;o<e.resource.length;o++){let u=e.resource[o],d=Math.ceil(a/n.blockWidth)*n.blockBytes;r.device.queue.writeTexture({texture:t,mipLevel:o,origin:{x:0,y:0,z:i}},u,{offset:0,bytesPerRow:d},{width:Math.ceil(a/n.blockWidth)*n.blockWidth,height:Math.ceil(s/n.blockHeight)*n.blockHeight,depthOrArrayLayers:1}),a=Math.max(a>>1,1),s=Math.max(s>>1,1)}}},e_=["right","left","top","bottom","front","back"],ev={type:"image",upload(e,t,r,i=0){let a=e.resource;if(!a)return;if(globalThis.HTMLImageElement&&a instanceof HTMLImageElement){let t=R.z.get().createCanvas(a.width,a.height);t.getContext("2d").drawImage(a,0,0,a.width,a.height),e.resource=t,(0,g.Z)("ImageSource: Image element passed, converting to canvas and replacing resource.")}let s=Math.min(t.width,e.resourceWidth||e.pixelWidth),n=Math.min(t.height,e.resourceHeight||e.pixelHeight),o="premultiply-alpha-on-upload"===e.alphaMode;r.device.queue.copyExternalImageToTexture({source:a},{texture:t,origin:{x:0,y:0,z:i},premultipliedAlpha:o},{width:s,height:n})}},ex={type:"video",upload(e,t,r,i){ev.upload(e,t,r,i)}};class eb{constructor(e){this.device=e,this.sampler=e.createSampler({minFilter:"linear"}),this.pipelines={}}_getMipmapPipeline(e){let t=this.pipelines[e];return t||(this.mipmapShaderModule||(this.mipmapShaderModule=this.device.createShaderModule({code:`
74                        var<private> pos : array<vec2<f32>, 3> = array<vec2<f32>, 3>(
75                        vec2<f32>(-1.0, -1.0), vec2<f32>(-1.0, 3.0), vec2<f32>(3.0, -1.0));
76
77                        struct VertexOutput {
78                        @builtin(position) position : vec4<f32>,
79                        @location(0) texCoord : vec2<f32>,
80                        };
81
82                        @vertex
83                        fn vertexMain(@builtin(vertex_index) vertexIndex : u32) -> VertexOutput {
84                        var output : VertexOutput;
85                        output.texCoord = pos[vertexIndex] * vec2<f32>(0.5, -0.5) + vec2<f32>(0.5);
86                        output.position = vec4<f32>(pos[vertexIndex], 0.0, 1.0);
87                        return output;
88                        }
89
90                        @group(0) @binding(0) var imgSampler : sampler;
91                        @group(0) @binding(1) var img : texture_2d<f32>;
92
93                        @fragment
94                        fn fragmentMain(@location(0) texCoord : vec2<f32>) -> @location(0) vec4<f32> {
95                        return textureSample(img, imgSampler, texCoord);
96                        }
97                    `})),t=this.device.createRenderPipeline({layout:"auto",vertex:{module:this.mipmapShaderModule,entryPoint:"vertexMain"},fragment:{module:this.mipmapShaderModule,entryPoint:"fragmentMain",targets:[{format:e}]}}),this.pipelines[e]=t),t}generateMipmap(e){let t=this._getMipmapPipeline(e.format);if("3d"===e.dimension||"1d"===e.dimension)throw Error("Generating mipmaps for non-2d textures is currently unsupported!");let r=e,i=e.depthOrArrayLayers||1,a=e.usage&GPUTextureUsage.RENDER_ATTACHMENT;if(!a){let t={size:{width:Math.ceil(e.width/2),height:Math.ceil(e.height/2),depthOrArrayLayers:i},format:e.format,usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_SRC|GPUTextureUsage.RENDER_ATTACHMENT,mipLevelCount:e.mipLevelCount-1};r=this.device.createTexture(t)}let s=this.device.createCommandEncoder({}),n=t.getBindGroupLayout(0);for(let o=0;o<i;++o){let i=e.createView({baseMipLevel:0,mipLevelCount:1,dimension:"2d",baseArrayLayer:o,arrayLayerCount:1}),u=a?1:0;for(let a=1;a<e.mipLevelCount;++a){let e=r.createView({baseMipLevel:u++,mipLevelCount:1,dimension:"2d",baseArrayLayer:o,arrayLayerCount:1}),a=s.beginRenderPass({colorAttachments:[{view:e,storeOp:"store",loadOp:"clear",clearValue:{r:0,g:0,b:0,a:0}}]}),d=this.device.createBindGroup({layout:n,entries:[{binding:0,resource:this.sampler},{binding:1,resource:i}]});a.setPipeline(t),a.setBindGroup(0,d),a.draw(3,1,0,0),a.end(),i=e}}if(!a){let t={width:Math.ceil(e.width/2),height:Math.ceil(e.height/2),depthOrArrayLayers:i};for(let i=1;i<e.mipLevelCount;++i)s.copyTextureToTexture({texture:r,mipLevel:i-1},{texture:e,mipLevel:i},t),t.width=Math.ceil(t.width/2),t.height=Math.ceil(t.height/2)}return this.device.queue.submit([s.finish()]),a||r.destroy(),e}}class ey{constructor(e){this.textureView=null,this.gpuTexture=e}destroy(){this.gpuTexture.destroy(),this.textureView=null,this.gpuTexture=null}}class eG{constructor(e){this._gpuSamplers=Object.create(null),this._bindGroupHash=Object.create(null),this._renderer=e,e.gc.addCollection(this,"_bindGroupHash","hash"),this._managedTextures=new B.e({renderer:e,type:"resource",onUnload:this.onSourceUnload.bind(this),name:"gpuTextureSource"});let t={image:ev,buffer:ef,video:ex,compressed:eg};
97this._uploads={...t,cube:{type:"cube",upload(e,r,i){let a=e.faces;for(let e=0;e<e_.length;e++){let s=a[e_[e]];(t[s.uploadMethodId]||t.image).upload(s,r,i,e)}}}}}get managedTextures(){return Object.values(this._managedTextures.items)}contextChange(e){this._gpu=e}initSource(e){return e._gpuData[this._renderer.uid]?.gpuTexture||this._initSource(e)}_initSource(e){if(e.autoGenerateMipmaps){let t=Math.max(e.pixelWidth,e.pixelHeight);e.mipLevelCount=Math.floor(Math.log2(t))+1}let t=GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST;"compressed"!==e.uploadMethodId&&(t|=GPUTextureUsage.RENDER_ATTACHMENT,t|=GPUTextureUsage.COPY_SRC);let r=ep[e.format]||{blockBytes:4,blockWidth:1,blockHeight:1},i=Math.ceil(e.pixelWidth/r.blockWidth)*r.blockWidth,a=Math.ceil(e.pixelHeight/r.blockHeight)*r.blockHeight,s={label:e.label,size:{width:i,height:a,depthOrArrayLayers:e.arrayLayerCount},format:e.format,sampleCount:e.sampleCount,mipLevelCount:e.mipLevelCount,dimension:e.dimension,usage:t},n=this._gpu.device.createTexture(s);return e._gpuData[this._renderer.uid]=new ey(n),this._managedTextures.add(e)&&(e.on("update",this.onSourceUpdate,this),e.on("resize",this.onSourceResize,this),e.on("updateMipmaps",this.onUpdateMipmaps,this)),this.onSourceUpdate(e),n}onSourceUpdate(e){let t=this.getGpuSource(e);t&&(this._uploads[e.uploadMethodId]&&this._uploads[e.uploadMethodId].upload(e,t,this._gpu),e.autoGenerateMipmaps&&e.mipLevelCount>1&&this.onUpdateMipmaps(e))}onUpdateMipmaps(e){this._mipmapGenerator||(this._mipmapGenerator=new eb(this._gpu.device));let t=this.getGpuSource(e);this._mipmapGenerator.generateMipmap(t)}onSourceUnload(e){e.off("update",this.onSourceUpdate,this),e.off("resize",this.onSourceResize,this),e.off("updateMipmaps",this.onUpdateMipmaps,this)}onSourceResize(e){e._gcLastUsed=this._renderer.gc.now;let t=e._gpuData[this._renderer.uid],r=t?.gpuTexture;r?(r.width!==e.pixelWidth||r.height!==e.pixelHeight)&&(t.destroy(),this._bindGroupHash[e.uid]=null,e._gpuData[this._renderer.uid]=null,this.initSource(e)):this.initSource(e)}_initSampler(e){return this._gpuSamplers[e._resourceId]=this._gpu.device.createSampler(e),this._gpuSamplers[e._resourceId]}getGpuSampler(e){return this._gpuSamplers[e._resourceId]||this._initSampler(e)}getGpuSource(e){return e._gcLastUsed=this._renderer.gc.now,e._gpuData[this._renderer.uid]?.gpuTexture||this.initSource(e)}getTextureBindGroup(e){return this._bindGroupHash[e.uid]||this._createTextureBindGroup(e)}_createTextureBindGroup(e){let t=e.source;return this._bindGroupHash[e.uid]=new Y.v({0:t,1:t.style,2:new h.o({uTextureMatrix:{type:"mat3x3<f32>",value:e.textureMatrix.mapCoord}})}),this._bindGroupHash[e.uid]}getTextureView(e){let t=e.source;t._gcLastUsed=this._renderer.gc.now;let r=t._gpuData[this._renderer.uid];return r||(this.initSource(t),r=t._gpuData[this._renderer.uid]),r.textureView||(r.textureView=r.gpuTexture.createView({dimension:t.viewDimension})),r.textureView}generateCanvas(e){let t=this._renderer,r=t.gpu.device.createCommandEncoder(),i=R.z.get().createCanvas();i.width=e.source.pixelWidth,i.height=e.source.pixelHeight;let a=i.getContext("webgpu");return a.configure({device:t.gpu.device,usage:GPUTextureUsage.COPY_DST|GPUTextureUsage.COPY_SRC,format:R.z.get().getNavigator().gpu.getPreferredCanvasFormat(),alphaMode:"premultiplied"}),r.copyTextureToTexture({texture:t.texture.getGpuSource(e.source),origin:{x:0,y:0}},{texture:a.getCurrentTexture()},{width:i.width,height:i.height}),t.gpu.device.queue.submit([r.finish()]),i}getPixels(e){let t=this.generateCanvas(e),r=eh.h.getOptimalCanvasAndContext(t.width,t.height),i=r.context;i.drawImage(t,0,0);let{width:a,height:s}=t,n=new Uint8ClampedArray(i.getImageData(0,0,a,s).data.buffer);return eh.h.returnCanvasAndContext(r),{pixels:n,width:a,height:s}}destroy(){for(let e of(this._managedTextures.destroy(),Object.keys(this._bindGroupHash))){let t=Number(e),r=this._bindGroupHash[t];r?.destroy()}this._renderer=null,this._gpu=null,this._mipmapGenerator=null,this._gpuSamplers=null,this._bindGroupHash=null}}eG.extension={type:[i.nw.WebGPUSystem],name:"texture"};let eT=[...G.N,V,L,E,k,U,eG,eu,ed,ec,et,M,I,P],eP=[...G.U,Z],eB=[b,_,f],eC=[],eS=[],ew=[];i.Rw.handleByNamedList(i.nw.WebGPUSystem,eC),i.Rw.handleByNamedList(i.nw.WebGPUPipes,eS),i.Rw.handleByNamedList(i.nw.WebGPUPipesAdaptor,ew),i.Rw.add(...eT,...eP,...eB);class eU extends y.I{constructor(){super({name:"webgpu",type:T.g.WEBGPU,systems:eC,renderPipes:eS,renderPipeAdaptors:ew})}}},61465:function(e,t,r){r.d(t,{L:function(){return a}});var i=r(38885);let a=[];a[i.D.NONE]=void 0,a[i.D.DISABLED]={stencilWriteMask:0,stencilReadMask:0},a[i.D.RENDERING_MASK_ADD]={stencilFront:{compare:"equal",passOp:"increment-clamp"},stencilBack:{compare:"equal",passOp:"increment-clamp"}},a[i.D.RENDERING_MASK_REMOVE]={stencilFront:{compare:"equal",passOp:"decrement-clamp"},stencilBack:{compare:"equal",passOp:"decrement-clamp"}},a[i.D.MASK_ACTIVE]={stencilWriteMask:0,stencilFront:{compare:"equal",passOp:"keep"},stencilBack:{compare:"equal",passOp:"keep"}},a[i.D.INVERSE_MASK_ACTIVE]={stencilWriteMask:0,stencilFront:{compare:"not-equal",passOp:"keep"},stencilBack:{compare:"not-equal",passOp:"keep"}}},99964:function(e,t,r){r.d(t,{q:function(){return s}});var i=r(40697),a=r(40318);class s extends i.Z{constructor({buffer:e,offset:t,size:r}){super(),this.uid=(0,a.h)("buffer"),this._resourceType="bufferResource",this._touched=0,this._resourceId=(0,a.h)("resource"),this._bufferResource=!0,this.destroyed=!1,this.buffer=e,this.offset=0|t,this.size=r,this.buffer.on("change",this.onBufferChange,this)}
97onBufferChange(){this._resourceId=(0,a.h)("resource"),this.emit("change",this)}destroy(e=!1){this.destroyed=!0,e&&this.buffer.destroy(),this.emit("change",this),this.buffer=null,this.removeAllListeners()}}},4269:function(e,t,r){r.d(t,{L:function(){return n}});var i=r(13106),a=r(33884),s=r(41708);class n{constructor(e){this._syncFunctionHash=Object.create(null),this._adaptor=e,this._systemCheck()}_systemCheck(){if(!(0,i.O)())throw Error("Current environment does not allow unsafe-eval, please use pixi.js/unsafe-eval module to enable support.")}ensureUniformGroup(e){let t=this.getUniformGroupData(e);e.buffer||(e.buffer=new a.l({data:new Float32Array(t.layout.size/4),usage:s.F.UNIFORM|s.F.COPY_DST}))}getUniformGroupData(e){return this._syncFunctionHash[e._signature]||this._initUniformGroup(e)}_initUniformGroup(e){let t=e._signature,r=this._syncFunctionHash[t];if(!r){let i=Object.keys(e.uniformStructures).map(t=>e.uniformStructures[t]),a=this._adaptor.createUboElements(i),s=this._generateUboSync(a.uboElements);r=this._syncFunctionHash[t]={layout:a,syncFunction:s}}return this._syncFunctionHash[t]}_generateUboSync(e){return this._adaptor.generateUboSync(e)}syncUniformGroup(e,t,r){let i=this.getUniformGroupData(e);e.buffer||(e.buffer=new a.l({data:new Float32Array(i.layout.size/4),usage:s.F.UNIFORM|s.F.COPY_DST}));let n=null;return t||(t=e.buffer.data,n=e.buffer.dataInt32),r||(r=0),i.syncFunction(e.uniforms,t,n,r),!0}updateUniformGroup(e){if(e.isStatic&&!e._dirtyId)return!1;e._dirtyId=0;let t=this.syncUniformGroup(e);return e.buffer.update(),t}destroy(){this._syncFunctionHash=null}}},93368:function(e,t,r){r.d(t,{S:function(){return a}});var i=r(41);function a(e,t,r,a){let s=[`
98        var v = null;
99        var v2 = null;
100        var t = 0;
101        var index = 0;
102        var name = null;
103        var arrayOffset = null;
104    `],n=0;for(let o=0;o<e.length;o++){let u=e[o],d=u.data.name,l=!1,c=0;for(let e=0;e<i.s.length;e++)if(i.s[e].test(u.data)){c=u.offset/4,s.push(`name = "${d}";`,`offset += ${c-n};`,i.s[e][t]||i.s[e].ubo),l=!0;break}if(!l){if(u.data.size>1)c=u.offset/4,s.push(r(u,c-n));else{let e=a[u.data.type];c=u.offset/4,s.push(`
105                    v = uv.${d};
106                    offset += ${c-n};
107                    ${e};
108                `)}}n=c}return Function("uv","data","dataInt32","offset",s.join("\n"))}},61684:function(e,t,r){function i(e,t){return`
109        for (let i = 0; i < ${e*t}; i++) {
110            data[offset + (((i / ${e})|0) * 4) + (i % ${e})] = v[i];
111        }
112    `}r.d(t,{R:function(){return s},d:function(){return a}});let a={f32:`
113        data[offset] = v;`,i32:`
114        dataInt32[offset] = v;`,"vec2<f32>":`
115        data[offset] = v[0];
116        data[offset + 1] = v[1];`,"vec3<f32>":`
117        data[offset] = v[0];
118        data[offset + 1] = v[1];
119        data[offset + 2] = v[2];`,"vec4<f32>":`
120        data[offset] = v[0];
121        data[offset + 1] = v[1];
122        data[offset + 2] = v[2];
123        data[offset + 3] = v[3];`,"vec2<i32>":`
124        dataInt32[offset] = v[0];
125        dataInt32[offset + 1] = v[1];`,"vec3<i32>":`
126        dataInt32[offset] = v[0];
127        dataInt32[offset + 1] = v[1];
128        dataInt32[offset + 2] = v[2];`,"vec4<i32>":`
129        dataInt32[offset] = v[0];
130        dataInt32[offset + 1] = v[1];
131        dataInt32[offset + 2] = v[2];
132        dataInt32[offset + 3] = v[3];`,"mat2x2<f32>":`
133        data[offset] = v[0];
134        data[offset + 1] = v[1];
135        data[offset + 4] = v[2];
136        data[offset + 5] = v[3];`,"mat3x3<f32>":`
137        data[offset] = v[0];
138        data[offset + 1] = v[1];
139        data[offset + 2] = v[2];
140        data[offset + 4] = v[3];
141        data[offset + 5] = v[4];
142        data[offset + 6] = v[5];
143        data[offset + 8] = v[6];
144        data[offset + 9] = v[7];
145        data[offset + 10] = v[8];`,"mat4x4<f32>":`
146        for (let i = 0; i < 16; i++) {
147            data[offset + i] = v[i];
148        }`,"mat3x2<f32>":i(3,2),"mat4x2<f32>":i(4,2),"mat2x3<f32>":i(2,3),"mat4x3<f32>":i(4,3),"mat2x4<f32>":i(2,4),"mat3x4<f32>":i(3,4)},s={...a,"mat2x2<f32>":`
149        data[offset] = v[0];
150        data[offset + 1] = v[1];
151        data[offset + 2] = v[2];
152        data[offset + 3] = v[3];
153    `}},41:function(e,t,r){r.d(t,{s:function(){return i}});let i=[{type:"mat3x3<f32>",test:e=>void 0!==e.value.a,ubo:`
154            var matrix = uv[name].toArray(true);
155            data[offset] = matrix[0];
156            data[offset + 1] = matrix[1];
157            data[offset + 2] = matrix[2];
158            data[offset + 4] = matrix[3];
159            data[offset + 5] = matrix[4];
160            data[offset + 6] = matrix[5];
161            data[offset + 8] = matrix[6];
162            data[offset + 9] = matrix[7];
163            data[offset + 10] = matrix[8];
164        `,uniform:`
165            gl.uniformMatrix3fv(ud[name].location, false, uv[name].toArray(true));
166        `},{type:"vec4<f32>",test:e=>"vec4<f32>"===e.type&&1===e.size&&void 0!==e.value.width,ubo:`
167            v = uv[name];
168            data[offset] = v.x;
169            data[offset + 1] = v.y;
170            data[offset + 2] = v.width;
171            data[offset + 3] = v.height;
172        `,uniform:`
173            cv = ud[name].value;
174            v = uv[name];
175            if (cv[0] !== v.x || cv[1] !== v.y || cv[2] !== v.width || cv[3] !== v.height) {
176                cv[0] = v.x;
177                cv[1] = v.y;
178                cv[2] = v.width;
179                cv[3] = v.height;
180                gl.uniform4f(ud[name].location, v.x, v.y, v.width, v.height);
181            }
182        `}
182,{type:"vec2<f32>",test:e=>"vec2<f32>"===e.type&&1===e.size&&void 0!==e.value.x,ubo:`
183            v = uv[name];
184            data[offset] = v.x;
185            data[offset + 1] = v.y;
186        `,uniform:`
187            cv = ud[name].value;
188            v = uv[name];
189            if (cv[0] !== v.x || cv[1] !== v.y) {
190                cv[0] = v.x;
191                cv[1] = v.y;
192                gl.uniform2f(ud[name].location, v.x, v.y);
193            }
194        `},{type:"vec4<f32>",test:e=>"vec4<f32>"===e.type&&1===e.size&&void 0!==e.value.red,ubo:`
195            v = uv[name];
196            data[offset] = v.red;
197            data[offset + 1] = v.green;
198            data[offset + 2] = v.blue;
199            data[offset + 3] = v.alpha;
200        `,uniform:`
201            cv = ud[name].value;
202            v = uv[name];
203            if (cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue || cv[3] !== v.alpha) {
204                cv[0] = v.red;
205                cv[1] = v.green;
206                cv[2] = v.blue;
207                cv[3] = v.alpha;
208                gl.uniform4f(ud[name].location, v.red, v.green, v.blue, v.alpha);
209            }
210        `},{type:"vec3<f32>",test:e=>"vec3<f32>"===e.type&&1===e.size&&void 0!==e.value.red,ubo:`
211            v = uv[name];
212            data[offset] = v.red;
213            data[offset + 1] = v.green;
214            data[offset + 2] = v.blue;
215        `,uniform:`
216            cv = ud[name].value;
217            v = uv[name];
218            if (cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue) {
219                cv[0] = v.red;
220                cv[1] = v.green;
221                cv[2] = v.blue;
222                gl.uniform3f(ud[name].location, v.red, v.green, v.blue);
223            }
224        `}]}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.